企業に深刻な被害を与えるサイバー攻撃。社会情勢の変化にしたがって、サイバー攻撃は激化および増加しつつあります。特にグローバルな大企業では、安定したビジネスを展開して顧客との信頼性を維持するために、これまで以上のセキュリティ強化が必要とされます。
WAF(ワフ)は「Web Application Firewall」の略で、Webアプリケーションの脆弱性を狙ったサイバー攻撃からWebアプリケーションを防御する仕組みです。Azure WAFは、Azure Application Gateway上に設置するクラウドネイティブなWAFを提供し、SQLインジェクション、クロスサイトスクリプティングなどの攻撃からWebアプリケーションを保護します。
ここでは、一般的なWAFの基礎知識を整理するとともに、サイバー攻撃の種類と防御、Azure WAFの機能と導入メリットについて解説します。
WAFの基礎知識とAzure WAFの位置付け
まず一般的なWAFの基礎知識から解説します。続いてAzure WAFのセキュリティ機能と位置づけを確認していきましょう。
企業のセキュリティで監視と保護を行う3つのレイヤー
サイバー攻撃が巧妙かつ複雑になっている現在、企業が運用しているサーバやクラウドを防御するために、いくつかのセキュリティ施策を組合わせて活用します。セキュリティをレイヤーで考え、それぞれのレイヤーに特化したソリューションを組み合わせて統合的な対策を行います。さらに人材教育や組織的な対応が必要です。これがいわゆる「多層防御」と呼ばれるセキュリティ対策です。
情報技術面におけるセキュリティ対策のレイヤーは、考え方によって何層にも渡りますが、そのうちファイアウォール、IDS/IPS、そしてWAFを取り上げます。
まず、ネットワークを守るのが、セキュリティの基本としてよく知られているファイアウォールです。パケットをフィルタリングしたり、不正なアクセスを遮断したり、外部からの攻撃や侵入に対して「壁」を構成する仕組みです。Azureの場合は、Azure Firewallが該当します。
次に、サーバやOSの脆弱性を守るのがIDS(Intrusion Detection System:不正侵入検知システム)、IPS(Intrusion Prevention System:不正侵入防止システム)になります。
IDSには通信パケットを監視するネットワーク型と、サーバ上のデータやログを監視するホスト型があり、不正と異常を検出して管理者に通知します。IDSはファイルの改ざんを含めた検知まで行います。一方でIPSは通信を遮断する機能も担います。不正侵入をブロックして、サイバー攻撃による被害を食い止めます。
Azureはセキュリティ機能を統合してサービスを提供しているため、独立した機能を限定することは困難で、たとえばAzure Firewallには侵入検知と既存のログと照合して悪意のあるIPアドレスやドメインからのトラフィックを拒否する機能があります。
Azure WAFの保護する領域はWebアプリケーションになります。Azure Firewallなどと分けて考えるとよいでしょう。
WAFはなぜ必要か、多層防御における役割
ファイアウォール、IDS、IPSは、サイバー攻撃から防御する範囲が異なります。さらにWebアプリケーションの不正侵入や異常の監視および防止を徹底しようとするときには、WAFが必要です。
機密性の高い顧客情報などを扱う企業では、以前からWAFが導入されていました。しかし、事業の信頼性や継続性が求められる現在、ネットワーク、サーバ、OSはもちろんWebアプリケーションまで、あらゆるレイヤーのセキュリティ対策を講じておくことが重要です。
AzureでWebアプリケーションを運用するのであれば、Azure WAFの導入を検討するとよいでしょう。
Azure WAFのOWASPに基づいたルールセット
一般的なWAFの基礎知識を取り上げましたが、次にAzure WAFの機能を解説します。
Azure WAFはOWASP(オワスプ)という組織が提唱する重要な脆弱性に対応するルールセットを備えています。OWASPの正式名称は「Open Web Application Security Project」といい、信頼できるアプリケーションの提供を推進するコミュニティです。
OWASPでは定期的にセキュリティレポートを発行し、特に重要なセキュリティ脆弱性をトップ10 としてまとめています。
現在、2017年11月のOWASP TOP10が最新であり、以下の10項目が重大な脆弱性であると提示されました。
- インジェクション
- 認証の不備
- 機微な情報の露出
- XML外部エンティティ参照(XXE)
- アクセス制御の不備
- 不適切なセキュリティ設定
- クロスサイトスクリプティング(XSS)
- 安全でないデシリアライゼーション
- 既知の脆弱性のあるコンポーネントの使用
- 不十分なロギングとモニタリング
Azure WAFは、OWASP TOP10で指摘された脆弱性を、保護機能のプリセットとしてまとめています。OWASP コアルールセット2.2.9、3.0、3.1に基づいて設定があり、初期設定では2.2.9 よりも誤検出が減少した3.0が適用されます。ルールセットはAzure Portalからカスタマイズが可能です。
Azure WAFは、主に以下のような脆弱性からWebアプリケーションを保護します。
- SQLインジェクション
- リモートファイルインクルード
- コマンドインジェクション
- クロスサイトスクリプティング
- HTTPリクエスト・スマグリング
- HTTPレスポンス・スプリッティング
- HTTPプロトコル違反
- HTTPプロトコル異常
- ボット、クローラー、スキャナー
- その他一般的な攻撃、ApacheやIIS などの一般的なアプリケーション構成ミス など
Azure WAFが保護するサイバー攻撃
Azure WAFが防御するサイバー攻撃を列記しましたが、それぞれがどのような攻撃か、基礎知識を簡単にまとめます。
攻撃者がWebサイトを狙うとき、最も多い目的は情報を盗み出すことです。情報を不正入手するためによく使われる手法として、SQLインジェクションとリモートファイルインクルード(RFI)があります。
SQLインジェクションは、不正なSQL文の実行によってデータベースを勝手に操作します。リモートファイルインクルードは、悪意のあるコードをサーバに読み込ませてデータやコードを実行させる攻撃です。また、コマンドインジェクションは、OSの脆弱性を利用して不正なコマンドを処理させます。
サイバー攻撃にはWebサイトの改ざんや乗っ取りもあります。クロスサイトスクリプティング(XSS)は、主に動的なWebサイトのアプリケーションの脆弱性を狙った攻撃で、SNSや掲示板のような書き込みの多いWebサイトの被害が報告されています。標的になったWebサイトとは別の場所にクロスして攻撃を行うことから、クロスサイトスクリプティングと呼ばれるようになりました。
Webサイトを記述するHTTPの脆弱性を狙った攻撃も多数あります。HTTPリクエストスマグリング(HRS)は、特定のアプリケーション・ゲートウェイとプロキシ・サーバを併用しているときに狙われます。スマグリング(Smuggling)は「密輸」を意味します。HTTPレスポンス・スプリッティングは、Webアプリケーションが訪問者の入力にしたがって動的にHTTPヘッダーを出力するようなとき、偽のページに訪問者を誘導します。HTTPプロトコルの違反や異常も脆弱性になります。
その他、ボットやクローラーによる攻撃などがありますが、代表的なサイバー攻撃であるDDos (Distributed Denial of Service)について触れておくと、Azure DDoS Protectionによって保護されます。設定を有効にした場合、アプリケーション・ゲートウェイの仮想IPも攻撃から保護する対象になります。
迅速な導入、高可用性、費用対効果がメリット
Azure WAFは導入時に追加のセキュリティソフトウェアが不要です。数分で簡単にデプロイできます。規則は一元的管理が可能で、保護しなければならないWebアプリケーションすべてに適用ができるため、煩雑な操作が必要ありません。
クラウドネイティブなセキュリティソリューションとしてAzureに最適化されたAzure WAFは、負荷分散とアプリケーションのアクセラレーションを行い、時間あたりの処理性能を向上させます。自動スケールとゾーンの冗長性によって、高可用性と拡張性を確保します。
初期設定は不要、利用した分だけの費用により費用対効果を改善し、効率のよいセキュリティを提供しています。
まとめ
クラウドのセキュリティ対策では、仮想マシンや仮想ネットワークのようなインフラストラクチャーからWebアプリケーションまで多層防御が理想です。Azureではセキュリティに対する幅広いサービスを提供しているため、混乱することも多いでしょう。
ウィルス感染にしても、多くのリスクは「正しく恐れること」が大切です。そのためにはサイバー攻撃の種類を知り、優先的に防御すべき攻撃は何かを理解することが、セキリティ対策のスタート地点になります。