海外ゲストが「Findings」と「Insights」をデモ
なにはともあれAWS Security Hubを有効にしてほしい
2019年2月23日、TOC五反田メッセで開催された「JAWS DAYS 2019」でAWS Security Hubを紹介したトーマス・ミッチェル氏は、同サービスの主要な機能である「Findings」と「Insights」を、GuardDutyのサンプルデータを使いながらデモした。
セキュリティ状況を一元監視できるAWS Security Hub
「AWS Security Hub」は、昨年開催された「AWS re:Invent 2018」で発表された無料セキュリティサービスの1つだ。Guard DutyやAmazon Inspector、Amazon MacieなどAWSのセキュリティサービスのほか、バラクーダ、チェックポイント、CrowdStrike、フォーティネット、シマンテック、Rapid7、トレンドマイクロなど各種パートナーソリューションと連携し、セキュリティアラートなどをリストやグラフで一覧できる総合ダッシュボードだ。業界標準やベストプラクティスに基づくコンプライアンスチェックも実行でき、スコアから修正が必要なアカウントおよびリソースを可視化することも可能だ。AWS Security Hubを利用するには、AWSアカウントでログインして有効にするだけ。気軽に使用感を試すことができる。
Findingsでは、利用するサービスで検出されたインシデントが深刻度を示すマークとともに一覧表示され、クリックすれば詳細を確認できる。クエリからフィルターを作成、表示情報を整理するのも簡単だ。一方のInsightsは、不審なアクティビティがもっとも検知されたAWSユーザー、未承認のリソース消費と関連するAWSリソースなど、35項目のカテゴリで情報を整理、数値やグラフなどで表示する。カスタムでInsights項目を作成することも、もちろん可能だ。
「AWSでは、サードパーティのツール含めてさまざまなセキュリティサービスを利用できる。ただ、数がそれなりにあるから、試したことのないものも多いはず」とミッチェル氏。使ってみたいと思っても、管理コンソールがまた増えるのは勘弁してほしい。AWS Security Hubであれば、気軽にサービスを追加しながら使い勝手や他サービスとの相性などを確認できる。
特におすすめは、Insightsだとミッチェル氏は言う。たとえば、Insightsのカテゴリには、どのS3バケットが機密データを保持しているか、書き込み権限または読み取り権限が公開設定されているS3バケットはどれかなどが用意されており、Amazon Inspectorやその他サードパーティのデータを連携させておけば、見逃すリスクを抑えられる。Amazon S3のバケット設定を誤った結果、保存していたデータを公開状態にしてしまったというミスは、よく耳にする失敗談だ。
ちなみに、AWSは2018年11月にアカウント単位で新規/既存バケットの公開設定をブロック指定できるパブリックアクセス設定機能を発表している。データ漏えいのリスクを軽減するための対策として、より安全側に倒した機能追加は広く歓迎されたが、「たとえばkubeletではAPIで認証されていないアクセスをデフォルトで許可しているなど、まだ着手できていないところも多い」とミッチェル氏。
「今後もより安全に使えるような改善がされることを期待しつつ、それまではAWS Security Hubで一元監視するのがお勧めだ」(ミッチェル氏)
大規模な漏洩がなかったのはラッキー DevSecOpsが有用
現在はシンガポールを拠点に、スタートアップ企業のテクニカルアドバイザーなどを歴任するミッチェル氏。多くのテック企業と対話してきた同氏は、肌感覚で80%近くの企業は十分なセキュリティ対策をとっておらず、「これまで大規模なデータ漏えいが発生していなかったのはラッキーとしか言い様がない状態だった」と漏らす。
こうした企業の原因の1つとして、ミッチェル氏は未だウォーターフォール開発時代の名残を引きずった"チェックリスト"型の監査方式を採用しており、DevOpsの継続的な改善ライフサイクルにセキュリティを組み込めていないことを挙げた。
「スタートアップ企業はイノベーションを起こそうと、これまでにない発想の製品やサービスを目指し、PoCを繰り返しながら開発を進める。そのため、コンセプトを十分満たす仕様でとりあえず作るということをする。たとえば、データベースは最初から高性能なCassandraを選ばず、性能も機能もまあまあ汎用的なAmazon DynamoDBを選んで、動かしながら調整したり改善したりといった具合だ」(ミッチェル氏)
最初のコンセプトや設計段階でセキュリティの課題をいくら洗い出しても、改善のライフサイクルの中で大半が無駄になることもあるだろうと、ミッチェル氏は説明する。
有用なのは、DevSecOpsの考え方を取り入れることだ。計画時は脅威モデルの作成、コーディング時には静的コード解析やレビュー、ビルド時は検証テスト、デプロイ時は脆弱性診断、構成時はポリシー検証など、開発と運用のライフサイクルの各フェーズにセキュリティ対策を組み込んでいくというものだ。
「アメリカではDevOpsを、手綱を緩めに握りながら俊足で駆け抜けるカウボーイの所作に例えることがある」(ミッチェル氏)。セキュリティでも同様に、手綱を強く引っ張りすぎず、適度に緩めながら微調整しつつ颯爽と走るのが理想だ。AWS Security Hubも、運用を回すときに程よくサポートしてくれるはずとミッチェル氏は太鼓判を押す。
「なにはともあれ、まずはAWS Security Hubを有効にしてもらえればうれしい」。ミッチェル氏のメッセージはシンプルだ。
週刊アスキーの最新情報を購読しよう