Edgeポリシーのトラブルシューティング
トラブルシューティング情報を使用して、Edge Policiesの操作中に発生する可能性がある一般的な問題を特定して対処します。
すべての保護ルールを有効にすると、アプリケーションが遅くなる
各WAFルールは、各トランザクションにCPUサイクルを追加します。アクション(DETECTまたはBLOCK)に関係なく、有効にするルールが多いほど、特にペイロード・トランザクションが大きい場合にトランザクションが遅くなります。検出モードで推奨されるWAF保護ルールのみを有効にし、ルールをBLOCKに変更する前に、OCI Web Application Firewallチューニング・ヘルプをリクエストするMy Oracle Supportでサービス・リクエストを開くことをお薦めします。エキスパートがプロセスをガイドできます。
「認可に失敗しました」またはリクエストされたリソースが見つかりません
WAF IPアドレス・リストにIPアドレスを追加する場合、アドレス・リストを作成するために正しいポリシーが設定されていないと、このエラーが発生することがあります。アドレス・リストを作成するには、waas-address-list
にmanage
権限が必要です。ポリシーを初めて使用する場合は、「ポリシーの開始」と「共通ポリシー」を参照してください。WAFのポリシーの詳細は、WAFサービスの詳細を参照してください。
OCI WAFの最大アップストリームTime to Live (TTL)の増加
WAFの最大アップストリーム・タイムアウトは、最大1,200秒(20分)まで増やすことができます。デフォルトでは、タイムアウトは300秒に設定されています。これを増やす必要がある場合は、次の情報を使用してMy Oracle Supportでサービス・リクエストを作成します。
- テナンシID
- ポリシーID
- Webappドメイン
- アップストリーム・タイムアウト時間
- あなたがそれを増やす必要がある理由
WAFの内部100秒のタイムアウト値(変更不可)は、オリジンがキープ・アライブを送信しない場合に接続を切断し、オリジンがまだレスポンスで作業中であることを「お待ちください。」と示します。オリジンがKeep-alivesを送信している場合、オリジンは常にKeep-aliveでリセットされるため、このタイプのタイムアウトには到達できません。
CNAMEではなくAレコードの使用
APEXドメインは、サーバーの場所に基づいてIPアドレスを指定することをお薦めします:
- お問い合わせ: 147.154.3.128
- EU: 147.154.225.212
- アパック: 192.29.50.64
- AUS: 192.29.152.173
オリジンのキープアライブ・タイムアウトの値の構成
WAFでは、アップストリームのタイムアウト値が300秒であるため、オリジン(ロード・バランサまたはWebサーバー)のキープアライブ・タイムアウトを301秒以上維持する必要があります。この間、TCPが最適化されている間、接続は安全に維持されます。ノードがオリジンとの接続性を維持するために使用するネットワーク多重化方法により、TCPが最適化されている間、接続を安全に維持できます。詳細は、「エッジ・ポリシーの開始」を参照してください。
Palo Alto Firewallのサポート
- OCIでは、PMTUD形式および9000のMTUの一部としてジャンボ・フレームを有効にするには、Palo Altoファイアウォールが必要です。
- トラブルシューティング情報については、「ハングしている接続」を参照してください。
- Palo Altoのトラブルシューティング情報は、Palo AltoおよびOCIを使用したスループットのトラブルシューティングに関する項を参照してください。
5xx HTTPステータス・コードによるAPIアプリケーション・レスポンス
複数の要因によって、5xx HTTPステータス・コードが発生する可能性があります。次の情報を確認します。
- オリジンのキープ・アライブ・タイムアウトは301秒にする必要があります。
- セッション永続性はCookieベースである必要があります。
- IPアフィニティーは、ノードがラウンドロビンシナリオで動作し、ノードIPが同じトランザクション内で変更される可能性がある10分ごとに動作するため、ベストプラクティスです。
- 複数のWAFルールを有効にし、トランザクションに大きなペイロードが含まれている場合、トランザクションはオリジンでタイムアウトします。リクエストはまだWAFバッファにあり、オリジンに応答する前に解析されています。
- 1つ以上のノードが、オリジン側からのイングレス・ルールの許可リストに完全ではありません。
- 1つの特定のノードに障害が発生しています。この場合、すぐにサポート・チームに問題をエスカレートします。
Webサイトがタイムアウトしています
- チェックポイントのリストは、5xx HTTPステータス・コードによるAPIアプリケーション・レスポンスを参照してください。
- タイムアウトは、許可リスト(セキュリティ・リストまたはNSG)にも関連付けることができます。次の情報を確認します:
- OCI WAFノードを許可するセキュリティ・リストを追加しましたか。
- ルールはステートレスですか。
-
ルールがステートレスの場合、それぞれのエグレス・ルールを追加しましたか。
ノート
ステートレス・セキュリティ・ルールを追加する場合、トラフィック(イングレスまたはエグレス)の片側のみを許可します。完全なトラフィック・フローを許可するには、反対側(エグレスまたはイングレス)に別のルールを追加します。ステートフル・ルールを追加すると(つまり、ステートレス・オプションをクリアしたまま)、トラフィックの両側がエグレス・ルールを追加する必要がありません。
WAF保護ルールの検査から同じ文字列で終わる複数のCookieを除外
次の例では、複数のCookieの下の値からWAF保護からアラートを受信します: 123_SessionID=bad_value1、456_SessionID=bad_value2、789_SessionID=bad_value3; ...
各Cookieを手動で追加するかわりに、それらを正規表現形式でグループ化できます。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Web Application Firewall」で、「ポリシー」をクリックします。
- ルール設定を構成するWAFポリシーの名前をクリックします。WAFポリシーの概要が表示されます。
- 「保護ルール」をクリックします。
- 「ルール」タブをクリックします。
- 除外を適用する保護ルールを見つけます。
- をクリックし、「除外」を選択します。
- 「除外」ダイアログ・ボックスで、次の条件を入力します:
- 除外: 「リクエストCookie値」を選択します。
- 値: /_SessionID$/を入力します。この値は、"bad_values"でWAFルールをトリガーする_SessionIDで終わるすべてのCookieと一致します。
- 「変更の保存」をクリックします。
"パラメータ'from-JSON'はJSON形式である必要があります"エラー
PowerShellコンソールを介してWAAS CLIコマンドの入力としてJSONサンプル・ファイル(--generate-full-command-JSON-input\--generate-param-JSON-input)を生成する場合、ロードに失敗することがあります。「パラメータ'from-JSON'はJSON形式である必要があります」というエラーが発生する可能性があります。生成されたJSONファイルがUTF-8エンコーディングで保存されていることを確認します。古いバージョンのPowerShellでは、JSONファイルを異なるエンコーディングで保存する場合があります。