空腹

空腹を満たすためいろいろなものに、食いつこう

そのクラウドサービスのセキュリティは万全か? 最低限確認したいポイントとは

2014-04-26 14:35:06 | 日記
そのクラウドサービスのセキュリティは万全か? 最低限確認したいポイントとは という記事を見つけました

 昨今、クラウドベースのアプリは広範囲に普及し、目覚しいスピードで増え続けている。これらのアプリはインターネット経由でアクセス可能であり、どこでも、誰でも使用できることから、セキュリティは非常に重要となる。クラウドベースのアプリを作成・管理する企業は、アプリを構成する全てのレイヤーが安全であることを保証しなければならない。アプリのユーザーは、その安全性が頼りなのだ。

 例えば、米GoogleのGmailが悪意のある攻撃者によってハッキングされ、ユーザーの電子メールの内容が読み取られた場合にどうなるか想像してみよう。Googleには非常に悪い評判が立つだろうが、それだけでなく、ユーザーはすぐに別の電子メールを探し始めるだろう。結果として顧客を失い、最終的にはお金も必然的に失うことになる。また、ハッカーがGmailのセキュリティ上の脆弱性を悪用していたことが判明し、そしてそのセキュリティホールがあらかじめ確認されていれば悪用を容易に防げたことが明らかになったら、ユーザーはどういった反応を示すだろうか? これは少々大げさな例だが、このような状況は日常的に起こっており、企業は手遅れになる前に、セキュリティ侵害を防ぐための適切な対策を打つことが極めて重要になる。

 本記事では、クラウドベースのアプリのセキュリティを最大限に強化し、セキュリティ侵害を防ぐために企業が採用できる3つの異なる戦略について説明する。

セキュリティの脆弱性を発見し修正する


 クラウドベースのアプリのセキュリティを確保するための最初のアプローチは、可能な限り多くの脆弱性を見つけて修正することだ。アプリのセキュリティ上の脆弱性を探す方法は数多く存在する。例えば、手動または自動ソースコードレビュー、汚染解析、Webスキャン、ファズテスト(※1)、フォールトインジェクション(欠陥注入)テストやシンボリック実行など。しかしながら、Webアプリのソフトウェア脆弱性を見つける場合は、これらの手法の全てが同じように適用できるわけではない。クラウドベースのアプリでは、アプリ自体の脆弱性だけでなく、OSやハイパーバイザーのような下位レイヤーの脆弱性の両方を考慮しなければならない。そのため、侵入テストサービスを採用してアプリをチェックし、検出されたあらゆる脆弱性に関するセキュリティ報告書を作成することは、常に有効な良い方策だ。

 セキュリティ検査を実施した後でも、ゼロデイ攻撃に対する脆弱性が存在する可能性について考慮しておくことが重要だ。しかし、検査の過程で、大部分の危険度の高い脆弱性は排除されるものである。

セキュリティの脆弱性の悪用を防ぐ

 クラウドアプリのセキュリティを最強にするための第2の戦略は、アプリの新しい脆弱性を発見するのではなく、既存の脆弱性が悪用されるのを防ぐことだ。こうした悪用を防止するための技術やツールが幾つかある。

ファイアウォール

 ファイアウォールは、非武装地帯(DMZ)との境界の特定ポートへのアクセスをブロックするために使用する。これで、攻撃者がインターネットから、または別のDMZから脆弱なアプリにアクセスする攻撃を防ぐことができる。

不正侵入検知(IDS)/不正侵入保護(IPS)

 IDS/IPSを使用して既知の攻撃パターンを探し出し、攻撃が対象のアプリに到達する前にブロックすることができる。

Webアプリケーションファイアウォール(WAF)

 WAFは、アプリケーションレイヤーでの悪質なパターンを探すために使用でき、SQLインジェクション、クロスサイトスクリプティング、パストラバーサル(パスの乗り換え)のような脆弱性を検出することが可能だ。WAFには、ブラックリスト方式、ホワイトリスト方式の2種類のソフトウェアがある。ブラックリスト方式のWAFが既知の悪質なリクエストだけをブロックするのに対し、ホワイトリスト方式のWAFは、デフォルトで全ての疑わしいリクエストをブロックする。ブラックリスト方式では、ブラックリストに存在しないリクエストでも、WAFを完全にバイパスしないようにクエリを再構築するのは簡単だ。ホワイトリストの方が安全だが、全ての有効なリクエストを手作業でプログラムしなければならないため、設定に多くの時間を必要とする。企業がWAFの構築に時間を投資する用意がある場合、WAFは最終的により強固なものになるだろう。NginxのWebサーバを運用している企業は、オープンソースのNaxsi Webアプリケーションファイアウォールをホワイトリスト方式として使用し、アプリを保護することを検討すべきだ。

コンテンツ配信ネットワーク(CDN)

 CDNは、インターネット経由で複数のデータセンターを介してコンテンツを配信し、Webページをより速くロードするためにドメインネームシステム(DNS)を使用している。ユーザーがDNSリクエストを送信すると、CDNはユーザーの場所に最も近いIPアドレスを返す。これは、Webページをより速くロードできるだけではなく、トラフィックはCDNを通って流れるため、結果的にシステムをサービス妨害(DoS)攻撃から保護している。通常、CDNはWAF、電子メール保護、稼働時間とパフォーマンスの監視、Googleアナリティクスなど、他の保護メカニズムも持っており、これらを使用することもできる。

認証

 2要素認証のメカニズムを可能な限り採用すべきだ。クラウドアプリへのログインに、ユーザー名とパスワードの組み合わせだけでは巨大な脆弱性となる。攻撃者はソーシャルエンジニアリング攻撃を通じて、この情報を収集できる可能性があるからだ。また、攻撃者はパスワードを推測したり、ブルートフォース攻撃(※2)で強引に解析したりすることも考えられる。なお、シングルサインオン(SSO)も、生産性を向上させると同時に、セキュリティを保持しつつ、全てのユーザーに適切なアクセス権を持たせることを保証する。

 注意することは沢山ありますね 自分で行うことは ファイアウォールだけかな