A10 Thunderのアクセスログを収集する

NW機器

A10 Thunderのアクセスログを収集するためのForward Proxy、SYSLOGなどの設定方法

当記事では、A10ネットワークス社  Thunder シリーズを、フォワードプロキシ(Forward Proxy/Explicit Proxy)として設定している環境においてアクセスログをSYSLOGを用いて転送し収集する方法について記載します。

対象バージョン

ACOS 4.1.4
※当記事は、VMware ESXi 7上に構築したvThunderによる検証結果をもとに執筆しております。

前提条件

ManagementインターフェースにIPアドレスが設定されており、WebベースのGUIで操作できることとします。
設定するSNMPのバージョンはv2cのみとします。
GUIの基本的な操作(設定のsave等)については記載を割愛しております。

構成の概要

当記事でのA10 Thunderの構成は以下の通りです。
ワンアーム構成のFoward Proxyとして設定しています。
A10 Thunderの構成の概要

HTTP Forward Proxyの設定

詳細についてはA10ネットワーク社のマニュアルをご参照いただくか購入元の販売店様へお問い合わせください。

今回は、単純なフォワードプロキシとして以下のような設定をしています。
GUIでの設定手順はおおよそ以下のようなものとなります。

  1. [Security]-[Forward Proxy]にて新規Forward Proxyを作成します。
  2. サービス用のバーチャルIPとポートを設定します。([ADC]->[SLB]の[Virtual Server]が追加されます。)
  3. 「Service Group」を作成します。インターネット向けのForward Proxyとする場合は、ダミーでデフォルトゲートウェイ等のIPアドレスをメンバーに登録し、ヘルスチェックを無効("Disable Health Check"を有効)にします。([ADC]->[SLB]の[Servers]が追加されます。)
  4. 「Policy Template」を作成します。
    今回は最低限の設定のため以下のように設定しました。
    すべてのクライアントからのリクエストを特に制限なくインターネットに転送します。
    【Action Policies】
    Action(Type): Forward Request to Internet
    Service Group : 「3」で作成したもの。
    SNAT Pool : 新規に作成
    Logging : 有効 ※当記事ではこちらの機能により出力されるログを対象としています。
    【Source Policies】
    Match Type : Any
    Action : 【Action Policies】で作成したポリシー
  5. 「Dynamic Service」を作成します。
    今回は、8.8.8.8と8.8.4.4をDNSサーバとして設定しました。

参考までにポイントなる部分の設定画面を以下に示します。
HTTP Forward Proxyの設定

HTTP Forward Proxyの設定

CLIでの設定は以下の通りです。
※各設定の命名が少しわかり難くなっておりますがご容赦ください。

(前略)
!
ip nat pool test-snat2 192.168.128.50 192.168.128.50 netmask /32
!
(中略)
!
slb server ingernet-gateway 192.168.128.254
  health-check-disable
  user-tag Security
  port 80 tcp
    health-check-disable
    conn-limit 8000000
  port 443 tcp
    health-check-disable
    conn-limit 8000000
!
slb service-group test-sg tcp
  health-check-disable
  user-tag Security
  member ingernet-gateway 80
  member ingernet-gateway 443
!
slb template policy test-policy
  user-tag Security
  forward-policy
    action gointernet
      forward-to-internet test-sg snat test-snat2
      log
    source test
      match-any
      destination any action gointernet
!
slb template dynamic-service test
  dns server 8.8.8.8
  dns server 8.8.4.4
  user-tag Security
!
slb virtual-server test-fps 192.168.128.11
  user-tag Security
  port 8080 http
    template policy test-policy
    aflex test-aflex
    service-group test-sg
    template dynamic-service test
    user-tag Security
!
(後略)

SYSLOGの設定

SYSLOGの設定では「SYSLOGサーバの設定」「ログレベルの設定」を行います。

SYSLOGサーバの設定

ログの転送先となるSYSLOGサーバを設定します。

[System]->[Settings]の[Logging]タブから「Logging Host」を設定します。
SYSLOGサーバの設定

CLIでは以下のような設定となります。

logging host 192.168.123.81

ログレベルの設定

ログの出力レベルは、[System]->[Settings]の[Logging]タブの「Logging」にて設定します。
※当記事で対象とするアクセスログをSYSLOGサーバへ転送するには"Information"に設定する必要があります。

ログレベルの設定

CLIでは以下のような設定となります。

logging syslog information

A10 Thunderから出力されるHTTPログの種類

少し複雑ですが、A10 Thunderでは複数のログの出力設定があり、送信元のインターフェースもデータインターフェース、Managementインターフェース等違いがあります。

HTTP Log Message

当記事で取り扱うログはこちらです。

Policy TemplateのAction PolicyでLoggingを有効化することで出力されます。
データインターフェース、Managementインターフェース両方から送信可能です。
Managementインターフェースから送信するには、Loggingのレベルを"Information"に設定する必要があります。
データインターフェースから送信する場合、ログに日付情報などが含まれません。
※なお、データインターフェースからの送信を停止することはできないようです。

当社LogStare Reporter/LogStare Quintで解析、レポート化するには、ログに日付情報が含まれている必要があるため、当記事では、Loggingレベルを下げて、Managementインターフェース経由でログを転送する必要があります。
※LogStare Collectorでの収集のみの場合は、日付情報は不要です。(SYLOG受信日時を記録します。)

(参考)送信元インターフェースによるログの違い

-- Managementインターフェース --
<134>Aug 19 22:04:26 vThunder a10logd: [ACOS]<6> Proxy CONNECT[internet- (test priority#0)]:xxx.co.jp:443 url xxx.co.jp:443 client 192.168.126.1:56708, snat 192.168.128.50:3044 server x.x.x.x:443 out-bytes:227
-- データインターフェース --
<134> Proxy CONNECT[internet- (test priority#0)]:xxx.co.jp:443 url xxx.co.jp:443 client 192.168.126.1:58559, snat 192.168.128.50:3003 server x.x.x.x:443 out-bytes:217

Web Logging

こちらは、データインターフェースからのみ出力されます。
なお、SSL/TLS復号化を行っていない場合、SSL/TLS通信のログは出力されないようでした。

設定方法については、少々複雑ですが、以下のような設定となります。

  1. [ADC]->[SLB]の[Service Groups]で、転送先のSYSLOGサーバをサービスグループとして追加します。
  2. [ADC]->[Template]の[General]で、「Logging」テンプレートを作成します。
    ここで、「Service Group」に、「1」で作成したSYSLOGサーバを設定します。
    また、「Format」を指定すると詳しくカスタマイズすることも可能です。詳細はマニュアルをご参照ください。
    ※Formatを空白とした場合は、標準の形式となります。標準フォーマットのログ例

    <6> 192.168.126.1 - - Thu Aug 19 20:41:10 2021 "POST http://xxx.xxx.com/ HTTP/1.1" 471 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0" test-fps:8080
    

    フォーマットの指定例

    %{%Y-%m-%d %H:%M:%S}t %a %u %A %p %r %m %U %q %s "%{USER-AGENT}i" "%{REFERER}i" %H %v %b

    上記カスタムフォーマットを指定した場合のログ出力例

    2021-08-19 20:50:14 192.168.126.1 - 192.168.128.11 8080 ingernet-gateway GET http://xxx.xxx.com/test.html 200 "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0" "-" HTTP/1.1 test-fps 8
  3. [ADC]->[Template]の[L7 Protocols]で「HTTP」テンプレートを作成します。
    「Logging Template」に「2」で作成したテンプレートを指定します。
  4. [ADC]->[SLB]の[Virtual Servers]で、HTTP Proxy用のVirtual ServerをEditします。
  5. 「Virtual Port」の設定をEditし、「Template HTTP」に、「3」で作ったテンプレートを適用します。

Web Logging関連のCLIでの設定は以下の通りです。

(前略)
!
slb server syslog-sv 192.168.123.81
  port 514 udp
!
(中略)
!
slb service-group syslog-service-group udp
  health-check-disable
  member syslog-sv 514
!
(中略)
!
slb template logging logging-syslog
  format %{%Y-%m-%d %H:%M:%S}t %a %u %A %p %r %m %U %q %s "%{USER-AGENT}i" "%{REFERER}i" %H %v %b
  service-group syslog-service-group
!
slb template http http-template
  template logging logging-syslog
!
(中略)
slb virtual-server test-fps 192.168.128.11
  user-tag Security
  port 8080 http
    template policy test-policy
    aflex test-aflex
    service-group test-sg
    template dynamic-service test
    template http http-template #当記事「HTTP Forward Proxyの設定」記載の設定から追加
    user-tag Security
!

aFleX スクリプト

A10 ThunderシリーズはaFleXというスクリプト言語を備えており、動作を柔軟にカスタマイズできます。

aFleXスクリプトは、[ADC]->[aFleX]でスクリプトを作成し、[ADC]->[SLB]の[Virtual Servers]で、HTTP Proxy用のVirtual Serverの「Virtual Port」の設定内のAdvanced Fieldsで指定します。

詳細については当記事では割愛させていただきますが、aFleXスクリプトの「log」コマンドを利用してログを生成することが可能です。

aFleXのログは、データインターフェース、Managementインターフェース両方から送信可能です。
Managementインターフェースから送信するには、Loggingのレベルを"Information"に設定する必要があります。
※なお、データインターフェースからの送信を停止することはできないようです。
※HTTP Log Messaageと同様にデータインターフェースから送信される場合は、ログに日付情報が含まれませんが、aFleXスクリプト内で「$timestamp」等を用いてログメッセージに日付を含ませることが可能です。

ログフォーマット

前項で紹介した「HTTP Log Message」について、詳細にご紹介します。

ログは以下の3つのアクションごとにフォーマットが決まっています。
アクションについては、冒頭でご説明した「Policy Template」のアクションに対応しています。

  • Drop
  • Forward to service-group
  • Forward to internet

インターネットに転送された場合の実際のログ例は以下の通りです。

Aug 13 18:10:13 vThunder a10logd: [ACOS]<6> Proxy GET[internet- (test priority#0)]:xxx.xxx.com url http://xxx.xxx.com/test.html?test client 192.168.126.1:61210, snat 192.168.128.50:2304 server x.x.x.x:80 out-bytes:343

それぞれ以下のような意味合いとなります。(詳細およびその他アクションのログフォーマットはマニュアルをご参照ください。)

メソッド(GET/POST/CONNECTなど)、アクション(drop-/server-/select-server-/internet-のいずれか)、ルール名、プライオリティ、宛先ホスト、URL、クライアントのIPアドレス/ポート、送信元NATアドレス/ポート

LogStare Collectorでの収集

上記で設定したSYSLOGは当社LogStare Collectorでも受信することが可能です。

以下の記事をご参照ください。

  • syslogにて転送されたメッセージは「SYSLOG収集」にてLSCで受信します。「SYSLOG収集」につきましては、以下の記事をご参照ください。
    SYSLOG収集
  • 「SYSLOG収集」にて利用されるポート番号はデフォルトでtcp/udp共に514となっています。環境設定より「SYSLOG収集」にて利用されるポート番号を変更することで514以外のポートで「SYSLOG収集」が可能となります。環境設定につきましては、以下の記事をご参照ください。
    LogStare Collector における環境設定について

LogStare Reporter / LogStare Quintでのレポート例

当社のLogStare ReporterおよびLogStare QuintはA10 Thunderのアクセスログの可視化に対応しています。
※当記事で紹介した「HTTP Log Message」形式のログを対象としています。

※「LogStare Reporter / LogStare Quint」につきまして詳しくはラインアップをご覧ください。
クラウド型だから必要な機能だけ契約できるLogStareの製品ラインアップ

以下はレポートの一例です。

宛先ホスト別の集計レポート
宛先ホスト別の集計レポート

通信量(外部への送信)の多いクライアントの集計レポート
通信量(外部への送信)の多いクライアントの集計レポート

HTTPメソッド別の集計レポート
HTTPメソッド別の集計レポート

PDFレポート
最後に、これらのレポートは、日次、週次、月次でメールによるPDF配信も可能です。
PDFレポート

A10 Thunderシリーズは、設定がとても柔軟でたくさんのことができます。一部のログのみのご紹介でしたが、ご活用いただけますと幸いです。

以上です。

※LogStare Collectorにつきまして詳細はこちらをご覧ください
LogStare Collector(ログステアコレクター)システム監視とログ管理を併せ持つセキュリティ運用ソフトウェア

記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。

当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。

監視項目データベース更新案内(211020_01)前のページ

A10 ThunderをSNMPで監視するための設定方法次のページA10ThunderをSNMPで監視する

ピックアップ記事

  1. IoT機器「Raspberry pi」とLogStare Collectorで温…
  2. 自社製品をAMIにしてAWSマーケットプレイスへ出品
  3. ログフォワーダー「okurun.jar」について
  4. Zabbixヒストリデータのレポート生成について

関連記事

  1. NW機器

    FortiGate にSNMP (v1, v2c) / Syslog 設定を追加する

    当記事では、FortiGate からSNMP 並びにSyslog を取…

  2. FORTIGATEのAUTOMATION機能を用いてTEAMSへ通知

    NW機器

    FortiGateのAutomation機能を用いてTeamsへ通知してみた

    当記事では、FortiGateのAutomation機能を設定し、Mi…

  3. NW機器

    FortiGateのVDOM毎にログの転送先syslogサーバ指定を行う設定について

    当記事では、FortiGateのVDOM毎にログの転送先syslogサ…

  4. NW機器

    FortiGateにおけるTLS通信を利用したSYSLOG送信方法

    当記事では、FortiGateにおけるTLS通信を利用してSyslog…

  5. NW機器

    SonicWall UTMにSyslog送信設定を追加する方法について

    当記事では、SonicWall UTMにSyslog送信設定を追加する…

  6. WatchGuard Fireboxのログを収集するための設定方法

    NW機器

    WatchGuard Fireboxのログを収集するための設定方法

    当記事では、WatchGuard社FireboxシリーズのログをSys…

secuavail

logstare collector

logstare collector

  1. NW機器

    Nutanix Prism ElementにおけるSNMP監視/REST API…
  2. ログ分析・監視テクニック

    nProbeであらゆる通信をログに記録し可視化する
  3. AWS/Azure

    AWSマーケットプレイス上から無償版のLogStare Collectorを試す…
  4. SNMPを触ってみた

    ログ分析・監視テクニック

    SNMPとは?新入社員が生まれてはじめて触ってみた!
  5. NW機器

    PaloAltoのIPsec IKEv1 Phase1におけるトラブルシューティ…
PAGE TOP