Barracuda WAF アプリケーションのログの収集
このページでは、Barracuda WAF アプリケーションのログ収集を設定する方法と、事前設定済みの検索とダッシュボードの使い方を説明します。
Barracuda WAF アプリケーションは、システム、ファイアウォール、およびネットワーク セキュリティの詳細なアナリティクスを提供し、悪意のある攻撃から環境を保護できるようにします。セキュリティ分析ダッシュボードは、攻撃の種類、重大度、悪意のある IP、ブロックされているコンテンツと許可されているコンテンツ、そしてサービス別の攻撃のインサイトを提供します。トラフィック分析ダッシュボードは、クライアント、サーバ、サービス トラフィック、エラー、帯域幅の傾向、サービス パフォーマンスの詳細情報を提供します。
ログ タイプ
Barracuda WAF アプリケーションは次のログ タイプを使用します。
- システム ログ - Barracuda Web Application Firewall システムが生成するイベント。
- Web ファイアウォール ログ - Web ファイアウォール上のすべてのアクション。これらのログは、システム管理者が疑わしいアクティビティのトラフィックを分析して、Web ファイアウォール ポリシーを微調整するのに役立ちます。
- アクセス ログ - すべての Web トラフィック アクティビティ。これらのログは、システム管理者が Web サイトのトラフィックとパフォーマンスに関する情報を取得するのに役立ちます。
- 監査ログ - 監査ログは、Barracuda Web Application Firewall の GUI にログインしたユーザのアクティビティを記録します。これらのログは、管理の目的で使用されます。
- ネットワーク ファイアウォール ログ - 設定されているネットワーク ACL ルールと一致し、インターフェイス (WAN、LAN、MGMT) を通過するネットワーク トラフィック。これらのログ エントリは、ACL ルールで指定されているアクションに基づいて Barracuda Web Application Firewall に許可または拒否されたすべてのパッケージの情報を提供します。この情報は、ネットワーク トラフィックの発生元、宛先、適用されたアクションを特定するのに役立ちます。
ログ フォーマットの詳細については、「Barracuda のログ タイプ」ページを参照してください。
Barracuda WAF のログ収集の設定
このセクションでは、Barracuda WAF アプリケーションでログ収集を設定する方法を説明し、以下の作業の手順を示します。
ステップ 1: Collector の設定
新しい Sumo Logic の Hosted Collector を作成するには、「Hosted Collector を設定する」の手順を実行します。
ステップ 2: Source の設定
このセクションでは、ログ収集の Source を設定する方法を説明します。この作業では、Source を整理してラベル付けするための基本的な構成要素である [Source Category] メタデータ フィールドを指定します。
Source を設定するには、次の手順を実行します。
-
「Cloud Syslog Source の設定」の手順を実行して、以下の Source フィールドを設定します。
-
Name (名前): (必須) 名前を入力します。必要に応じて説明を入力します。
-
Source Category: (必須) このデータ タイプの現実的な Source Category の例を提供します。例: prod/barracuda/waf。詳細については、「ベスト プラクティス」を参照してください。
-
-
[Advanced (詳細)] セクションで以下の設定を指定します。
-
Enable Timestamp Parsing (タイムスタンプ parse の有効化)。True
-
Time Zone (タイム ゾーン): デフォルトではログは UTC で記録されます。
-
Timestamp Format (タイムスタンプ形式)。自動検出。
-
-
[Save (保存)] をクリックします。
-
トークンを安全な場所にコピー & ペーストします。これは、Barracuda Cloud Syslog を設定するときに必要です。
ステップ 3: Barracuda WAF のログの設定
このセクションでは、Barracuda WAF 用 Sumo Logic アプリケーションの事前設定済みの検索とダッシュボードで使用するように Barracuda WAF のログを設定する方法を説明します。
Barracuda WAF のログを設定するには、次の手順を実行します。
-
Barracuda アカウントにログインして、[ADVANCED (詳細)] > [Export Logs (ログのエクスポート)] に移動します。
-
[Add Export Log Server (エクスポート ログ サーバの追加)] に移動します。
-
[Add Export Log Server (エクスポート ログ サーバの追加)] ウィンドウで以下の値を指定します。
-
Name (名前) - Sumo Logic サービスの名前を入力します。
-
Log Server Type (ログ サーバ タイプ) - [Cloud Syslog Service] を選択します。
-
IP Address or Hostname (IP アドレスまたはホスト名) - Sumo Logic サービスの IP アドレスまたはホスト名を入力します。例: syslog.collection.your_deployment.sumologic.com
-
Port (ポート) - SumoLogic サービスの IP アドレスに関連付けられているポートを入力します。デフォルト ポートは 6514 です。
-
Token (トークン) - SumoLogic サービスのトークンを入力します。例: 9HFxoa6+lXBmvSM9koPjGzvTaxXDQvJ4POE/ExAMpleTOkenForTAsk3mSEKxPl0Q@41123 ("41123" は Sumo の PEN で、カスタマー トークンに含まれています。)
-
Log Timestamp and Hostname (ログのタイムスタンプとホスト名) - [Yes (はい)] をクリックして、イベントの日付と時刻、そして [BASIC (基本)] > [IP Configuration (IP 設定)] > [Domain Configuration (ドメイン設定)] セクションで設定されているホスト名をログに記録します。
-
Comment (コメント) - (省略可能) この設定を説明するコメントを入力します。
-
-
[Add (追加)] をクリックします。
-
[ADVANCED (詳細)] > [Export Logs (ログのエクスポート)] に移動します。
-
すべてのログを Sumo Logic に送信するため、次のスクリーンショットに示すようにエクスポート ログの設定を変更します。
-
Export Log Settings (ログの設定のエクスポート) -すべてのログで [Enable (有効)] を選択します。
-
Export Log Filters (ログ フィルタのエクスポート) - 送信する必要のあるログに従って重大度を選択します。例 - [5-Notice (5 - 通知)] を選択すると、重大度が 0 ~ 5 のログ (0-Emergency (0 - 緊急)、1-Alert (1 - アラート)、2-Critical (2 - 重大)、3-Error (3 - エラー)、4-Warning (4 - 警告)、5-Notice (5 - 通知)) が syslog サーバに送信されます。
-
- 0-Emergency: システムが使用不能 (優先度最高)
- 1-Alert: 直ちに処置が必要
- 2-Critical: 重大な状態
- 3-Error: エラー状態
- 4-Warning: 警告状態
- 5-Notice: 正常だが重要な状態
- 6-Information: 情報メッセージ (ACL 設定の変更時)
- 7-Debug: デバッグ レベル メッセージ (優先度最低)
- Syslog Settings (syslog 設定) - デフォルトのままにします。
-
[Save (保存)] をクリックします。
-
[ADVANCED (詳細)] > [Export Logs (ログのエクスポート)] に移動します。
-
アプリケーションではデフォルトのログ形式をサポートするため、[Logs Format (ログ形式)] タブですべてのログ形式がデフォルトに設定されていることを確認します。
FER (Field Extraction Rules)
各ログ フォーマットで使用する FER (Field Extraction Rules) を次の表に示します。
ログ タイプ |
FER (Field Extraction Rules) |
System Log (システム ログ) |
parse regex "(?<Unit_Name>[^ ]+) SYS(?<Log>.*)" | parse field=log " * * * *" as Module_Name, Log_Level, Event_Id, Log_Details |
Web Firewall Log (Web ファイアウォール ログ) |
parse regex "(?<Unit_Name>[^ ]+) WF(?<Log>.*)" | parse field=Log " * * * * * * * * * * [*] * * * * \"*\" * * * * *" as Severity, Attack_Type, Client_Ip, Client_Port, Service_Ip, Service_Port, Rule, Rule_Type, Action, Follow_Up_Action, Attack_Details, Method, URL, Protocol, Session_Id, User_Agent, Proxy_Ip, Proxy_Port, User, Referrer, UID |
Access Log (アクセス ログ) |
parse regex "(?<Unit_Name>[^ ]+) TR(?<Log>.*)" | parse field=Log " * * * * * * * * * * * * * * * * * * * * * * * * * * * \"*\" * * * * * * *" as Service_Ip, Service_Port, Client_Ip, Client_Port, Login, Cretificate_User, Http_Method, Http_Protocol, Domain, HttpVersion, Response_Code, Bytes_Sent, Bytes_Received, Cache_Hit, Time_Taken, Backend_Server, Backend_Server_Port, Server_Time, Session_Id, Response_Type, Profile_Matched, Protected, WF_Matched, URL, Query_String, Referrer, Cookie, User_Agent, Proxy_ip, Proxy_Port, Authenticated_User, Custom_Header_1, Custom_Header_2, Custom_Header_3, UID |
Audit Log (監査ログ) |
parse regex "(?<Unit_Name>[^ ]+) AUDIT(?<Log>.*)" | parse field=Log " * * * * * * * * * * * * * *" as Admin_Name, Client_Type, Login_Ip, Login_Port, Transaction_Type, Transaction_Id, Command_Name, Change_Type, Object_Type, Object_Name, Variable_Name, Old_Value, New_Value, Additional_Data |
Network Firewall Log (ネットワーク ファイアウォール ログ) |
parse regex "(?<Unit_Name>[^ ]+) NF(?<Log>.*)" | parse field=Log " * * * * * * * * *" as Log_Level, Protocol, Source_Ip, Source_Port, Destination_Ip, Destination_Port, ACL_Policy, ACL_Name, Log_Details |
ログ メッセージのサンプル
各ログ タイプのログ メッセージの例を次の表に示します。
ログ タイプ |
例 |
System Log (システム ログ) |
<129>1 2019-04-19T00:52:58-07:00 WAFNEW 2019-04-19 - 00:52:58.985 -0700 WAFNEW SYS PROCMON ALER 50009 Log storage exceeds 10% |
Web Firewall Log (Web ファイアウォール ログ) |
<129>1 2019-04-09T03:57:49-07:00 WAFNEW 2019-04-09 - 03:57:49.304 -0700 WAFNEW WF ALER PYTHON_PHP_ATTACKS_MEDIUM_IN_URL 182.69.208.134 50910 10.0.1.90 80 security-policy GLOBAL DENY NONE [type\="python-php-attacks-medium" pattern\="python-cfm-command-substrings" token\="/exec/"] GET 13.234.142.236/dvwa/vulnerabilities/exec/ HTTP "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" 182.69.208.134 50910 "-" http://13.234.142.236/dvwa/vulnerabi...ge=include.php 16a01bf34f8-f9a544ae |
Access Log (アクセス ログ) |
<134>1 2019-04-15T15:46:53.460+0530 WAF 2019-04-15 - 15:46:53.460+0530 -0700 WebSite TR 10.1.1.90 80 141.138.107.86 50915 "-" "-" POST HTTPS 202.191.66.53 HTTP/1.0 403 2411 1609 0 22 10.0.2.200 80 0 "-" SERVER DEFAULT PROTECTED VALID /favicon.ico "-" http://www.bing.com/search?q=sumo%20...ox&FORM=IE11SR "-" "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1467.0 Safari/537.36" 182.69.208.134 50915 "-" "-" "-" "-" 16a01bf4be9-fca462a6 |
Audit Log (監査ログ) |
<13>1 2019-04-16T12:55:10+00:00 ip-10-0-1-200 2019-04-16 - 05:55:10.006 -0700 WAF12 AUDIT sourabh GUI 111.93.54.106 55035 CONFIG 86 config SET user_system_ip Siteminder Session Sync user_system_ip_log "Off" "On" [] |
Network Firewall Log (ネットワーク ファイアウォール ログ) |
<13>1 2019-04-19T06:10:58+00:00 ip-10-0-1-200 2019-04-18 - 23:10:58.647 -0700 WAF12 NF INFO TCP 37.204.127.164 39410 10.0.1.20 22 ALLOW SSH MGMT/LAN/WAN interface traffic:allow |
クエリのサンプル
クエリ例は、[Barracuda WAF - Client Traffic (Barracuda WAF - クライアント トラフィック)] ダッシュボードの [Top Clients by Bandwidth (帯域幅別の上位のクライアント)] パネルから引用されています。
_sourceCategory=Labs/loggen/barracuda " TR " | parse regex "(?<Unit_Name>[^ ]+) TR(?<Log>.*)" | split Log delim=' ' extract 4 as Client_Ip, 13 as Bytes_Sent, 2 as Service_Ip, 3 as Service_Port | round((Bytes_Sent / 1024),2) as Bandwidth | sum(Bandwidth) as Bandwidth_Consumed_KB by Client_Ip | sort by Bandwidth_Consumed_KB | limit 5