Amazon Inspectorでセキュリティのベストプラクティスを評価する手順
はじめに
こんにちは、AWS事業本部のニシヤマです。はいマスキュラー。
Amazon Inspector(以下、Inspector)で、セキュリティのベストプラクティスの評価を実施してみたいと思います。
セキュリティのベストプラクティスで評価できる項目は以下になります。
- SSH 経由の root ログインを無効化する
- SSH バージョン 2 のみをサポート
- SSH 経由のパスワード認証を無効化する
- パスワードの有効期限を設定する
- パスワードの最小文字数を設定する
- パスワードの複雑さを設定する
- ASLR の有効化
- DEP の有効化
- システムディレクトリに対するアクセス権限の設定
注意
こちらのルールパッケージの評価ターゲットにはLinux、Windows両方のEC2を含めることは可能ですが、結果に関してはLinuxのEC2のみが作成されます。
ルールパッケージがどのOSをサポートしているかに関してはこちらをご覧ください。
前提
- 評価対象のインターネット通信できるEC2が作成済みであること
- Run Commandを許可するIAM ロールがアタッチされていること *1
やってみた
評価対象のEC2に任意のタグを付与します。(付与したタグはInspectorの評価ターゲット作成時に使用します)
評価対象EC2にタグを付与
Inspectorでは、アカウントとリージョンに存在するすべてのEC2を評価対象にすることができますが、ここでは特定のAmazon Linux 2のEC2を対象にしたいと思います。 *2
評価ターゲット作成
次にInspectorで評価する対象を定義します。Inspectorコンソールより「評価ターゲット」を選択し「作成」をクリックします。
以下を指定し「保存」をクリックして、評価ターゲットを作成します。
- 名前: 任意の定義名
- Use Tags: EC2に付与したタグ(Inspector:true)
- Install Agents: チェック
Inspectorエージェントインストール
セキュリティのベストプラクティスの評価にはInspectorエージェントのインストールが必要になります。インストールは該当サーバにログインして実施するか、SSM経由でインストールすることができます。
今回は評価ターゲットの画面からSSM経由でInspectorエージェントのインストールを実施します。先程作成した評価ターゲットの「Install Agents with Run Command」をクリックします。
確認ウィンドウが立ち上がるので「OK」をクリックします。
SSMコンソールのコマンド履歴よりインストールが成功していることを確認します。
評価ターゲットのプレビューからもInspectorエージェントがインストールされ実行可能なターゲットのAgent StatusがHEALTHY
と表示されています。
評価テンプレート作成
評価に利用するルールパッケージ等を定義します。「評価テンプレート」を選択し「作成」をクリックします。
以下を指定し「作成および実行」をクリックします。
- 名前:任意のテンプレート名
- ターゲット名:先ほど作成した評価ターゲット名
- ルールパッケージ:Security Best Practices-1.0
- 所要時間:1時間(推奨)
評価実行
少し待つと評価が完了しました。
評価の実行画面からHTML、PDFの型式でレポートの出力も可能です。
結果
評価結果は、レポートとしてダウンロードすることもコンソールで確認することも可能です。
今回の評価ではSSH経由のrootログインを無効化されていない問題がありました。
問題の重要度についてはこちらで確認が可能です。
問題の対応
サーバにログイン、またはSSM経由で評価結果の推奨事項の通りにsshd_configの設定変更とSSHDの再起動を実施します。
$ sudo sed -i s/"#PermitRootLogin.*"/"PermitRootLogin no"/ /etc/ssh/sshd_config $ sudo systemctl restart sshd.service
評価の再実行
評価の実行から再実行します。
再実行の結果確認
結果対応したので、評価の結果が0になっています。
補足
セキュリティのベストプラクティスのルールパッケージの結果に関してはLinuxのみが作成対象ですが、WindowsのEC2に対して実行すると以下のように結果にOSが未対応と表示されてます。
おわりに
Inspectorでセキュリティのベストプラクティスを評価する手順をご紹介しました。
こちらの手順で簡単にEC2がセキュリティのベストプラクティスに沿っているかを確認ができますね。設定によって定期的に実行や、SNSでの通知をすることも可能なのでぜひ活用してみてください。