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