mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-26 03:35:31 +00:00
Add blank lines around headers
This commit is contained in:
@@ -41,6 +41,7 @@ trivy image --severity HIGH,CRITICAL \
|
||||
--exit-code 1 \
|
||||
myregistry.com/myapp:v1.0.0
|
||||
```
|
||||
|
||||
#### Grype - 支持多种软件包的扫描器
|
||||
|
||||
Grype 由 Anchore 开发,支持更广泛的软件包管理器和语言。
|
||||
@@ -67,6 +68,7 @@ grype sbom:sbom.json
|
||||
# 扫描特定目录
|
||||
grype dir:/path/to/app
|
||||
```
|
||||
|
||||
#### Snyk - 完整的安全平台
|
||||
|
||||
Snyk 提供了商业级的安全扫描服务,特别适合企业环境。
|
||||
@@ -130,6 +132,7 @@ syft dir:/path/to/app -o json > sbom.json
|
||||
# 从 OCI 镜像档案生成
|
||||
syft oci-archive:image.tar -o json > sbom.json
|
||||
```
|
||||
|
||||
#### CycloneDX 与 SPDX 格式
|
||||
|
||||
两种主流的 SBOM 格式:
|
||||
@@ -173,6 +176,7 @@ syft oci-archive:image.tar -o json > sbom.json
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### SBOM 的应用场景
|
||||
|
||||
**漏洞关联:**
|
||||
@@ -249,6 +253,7 @@ cosign verify myregistry.com/myapp:v1.0.0 \
|
||||
--certificate-identity https://github.com/myorg/myrepo/.github/workflows/build.yml@refs/heads/main \
|
||||
--certificate-oidc-issuer https://token.actions.githubusercontent.com
|
||||
```
|
||||
|
||||
#### Docker Content Trust 与 Notary
|
||||
|
||||
Docker Content Trust 使用 Notary 实现镜像签名,是 Docker 官方的签名解决方案。
|
||||
@@ -276,6 +281,7 @@ docker push --disable-content-trust myregistry.com/myapp:v1.0.0
|
||||
# 查看签名信息
|
||||
docker inspect --format='{{.RepoDigests}}' myregistry.com/myapp:v1.0.0
|
||||
```
|
||||
|
||||
### 18.6.4 供应链安全最佳实践
|
||||
|
||||
#### 1. 基础镜像安全
|
||||
@@ -289,6 +295,7 @@ RUN apt-get update && apt-get install -y curl
|
||||
FROM ubuntu:22.04@sha256:a6d2b38300ce017add71440577d5b0a90460d0e6e0e14...(完整 64 位哈希)
|
||||
RUN apt-get update && apt-get install -y curl=7.68.0-1ubuntu1
|
||||
```
|
||||
|
||||
#### 2. 构建时扫描
|
||||
|
||||
在 Dockerfile 中集成安全扫描:
|
||||
@@ -308,6 +315,7 @@ RUN go build -o app .
|
||||
FROM alpine:3.17@sha256:abcd1234...(请替换为实际完整的 64 位摘要哈希)
|
||||
COPY --from=builder /app/app /app
|
||||
```
|
||||
|
||||
#### 3. 运行时镜像扫描策略
|
||||
|
||||
```bash
|
||||
@@ -320,6 +328,7 @@ trivy image --severity HIGH,CRITICAL \
|
||||
# 定期扫描已部署的镜像
|
||||
trivy image --scanners vuln,misconfig registry:5000/myapp:latest
|
||||
```
|
||||
|
||||
#### 4. 镜像仓库安全配置
|
||||
|
||||
**Harbor(私有镜像仓库)的安全扫描:**
|
||||
@@ -335,6 +344,7 @@ trivy:
|
||||
scan_on_push: true # 推送时自动扫描
|
||||
scan_all: true # 扫描仓库中的所有镜像
|
||||
```
|
||||
|
||||
#### 5. 政策执行
|
||||
|
||||
在 Kubernetes 环境中使用 Admission Webhook 强制镜像签名和扫描:
|
||||
@@ -359,6 +369,7 @@ webhooks:
|
||||
admissionReviewVersions: ["v1"]
|
||||
sideEffects: None
|
||||
```
|
||||
|
||||
### 18.6.5 CI/CD 中集成安全扫描
|
||||
|
||||
#### GitHub Actions 工作流示例
|
||||
@@ -445,6 +456,7 @@ jobs:
|
||||
push: true
|
||||
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
|
||||
```
|
||||
|
||||
#### GitLab CI 工作流示例
|
||||
|
||||
```yaml
|
||||
@@ -509,6 +521,7 @@ push:
|
||||
only:
|
||||
- main
|
||||
```
|
||||
|
||||
### 18.6.6 常见问题与最佳实践
|
||||
|
||||
**Q: 扫描报告中有过时的 CVE,如何处理?**
|
||||
|
||||
Reference in New Issue
Block a user