Kiteworks(旧 Accellion)のログを収集する
このドキュメントでは、Bindplane を使用して Kiteworks(旧 Accellion)ログを Google Security Operations に取り込む方法について説明します。パーサーは、SYSLOG メッセージから audit_message フィールドを抽出します。JSON 形式のメッセージ(grok を使用して textPayload を抽出)と書式なしテキスト メッセージの両方を処理します。次に、auditd.include で定義された共通の変換セットを適用し、SYSCALL タイプのイベントに固有のマッピングを追加して、抽出されたデータで UDM フィールドを拡充します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
systemdを使用する Windows 2012 SP2 以降または Linux ホスト- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- Kiteworks(旧 Accellion)管理コンソールまたはアプライアンスへの特権アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。
Windows のインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルにアクセスします。
config.yamlファイルを見つけます。通常、Linux では/etc/bindplane-agent/ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano、vi、メモ帳など)を使用してファイルを開きます。
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_file_path: '/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 log_type: 'ACCELLION' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<CUSTOMER_ID>は、実際の顧客 ID に置き換えます。/path/to/ingestion-authentication-file.jsonの値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agentWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Kiteworks(旧称 Accellion)で Syslog 転送を構成する
- 管理者として Kiteworks Management Console にログインします。
- 次のいずれかのパスを使用して、[ロケーション] ページに移動します。
- 以前の UI: [システム> 位置情報] に移動します。
- 新しい UI: [システム設定> ロケーション] に移動します。
- リストからターゲットの場所を選択します。
- [外部サービス] セクションに移動します。
- [Syslog Settings] パネルを開きます。
- [追加] をクリックして、新しい syslog サーバー構成を作成します。
- 次の構成の詳細を入力します。
- Syslog サーバー: Bindplane エージェントの IP アドレスを入力します。
- プロトコル: 実際の Bindplane エージェントの構成に応じて、[UDP] または [TCP] を選択します。
- ポート: Bindplane エージェントのポート番号(例:
514)を入力します。 - 形式: [JSON 形式] を選択します(構造化された解析におすすめ)。
- タイムゾーン: システム全体で一貫性を保つため、UTC タイムゾーンを選択します。
- [保存] をクリックして、構成を適用します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
acct |
principal.user.user_display_name |
未加工ログの msg フィールドの acct の値。 |
acct |
target.user.user_display_name |
未加工ログの msg フィールドの acct の値。 |
addr |
principal.ip |
未加工ログの msg フィールドの addr の値。 |
a0 |
security_result.about.labels.value |
未加工ログの msg フィールドの a0 の値。対応する key は「a0」です。 |
a1 |
security_result.about.labels.value |
未加工ログの msg フィールドの a1 の値。対応する key は「a1」です。 |
a2 |
security_result.about.labels.value |
未加工ログの msg フィールドの a2 の値。対応する key は「a2」です。 |
a3 |
security_result.about.labels.value |
未加工ログの msg フィールドの a3 の値。対応する key は「a3」です。 |
arch |
security_result.about.platform_version |
未加工ログの msg フィールドの arch の値。type_name SYSCALL にのみ適用されます。 |
auid |
about.user.userid |
未加工ログの msg フィールドの auid の値。 |
auid |
security_result.detection_fields.value |
未加工ログの msg フィールドの auid の値。ここで、対応する key は「auid」です。 |
comm |
principal.application |
未加工ログの msg フィールドの comm の値。 |
cmd |
principal.process.command_line |
未加工ログの msg フィールドの cmd の値。 |
cwd |
security_result.detection_fields.value |
未加工ログの msg フィールドの cwd の値。対応する key は「cwd」です。 |
cwd |
target.process.file.full_path |
未加工ログの msg フィールドの cwd の値。 |
exe |
principal.process.file.full_path |
未加工ログの msg フィールドの exe の値。 |
exe |
target.process.file.full_path |
未加工ログの msg フィールドの exe の値。 |
exit |
security_result.about.labels.value |
未加工ログの msg フィールドの exit の値。対応する key は「終了コード」です。 |
hostname |
principal.hostname |
未加工ログの msg フィールドの hostname の値。未加工ログの msg フィールドからハードコードされた値「zing-h2」。 |
key |
security_result.about.registry.registry_key |
未加工ログの msg フィールドの key の値。type_name SYSCALL にのみ適用されます。 |
log_type |
metadata.log_type |
未加工ログの log_type の値。 |
msg |
security_result.action_details |
未加工ログの msg フィールドの res= の後の値。 |
msg |
security_result.summary |
未加工ログの msg フィールドのフィールドの組み合わせ。たとえば、「session_open success」や「setcred success」などです。未加工ログの msg フィールドの audit セクションから解析されます。未加工ログの type フィールドに基づいてマッピングされます。たとえば、「USER_START」は「USER_LOGIN」にマッピングされ、「CRED_DISP」は「USER_LOGOUT」にマッピングされ、「CRED_ACQ」は「USER_LOGIN」にマッピングされ、「USER_END」は「USER_LOGOUT」にマッピングされ、「CRED_REFR」は「USER_LOGIN」にマッピングされ、「USER_CMD」は「USER_LOGIN」にマッピングされ、「CWD」は「STATUS_UPDATE」にマッピングされ、「PROCTITLE」は「STATUS_UPDATE」にマッピングされ、「USER_ACCT」は「USER_UNCATEGORIZED」にマッピングされ、「SYSCALL」は「USER_UNCATEGORIZED」にマッピングされます。未加工ログの msg フィールドの type フィールドの値。未加工ログの msg フィールドの audit セクションから抽出されます。 |
node |
principal.hostname |
未加工ログの msg フィールドの node の値。 |
pid |
principal.process.pid |
未加工ログの msg フィールドの pid の値。 |
ppid |
principal.process.parent_process.pid |
未加工ログの msg フィールドの ppid の値。 |
proctitle |
target.process.file.full_path |
未加工ログの msg フィールドから取得した proctitle のデコードされた 16 進値。「LINUX」にハードコードされています。未加工ログの msg フィールドに res=success が存在する場合は、「ALLOW」に設定されます。 |
ses |
network.session_id |
未加工ログの msg フィールドの ses の値。 |
syscall |
security_result.about.labels.value |
未加工ログの msg フィールドの syscall の値。対応する key は「Syscall」です。 |
success |
security_result.summary |
他のフィールドと組み合わせて概要を形成します。SYSCALL イベントの場合、ロジックは次のようになります。success=yes の場合は「yes, The System call succeeded」、それ以外の場合は「no, The System call failed」。 |
terminal |
principal.terminal |
未加工ログの msg フィールドの terminal の値。 |
timestamp |
timestamp |
未加工ログエントリの timestamp の値。 |
tty |
principal.terminal |
未加工ログの msg フィールドの tty の値。 |
type |
metadata.product_event_type |
未加工ログの msg フィールドの type の値。 |
uid |
about.user.userid |
未加工ログの msg フィールドの uid の値。type_name SYSCALL にのみ適用されます。 |
uid |
target.user.userid |
未加工ログの msg フィールドの uid の値。type が「USER_ACCT」の場合は、「SETTING」に設定します。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。