数据仓库&镜像漏洞扫描器安装部署
数据仓库&镜像漏洞扫描器安装部署
Harbor是一个开源的企业级Docker Registry服务,由VMware公司中国团队设计,旨在为企业用户提供一个私有、安全的Docker镜像仓库解决方案。Harbor在Docker官方的Registry基础上增加了诸如权限管理、LDAP认证、审计、管理界面、高可用性(HA)等企业级必需的功能,并且针对中国市场和用户需求,设计了镜像复制和中文支持等特点。
Harbor的主要功能和特点包括:
- 基于角色的访问控制:用户和Docker镜像仓库之间通过项目进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
- 镜像复制策略:支持在多个Harbor实例之间复制镜像,适用于负载均衡、高可用、混合云和多云的场景。
- 图形化用户界面:通过浏览器可以轻松管理镜像仓库,包括浏览、检索当前Docker镜像仓库,以及管理项目和命名空间。
- 支持LDAP认证:Harbor可以集成企业内部已存在的AD/LDAP用户认证系统,实现统一的身份管理。
- 审计管理:所有对镜像仓库的操作都被记录下来,便于审计和追踪。
- API操作支持:管理员可以通过API调用接口,与其他程序进行集成。
Harbor的架构包括几个关键组件:
- Proxy:Harbor自动生成一个nginx容器,作为前端代理,负责将请求转发到后端不同的应用。
- Registry:负责存储Docker镜像,处理Docker pull/push命令,以及访问控制等。
- 硬件要求
资源名称 | 最低配置 | 推荐配置 |
---|---|---|
CPU | 2 CPU | 4 CPU |
内存 | 4GB | 8GB |
磁盘 | 40GB | 160GB |
- 软件要求
软件名称 | 版本 |
---|---|
Docker Engine | Version 20.10.10-ce+或更高 |
Docker Compose | docker-compose (v1.18.0+) 或 docker compose v2 (docker-compose-plugin) |
OpenSSL | 用于生成证书与密钥,推荐最新版本 |
- 网络要求
端口 | 协议 |
---|---|
443 | HTTPS |
4443 | HTTPS |
80 | HTTP |
安装Docker
- 参考文章 Docker初始化环境
安装Harbor
- 下载官方安装文件:Harbor Official Releases
- 网盘共享安装文件:Haror在线&离线安装文件
- 在线安装方式(Online installer):在线安装文件从Docker Hub下载Harbor镜像,体积最小。
- 离线安装方式(Offline installer):离线安装文件包含预先构建好的Harbor镜像。
使用
tar
解压安装文件:1
2tar xzvf harbor-online-installer-v2.10.0.tgz
tar xzvf harbor-offline-installer-v2.10.0.tgz执行安装脚本:
1
bash ./install.sh
修改Harbor配置文件
Harbor.yml
参数 参考值 hostname <域名> http 80 https 443 certificate SSL证书(.pem) private_key SSL私钥(.key) harbor_admin_password admin用户密码 停止&启动Harbor服务:
1 | docker compose down |
Trivy主要功能和特点:
Trivy是一个开源的漏洞扫描器,由Aqua Security开发。它主要用于扫描容器镜像、文件系统、Git仓库以及Kubernetes集群和资源中的安全漏洞。Trivy的检测范围包括操作系统包、特定语言的包以及基础设施即代码(IaC)文件,如Terraform和Kubernetes。
Trivy的特点如下:
多功能性:Trivy可以扫描多种工件,包括容器镜像、文件系统、Git仓库和Kubernetes资源,满足不同的安全检测需求。
快速性:Trivy的第一次扫描可能需要10秒钟左右,之后的扫描只需要几秒钟,这使得它非常适合CI/CD管道中的自动化安全检查。
无状态设计:Trivy是无状态的,不需要维护漏洞数据库,这减少了维护工作并保证了扫描结果的及时性。
支持多种安装方式:Trivy可以通过多种方式安装,包括二进制文件、APT、YUM、Homebrew、Docker和源码编译等,方便不同环境的部署。
集成与自动化:Trivy支持CI/CD集成,可以与Jenkins、Travis CI、CircleCI、GitLab CI等流行的CI/CD工具集成,实现自动化安全扫描。
社区支持:Trivy有一个活跃的开源社区,不断更新和改进,用户可以获得技术支持、报告问题和贡献代码。
Trivy的使用非常简单,通常只需要指定要扫描的目标,如容器的图像名称,Trivy就会自动进行扫描并输出结果。扫描结果包括漏洞的详细信息和修复建议,帮助用户及时发现和修复潜在的安全风险。
在持续集成(CI)环境中,Trivy常用于在部署前扫描工件,确保只有安全和合规的工件被部署到生产环境中。Trivy Operator是一个Kubernetes Operator,它可以自动扫描集群中的容器镜像,并提供持续的安全监控。
安装Trivy
使用包管理工具安装:
RHEL/CentOS:
1
2
3
4
5
6
7
8
9
10
11RELEASE_VERSION=$(grep -Po '(?<=VERSION_ID=")[0-9]' /etc/os-release)
cat << EOF | sudo tee -a /etc/yum.repos.d/trivy.repo
[trivy]
name=Trivy repository
baseurl=https://aquasecurity.github.io/trivy-repo/rpm/releases/$RELEASE_VERSION/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://aquasecurity.github.io/trivy-repo/rpm/public.key
EOF
sudo yum -y update
sudo yum -y install trivyDebian/Ubuntu
1
2
3
4
5sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/trivy.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/trivy.gpg] https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivyHomebrew
1
brew install trivy
Arch Linux
1
pacman -S trivy
MacPorts
1
sudo port install trivy
Harbor Scanner Adapter for Trivy集成使用
1 | docker run --name trivy-adapter -d --rm \ |
- trivy使用git下载漏洞库,所以需要配置代理,连接不到github就会扫描失败。
系统管理 -> 审查服务 -> 新建扫描器 -> 地址:ip:8181