LINEで送る
Pocket

完全に言い訳なのですが、Trivyの検証ブログをなかなか書けず。。。

そして!

k8sを先月から運用し始めたので、コンテナの脆弱性をスキャンしようと、ようやくTrivyの検証をしてみたのでブログします!


■Trivyとは

https://github.com/aquasecurity/trivy

Vulsはsshで対象のサーバ(Linux)の脆弱性をスキャンできるツール(v0.9.0からAlpineのイメージもスキャン可能)ですが、Trivyコンテナの脆弱性スキャンをできるツールで、CI環境にも組み込めるOSSです。作者は元フューチャーアーキテクト@knqyf263 氏Vuls Serverとかも作っています。(以下スライドより)

他のコンテナスキャンツールとの比較は以下ですが圧倒的!!スキャン対象OSも紹介します。

  • Comparison with other scanners

  • Alpine Linux (2.2 – 2.7, 3.0 – 3.10)
  • Red Hat Universal Base Image (7,8)
  • Red Hat Enterprise Linux (6,7,8)
  • CentOS (6,7)
  • Debian (wheezy, jessie, stretch, buster)
  • Ubuntu (12.04, 14.04, 16.04, 18.04, 18.10, 19.04)

AmazonLinuxは対応していません!早速 wiki.adachin.me で動いてるコンテナらをスキャンしてみましょう!ちなみにTrivyの想いとかそこらへんの話も以下に貼っときます!


■Install

  • CentOS/RedHat

  • Debian/Ubuntu

  • Homebrew

今回はMacにインストールしてみました。

  • Usage


■Scan

  • refresh db

久々にスキャンということもあって、脆弱性データベースをアップデートします。20分かかりました。(これは長い)

  • trivy scan

Total: 629 (UNKNOWN: 14, LOW: 61, MEDIUM: 495, HIGH: 55, CRITICAL: 4)

これはオワッタ…..
近々Dockerfile作ってAlpineで動かそうとしているから問題ないぜ!!(白目)


■Continuous Integration (CI)

https://github.com/aquasecurity/trivy#continuous-integration-ci

CIに組み込みたい場合は脆弱性が存在する場合に終了コードが0で返ってくるので、 --exit-code を入れると脆弱性が存在した場合に1を返すようにできます。CircleCIの場合は以下を参考に。

  • CircleCI

https://circleci.com/gh/aquasecurity/trivy-ci-test


■まとめ

そもそもコンテナということもあって、CI環境を連携できるように作られているので、本番コンテナ運用している方にとって重宝しそうです!自分もCircleCI使って活用してみます!

LINEで送る
Pocket


adachin

1989年生まれのランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はDocker開発環境の提供、AWSでのインフラ構築、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください