Amazon Inspector で CentOS7 の脆弱性診断をやってみた

クラウド
クラウド
スポンサーリンク

Amazon Inspector は、EC2インタンスの脆弱性診断を簡単に行うことができる、自動化されたセキュリティ評価サービスです。使い方もいたってシンプルで、AWSエージェントをインストールして、診断対象のEC2をタグで指定するだけで、脆弱性診断ができてしまいます。そこで今回は、Amazon Inspector で CentOS7.3 (1611) の脆弱性診断を行ってみましたので、設定手順などをメモしておきました。

Amazon Inspector の利用条件

Amazon Inspector は、以下のリージョンで稼働するEC2インスタンス+サーバOSで利用することができます。(2017年1月5日現在)

利用できるリージョン

  • 米国西部(オレゴン)
  • 米国東部(バージニア北部)
  • 欧州 (アイルランド)
  • アジアパシフィック(東京)

利用できるサーバOS

  • Amazon Linux (2015.03 以降)
  • Ubuntu (14.04 LTS)
  • Red Hat Enterprise Linux (7.2)
  • CentOS (7.2)
  • Windows Server 2008 R2 および Windows Server 2012

Amazon Inspector のセットアップ | AWS Documentation より引用

AWS Documentation を見ると、CentOSは7.2 (1511) のみ対応となっているようなのですが、CentOS7.2で「yum update」すると CentOS7.3 (1611) にアップデートされるため、CentOS7.3の環境で脆弱性診断をしてみました。

Amazon Inspector の利用料金

Amazon Inspector の利用料金は 1 エージェント 1 評価あたり 0.30 USD からです。(2017年1月5日現在)

トライアル期間があるので Amazon Inspector を使い始めてから90日間は、250回のエージェント評価を無料で実行できます。

AWS エージェントのインストール

Amazon Inspector を使うには、EC2インスタンス上のOSに、AWSエージェントをインストールする必要があります。

AWSエージェントのインストールスクリプトをダウンロード

wget https://d1wk0tztpsntt1.cloudfront.net/linux/latest/install

AWSエージェントのインストール

sudo bash install

AWSエージェントはインストールすれば、自動で起動し、自動起動設定も行われます。

chkconfig --list awsagent
(略)
awsagent 0:off 1:off 2:on 3:on 4:on 5:on 6:off

CentOS7でもAWSエージェントの自動起動は systemd ではなく chkconfig が使われますが、AWSエージェントの起動/停止は systemd の systemctl コマンドでも行えるようです。(あまり起動/停止をすることはないと思いますが)

sudo systemctl start awsagent
sudo systemctl stop awsagent

AWS エージェントの操作 | AWS Documentation

EC2 インスタンスへのタグ付け

Amazon Inspector は、EC2インスタンスのタグのキーと値を使って、脆弱性診断を実行する評価ターゲットを指定しますので、診断対象のEC2インスタンスに適当なタグを設定しておきます。

今回は、タグのキーはデフォルトの「Name」を使って、値を「InspectorEC2Instance」としましたが、タグのキーと値はなんでも構いません。

Amazon Inspector の設定

サービス > Inspector >「今すぐ始める」をクリックします。

IAM ロールの作成

Amazon Inspector が、脆弱性診断を実行するEC2インスタンスにアクセスできるように、IAMロールを作成します。

「ロールの選択または作成」をクリックします。

IAMの管理画面が開きますので、そのまま「許可」をクリックします。

Amazon Inspector ロールに「inspector」と表示されたら「続行」をクリックします。

評価ターゲットの定義

「名前」に適当な評価ターゲット名を入力し、先ほどEC2インスタンスに設定したタグのキー「Name」と値「InspectorEC2Instance」を選択したら、「続行」をクリックします。

評価テンプレートの定義

「名前」に適当な評価テンプレート名を入力します。

ルールパッケージは、以下4つのルールから複数選択できます。(2017年1月5日現在)

今回ルールパッケージは、「Common Vulnerabilities and Exposures-1.1」と「Security Best Practices-1.0」を選択、所用時間は推奨の「1時間」を選択してみます。選択が終わったら「続行」をクリックします。

(補足)「Common Vulnerabilities and Exposures(共通脆弱性識別子)」は、よくCVE番号と呼ばれているもので、ソフトウェアなどの脆弱性を一意に識別するための番号です。Amazon Inspector のような脆弱性診断ツールや、IPAセキュリティセンターからの脆弱性情報などで広く使われています。
 

確認画面が表示されますので、間違えがないことを確認し「作成」をクリックします。(「プレビュー」をクリックすると対象のEC2インスタンスを確認できます)

以上で評価テンプレートの作成されました。

Amazon Inspector で脆弱性診断を実行

作成した評価テンプレート「MyFirstTemplate」を選択し、「実行」をクリックすると、脆弱性診断が実行されます。

左メニューの「評価の実行」をクリックすると、実行状況が確認できます。

所用時間で指定した1時間が経過すると、ステータスが「分析完了」になり、「結果」の数字をクリックして、脆弱性診断の結果を表示することができます。

今回は、CVEに登録されている脆弱性は見つかりませんでしたが、パスワードやSSHの設定に関するセキュリティ上の問題が3つ見つかりました。

おわりに

サーバにインストールされたソフトウェアをすべて把握して、脆弱性情報を常に追っかけるのは、なかなか大変な作業ですが、サーバのセキュリティ対策には欠かすことができない作業です。Amazon Inspector を使えば、これらの作業を劇的に効率化できるかもしれませんね。

コメント

タイトルとURLをコピーしました