Alcatel スイッチのログを収集する

以下でサポートされています。

このドキュメントでは、Bindplane エージェントを使用して Alcatel スイッチログを Google Security Operations に取り込む方法について説明します。パーサーは、さまざまなログ形式に基づいて一連の grok パターンを使用してフィールドを抽出します。次に、抽出されたフィールドを統合データモデル(UDM)の対応するフィールドにマッピングし、ベンダーやイベントタイプなどのメタデータでデータを拡充します。

始める前に

  • Google SecOps インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を使用する Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
  • Alcatel スイッチに対する特権認証情報があることを確認します。

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。ファイルを、Bindplane をインストールするシステムに安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

Windows へのインストール

  1. 管理者として コマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux へのインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

その他のインストール リソース

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

  1. 構成ファイルにアクセスします。

    1. config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリ、Windows ではインストール ディレクトリにあります。
    2. テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: ALCATEL_SWITCH
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

  4. <customer_id> は、実際のお客様 ID に置き換えます。

  5. /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart bindplane-agent
    
  • Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Alcatel スイッチの Syslog Export を構成する

  1. SSH またはコンソール ケーブルを使用してスイッチに接続します。
  2. 管理者の認証情報でログインします。
  3. グローバル構成モードを入力します。

    enable
    configure terminal
    
  4. Bindplane(Syslog)サーバーの IP アドレスを設定します。

    swlog output socket <syslog-server-ip>
    
    • <syslog-server-ip> は、Bindplane Agent の IP アドレスに置き換えます。
  5. syslog サーバーのロギングを有効にします。

    swlog remote enable
    
  6. ロギングレベルを構成します。

    swlog console level info
    
  7. コマンド ロギングを有効にします。

    command-log enable
    
  8. 起動構成の変更を保存します。

    write memory
    

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
1.1.1.1 principal.ip
principal.asset.ip
ログ メッセージから抽出されます。
1.1.1.2 target.ip
target.asset.ip
ログ メッセージから抽出されます。
1.1.2.7 target.ip
target.asset.ip
ログ メッセージから抽出されます。
1035 target.port ログ メッセージから抽出されます。
2266 additional.fields.value.string_value ログ メッセージから抽出され、vlan としてマッピングされます。
3036 principal.port ログ メッセージから抽出されます。
59300 target.port ログ メッセージから抽出されます。
60588 target.port ログ メッセージから抽出されます。
997 principal.resource.attribute.labels.value ログ メッセージから抽出され、limit としてマッピングされます。
A6450-L2-K4B-01 principal.application ログ メッセージから抽出されます。
A6450-L2-X1B-02-01 principal.application ログ メッセージから抽出されます。
A6450-L2-X2A-01-01 principal.application ログ メッセージから抽出されます。
A6450-L2-X4B-02-01 principal.application ログ メッセージから抽出されます。
A6900-L3-LTX0A principal.application ログ メッセージから抽出されます。
Accepted keyboard-interactive/pam security_result.summary 抽出された sec_summary フィールドの一部。
b8:53:ac:6e:c9:bc principal.mac ログ メッセージから抽出されます。
BRIDGE(10) additional.fields.value.string_value ログ メッセージから抽出され、id_protocol としてマッピングされます。
CLI log, security_result.summary 抽出された sec_summary フィールドの一部。
cmd: show configuration snapshot all, security_result.detection_fields.value ログ メッセージから抽出され、cmd としてマッピングされます。
Connection reset by 1.1.2.7 port 60505 security_result.summary ログ メッセージから抽出されます。
Dec 7 14:28:40 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Dec 8 04:21:22 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Dec 9 20:08:29 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Dec 9 20:51:34 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Dec 11 10:18:30 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Dec 17 02:14:22 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Dec 19 10:27:33 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Did not receive identification string from 1.1.2.7 port 60588 security_result.summary ログ メッセージから抽出されます。
esmSetRateLimit: Txing additional.fields.value.string_value ログ メッセージから抽出され、esm_set_rate_limit としてマッピングされます。
Feb 15 16:29:29 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Feb 16 11:08:45 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
Feb 16 11:08:49 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid security_result.summary ログ メッセージから抽出されます。
for ncmadmin from 1.1.1.2 port 59300 ssh2 security_result.summary 抽出された sec_summary フィールドの一部。
from port 3036 to port 1035 security_result.summary 抽出された sec_summary フィールドの一部。
IVDELCSW03 principal.hostname
principal.asset.hostname
principal_ip が IP アドレスでない場合、ログ メッセージから抽出されます。
IP-HELPER(22) additional.fields.value.string_value ログ メッセージから抽出され、id_protocol としてマッピングされます。
Jan 16 02:14:13 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
ts フィールドから解析されます。
LLDP(42) additional.fields.value.string_value ログ メッセージから抽出され、id_protocol としてマッピングされます。
limit=997, principal.resource.attribute.labels.value ログ メッセージから抽出され、limit としてマッピングされます。
limitType=1 principal.resource.attribute.labels.value ログ メッセージから抽出され、limitType としてマッピングされます。
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL security_result.summary ログ メッセージから抽出されます。
Mac Movement for MacAddr: a0:29:19:c0:55:18 security_result.summary ログ メッセージから抽出されます。
MacAddr: a0:29:19:c0:55:18 principal.mac ログ メッセージから抽出されます。
ncmadmin principal.user.userid ログ メッセージから抽出されます。
OS6360 principal.hostname
principal.asset.hostname
principal_ip が IP アドレスでない場合、ログ メッセージから抽出されます。
result: SUCCESS security_result.detection_fields.value ログ メッセージから抽出され、result としてマッピングされます。
SES CMD info(5) security_result.summary 抽出された sec_summary フィールドの一部。
STACK-MANAGER principal.application ログ メッセージから抽出されます。
Stack Port A MAC Frames TX/RX Enabled security_result.summary ログ メッセージから抽出されます。
STP(11) additional.fields.value.string_value ログ メッセージから抽出され、id_protocol としてマッピングされます。
SWCONSOLE-L2-K0A-01 target.hostname
target.asset.hostname
ログ メッセージから抽出されます。
trafficType=2, principal.resource.attribute.labels.value ログ メッセージから抽出され、trafficType としてマッピングされます。
user: ncmadmin security_result.summary 抽出された sec_summary フィールドの一部。
zslot=0, principal.resource.attribute.labels.value ログ メッセージから抽出され、zslot としてマッピングされます。
- additional.fields.key ハードコードされた値: id_protocol
- additional.fields.key ハードコードされた値: esm_set_rate_limit
- additional.fields.key ハードコードされた値: vlan
- metadata.event_type 他のタイプが一致しない場合は GENERIC_EVENT に設定します。
- metadata.product_name ハードコードされた値: Alcatel Switch
- metadata.vendor_name ハードコードされた値: ALCATEL SWITCH
- network.application_protocol id_protocolssh と一致する場合は SSH に設定します(大文字と小文字を区別しません)。
- principal.resource.attribute.labels.key ハードコードされた値: limit
- principal.resource.attribute.labels.key ハードコードされた値: trafficType
- principal.resource.attribute.labels.key ハードコードされた値: limitType
- principal.resource.attribute.labels.key ハードコードされた値: zslot
- security_result.detection_fields.key ハードコードされた値: cmd
- security_result.detection_fields.key ハードコードされた値: result
- security_result.severity prod_severityinfo と一致する場合は INFORMATIONAL に設定します(大文字と小文字を区別しません)。

変更点

2024-03-11

機能強化:

  • 新しい形式の syslog ログを解析するための新しい Grok パターンを追加しました。
  • severitysecurity_result.severitysecurity_result.detection_fields にマッピングしました。
  • id_protocolssh にほぼ等しい場合は、network.application_protocolSSH に設定します。
  • 新しい形式の sec_summary を解析するための新しい Grok パターンを追加しました。

2024-01-16

  • 新しく作成されたパーサー。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。