Home Blogs WAFチューニングが簡単に
Applications

WAFチューニングが簡単に

About The Author

Outline

中小企業や新規企業は、セキュリティに関する重要な課題に直面している。 専門のセキュリティ専門家やサードパーティのマネージドサービスを雇うコストを最小限に抑えながら、Webアプリケーションの安全性を維持するための高度なセキュリティソリューションが必要である。 新たな攻撃ベクトルが絶えず出現する中、ウェブアプリケーションのセキュリティはこれまで以上に重要性を増しており、挑戦的なものとなっている。 Edgecast、現在はEdgio、WAFが解決策である。 管理を簡素化する堅牢で洗練されたソリューションを提供する リアルタイムのダッシュボードとログ配信により、最新の可視性が提供されるため、管理者は脅威を迅速に特定して対処できる。 このブログでは、企業が誤検知を特定して排除し、追加のサポートコストをかけずにWebアプリケーション用にカスタマイズされたソリューションを構築する方法に焦点を当てる。 このスペースに慣れておらず、Edgio WAFをまだ使用していない場合は、この短いチュートリアルを見て、ユーザーインターフェイスとその仕組みを理解しておくこと。 すでにアカウントを持っている場合は、私とこの演習をすることを自由に感じる。 1.まず、リアルタイムダッシュボードに移動して、時間でWAFイベントをフィルタリングすることから始めよう。 Webトラフィックを分析する期間。 (注:以前にいくつかのルールチューニングを行ったことがある場合は、最新のチューニングの後に時間枠を選択すること)。

図1:過去6時間に発生したWAFイベント。

2.このトラフィックによってトリガーされた上位10個のルールIDを確認する。 ルールIDは、トラフィックをさらにフィルタリングし、さまざまなWAFイベントのペイロードを監視するための優れた方法である。 つまり、さらに分析するために、これらのルールIDでトラフィックのフィルタリングを1つずつ開始する。

図2:WAFイベントによって起動された上位10のルール

3.次に、一致する値フィールドを見て、このルールをトリガーしたペイロード値を確認する。

図3:[Matched Value]列のペイロード値。

4.ペイロード値を分析して、悪意のあるものかどうかを特定する。 見た目がわからない場合は、 ペイロードに含まれる可能性のある悪意のある値をいくつか紹介する。

  • パストラバーサル:http://some_site.com.br/../../../../some dir/some file ¹ http://testsite.com/get.asp?f=/etc/passwd²‍
  • LFIの脆弱性:攻撃者が.iniなどのサーバー上の機密ファイルにアクセスしようとしている。Edgecast WAFはデフォルトでこれや他の多くの重要なファイルシステム拡張をブロックする。
  • クロスサイトスクリプティング:http://testsite.test/<スクリプト>alert(“test”);</script>§ <img src=”http://url.to.file.which/not.exist”onerror=alert(document.cookie);>アッカンゼン
  • SQLインジェクション: select * from items where‘a’=’a’; apply select 1;復号化
  • リモートコード実行: eval(“\$$user =‘$regdate’);復号化
  • 時間ベースの攻撃:1を選択してスリープ(2)、選択しないベンチマーク(2000000、MD5(「A」))、¹‹

5.ペイロードが悪意のあるものかどうかまだわからない場合は、対応するペイロードでリクエストを開始したクライアントIPのリストを見ることで、それを理解するのに最適な方法がある。 クライアントIPが分散されている場合、つまり変化している場合、ペイロードが偽陽性である可能性が高い。 しかし、すべてのクライアントIPが同じ値を持つ場合、潜在的なボリューム攻撃を示し、悪意のあるペイロードに分類される。 これを実証するために、ステップ3を参照して、この一致する値を選択してみよう。{“IATA”:[“TGZ”,“MEX”]}そして例として使用する。 このペイロードを送信したクライアントIPのリストを調べるには、一致する値をフィルタとして次のように追加する。

図5:ペイロード値を送信したクライアントIP {“IATA”:[“TGZ”,“MEX”]}。

この場合、この要求を行うさまざまなIPアドレスを考えると、これらの要求が実際のユーザーから発信された可能性が高く、これが偽陽性の候補になる可能性が高い。

6. false positiveが識別されたら、Managed Rulesセクションで例外を作成することができるが、その前に、このペイロードが見つかった場所を見つける必要がある。クエリ文字列、リクエストヘッダー、URL、またはその他の場所。 これはステップ5からの同じページの一致する列を見ることによって容易にする。 この使用例では、ペイロードは、次に示すように、「data」クエリ引数に見つかった。

図6:ペイロード値の場所:{“IATA”:[“TGZ”,“MEX”]}。

7.経験則としては、偽陽性ペイロードを含むフィールドでこれらの特定の照合をフィルタリングし、この照合されたパラメータで実際の悪意のあるペイロードを運ぶ他の要求がないことを確認することである。 言い換えれば、特定のMatched Onフィールドのペイロードが悪意のあるものではない。 これは、該当するフィールドで照合されたにフィルタを追加することによって達成される。 使用例を見ると、このクエリ引数に悪意のあるペイロードがないことが確認できる。

図7:クエリ引数dataで送信されるすべてのペイロード値。

8.例外を作成する前の最後のステップは、Matched OnフィールドによってトリガーされたルールIDを見つけることである。 この偽陽性によってトリガーされたすべてのルール(ルールID)を記録しようとしている。 使用例に基づいて、この情報はステップ5からの同じページで利用可能である。

図8:ペイロード値によってトリガーされるルールのリスト{“IATA”:[“TGZ”,“MEX”]}。

9.例外を作成する。 [管理されたルール]セクションに移動し、これらの例外を追加する管理されたルールをクリックする。

図9: WAF構成用に作成された既存の管理対象ルール

10.「例外」タブに移動し、「新しい条件を追加」をクリックする。 args、request_cookies、ペイロードが見つかったURLなど、フィールドで一致するタイプを選択する。 次に、queryやcookieなどのパラメータ名を入力する。 最後に、ペイロードがトリガーしたすべてのルールIDのリストを入力する。

図10:管理対象ルール設定の下の[例外]タブ 11.先に行き、その条件を作成しなさい。 管理対象ルールを保存してから30秒以内に、このフォールスポジティブがWAFを通過するのを確認できる 12.これがどのように機能するかがわかったので、ステップ3に戻り、別のルールIDでトラフィックをフィルタリングし、このプロセスを繰り返して、できるだけ多くの誤検知を排除する。 やったな トラフィックに合わせてWAFソリューションをカスタマイズした。

最後にいくつかのヒント

Edgio WAFを初めて使用する場合は、ブロックモードをオンにする前に、この演習の2〜3ラウンドを実行することをお勧めする。 そしてあなたの交通量に基づいて、2-7日毎にこの練習を繰り返すことができる。 既存のEdgio WAFのお客様には、この微調整演習を3~4週間ごとに実行することをお勧めする。 もう1つ考慮すべきことは、管理対象ルールのしきい値を10未満に下げ、徐々に最適な5にすることである。 これにより、より正確で鮮明なルールセットを着実にキュレーションすることができる。 Edgio WAFはデュアルWAFを提供していることを覚えておいてください、リアルタイムトラフィックのための実際のステージング環境(監査モード)。 定期的な更新やルールセットの微調整を行う場合は、正当なトラフィックをドロップすることを気にせずに監査モードを使用できる。 ウェブアプリケーションを安全に保つすべてのセキュリティ技術についての詳細は、今すぐお問い合わせください。
リソース: ¹ ² OWASP、「Path Traversal」、owasp.org、owasp.org/www-community/attacks/Path_Traversal ³攻撃的なセキュリティ、「ファイルの包含の脆弱性」、offensive-security.com、offensive-security.com/metasploit-unleashed/file-inclusion-vulnerabilities/ 問解答OWASP、「クロスサイトスクリプティング」、owasp.org、owasp.org/www-community/attacks/xss/。 解答OWASP、「SQLインジェクション」、owasp.org、owasp.org/www-community/attacks/SQL_Injection。 Netsparker、「リモートコード評価(実行)の脆弱性」、netsparker.com、netsparker.com/blog/web-security/remote-code-evaluation-execution/。 答えは、Ashraff、Ahmad、「Webアプリケーションにおけるタイミングベースの攻撃」、owasp.org、owasp.org/www-pdf-archive/2018-02-05-AhmadAshraff.pdf。