Tenable.ioのAudit Cloud InfrastructureでAWS環境のスキャンをしてみた

2018.10.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ご機嫌いかがでしょうか、豊崎です。

SaaSで利用できる脆弱性診断のサービスのtenable.ioについてのエントリです。本日はtenable.ioの「Audit Cloud Infrastructure」についてご紹介をさせていただきます。

Audit Cloud Infrastructureでは、AWS環境自体のスキャンを行うことができます。

  • Tenable AWS Best Practice Audit
  • CIS Amazon Web Services Three-tier Web Architecture L1 1.0.0
  • CIS Amazon Web Services Three-tier Web Architecture L2 1.0.0
  • CIS Amazon Web Services Foundations L1 1.0.0
  • CIS Amazon Web Services Foundations L2 1.0.0
  • A custom Amazon AWS audit file(auditファイルを任意で作成しインポートする)

本投稿ではTenable AWS Best Practice Auditを実施してみたいと思います。

Tenable AWS Best Practice Auditは以下で推奨された事項で構成されています。

  • AWSセキュリティホワイトペーパー
  • AWSセキュリティベストプラクティス
  • IAMベストプラクティス

やってみた

IAMユーザの作成

Tenable.ioから「Tenable AWS Best Practice Audit」を実行するにはIAMのアクセスキーとシークレットが必要となるため、まずはAWSマネジメントコンソールからIAMユーザを作成していきましょう。

まずはIAMダッシュボードでIAMユーザを追加をクリックして進んでいきます。

ここではユーザ名:demo-tenable-readonlyとしています。アクセスキーとシークレットを発行するために、プログラムによるアクセスにチェックを入れます。

次にアタッチするポリシーを選択します。AWSが管理する「ReadOnlyAccess」を選択しました。

内容を確認してユーザを作成したら、アクセスキーとシークレットを控えておきましょう。

Tenable.io設定

次にTenable.ioのコンソールにログインします。

まだアカウントをお持ちでない方は、こちらからトライアルのアカウントを取得可能です。

Scansの画面から「New Scan」をクリックします

Scan Templatesの中から「Audit Cloud Infrastructure」を選択

Settingsでは名前と説明だけ入力しました。

Scheduleで定期的な実行を指定できます。本投稿ではOnceにしていますが、Daily、Weekly、Monthlyなど選択可能です。

次のComplianceのタブでは複数のクラウドベンダーから対象を選ぶことができます。ここでは「AMAZON AWS」の中から「Tenable AWS Best Practice Audit」を選択します。

選択された状態になりました。ここではデフォルトの状態で次に進みました。

続いてCredentialsタブから先ほど控えたアクセスキー、シークレットアクセスキーを指定していきます。

Regions to accessに「Rest of the World」を指定します。※restという表現はGovCloudとChina region 以外という意味のようです。

Regionの指定を行う箇所がありましたので、ap-northeast-1 (東京)を選択して「Save to Managed Credentials」をクリックすることでCredential情報を今後別の設定でも利用可能になります。

最後に左下の「Save」をクリックして設定完了です。

Scanしてみる

それでは早速、Scanを開始します。

5分程度待つと結果が返ってきました。

結果はFAILED/WARNING/PASSEDの3段階で評価されます。

検証環境なので、結構FAILEDが多いですね。

FAILEDのうち1つを見てみます。

SecurityGroupのインバウンドの設定に0.0.0.0/0(全てのIP)からSSHを許可する設定が入っているものが無いかをチェックしています。

SecurityGrouIDが表示されているので、対象(PASSできなかった)のSecurityGroupのルールを修正します。再度Scanしてみます。

2回目のScanが始まりました。

すると、修正した内容が反映されて、FAILEDが減ってPASSEDが増えているのがわかります。

このようにしてベストプラクティスにしたがった環境にしていくことができます。

また、組織ごとのポリシーによっては特定の項目についてはベストプラクティスから外れることを許容するという判断もあるかと思います。そういった場合にはauditファイルをカスタムして利用することも可能です。TenableのサイトからauditファイルはDL可能になっています。

Audit Downloads

まとめ

いかがでしたでしょうか、Tenable.ioではAWSのホワイトペーパーおよびベストプラクティスに基づいたAWS環境のアセスメントを自動化することができます。スケジュール設定を行うこともできますので定期的に自動アセスメントが可能です。EC2などのアセットの脆弱性対策と共にご利用いただいてはいかがでしょうか。