5月16日に東京・五反田のInnovation Space DEJIMAで開催されたSecurity JAWSの第9回勉強会は、後半のセッションも充実。クラウドならではのセキュリティ対策について披露したNTTドコモの守屋さんをはじめ、SecureWorksやImperva Japanなどのベンダーソリューション、SecHack365のハッカソン成果なども発表され、バラエティ豊かな内容だった。
クラウドだから実現できるセキュリティでうっかりミスや不適切な設定を検出
クラウドを運用しているとクラウド環境ならではのミスやトラブルも生じる。だが、だからこそ、クラウドならではのセキュリティ対策も可能なはず。それを構想するだけでなく、実際に作ってみよう――NTTドコモの守屋裕樹さんは、「JAWS DAYSで話せなかった『Security x Serverless』の話」の中で、そんな取り組みを紹介した。
NTTドコモでは2012年からAWSを本格的に利用し始めており、今ではサービス系を中心に約400のアカウントで運用している。守屋さんらはCloud Center of Excellence(CCoE)という専属チームに所属し、社内のクラウド活用に関するコンサルティングや社内セキュリティポリシーを満たす際の支援を行いつつ、得られた知見をガイドラインやテンプレートの形にして提供している。
さて、NTTドコモは会社としてAWS利用時のガイドラインやベストプラクティスをまとめ、適用を推奨しているが、運用しているとどうしても、そこから逸脱した事象も生じるそうだ。
「久しぶりにコンソールを開いたら何でsshでフルアクセス許可しているのとか、IAMユーザーを見ていたら『これ、誰?』っていうユーザーがいたり、なぜかサンパウロのリージョンでEC2が立っていて、しかも外部からフルオープンだったり……ガイドラインは定めていても、蓋を開けてみると、こんなことは少なからずあります」(守屋さん)
おそらく「クラウドあるある」だろうが、本番環境の設定はチェックしていても検証環境が抜けていたり、システム運用に当たっていたパートナーのアカウントが退職後もしばらく残っていたり、といったことが主な原因だ。「開発中にAmazon SESを利用して開発用メールアドレスで試験を行っていたが、そのアドレスを無効化するのを忘れてバウンスメールが大量に流れ、警告を受けました」というケースも印象に残っているという。
こうした経験を経て守屋さんは、「クラウドって早い、簡単、便利だと言われますが、裏を返せば間違った使い方も簡単にできます。ガイドラインを作って普及活動をしていても、人間が利用する以上、設定ミスや知識不足、怠慢、忘却、あるいは残念ですが内部不正もあるかもしれません。ならば、柔軟でいつでも操作でき、自動化もしやすいという性質を持つクラウドをうまく使って、人間の脆弱な部分を早期に検知し、防止できないかなと考えました」という。
そんな狙いで作成したのが、自動アセスメントツール「ScanMonster」だ。AWS上のシステムをAPI経由で自動的に調べ、自社ガイドラインやAWSのベストプラクティスから逸脱した設定になっていれば教えてくれる。チェック結果に加え、ダメな部分は具体的にどこがまずくて、どう対処すればいいかを教える「チュートリアル」も付いているそうだ。チェック項目は現時点では57項目あり、「アベイラビリティ」「ログ」「ネットワークアクセス」「IAM」「リソース」の5つに分類されている。1つの画面から複数のアカウントに対するアセスメントが可能なこと、CloudFormationでIAMロールを配布することで、難しい設定を行わなくても手軽に利用できることも特徴だ。
ちなみにこの仕組み、守屋さんが一人で作り始めたこともあり、できるだけ費用も運用負担も抑えるため、AWS LambdaやCognito User Poolなどを活用してサーバレスで組み上げたそうだ。結果、2018年4月の利用料金はわずか0.81ドルに抑えられた。「1ドル以下でこの運用ができました。何とかConfig Rulesにも勝てたかな(笑)」という。
最後に守屋さんは「クラウドだからこそできるセキュリティ対策ってありますよね。昔から言われていることですが、構想するだけでなく、まずは始めてみましょう」と呼び掛け、ScanMonsterの普及や情報交換にも取り組んでいきたいとした。