パブリッククラウド上のセキュリティを考える ~利用者に有益な10のヒント~(後編)

パブリッククラウドサービス利用時には、サービス事業者と利用者の相互が、セキュリティの確保に責任を持ち、安全な環境を維持する必要があります。今回は、Amazon Web Services(AWS)の共有責任モデルをベースに、利用者が果たすべきパブリッククラウドサービス上のセキュリティ対策について、10 の役立つヒントを紹介します。

前回に引き続き、パブリッククラウド上で利用者が対処すべき実践的なセキュリティの対策ポイントとなる 10 のヒント、後編の #6~#10を解説します。#5までは、アプリケーション層の外にある攻撃対象となり得る部分の対策について言及しました。#6以降は、アプリケーション層そのもの、またはこれらを含む対策について考察します。

#1 特権アカウントの管理があなたの重要データを守るのに役立つ
#2 パスワードポリシーと多要素認証に注目
#3 セキュアな AMI(Amazon Machine Image)構築のススメ
#4 ゲストOS を守るために必要な3つのアクションの実践方法
#5 ファイアウォールによる保護は、多階層、多段のアプローチで
#6 ホスト型IPSはあなたのアプリケーションを守る正義の味方
#7 システムの継続的な監視は、重要なセキュリティ戦略の一つ
#8 データセキュリティは暗号化で実現
#9 脆弱性管理の第一歩はアセスメントから
#10 ペンテストを実施する時におさえておきたいこと

■#6:ホスト型IPS はあなたのアプリケーションを守る正義の味方
不要なサービスは停止しておき、ファイアウォールを使ってアプリケーションが利用しないポートを閉じていても、さらなるネットワーク上の対策は必要なのか? 答えは勿論 YES です。Webサーバを例に考えてみましょう。ファイアウォールの制御では、既に 80/443番のポートを使ったインバウンドの接続しか許可されていません。ただし、攻撃者からみれば、これだけで充分なのです。OS の脆弱性を突いたり、アプリケーションの破壊を試みる SQLインジェクションやクロスサイトスクリプティングのような攻撃を HTTP(S) のプロトコルで、80/443番ポートから実現できるのですから。だからこそ、個々のインスタンス上でアプリケーションのレベルで対策を行うには、ホスト型の IPS(Intrusion Prevention System、不正侵入防御システム)が必要なのです。

IPS は、ネットワーク内に入ってくるトラフィックを監視し、不正な侵入を検知するとその通信をブロックします。もちろん監視の結果、問題が無ければ、何もアクションを起こさず、リクエストは通常通り継続します。

ネットワークトラフィックを街の交通事情とするならば、ファイアウォールのポリシーは、ドライバーに許可/禁止事項を伝える交通標識や警告灯のようなものです。我々は交通標識が非常に重要なものだと知っていますが、標識での制御は確実ではありません。時に気づかなかったり、意味が理解できないことや、無視したりすることがあり得るでしょう。対してホスト型のIPSは、町の安全を見守るパトロールの警官だと思ってください。町を巡回中に危険を察知したタイミングで、それらを回避するために実際にストップをかけることができるのです。

■#7:システムの継続的な監視は、重要なセキュリティ戦略の一つ
システム監視は、クラウドやオンプレミスといった環境を問わず、重要なセキュリティ戦略の一つです。侵入検知につながるのはもちろんのこと、監視を継続することによってセキュリティの定常的な状態を知り、適切な運用を実現します。

まずは、システムのヘルスチェック結果の統計から取得をはじめましょう。AWS では Amazon CloudWatch を利用することで、クラウドリソースとアプリケーションの監視を行えます。しきい値を設定すれば、ネットワーク停止やDDoSのような攻撃の察知にも役立てることができるでしょう。監視を深めるならば、統計情報だけではなく、各種ログを活用してリソース状態の監視を行うべきです。OSのシステムログやアプリケーションログ、セキュリティログを監視することで、スプーフィング、スキャニングといった攻撃なども検知できる可能性が高まります。

FIM(File Integrity Monitoring、ファイル変更監視)とは、OSの重要なシステムファイルやアプリケーションの変更監視を意味します。多くの場合、アプリケーションが稼働しているだけでは、OSのシステムファイルレベルの変更はおきません。FIMで変更が検知された場合は、セキュリティ侵害の予兆か、許可を受けていないシステム変更である可能性があります。FIMは、セキュアなAMIから構築したアプリケーションの完全性を維持するのに役立ちます。カード決済や機密データを扱うアプリケーションであれば、FIMはコンプライアンス上で必須となる場合もあります。変更監視ツールの中には、レジストリやポート、プロセスなどの変更も対象とするものが存在します。

理想的には、ログは全体を見渡すために集中的に管理されるべきでしょう。FIMやログ管理、SIEM(Security Information & Event Management、セキュリティ情報およびイベント管理)といった監視ソリューションの導入は、非常に効果的です。ただし、最も忘れてはいけないのが、実際に監視を行う人による運用体制の整備です。重要イベント検出時のエスカレーションプロセスの整備など、ツールのみならず、運用の在り方をしっかりと整備しておく必要があります。

■#8:データセキュリティは暗号化で実現
ビジネスは、データと情報で成り立っています。パブリッククラウドへの移行に伴う大きな懸念の一つに、データの安全性が挙げられるでしょう。少しの労力を費やすことで、この大きな課題を片隅に追いやることができます。ここではクラウド上のデータを守るために重要な 3つのステップを解説します。

  1. データの棚卸しと重要度付けを行う
    このステップ無しにデータのセキュリティを考えることはできません。個人情報、企業の知財といった重要データがどこにあるのか、まず棚卸を行ってください。棚卸が終わったら、データに重要度をつけてリストにします。いったん重要度のついたリストが完成したら、リスト内のデータが、「どこ」に「どのように」保管され、「どう処理される」かこそが、セキュリティ上厳密に把握すべきポイントです。
  2. データ保管時のセキュリティを考える
    データセキュリティ対策の代表は、データの暗号化でしょう。データ保管時の暗号化では、データがどこにどう置かれているかが重要なポイントです。ファイルの状態で保持される場合は、ドライブ全体、またはファイル、ディレクトリ単位での暗号化が選択できます。データベースであれば、データベース全体、またはカラム、テーブル単位での暗号化といった選択肢が存在します。いずれのフォーマットであれ、暗号化のパターンは、「ストレージ全体の自動暗号化」か「個別のデータ単位の都度暗号化」の 2つになります。使い勝手から言えば、データ利用時に都度暗号化をする必要のないストレージ全体の暗号化が有利でしょう。パフォーマンスの面では、暗号化の対象範囲をどこまで拡げるかについて慎重な確認が必要です。
    AWS の S3ユーザであれば、S3 server-side encryption、もしくは、AWS envelope encryption の利用を検討することもできます
    EBSユーザであれば、サードベンダーが提供する暗号ソリューションの利用を検討するのもよいでしょう 保管データの暗号化については、運用を踏まえ、セキュリティとパフォーマンスの両要件を満たすよう実装をすべきです。
  3. データ通信時のセキュリティを考える
    データ通信時の暗号化によるパフォーマンス影響はごくわずかなため、意識する必要はありません。信頼出来るサードパーティの提供する証明書のついた SSL/TLS(いわゆる HTTPS の S部分です)を積極的に実装しましょう。HTTP通信を利用しない場合も、採用するプロトコル上で暗号化機能を実装すべきです。

暗号化は、実装時に配慮の必要な対策項目ですが、意識をしすぎる必要はありません。データ通信の暗号化は、全てにおいてやるべきです。保管時のデータについては、まずは棚卸を行い、重要度に応じて適切なレベルの暗号化処理を施しましょう。

■#9:脆弱性管理の第一歩はアセスメントから
「測定できないものは、管理できない。」という格言は、ITセキュリティにおいてもそのとおりです。多段の防御を実装したとしても、脆弱性のアセスメント(評価)を行わないことには、セキュリティにおける自分の立ち位置を理解することはできません。管理対象のクラウド全エリアにおいて、ツールとサービス、手作業を組み合わせて脆弱性を洗い出し、リスト化しましょう。脆弱性の洗い出しが完了したら優先度をつけ、軽減措置を進めます。

ここでのツールとサービスは、脆弱性検査を行うものを指します。脆弱性検査には、ネットワークスキャン型、もしくはホスト型があり、パッシブスキャン、アクティブスキャンのいずれかのモードで動作します。脆弱性検査は、悪意ある攻撃者が行う標的環境の脆弱性チェックと動作上は同じです。従って、パブリッククラウド上のインスタンスに対し、脆弱性検査をかける場合は、事前にクラウド事業者と調整を行う必要があります。AWS では、脆弱性/侵入テスト リクエストフォームが用意されています。

アセスメントによって現状の立ち位置が判ったら、もっとも深刻な脆弱性から順にセキュリティ体制を改善していきましょう。対策には、不要なポートやサービスの停止といったシンプルなものから、パッチの適用、IPS への追加ルール設定といったものまで、多種におよぶ場合があります。どんな対応であれ、対策後の有効性を必ず検証することが最も重要です。

アセスメントを行うたびに新たに発見される脆弱性の数の多さは、セキュリティにおいて継続的な改善活動が不可欠であることを示してくれるでしょう。

■#10:ペンテストを実施する時におさえておきたいこと
ペンテストとは、ペネトレーションテスト(侵入テスト)のことです。専門家に侵入テストを実施してもらい、実際の攻撃が起こる前に、システムの脆弱性を洗い出すのです。ペンテストの実施内容は、ゴールの設定やテスト期間、システムの状態に依存します。ペンテストを実施する際には、次の点を意識すべきです。

 ・クラウド環境の場合、クラウド事業者と事前の調整を行う
 ・専門性が高く客観的な立場でテストを実施できる外部の専門家にテストを依頼する
 ・テストの実施日時ではなく、テスト所要時間のみを事前に共有する

最後の点ですが、実際のインシデント発生は、当然事前に知ることはできません。運用調整のため、テストの所要時間などは、共有しておくべきですが、テストをよりリアルなものにするためにも、社内のセキュリティチームや、運用、サポートチームと実施日時を事前共有すべきではありません。

結果のレポートで、セキュリティホールが見つかったとしても驚かないでください。その結果こそ、ペンテストの価値です。攻撃者によるインシデントの報告としてではなく知ることができるのは良いことです。そして、結果レポートでは、少なくとも以下の点を抑えてください。

 ・攻撃はどのレベルまで成功したのか
 ・脆弱性を突くエクスプロイトの詳細
 ・発見された脆弱性の軽減措置提案
 ・テスト時に発見されたその他の問題やテスト実施者の考察

レポートは複雑で詳細かもしれませんが、専門家の手を借りながら、必ず読み解いてください。確認された脆弱性を理解し、結果を受けて、対策行動を起こすことこそがあなたの仕事です。

セキュリティに完璧はありませんが、今回の 10 のヒントに沿った対策を講じることは、パブリッククラウドのセキュリティを向上させる際に必ず役立つでしょう。

トレンドマイクロのクラウドセキュリティソリューションは、これらの対策の一助となります。詳細については、各ソリューションページを参照ください。

  • サーバ向け総合セキュリティ製品「Trend Micro Deep Security(トレンドマイクロ ディープセキュリティ)」(以下表中、DS)
  • クラウド向けデータ保護ソリューション「Trend Micro SecureCloud」(以下表中、SC)
  •     DS SC
    #1 特権アカウントの管理があなたの重要データを守るのに役立つ    
    #2 パスワードポリシーと多要素認証に注目    
    #3 セキュアな AMI(Amazon Machine Image)構築のススメ    
    #4 ゲストOS を守るために必要な3つのアクションの実践方法  
    #5 ファイアウォールによる保護は、多階層、多段のアプローチで  
    #6 ホスト型IPSはあなたのアプリケーションを守る正義の味方  
    #7 システムの継続的な監視は、重要なセキュリティ戦略の一つ  
    #8 データセキュリティは暗号化で実現  
    #9 脆弱性管理の第一歩はアセスメントから  
    #10 ペンテストを実施する時におさえておきたいこと    

    Trend Micro Deep Security、Trend Micro SecureCloud の実装、運用、およびセキュリティアセスメントについてのコンサルティングサービスを「Trend Micro Professional Services」として提供しています。

    参考記事:

  • Top 10 AWS Security Tips: #1 Using IAM To Protect Your Resources
      http://cloud.trendmicro.com/protecting-your-resources-with-aws-identity-and-access-management/
  • Top 10 AWS Security Tips: #2 Password Policies and Multi-Factor Authentication
      http://cloud.trendmicro.com/top-10-aws-security-tips-2-password-policies-and-multi-factor-authentication/
  • Top 10 AWS Security Tips: #3 Build a Secure Base Amazon Machine Image (AMI)
      http://cloud.trendmicro.com/top-10-aws-security-tips-3-build-a-secure-base-amazon-machine-image-ami/
  • Top 10 AWS Security Tips: #4 Protecting Guest Operating Systems
      http://cloud.trendmicro.com/top-10-aws-security-tips-4-protecting-guest-operating-systems/
  • Top 10 AWS Security Tips: #5 Create Restrictive Firewall Policies
      http://cloud.trendmicro.com/top-10-aws-security-tips-5-create-restrictive-firewall-policies/
  • Top 10 AWS Security Tips: #6 Secure Your Applications Using a Host-Based Intrusion Prevention System
      http://cloud.trendmicro.com/top-10-aws-security-tips-6-secure-your-applications-using-a-host-based-intrusion-prevention-system/
  • Top 10 AWS Security Tips: #7 Monitor Your Instances
      http://cloud.trendmicro.com/top-10-aws-security-tips-7-monitor/
  • Top 10 AWS Security Tips: #8 Encrypt Sensitive Data
      http://cloud.trendmicro.com/top-10-aws-security-tips-8-encrypt-sensitive-data/
  • Top 10 AWS Security Tips: #9 Conduct Vulnerability Assessments
      http://cloud.trendmicro.com/top-10-aws-security-tips-9-conduct-vulnerability-assessments/
  • Top 10 AWS Security Tips: #10 Penetration Testing
      http://cloud.trendmicro.com/top-10-aws-security-tips-10-penetration-testing/

      by Justin Foster(Senior Architect)and Mark Nunnikhoven(Senior Analyst)