Docker安全掃描懶人包:用Trivy一鍵掃瞄容器漏洞

# 【Linux 實戰】Docker 安全掃描懶人包:由零開始用 Trivy 掃瞄容器漏洞 今日同大家分享一個超實用嘅 Docker 安全技巧:用 Trivy 做 Docker 安全掃描。無論你係新手定老手,呢篇 step-by-step 教學包你即學即用! --- ## 乜嘢係 Docker 安全掃描? Docker 安全掃描係指檢查容器鏡像(container image)入面有冇已知漏洞嘅過...

Docker安全係 DevOps 基本功,今日同大家分享一個超實用嘅 Docker 安全掃描技巧:用 Trivy 一鍵掃瞄容器漏洞。無論你係新手定老手,呢篇 step-by-step 教學包你即學即用!做 Docker安全 做好咗,成個 infrastructure 就穩陣好多。

Docker安全掃描係咩嚟?

Docker安全掃描係指檢查容器鏡像(container image)入面有冇已知漏洞嘅過程。每次你 pull 一個 image、build 一個 container,其實都可能有安全風險。Docker安全就係要確保你嘅 containers 唔會俾人利用漏洞入侵。

簡單講:你個 Docker container 用緊一堆 OS packages、library、language runtime,呢啲嘢好多時都有 CVE 漏洞。做 Docker安全掃描就係幫你搵晒出嚟,等你可以 fix 咗先 deploy。

點解 Docker安全咁重要?

根據 2026 年最新資安報告,超過 60% 嘅企業容器環境都有至少一個 Critical 級別漏洞。Docker安全唔係 optional,係 must-have。以下係幾個真實風險:

  • 供應鏈攻擊:駭客喺 public image 植入 malware
  • 權限提升:container breakout 令 attacker 攞到 host access
  • 機密洩漏:hardcoded secrets 喺 image layer 留底

做好 Docker安全掃描,就可以大大減低呢啲風險。

Docker安全必備工具:Trivy

Trivy 係 Aqua Security 開發嘅 open-source vulnerability scanner,專為 Docker安全而設。佢支援 Container image scanning、Filesystem scanning、Git repository scanning、Kubernetes cluster scanning、SBOM generation。最重要係:安裝超簡單!

Docker安全 Step 1:安裝 Trivy

macOS 用家:

brew install trivy

Linux 用家(Ubuntu/Debian):

sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb 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 trivy

裝完 verify:

trivy --version
# 輸出:Version: 0.55.0

Docker安全 Step 2:第一次掃描

即刻試下掃你個 local Docker image:

# 掃 nginx 官方 image
trivy image nginx:latest

# 掃特定 image,只 show critical/high
trivy image --severity CRITICAL,HIGH nginx:latest

你會見到類似咁嘅 output:

nginx:latest (debian 12.5)
Total: 45 (CRITICAL: 2, HIGH: 15, MEDIUM: 20, LOW: 8)

每個漏洞都會 show CVE number、affected package、fixed version。Docker安全掃描嘅第一步就係理解呢啲結果,然後針對 Docker安全 漏洞逐一修補。

Docker安全 Step 3:CI/CD 自動化

你可以將 Docker安全掃描嵌入 CI/CD pipeline:

# .github/workflows/scan.yml
name: Docker Security Scan
on: [push, pull_request]
jobs:
  trivy-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Build Docker image
        run: docker build -t myapp:latest .
      - name: Run Trivy scan
        uses: aquasecurity/trivy-action@master
        with:
          image-ref: myapp:latest
          format: sarif
          output: trivy-results.sarif
          severity: CRITICAL,HIGH
          exit-code: 1

咁樣每次 push code,Docker安全檢查就會自動 run。有 critical 漏洞就 fail build!

Docker安全最佳實踐貼士

除咗用 Trivy 掃描,仲有幾招幫你提升 Docker安全:

  1. 用 minimal base image:Alpine > Ubuntu > Debian。image 越大越易有漏洞
  2. Fix version 唔好用 latest tag:nginx:1.25.3 好過 nginx:latest
  3. Run as non-root user
FROM node:20-alpine
RUN addgroup -g 1001 appuser && adduser -u 1001 -G appuser -s /bin/sh -D appuser
USER appuser
  1. Scan regularly:每日行 cron job 掃晒 production images
  2. Sign your images:用 Docker Content Trust / cosign

Docker安全 FAQ

Q: Trivy vs Docker Scout vs Snyk 點揀?

Trivy 係 open-source + free,適合中小型團隊做 Docker安全掃描。Snyk 同 Docker Scout 有更多 enterprise features 但要俾錢。初學者建議由 Trivy 開始。

Q: Scan 完有漏洞點 fix?

Update base image 或者 rebuild:

docker build --pull --no-cache -t myapp:latest .

Q: Trivy 會唔會好慢?

第一次會 download vulnerability database(約 30 秒),之後每次 scan 幾秒搞掂,好適合 CI/CD 場景。

Docker安全總結

Docker安全係每個 DevOps 工程師嘅基本功。用 Trivy 做 Docker安全掃描 5 分鐘就 set up 好,但效果係長期保護你嘅 infrastructure。記得:每個 image 都 scan、CI/CD pipeline 自動 scan、Critical 漏洞即刻 fix、用 minimal base image。今日開始,將 Docker安全掃描加入你嘅 daily workflow 啦!有問題歡迎留言討論。

📌 延伸閱讀:SSH安全加固實戰教學Linux伺服器安全加固指南

📎 參考資料:Trivy GitHubNIST NVD 漏洞資料庫

#Docker #Docker安全 #Trivy #DevSecOps #容器安全 #Cybersecurity