Cisco Email Security のログを収集する
このドキュメントでは、Bindplane を使用して Cisco Email Security ログを Google Security Operations に取り込む方法について説明します。
パーサーは、Cisco Email Security Appliance の syslog、Key-Value、JSON 形式のログからフィールドを抽出します。grok または kv を使用してログ メッセージを解析し、これらの値を統合データモデル(UDM)にマッピングします。また、イベントのソースとタイプのデフォルトのメタデータ値も設定します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- Cisco Email Security Appliance ウェブ インターフェースへの特権アクセス
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インストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sc query observiq-otel-collector
サービスは RUNNING と表示されます。
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sudo systemctl status observiq-otel-collector
サービスが [アクティブ(実行中)] と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルを見つける
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yamlの内容全体を次の構成に置き換えます。receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: 'CISCO_EMAIL_SECURITY' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
tcplog: UDP Syslog にはudplogを使用し、TCP Syslog にはtcplogを使用します。0.0.0.0: リッスンする IP アドレス(すべてのインターフェースでリッスンする場合は0.0.0.0)514: リッスンするポート番号(標準の syslog ポート)
エクスポータの構成:
creds_file_path: 取り込み認証ファイルのフルパス:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
YOUR_CUSTOMER_ID: 「顧客 ID を取得する」セクションの顧客 IDendpoint: リージョン エンドポイント URL:- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
log_type: Chronicle に表示されるログタイプ(CISCO_EMAIL_SECURITY)
構成ファイルを保存する
- 編集後、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows: [ファイル>保存] をクリックします。
- Linux:
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。
管理者としてコマンド プロンプトまたは PowerShell を開きます。
net stop observiq-otel-collector && net start observiq-otel-collectorサービス コンソール:
Win+Rキーを押し、「services.msc」と入力して Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Cisco Email Security Appliance で Syslog 転送を構成する
- Cisco Email Security Appliance のウェブ インターフェースにログインします。
- [System Administration] > [Log Subscriptions] に移動します。
- [ログ サブスクリプションを追加] をクリックします。
- 次の構成の詳細を指定します。
- ログタイプ: 転送するログタイプを選択します(統合イベントログ、メールログ、テキスト メールログなど)。
- 名前: わかりやすい名前を入力します(例:
Google-SecOps-Syslog)。 - 取得方法: [Syslog Push] を選択します。
- ホスト名: Bindplane エージェント ホストの IP アドレスを入力します。
- プロトコル: [TCP] を選択します。
- ポート: 「
514」と入力します。 - ファシリティ: LOG_MAIL(または任意のファシリティ)を選択します。
- [送信] をクリックします。
- 転送する追加のログタイプごとに手順 3 ~ 5 を繰り返します。推奨されるログタイプ:
- 統合イベントログ
- テキスト メールログ
- スパム対策ログ
- ウイルス対策ログ
- AMP Engine のログ
- コンテンツ フィルタのログ
- [変更をコミット] をクリックして、構成を適用します。
- Bindplane エージェントのログを確認して、syslog メッセージが送信されていることを確認します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| acl_decision_tag | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「ACL Decision Tag」です。 |
| access_or_decryption_policy_group | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「AccessOrDecryptionPolicyGroup」です。 |
| act | read_only_udm.security_result.action_details | 直接マッピングされます。 |
| authenticated_user | read_only_udm.principal.user.userid | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。 |
| cache_hierarchy_retrieval | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「Cache Hierarchy Retrieval」です。 |
| 暗号 | read_only_udm.network.tls.cipher | 直接マッピングされます。 |
| country | read_only_udm.principal.location.country_or_region | 直接マッピングされます。 |
| data_security_policy_group | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「DataSecurityPolicyGroup」です。 |
| 説明 | read_only_udm.metadata.description | syslog メッセージに直接マッピングされます。CEF メッセージの場合、これはプロダクトの全体的な説明になります。さまざまな grok パターンが、product_event に基づいて特定の説明を抽出します。一部の説明は gsub によって変更され、先頭および末尾のスペースとコロンが削除されます。 |
| deviceDirection | read_only_udm.network.direction | 0 の場合は「INBOUND」にマッピングします。1 の場合は「OUTBOUND」にマッピングします。どの TLS 暗号とプロトコルを直接マッピングし、どの TLS 暗号とプロトコルをラベルとしてマッピングするかを決定するために使用されます。 |
| deviceExternalId | read_only_udm.principal.asset.asset_id | 「Device ID:」としてマッピングされます。 |
| ドメイン | read_only_udm.target.administrative_domain | JSON ログから直接マッピングされます。 |
| domain_age | read_only_udm.security_result.about.labels.value | 直接マッピングされます。キーは「YoungestDomainAge」です。 |
| duser | read_only_udm.target.user.email_addresses、read_only_udm.network.email.to | 「;」が含まれている場合は、複数のメールアドレスに分割し、それぞれを両方の UDM フィールドにマッピングします。それ以外の場合は、有効なメールアドレスであれば、両方の UDM フィールドに直接マッピングします。network_to が空の場合に、その値を設定するためにも使用されます。 |
| dvc | read_only_udm.target.ip | 直接マッピングされます。 |
| entries.collection_time.nanos、entries.collection_time.seconds | read_only_udm.metadata.event_timestamp.nanos、read_only_udm.metadata.event_timestamp.seconds | イベント タイムスタンプの作成に使用されます。 |
| env-from | read_only_udm.additional.fields.value.string_value | 直接マッピングされます。キーは「Env-From」です。 |
| ESAAttachmentDetails | read_only_udm.security_result.about.file.full_path、read_only_udm.security_result.about.file.sha256 | 解析してファイル名と SHA256 ハッシュを抽出します。複数のファイルとハッシュを抽出できます。 |
| ESADCID | read_only_udm.security_result.about.labels.value | 直接マッピングされます。キーは「ESADCID」です。 |
| ESAFriendlyFrom | read_only_udm.principal.user.user_display_name、read_only_udm.network.email.from | 解析されて表示名とメールアドレスが抽出されます。 |
| ESAHeloDomain | read_only_udm.intermediary.administrative_domain | 直接マッピングされます。 |
| ESAHeloIP | read_only_udm.intermediary.ip | 直接マッピングされます。 |
| ESAICID | read_only_udm.security_result.about.labels.value | 直接マッピングされます。キーは「ESAICID」です。 |
| ESAMailFlowPolicy | read_only_udm.security_result.rule_name | 直接マッピングされます。 |
| ESAMID | read_only_udm.security_result.about.labels.value | 直接マッピングされます。キーは「ESAMID」です。 |
| ESAReplyTo | read_only_udm.network.email.reply_to | 有効なメールアドレスの場合、直接マッピングされます。network_to の入力にも使用されます。 |
| ESASDRDomainAge | read_only_udm.security_result.about.labels.value | 直接マッピングされます。キーは「ESASDRDomainAge」です。 |
| ESASenderGroup | read_only_udm.principal.group.group_display_name | 直接マッピングされます。 |
| ESAStatus | read_only_udm.security_result.about.labels.value | 直接マッピングされます。キーは「ESAStatus」です。 |
| ESATLSInCipher | read_only_udm.network.tls.cipher または read_only_udm.security_result.about.labels.value | deviceDirection が「0」の場合、暗号に直接マッピングされます。それ以外の場合は、キー「ESATLSInCipher」のラベルとしてマッピングされます。 |
| ESATLSInProtocol | read_only_udm.network.tls.version または read_only_udm.security_result.about.labels.value | deviceDirection が「0」の場合、TLS バージョンが抽出され、直接マッピングされます。それ以外の場合は、キー「ESATLSInProtocol」のラベルとしてマッピングされます。 |
| ESATLSOutCipher | read_only_udm.network.tls.cipher または read_only_udm.security_result.about.labels.value | deviceDirection が「1」の場合、暗号に直接マッピングされます。それ以外の場合は、キー「ESATLSOutCipher」のラベルとしてマッピングされます。 |
| ESATLSOutProtocol | read_only_udm.network.tls.version または read_only_udm.security_result.about.labels.value | deviceDirection が「1」の場合、TLS バージョンが抽出され、直接マッピングされます。それ以外の場合は、キー「ESATLSOutProtocol」のラベルとしてマッピングされます。 |
| ESAURLDetails | read_only_udm.target.url | 解析されて URL が抽出されます。フィールドは繰り返されないため、最初の URL のみがマッピングされます。 |
| external_dlp_policy_group | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「ExternalDlpPolicyGroup」です。 |
| ExternalMsgID | read_only_udm.security_result.about.labels.value | 単一引用符と山かっこを削除した後、直接マッピングされます。キーは「ExternalMsgID」です。 |
| ソース: | read_only_udm.network.email.from | 有効なメールアドレスの場合、直接マッピングされます。network_from の入力にも使用されます。 |
| host.hostname | read_only_udm.principal.hostname または read_only_udm.intermediary.hostname | host フィールドが無効な場合は、プリンシパル ホスト名にマッピングされます。また、仲介ホスト名にもマッピングされます。 |
| host.ip | read_only_udm.principal.ip または read_only_udm.intermediary.ip | JSON ログで ip フィールドが設定されていない場合、プリンシパル IP にマッピングされます。仲介 IP にもマッピングされます。 |
| hostname | read_only_udm.target.hostname | 直接マッピングされます。 |
| http_method | read_only_udm.network.http.method | 直接マッピングされます。 |
| http_response_code | read_only_udm.network.http.response_code | 直接マッピングされ、整数に変換されます。 |
| identity_policy_group | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「IdentityPolicyGroup」です。 |
| ip | read_only_udm.principal.ip | 直接マッピングされます。source_ip が存在する場合はその値で上書きされます。 |
| kv_msg | 各種 | kv フィルタを使用して解析されます。前処理でキーの前のスペースが「#」に置き換えられ、csLabel の値が入れ替えられます。 |
| log_type | read_only_udm.metadata.log_type | 「CISCO_EMAIL_SECURITY」にハードコードされています。 |
| loglevel | read_only_udm.security_result.severity、read_only_udm.security_result.action | 重大度とアクションの判断に使用されます。"Info"、""、"Debug"、"Trace" は「INFORMATIONAL」と「ALLOW」にマッピングされます。「Warning」は「MEDIUM」と「ALLOW」にマッピングされます。「High」は「HIGH」と「BLOCK」にマッピングされます。「Critical」と「Alert」が「CRITICAL」、「BLOCK」にマッピングされます。 |
| mail_id | read_only_udm.network.email.mail_id | JSON ログから直接マッピングされます。 |
| mailto | read_only_udm.target.user.email_addresses、read_only_udm.network.email.to | 有効なメールアドレスの場合は、両方の UDM フィールドに直接マッピングされます。 |
| MailPolicy | read_only_udm.security_result.about.labels.value | 直接マッピングされます。キーは「MailPolicy」です。 |
| メッセージ | 各種 | 可能であれば JSON として解析されます。それ以外の場合は、Syslog メッセージとして処理されます。 |
| message_id | read_only_udm.network.email.mail_id | 直接マッピングされます。network_data の入力にも使用されます。 |
| msg | read_only_udm.network.email.subject | UTF-8 デコード後、キャリッジ リターン、改行、余分な引用符を削除してから直接マッピングされます。network_data の入力にも使用されます。 |
| msg1 | 各種 | kv フィルタを使用して解析されます。Hostname、helo、env-from、reply-to の抽出に使用されます。 |
| outbound_malware_scanning_policy_group | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「DataSecurityPolicyGroup」です。 |
| ポート | read_only_udm.target.port | 直接マッピングされ、整数に変換されます。 |
| principalMail | read_only_udm.principal.user.email_addresses | 直接マッピングされます。 |
| principalUrl | read_only_udm.principal.url | 直接マッピングされます。 |
| product_event | read_only_udm.metadata.product_event_type | 直接マッピングされます。適用する grok パターンを決定するために使用されます。先頭の「%」文字は削除されます。「amp」は「SIEM_AMPenginelogs」に置き換えられます。 |
| product_version | read_only_udm.metadata.product_version | 直接マッピングされます。 |
| プロトコル | read_only_udm.network.tls.version | 直接マッピングされます。 |
| received_bytes | read_only_udm.network.received_bytes | 直接マッピングされ、符号なし整数に変換されます。 |
| 返信先 | read_only_udm.additional.fields.value.string_value | 直接マッピングされます。キーは「Reply-To」です。 |
| 評判 | read_only_udm.security_result.confidence_details | 直接マッピングされます。 |
| request_method_uri | read_only_udm.target.url | 直接マッピングされます。 |
| result_code | read_only_udm.security_result.detection_fields.value | 直接マッピングされます。キーは「Result Code」です。 |
| routing_policy_group | read_only_udm.security_result.detection_fields.value | 空白、「-」、「NONE」のいずれでもない場合は、直接マッピングされます。キーは「RoutingPolicyGroup」です。 |
| ルール | read_only_udm.security_result.detection_fields.value | 直接マッピングされます。キーは「Matched Condition」です。 |
| SDRThreatCategory | read_only_udm.security_result.threat_name | 空白でも「N/A」でもない場合、直接マッピングされます。 |
| SenderCountry | read_only_udm.principal.location.country_or_region | 直接マッピングされます。 |
| senderGroup | read_only_udm.principal.group.group_display_name | 直接マッピングされます。 |
| security_description | read_only_udm.security_result.description | 直接マッピングされます。 |
| security_email | read_only_udm.security_result.about.email または read_only_udm.principal.hostname | 有効なメールアドレスの場合、メールにマッピングされます。それ以外の場合は、grok で抽出した後にホスト名にマッピングされます。 |
| ソース | read_only_udm.network.ip_protocol | 「tcp」が含まれている場合は、「TCP」にマッピングします。 |
| sourceAddress | read_only_udm.principal.ip | 直接マッピングされます。 |
| sourceHostName | read_only_udm.principal.administrative_domain | 「unknown」でない場合、直接マッピングされます。 |
| source_ip | read_only_udm.principal.ip | 直接マッピングされます。存在する場合は ip を上書きします。 |
| 件名 | read_only_udm.network.email.subject | 末尾のピリオドを削除した後、直接マッピングされます。network_data の入力にも使用されます。 |
| suser | read_only_udm.principal.user.email_addresses、read_only_udm.network.email.bounce_address | 有効なメールアドレスの場合は、両方の UDM フィールドに直接マッピングされます。 |
| target_ip | read_only_udm.target.ip | 直接マッピングされます。 |
| ~ | read_only_udm.network.email.to | 有効なメールアドレスの場合、直接マッピングされます。network_to の入力にも使用されます。 |
| total_bytes | read_only_udm.network.sent_bytes | 直接マッピングされ、符号なし整数に変換されます。 |
| trackerHeader | read_only_udm.additional.fields.value.string_value | 直接マッピングされます。キーは「Tracker Header」です。 |
| ts、ts1、year | read_only_udm.metadata.event_timestamp.seconds | イベント タイムスタンプの作成に使用されます。ts1 が存在する場合、ts1 と year が結合されます。年あり、年なしのさまざまな形式に対応しています。年が指定されていない場合は、現在の年が使用されます。「Cisco」にハードコードされます。「Cisco Email Security」にハードコードされます。デフォルトは「ALLOW」です。loglevel または説明に基づいて「BLOCK」に設定されます。application_protocol が存在する場合、デフォルトで「INBOUND」になります。CEF メッセージについては deviceDirection に基づいて設定されます。network_from、network_to、target_ip、ip、description、event_type、principal_host、Hostname、user_id、sourceAddress などのフィールドの組み合わせに基づいて決定されます。デフォルトで「GENERIC_EVENT」になります。application_protocol が「SMTP」または「smtp」の場合、または target_ip と ip が存在する場合は「SMTP」に設定されます。sshd ログに login_status と user_id が存在する場合は、「AUTHTYPE_UNSPECIFIED」に設定されます。loglevel が「Critical」または「Alert」の場合は true に設定されます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。