Web サービスをデプロイし、インターネット経由で提供する場合は、Web Application Firewall (WAF) を Runtime Application Self-Protection (RASP) と組み合わせて使用します。この組み合わせは、Web サイトのトロイの木馬、WebShell、データベース攻撃、クロスサイト攻撃、リモートコマンド実行、ファイルアップロードの脆弱性悪用などの一般的な攻撃から防御します。
セキュリティリスク
Web サイトや API 操作などの Web アプリケーションは、インターネット経由でサービスを提供する場合、必然的に攻撃にさらされます。攻撃者は、不適切なパラメーター検証や動的コード実行など、Web アプリケーションの一般的な脆弱性を悪用して、さまざまな攻撃を仕掛けます。
SQL インジェクション: 攻撃者は悪意のある SQL コードを入力フィールドに挿入し、サーバーを騙して意図しないデータベース操作を実行させます。これにより、コアデータの盗難、改ざん、削除が可能になります。
クロスサイトスクリプティング (XSS) 攻撃: 攻撃者は悪意のあるスクリプトを Web ページに挿入します。他のユーザーがこれらのページにアクセスすると、スクリプトがブラウザで実行されます。これにより、セッションハイジャックや個人情報の漏洩につながる可能性があります。
WebShell のアップロード: 攻撃者はファイルアップロードの脆弱性を悪用して、悪意のあるサーバーサイドスクリプト (WebShell) をサーバーにアップロードします。これにより、サーバーをリモートで制御できるようになります。
その他の一般的な攻撃: これらには、コマンドインジェクション、ディレクトリトラバーサル、ファイルインクルード、クロスサイトリクエストフォージェリ (CSRF) などがあります。これらはすべて、ビジネスに壊滅的な打撃を与える可能性があります。
Web Application Firewall は、さまざまなセキュリティ脅威から Web アプリケーションを保護するために設計されたシステムです。HTTP および HTTPS のリクエストとレスポンスの内容を検査して、特定の攻撃を検出し、ブロックします。WAF を使用すると、Web 攻撃を効果的に削減できます。より高度な保護のために、RASP をデプロイできます。RASP は、アプリケーションのランタイム環境に埋め込まれています。主要な関数をフックしてアプリケーションの動作を監視し、豊富なコンテキスト情報を収集します。これにより、より高い精度で攻撃を検出およびブロックできます。WAF と比較して、RASP はゼロデイ脆弱性、暗号化されたトラフィック、メモリ内 WebShell などの脅威に対してより効果的です。
ベストプラクティス
第一の防御線: Web Application Firewall (WAF)
WAF は Web アプリケーションの前段で動作し、受信トラフィックの最初のチェックポイントとして機能します。すべての受信 HTTP および HTTPS リクエストを検査することで、プロの「ネットワークゲートキーパー」のように機能します。組み込みの継続的に更新されるルールライブラリを使用して、WAF は URL 内の悪意のある SQL インジェクションコードなど、ほとんどの既知の攻撃トラフィックを検出してブロックします。この非侵入型のネットワークレイヤー保護は、ほとんどの悪意のあるリクエストを効果的にフィルターし、バックエンドサーバーの負荷を大幅に削減します。
有効化と購入: Web サイトの規模とトラフィック量に基づいて WAF エディション (Pro、Enterprise、または Ultimate) を購入します。詳細については、「プランとバージョン」をご参照ください。
WAF への接続: Web サイトを WAF に接続して保護を有効にします。WAF は次の接続タイプをサポートしています (例として WAF 3.0 を使用):
接続タイプ
原理
シナリオ
Web サイトの DNS レコードを WAF が提供する CNAME アドレスに変更します。
これにより、すべてのパブリックネットワークアクセス トラフィックが最初に WAF クラスター経由でルーティングされるようになります。
クラウド (Alibaba Cloud または Alibaba Cloud 以外) またはオンプレミスの IDC 上のサービスをサポートします。
サーバー保護。たとえば、「CNAME レコードを使用して Web サイトを追加する」をご参照ください。
ALB、CLB、NLB、ECS、APIG、MSE、FC、SAE の迅速な統合をサポートします。
ALB、CLB、NLB、ECS、APIG、MSE、FC、SAE を WAF に迅速に接続できます。接続方法はクラウドプロダクトによって異なります。
Alibaba Cloud プロダクトを WAF に追加して保護します。たとえば、「ECS インスタンスを追加する」をご参照ください。
Nginx や APISIX などの自己構築の統合アクセスゲートウェイに WAF SDK プラグインをデプロイします。サービストラフィックは、バイパスモードでデプロイされた WAF クラスターにコピーされて検出されます。WAF クラスターはトラフィックを転送しません。
Web サーバーがオンプレミスにデプロイされているハイブリッドクラウド向け。
第二の防御線: Runtime Application Self-Protection (RASP)
WAF は、暗号化されたトラフィック、未知の脆弱性を悪用するゼロデイ攻撃、またはネットワーク検出をバイパスする複雑な攻撃の検出に苦労する場合があります。ここで、RASP という第二の、より深い防御線が必要になります。
RASP は、プローブまたはモジュールとして、Java 仮想マシン (JVM) などのアプリケーションのランタイム環境に直接埋め込まれます。主要な関数をフックして、アプリケーションの実際の内部動作を監視します。たとえば、リクエストがデータベースクエリをトリガーしようとすると、RASP は実行される SQL 文を直接分析して、悪意があるかどうかを判断します。これは、ネットワークトラフィックに基づいて推測することしかできない WAF とは異なります。この「インサイダー」の視点により、RASP はゼロデイ脆弱性やメモリ内 WebShell などの新しい脅威に対する防御において自然な利点を得ます。これは WAF を完全に補完するものです。詳細については、「アプリケーション保護への接続」をご参照ください。