完全に言い訳なのですが、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使って活用してみます!



adachin

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

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