Aquaを使うならこんなふうに 第4回 Aquaのイメージスキャンについて(3) #aqua #container #security #コンテナ #セキュリティ
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
Aquaのイメージスキャンについて(3)
前回はAquaの、静的イメージスキャンの対象について説明しました。今回は、イメージスキャンのUIとImage Assuranceについて説明します。
イメージスキャンUI
初期UI画面
Aqua Enterprise 5.3 では、サイドメニューの「Images」を選択するとイメージスキャンのUIが表示されます。
上記画面は、Aqua Enterprise インストール直後の状態なので、イメージは何もスキャンされません。Aquaでは、デフォルトで対象となるホスト上で動作するコンテナイメージを自動的にスキャンします。既に運用しているコンテナ環境に後からセキュリティ対策をする際に便利な機能です。この自動スキャン機能はOFFにできます。
手動イメージスキャン
Aquaでは、コンテナレジストリ上のイメージをスキャン対象として登録できます。まず、イメージスキャンのUIの右上の「Add Images」ボタンを押します。このように、「Registry Search」画面が表示されます。画面左上の「Registry」タブで任意のコンテナレジストリを選択します。「Registry」には、マネージドコンテナレジストリや、ユーザによって用意されたコンテナレジストリも自由に指定可能です。以下の画面では、コンテナレジストリとして「Docker Hub」を選択しています。
右隣の「Search Term」に任意の文字列を選択して「Search」ボタンを押すと、左下にコンテナレジストリ上の該当するイメージ名一覧を表示します。イメージ名一覧からイメージを選択すると、右下にイメージのタグ(バージョン)の一覧が表示されます。
タグ一覧から1つ以上のバージョンを指定し、「Add」ボタンを押すとイメージスキャンが行われます。
これで、nginxのイメージがスキャンされます。
イメージスキャン結果の確認
イメージスキャン結果を確認するには、該当するコンテナリポジトリを選択します。「Images」画面の「General」タブでは、セキュリティの深刻度によって色分けして表示しています。
この中から、イメージ「nginx:1.17.8」を選択します。この画面の「Risk」タブから、深刻度「High」と「Medium」の脆弱性が確認できます。
「Vulnerabilities」タブを選択すると、脆弱性の一覧が表示されます。
脆弱性を選択すると、脆弱性に関する詳細な情報が表示されます。
「Layer」タブを選択すると、イメージのレイヤのどこに脆弱性が含まれるかを表示します。これにより、脆弱性を含むレイヤを特定でき、修正部分を確認できます。
「Resource」タブでは、脆弱性がどのOSパッケージに含まれているかなどを表示します。
「Sensitive Data」タブでは、暗号鍵などのデータが含まれている場合、そのファイルを表示します。今回は含まれていないため、何も表示されません。
「Information」タブでは、イメージ情報の詳細を表示します。
「Scan History」タブでは、イメージスキャンを行った履歴を表示します。
「Audit」タブでは、どこで何を検知したかの情報を得ます。今回はnginx:1.17.8 を実行していないため、CVEの脆弱性情報がdetect
されたことを表示します。
マルウェアの検知
Aquaのイメージスキャンでは、マルウェアの検知も可能です。今回は、ダミーウィルスである「Eicar」が含まれるイメージで確認します。
スキャンの結果、このイメージには3つのマルウェアが含まれていました。
「malware」タブで、マルウェアの種類を確認できます。
「Audit」タブでも、マルウェアが検出したこと、CVEの脆弱性で検出したこと表示されます。
vShieldについて
vShieldは、発見した脆弱性に対して一時的な仮想パッチを当てる機能です。この仮想パッチにより、既知の脆弱性に対する攻撃を検知/ブロックできます。vShieldは、Aqua独自の機能です。vShieldは、ベンダーにより脆弱性対処が終了後24時間以内に提供されます。vShieldはコンテナイメージを作成し直すことを必要とせず、実行中のコンテナにも適用できるため、運用者のみで対象可能です。
コンテナ環境によっては、すぐにアプリケーションを停止できない、修正に時間がかかる場合などがあります。そのような場合でも、vShieldはコンテナを再デプロイすることなしに仮想パッチを適用できます。新たに同じイメージをデプロイする際も、同様に仮想パッチを適用できます。
vShieldは、Imageの「Vulnerabilities」タブでも適用可能です。下図のように、脆弱性に「vShield」ボタンが付いている場合、このボタンを押すことでvShieldの設定画面が表示されます。
vShield設定画面では、Audit(攻撃の検知)もしくはEnforce(攻撃からの防御)を選択できます。
「Set Scheduler」を選択すると、vSheildを何日後にEnforce(防御)するかを指定できます。これにより、攻撃の有無を一定期間監視(Audit)し、その後Enforce(防御)に移す操作を自動的に行なえます。
右上の「Save」ボタンを押すと、vShieldの設定が保存されます。
終わりに
今回は、イメージスキャンのUIについて説明しました。次回は Image Assuranceと、Aqua独自の機能であるDTAについて説明します。次回をお楽しみに。
Aqua に関する最新情報はこちらをご覧ください。