Citrix ADC

Web App Firewall ログ

Web App Firewall によって生成されたログメッセージは、構成の変更、Web App Firewall ポリシーの呼び出し、およびセキュリティチェック違反を追跡するのに非常に役立ちます。

セキュリティチェックまたは署名に対してログアクションが有効になっている場合、結果のログメッセージは、Web App Firewall が Web サイトおよびアプリケーションを保護しながら監視した要求と応答に関する情報を提供します。最も重要な情報は、署名またはセキュリティチェック違反が観察されたときに Web App Firewall によって実行されるアクションです。一部のセキュリティチェックでは、違反をトリガーした場所や検出されたパターンなど、ログメッセージに追加の有用な情報を提供できます。セキュリティチェックを非ブロックモードで展開し、ログを監視して、セキュリティ違反をトリガーしているトランザクションが有効なトランザクション (誤検出) であるかどうかを判断できます。その場合は、シグニチャまたはセキュリティチェックのブロックを有効にする前に、シグニチャまたはセキュリティチェックの削除または再設定、緩和の展開、またはその他の適切な対策を講じて誤検出を軽減することができます。ログ内の違反メッセージの数が過度に増加すると、悪意のある要求が急増している可能性があります。これにより、Web App Firewall 保護によって検出および阻止される特定の脆弱性を不正利用するアプリケーションが攻撃を受けている可能性があることを警告できます。

注:

Citrix Web App Firewall ログは、外部のSYSLOGサーバーでのみ使用する必要があります。

Citrix ADC(ネイティブ)形式のログ

Web App Firewall は、デフォルトでCitrix ADC形式のログ(ネイティブ形式のログとも呼ばれます)を使用します。これらのログは、他のCitrix ADC機能で生成されるログと同じ形式です。各ログには、次のフィールドが含まれます。

  • タイムスタンプ。接続が発生した日時。
  • 重大度。ログの重大度レベル。
  • モジュール。ログエントリを生成したCitrix ADCモジュール。
  • イベントタイプ。シグニチャ違反やセキュリティチェック違反などのイベントのタイプ。
  • イベント ID。イベントに割り当てられた ID。
  • クライアント IP。接続がログに記録されたユーザーの IP アドレス。
  • トランザクション ID。ログの原因となったトランザクションに割り当てられた ID。
  • セッション ID。ログの原因となったユーザーセッションに割り当てられた ID。
  • メッセージ。ログメッセージ。ログエントリをトリガーした署名またはセキュリティチェックを識別する情報が含まれます。

これらのフィールドのいずれか、または異なるフィールドの情報を組み合わせて検索できます。選択できるのは、ログの表示に使用するツールの機能によってのみ制限されます。Citrix ADC syslogビューアにアクセスして、GUIでWeb App Firewallログメッセージを確認するか、コマンドラインインターフェイスからCitrix ADCアプライアンスに手動で接続してログにアクセスするか、シェルにドロップして/var/log/フォルダから直接ログを末尾に記録することができます。

ネイティブ形式ログメッセージの例

Jun 22 19:14:37 <local0.info> 10.217.31.98 06/22/2015:19:14:37 GMT ns 0-PPE-1 :
default APPFW APPFW_cross-site scripting 60 0 :  10.217.253.62 616-PPE1 y/3upt2K8ySWWId3Kavbxyni7Rw0000
pr_ffc http://aaron.stratum8.net/FFC/login.php?login_name=abc&passwd=
12345&drinking_pref=on&text_area=%3Cscript%3E%0D%0A&loginButton=ClickToLogin&as_sfid=
AAAAAAWEXcNQLlSokNmqaYF6dvfqlChNzSMsdyO9JXOJomm2v
BwAMOqZIChv21EcgBc3rexIUcfm0vckKlsgoOeC_BArx1Ic4NLxxkWMtrJe4H7SOfkiv9NL7AG4juPIanTvVo
%3D&as_fid=feeec8758b41740eedeeb6b35b85dfd3d5def30c Cross-site script check failed for
field text_area="Bad tag: script" <blocked>
<!--NeedCopy-->

共通イベントフォーマット (CEF) ログ

Web App Firewall は CEF ログもサポートします。CEF は、さまざまなセキュリティ、ネットワークデバイス、アプリケーションからのセキュリティ関連情報の相互運用性を向上させるオープンログ管理標準です。CEF を使用すると、共通のイベントログ形式を使用できるため、エンタープライズ管理システムによる分析のためにデータを簡単に収集および集約できます。ログメッセージはさまざまなフィールドに分割されるため、メッセージを容易に解析し、重要な情報を識別するためのスクリプトを記述できます。

CEF ログメッセージの分析

日付、タイムスタンプ、クライアント IP、ログ形式、アプライアンス、会社、ビルドバージョン、モジュール、およびセキュリティチェック情報に加えて、Web App Firewall CEF ログメッセージには次の詳細が含まれます。

  • src — 送信元 IP アドレス
  • spt — 送信元ポート番号
  • リクエスト — リクエスト URL
  • act — アクション (例:ブロック、トランスフォーメーション済み)
  • msg — message (監視されたセキュリティチェック違反に関するメッセージ)
  • cn1 — イベント ID
  • cn2 — HTTP トランザクション ID
  • cs1 — プロファイル名
  • cs2 — PPE ID (例:PPE1)
  • cs3-セッション ID
  • cs4 — 重大度 (例:情報、アラート)
  • cs5 — イベント年
  • cs6-シグニチャ違反カテゴリ
  • メソッド — メソッド (例:GET/POST)

たとえば、開始 URL 違反がトリガーされたときに生成された次の CEF 形式のログメッセージを考えてみましょう。

Jun 12 23:37:17 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0
|APPFW|APPFW_STARTURL|6|src=10.217.253.62 spt=47606 method=GET
request=http://aaron.stratum8.net/FFC/login.html msg=Disallow Illegal URL. cn1=1340
cn2=653 cs1=pr_ffc cs2=PPE1 cs3=EsdGd3VD0OaaURLcZnj05Y6DOmE0002 cs4=ALERT cs5=2015
act=blocked
<!--NeedCopy-->

上記のメッセージは、異なるコンポーネントに分解することができます。 CEP ログコンポーネントの表を参照してください

CEF ログ形式の要求チェック違反の例:要求がブロックされない

Jun 13 00:21:28 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_FIELDCONSISTENCY|6|src=10.217.253.62 spt=761 method=GET request=
http://aaron.stratum8.net/FFC/login.php?login_name=abc&passwd=
123456789234&drinking_pref=on&text_area=&loginButton=ClickToLogin&as_sfid
=AAAAAAWIahZuYoIFbjBhYMP05mJLTwEfIY0a7AKGMg3jIBaKmwtK4t7M7lNxOgj7Gmd3SZc8KUj6CR6a
7W5kIWDRHN8PtK1Zc-txHkHNx1WknuG9DzTuM7t1THhluevXu9I4kp8%3D&as_fid=feeec8758b4174
0eedeeb6b35b85dfd3d5def30c msg=Field consistency check failed for field passwd cn1=1401
cn2=707 cs1=pr_ffc cs2=PPE1 cs3=Ycby5IvjL6FoVa6Ah94QFTIUpC80001 cs4=ALERT cs5=2015 act=
not blocked
<!--NeedCopy-->

CEF 形式の応答チェック違反の例:応答が変換される

Jun 13 00:25:31 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_SAFECOMMERCE|6|src=10.217.253.62 spt=34041 method=GET request=
http://aaron.stratum8.net/FFC/CreditCardMind.html msg=Maximum number of potential credit
card numbers seen cn1=1470 cn2=708 cs1=pr_ffc cs2=PPE1
cs3=Ycby5IvjL6FoVa6Ah94QFTIUpC80001 cs4=ALERT cs5=2015 act=transformed
<!--NeedCopy-->

CEF 形式のリクエスト側シグニチャ違反の例:リクエストはブロックされています

Jun 13 01:11:09 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_SIGNATURE_MATCH|6|src=10.217.253.62 spt=61141 method=GET request=
http://aaron.stratum8.net/FFC/wwwboard/passwd.txt msg=Signature violation rule ID 807:
web-cgi /wwwboard/passwd.txt access  cn1=140 cn2=841 cs1=pr_ffc cs2=PPE0
cs3=OyTgjbXBqcpBFeENKDlde3OkMQ00001 cs4=ALERT cs5=2015 cs6=web-cgi act=blocked
<!--NeedCopy-->

Web App Firewall 違反メッセージの地理位置情報を記録する

Geolocation は、リクエストの発信元の地理的な場所を識別し、Web App Firewall を最適なセキュリティレベルに構成するのに役立ちます。クライアントの IP アドレスに依存するレート制限などのセキュリティ実装を回避するために、マルウェアまたは不正なコンピュータは、要求の送信元 IP アドレスを変更し続けることができます。リクエストが送信される特定のリージョンを特定すると、リクエストが有効なユーザーからのものか、サイバー攻撃を開始しようとしているデバイスからのものかを判断するのに役立ちます。たとえば、特定のエリアから過度に多数の要求を受信した場合、それらがユーザーによって送信されているのか、不正なマシンによって送信されているのかを簡単に判断できます。受信トラフィックのジオロケーション分析は、サービス拒否(DoS)攻撃などの攻撃を逸らすのに非常に役立ちます。

Web App Firewall は、組み込みのCitrix ADCデータベースを使用して、悪意のある要求の発信元のIPアドレスに対応する場所を特定する利便性を提供します。その後、これらの場所からのリクエストに対して、より高いレベルのセキュリティを適用できます。Citrix Advanced Policy(PI)式を使用すると、組み込みの場所データベースと組み合わせて使用してファイアウォール保護をカスタマイズできる場所ベースのポリシーを柔軟に構成できます。これにより、特定の地域の不正クライアントから開始される調整された攻撃に対する防御を強化できます。

Citrix ADC組み込みデータベースを使用することも、他のデータベースを使用することもできます。データベースに特定のクライアント IP アドレスのロケーション情報がない場合、CEF ログにはジオロケーションが Unknown ジオロケーションとして表示されます。

:位置情報ロギングは共通イベント形式(CEF)を使用します。デフォルトでは、CEF ロギングと GeolocationLogging はオフになっています。両方のパラメータを明示的に有効にする必要があります。

位置情報を示す CEF ログメッセージの例

June 8 00:21:09 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_STARTURL|6|src=10.217.253.62 geolocation=NorthAmerica.US.Arizona.Tucson.\*.\*
spt=18655 method=GET request=http://aaron.stratum8.net/FFC/login.html
msg=Disallow Illegal URL. cn1=77 cn2=1547 cs1=test_pr_adv cs2=PPE1
cs3=KDynjg1pbFtfhC/nt0rBU1o/Tyg0001 cs4=ALERT cs5=2015 act=not blocked
<!--NeedCopy-->

ジオロケーション = 不明を示すログメッセージの例

June 9 23:50:53 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|
APPFW|APPFW_STARTURL|6|src=10.217.30.251 geolocation=Unknown spt=5086
method=GET request=http://aaron.stratum8.net/FFC/login.html msg=Disallow Illegal URL.
cn1=74 cn2=1576 cs1=test_pr_adv cs2=PPE2 cs3=PyR0eOEM4gf6GJiTyauiHByL88E0002
cs4=ALERT cs5=2015 act=not blocked
<!--NeedCopy-->

コマンドラインを使用したログアクションおよびその他のログパラメータの設定

コマンドラインを使用してプロファイルのセキュリティチェックのログアクションを構成するには

コマンドプロンプトで、次のコマンドのいずれかを入力します。

  • set appfw profile <name> SecurityCheckAction ([log] | [none])
  • unset appfw profile <name> SecurityCheckAction

set appfw profile pr_ffc StartURLAction log

unset appfw profile pr_ffc StartURLAction

コマンドラインを使用して CEF ロギングを設定するには

CEF ロギングは、デフォルトでは無効になっています。コマンドプロンプトで、次のいずれかのコマンドを入力して、現在の設定を変更または表示します。

  • set appfw settings CEFLogging on
  • unset appfw settings CEFLogging
  • sh appfw settings | grep CEFLogging

コマンドラインを使用してクレジットカード番号のロギングを構成するには

コマンドプロンプトで、次のコマンドのいずれかを入力します。

  • set appfw profile <name> -doSecureCreditCardLogging ([ON] | [OFF])
  • unset appfw profile <name> -doSecureCreditCardLogging

コマンドラインを使用して位置情報ログを構成するには

  1. set コマンドを使用して GeoLocationLogging を有効にします。CEF ロギングは同時に有効にできます。位置情報ロギングを無効にするには、unset コマンドを使用します。show コマンドは、すべての Web App Firewall パラメータの現在の設定を表示します。ただし、grep コマンドを指定して特定のパラメータの設定を表示する場合を除きます。

    • set appfw settings GeoLocationLogging ON [CEFLogging ON]
    • unset appfw settings GeoLocationLogging
    • sh appfw settings | grep GeoLocationLogging
  2. データベースを指定する

    add locationfile /var/netscaler/inbuilt_db/Citrix_netscaler_InBuilt_GeoIP_DB.csv

    または

    add locationfile <path to database file>

Web App Firewall ログのカスタマイズ

デフォルトフォーマット (PI) 式を使用すると、ログに含まれる情報を柔軟にカスタマイズできます。Web App Firewall で生成されたログメッセージに、キャプチャする特定のデータを含めるオプションがあります。たとえば、Web App Firewall セキュリティチェックとともに AAA-TM 認証を使用していて、セキュリティチェック違反をトリガーしたアクセスされた URL、URL を要求したユーザーの名前、送信元 IP アドレス、およびユーザーが要求を送信した送信元ポートを知りたい場合、次のようになります。では、次のコマンドを使用して、すべてのデータを含むカスタマイズされたログメッセージを指定できます。

> sh version
NetScaler NS12.1: Build 50.0013.nc, Date: Aug 28 2018, 10:51:08   (64-bit)
 Done
<!--NeedCopy-->
> add audit messageaction custom1 ALERT 'HTTP.REQ.URL + " " + HTTP.REQ.USER.NAME + " " + CLIENT.IP.SRC + ":" + CLIENT.TCP.SRCPORT'
Warning: HTTP.REQ.USER has been deprecated. Use AAA.USER instead.
 Done
<!--NeedCopy-->
> add appfw profile test_profile
 Done
<!--NeedCopy-->
> add appfw policy appfw_pol true test_profile -logAction custom1
 Done
<!--NeedCopy-->

Web App Firewall ログを分離するための Syslog ポリシーの構成

Web App Firewall には、Web App Firewall セキュリティログメッセージを分離して別のログファイルにリダイレクトするオプションがあります。これは、Web App Firewall が大量のログを生成し、他のCitrix ADCログメッセージを表示することが困難な場合に望ましい場合があります。このオプションは、Web App Firewall ログメッセージのみを表示し、他のログメッセージを表示したくない場合にも使用できます。

Web App Firewall ログを別のログファイルにリダイレクトするには、Web App Firewall ログを別のログファシリティに送信するように syslog アクションを構成します。このアクションは、syslog ポリシーを構成するときに使用し、Web App Firewall で使用するためにグローバルにバインドできます。

:

  1. シェルに切り替え、vi などのエディタを使用して /etc/syslog.conf ファイルを編集します。次の例に示すように、local2.* を使用してログを別のファイルに送信する新しいエントリを追加します。

    local2.\* /var/log/ns.log.appfw

  2. syslog プロセスを再起動します。次の例に示すように、grep コマンドを使用して syslog プロセス ID(PID)を識別できます。

    root@ns\# **ps -A | grep syslog**

    1063 ?? Ss 0:03.00 /usr/sbin/syslogd -b 127.0.0.1 -n -v -v -8 -C

    root@ns# **kill -HUP** 1063

  3. コマンドラインインターフェイスから、syslog アクションとポリシーを設定します。グローバルな Web App Firewall ポリシーとしてバインドします。

> add audit syslogAction sysact 1.1.1.1 -logLevel ALL -logFacility LOCAL2

> add audit syslogPolicy syspol1 ns_true sysact1

> bind appfw global syspol1 100

  1. すべての Web App Firewall セキュリティチェック違反が /var/log/ns.log.appfw ファイルにリダイレクトされるようになりました。このファイルを末尾に付けて、進行中のトラフィックの処理中にトリガーされる Web App Firewall 違反を表示できます。

    root@ns# tail -f ns.log.appfw

警告:ログを別のログファシリティにリダイレクトするように syslog ポリシーを構成した場合、Web App Firewall ログメッセージは /var/log/ns.log ファイルに表示されなくなります。

Web App Firewall ログの表示

ログを表示するには、syslogビューアを使用するか、Citrix ADCアプライアンスにログオンし、UNIXシェルを開き、任意のUNIXテキストエディタを使用します。

コマンドラインを使用してログメッセージにアクセスするには

シェルに切り替えて、/var/log/ フォルダ内の ns.logs を末尾に記録して、Web App Firewall セキュリティチェック違反に関するログメッセージにアクセスします。

  • Shell
  • tail -f /var/log/ns.log

vi エディタ、または任意の Unix テキストエディタまたはテキスト検索ツールを使用して、特定のエントリのログを表示およびフィルタリングできます。たとえば、grep コマンドを使用して、クレジットカード違反に関するログメッセージにアクセスできます。

  • tail -f /var/log/ns.log | grep SAFECOMMERCE

GUI を使用してログメッセージにアクセスするには

Citrix GUIには、ログメッセージを分析するための非常に便利なツール(Syslogビューア)が含まれています。Syslog ビューアにアクセスするには、複数のオプションがあります。

  • プロファイルの特定のセキュリティチェックのログメッセージを表示するには、[ Web App Firewall ] > [ プロファイル] に移動し、ターゲットプロファイルを選択し、[セキュリティチェック] をクリックします。ターゲットセキュリティチェックの行を強調表示し、[ログ] をクリックします。プロファイルの選択したセキュリティチェックから直接ログにアクセスすると、ログメッセージが除外され、選択したセキュリティチェックの違反に関連するログのみが表示されます。Syslog ビューアは、Web App Firewall ログをネイティブ形式と CEF 形式で表示できます。ただし、syslog ビューアがターゲットプロファイル固有のログメッセージをフィルタリングするには、プロファイルからアクセスするときに、ログが CEF ログ形式である必要があります。
  • Citrix ADC 」>「 システム 」>「 監査 」の順に選択して、Syslogビューアにアクセスすることもできます。[監査メッセージ] セクションで、[Syslog messages] リンクをクリックして Syslog Viewer を表示します。このビューには、すべてのプロファイルのすべての Web App Firewall セキュリティチェック違反ログを含むすべてのログメッセージが表示されます。これは、要求処理中に複数のセキュリティチェック違反がトリガーされる可能性がある場合のデバッグに役立ちます。
  • [ Web App Firewall ] > [ ポリシー ] > [ 監査] に移動します。[監査メッセージ(Audit Messages)] セクションで、[Syslog messages] リンクをクリックして Syslog Viewer を表示します。このビューには、すべてのプロファイルのすべてのセキュリティチェック違反ログを含むすべてのログメッセージが表示されます。

HTML ベースの Syslog Viewer には、関心のあるログメッセージのみを選択するための次のフィルタオプションが用意されています。

  • [File]:現在の /var/log/ns.log ファイルがデフォルトで選択され、対応するメッセージが Syslog ビューアに表示されます。/var/log ディレクトリにある他のログファイルのリストは、圧縮された.gz 形式で利用できます。アーカイブされたログファイルをダウンロードして圧縮解除するには、ドロップダウンオプションからログファイルを選択するだけです。選択したファイルに関連するログメッセージが syslog ビューアに表示されます。表示を更新するには、[Refresh] アイコン (2 つの矢印の円) をクリックします。

  • [モジュール(Module)] リストボックス:ログを表示するCitrix ADCモジュールを選択できます。Web App Firewall ログの APPFW に設定できます。

  • [Event Type] リストボックス:このボックスには、関心のあるイベントのタイプを選択するための一連のチェックボックスがあります。たとえば、署名違反に関するログメッセージを表示するには、[ APPFW_SIGNATURE_MATCH ] チェックボックスをオンにします。同様に、チェックボックスをオンにして、関心のある特定のセキュリティチェックを有効にすることができます。複数のオプションを選択できます。

  • [Severity]:特定の重大度レベルを選択して、その重大度のログだけを表示できます。すべてのログを表示するには、すべてのチェックボックスを空白のままにします。

    特定のセキュリティチェックの Web App Firewall セキュリティチェック違反ログメッセージにアクセスするには、[モジュール] のドロップダウンオプションで [ APPFW ] を選択してフィルタリングします。[イベントタイプ] には、選択をさらに絞り込むための豊富なオプションセットが表示されます。たとえば、[ APPFW_FIELDFORMAT] チェックボックスをオンにして [適用] ボタンをクリックすると、フィールド形式のセキュリティチェック違反に関するログメッセージのみが Syslog Viewer に表示されます。同様に、[ APPFW_SQL ] および [ APPFW_STARTURL ] チェックボックスをオンにして [ 適用 ] ボタンをクリックすると、これら 2 つのセキュリティチェック違反に関連するログメッセージのみが syslog ビューアに表示されます。

特定のログメッセージの行にカーソルを置くと、 モジュールeventType**EventID、 **clientIp、transactionId**などの複数のオプションがログメッセージの下に表示されます。これらのオプションのいずれかを選択して、ログ内の対応する情報を強調表示できます。

クリックして展開:この機能は GUI でのみ使用できます。Syslog Viewer を使用して、ログを表示するだけでなく、Web App Firewall セキュリティチェック違反のログメッセージに基づいて緩和ルールを展開することもできます。この操作では、ログメッセージは CEF ログ形式である必要があります。緩和ルールをログメッセージに展開できる場合は、行の [Syslog Viewer] ボックスの右端にチェックボックスが表示されます。チェックボックスをオンにし、[アクション] リストからオプションを選択して、緩和ルールを展開します。 [編集とデプロイ]、[ デプロイ ]、[すべてデプロイ ] は、[アクションたとえば、個々のログメッセージを選択して編集および展開できます。また、1 つ以上のセキュリティチェックから複数のログメッセージのチェックボックスをオンにして、[Deploy] または [Deploy All] オプションを使用することもできます。Click to Deploy 機能は、現在、次のセキュリティチェックでサポートされています。

  • starTurl
  • URL バッファオーバーフロー
  • SQLインジェクション
  • クロスサイトスクリプティング
  • フィールドの一貫性
  • クッキーの整合性

GUI でクリックして展開機能を使用するには

  1. Syslog ビューアでモジュールオプションでAPPFW を選択します。
  2. 対応するログメッセージをフィルタリングするセキュリティチェックを選択します。
  3. チェックボックスをオンにして、ルールを選択します。
  4. オプションの [ アクション (Action)] ドロップダウンリストを使用して、緩和ルールを展開します。
  5. ルールが対応する [緩和ルール] セクションに表示されていることを確認します。

注:

[Click Deploy ] オプションを使用して展開される SQL インジェクションおよびクロスサイトスクリプティングルールには、細粒度の緩和に関する推奨事項は含まれません。

ハイライト

  • CEF ログ形式のサポート:CEF ログ形式オプションは、Web App Firewall ログメッセージを監視、解析、分析して攻撃を特定し、構成された設定を微調整して誤検出を減らし、統計情報を収集するための便利なオプションを提供します。
  • Click to Deploy:Syslog ビューアには、1 つまたは複数のセキュリティチェック違反に対する緩和ルールを 1 つの便利な場所からフィルタリング、評価、および展開するオプションが用意されています。
  • ログメッセージをカスタマイズするオプション-高度な PI 式を使用してログメッセージをカスタマイズし、ログに表示するデータを含めることができます。
  • Web App Firewall 固有のログを分離する-アプリケーションファイアウォール固有のログをフィルタリングし、別のログファイルにリダイレクトするオプションがあります。
  • リモートロギング:ログメッセージをリモートsyslog サーバにリダイレクトできます。
  • 位置情報ロギング:Web App Firewall を構成して、要求を受信したエリアの地理的位置情報を含めることができます。組み込みの地理位置情報データベースを使用できますが、外部位置情報データベースを使用するオプションもあります。Citrix ADCアプライアンスは、IPv4とIPv6の両方の静的地理位置情報データベースをサポートしています。
  • 情報リッチログメッセージ:設定に応じて、ログに含めることができる情報のタイプの例をいくつか示します。
    • Web App Firewall ポリシーがトリガーされました。
    • セキュリティチェック違反がトリガーされました。
    • リクエストは形式に誤りがあると考えられました。
    • リクエストまたはレスポンスがブロックされたか、ブロックされませんでした。
    • リクエストデータ(SQL またはクロスサイトスクリプティングの特殊文字など)またはレスポンスデータ(クレジットカード番号やセーフオブジェクト文字列など)が変換されました。
    • 応答のクレジットカードの数が、設定された制限を超えました。
    • クレジットカード番号とタイプ。
    • シグニチャルールで設定されたログ文字列、およびシグニチャ ID。
    • リクエストのソースに関する地理位置情報。
    • 保護された機密フィールドのマスクされた (X’d out) ユーザ入力。

正規表現パターンを使用して機密データをマスクする

ログ式 (Web アプリケーションファイアウォール (WAF) プロファイルにバインドされている) の REGEX_REPLACE 拡張ポリシー (PI) 関数を使用すると、WAF ログ内の機密データをマスクできます。オプションを使用して、正規表現パターンを使用してデータをマスクし、データをマスクする文字または文字列パターンを指定できます。また、PI 関数を設定して、正規表現パターンの最初のオカレンスまたはすべてのオカレンスを置き換えることができます。

デフォルトでは、Citrix GUIインターフェイスは次のマスクを提供します。

  • SSN
  • クレジットカード
  • パスワード
  • ユーザー名

Web アプリケーションファイアウォールのログで機密データをマスクする

WAF ログ内の機密データをマスクするには、WAF プロファイルにバインドされたログ式で REGEX_REPLACE 高度なポリシー式を設定します。 機密データをマスクするには、次の手順を完了する必要があります。

  1. Web アプリケーションファイアウォールプロファイルを追加する
  2. ログ式を WAF プロファイルにバインドする

Web アプリケーションファイアウォールプロファイルを追加する

コマンドプロンプトで入力します。

add appfw profile <name>

例:

Add appfw profile testprofile1

Web アプリケーションファイアウォールプロファイルでログ式をバインドする

コマンドプロンプトで入力します。

bind appfw profile <name> -logExpression <string> <expression> –comment <string>

例:

bind appfw profile testProfile -logExpression "MaskSSN" "HTTP.REQ.BODY(10000).REGEX_REPLACE(re!\b\d{3}-\d{2}-\d{4}\b!, “xxx”, ALL)" -comment "SSN Masked"

Citrix ADC GUIを使用してWebアプリケーションファイアウォールログの機密データをマスクする

  1. ナビゲーションペインで、[ セキュリティ ]>[ Citrix Web App Firewall ]>[ プロファイル]の順に展開します。
  2. [ プロファイル ] ページで、[ 編集] をクリックします。
  3. [Citrix Web App Firewall プロファイル ]ページで、[ 詳細設定 ]セクションに移動し、[ 拡張ログ]をクリックします。

    拡張ロギングセクション

  4. [ 拡張ログ ] セクションで、[ 追加] をクリックします。

    Citrix WAF ログバインディング

  5. [Citrix Web App Firewall 拡張ログバインドの作成 ]ページで、次のパラメーターを設定します。

    1. Name:ログ式の名前。
    2. 有効。機密データをマスクするには、このオプションを選択します。
    3. ログマスク。マスクするデータを選択します。
    4. 式。WAF ログの機密データをマスクできるようにする高度なポリシー式を入力します。
    5. コメント。機密データのマスキングに関する簡単な説明。
  6. [作成]して[閉じる] をクリックします。

    Citrix WAF ログバインディング