使用[Terraform] Trivy进行安全扫描吧!

首先

本次將Trivy作為terraform的CI工具引入使用。Trivy是一款用於安全掃描的工具。
在前一篇文章中我們介紹了tfsec,但在該倉庫中有這樣的記錄。

未来我们希望鼓励tfsec社区转向Trivy。迁移到Trivy可以让您获得卓越的Terraform扫描引擎,并带来一些额外的好处。

docs/index.md文件

翻译

tfsec强烈建议迁移到Trivy。
通过使用Trivy,您可以使用与tfsec相同的引擎,并获得附加功能。

如果tfsec推荐trivy的话…
让我们将Trivy引入GithubActions。

希望找到目标读者

    • Terraformにセキュリティツールを導入したい方

 

    • セキュリティツールに興味がある方

 

    TerraformにCIツールを何を入れれば良いか検討している方

上一篇文章

    tfcmtとtfsecを導入して、terraformのCIツールを充実させよう

工具的说明

Trivy 的发音方式

    読み方は「トリビー」です。

Trivy是什么?

    • 静的解析ツールでセキュリティ上の脆弱性を検出するOSS

 

    IaCの誤設定や機密情報の流出を防ぐ

Terraform的代码

如何安装Trivy

我們將使用 “aquasecurity/trivy-action@master” 這個操作。

.github/workflows/trivy.yml的中文翻译是:

本次要进行安全扫描的文件是./envs/dev/main.tf。
您可以使用scan-ref进行配置。

name: Terraform Trivy Scan

on:
  push:
    branches:
      - feature/*
      - hotfix/*
  pull_request:
    branches:
      - feature/*
      - hotfix/*

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Run Trivy
      uses: aquasecurity/trivy-action@master
      with:
        scan-type: 'config'
        scan-ref: ./envs/dev/main.tf # セキュリティスキャンする設定ファイル
        trivyignores: ./envs/dev/.trivyignore # ignoreする設定ファイル
        exit-code: '1'

以下是Trivy可以設定的項目(部分提取)。

設定値値説明scan-typestringスキャンのタイプinputstring tarを入力image-refstringイメージを指定scan-refstring実行するディレクトリformatstring出力フォーマットtemplatestring出力テンプレートoutputstring結果をファイルに出力するディレクトリ先exit-codestring脆弱性を検知したときのエラーコードignore-unfixedbooleanパッチが適用されていない脆弱性を無視vuln-typestringスキャン対象の脆弱性のタイプseveritystring危険度の対象レベルcache-dirstringキャッシュディレクトリtimeoutstringタイムアウト時間hide-progressstringプログレスバーを非表示list-all-pkgsstring全ての危険レベルを出力scannersstring検出するセキュリティ問題のカンマ区切りのリストtrivyignoresstring.trivyignoreの相対パスtrivy-configstringtrivy.yml設定のパス

在trivy中,您可以添加trivy忽略的配置。

# セキュリティグループでIPアドレスを全て許可している
AVD-AWS-0107
# IPv4を自動割り当てに設定している
AVD-AWS-0164
# VPCフローログを有効にしていない
AVD-AWS-0178

确认行动

スクリーンショット 2023-09-24 17.10.02.png
スクリーンショット 2023-09-24 17.07.34.png
スクリーンショット 2023-09-24 17.13.34.png

最后

本次我們引入了安全掃描工具Trivy。在撰寫這篇文章之前,我對Trivy的認識只限於它是一個用於容器映像的漏洞掃描工具,卻不知道它也可以進行安全掃描。如果在引入Trivy並進行開發時發現任何問題,我會在文章中分享。非常感謝您的閱讀至最後。

本次创建的 GitHub 仓库:https://github.com/hikobend/terraform-qiita。

文献引用

Trivyとは?読み方、使い方、インストール、Aqua Security Trivyの読み方

aquasecurity/trivy TrivyのGithubリポジトリ

aquasecurity/trivy-action TrivyをGithubActionで動かすGithubリポジトリ

Trivy の Misconfiguration Scanning で Terraform の設定ミスを検出しよう TrivyをGithubでの作動方法

广告
将在 10 秒后关闭
bannerAds