Akamai DNS ログを収集する
以下でサポートされています。
Google SecOpsSIEM
このパーサーは Akamai DNS ログを処理します。タイムスタンプ、送信元 IP とポート、クエリ、DNS レコードの種類、レスポンスの詳細などのフィールドを抽出します。次に、これらのフィールドを UDM にマッピングし、さまざまな DNS レコードタイプと潜在的な SPF レコードを処理します。パーサーは、プリンシパル情報の有無に基づいて、イベントを NETWORK_DNS
または GENERIC_EVENT
に分類します。
始める前に
- Google SecOps インスタンスがあることを確認します。
- AWS IAM と S3 に対する特権アクセス権があることを確認します。
- Akamai アカウントが Log Delivery Service にアクセスできることを確認します。
Amazon S3 バケットを構成する
- バケットを作成するのユーザーガイドに沿って、Amazon S3 バケットを作成します。
- バケットの名前とリージョンを保存して、後で参照できるようにします。
- IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [Create access key] をクリックします。
- [Download .csv file] をクリックし、アクセスキーとシークレット アクセスキーを保存して、今後の参照に備えます。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで [権限を追加] をクリックします。
- [権限を追加] を選択します。
- [Attach policies directly] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
Akamai でログ配信サービスを構成する
- Akamai Control Center にログインします。
- [データ サービス] の [ログ配信サービス] に移動します。
- [Add New Configuration] をクリックします。
- [構成名] フィールドに、構成の名前を指定します(例: Edge DNS Logs to S3)。
- [ログソース] として [Edge DNS] を選択します。
- [配信先] として [AWS S3] を選択します。
- 以下の詳細を入力します。
- バケット名: S3 バケットの名前。
- リージョン: バケットがホストされている AWS リージョン。
- Access Key ID: IAM ユーザーのアクセスキー ID。
- シークレット アクセスキー: IAM ユーザーのシークレット アクセスキー。
- 省略可: ディレクトリ構造を指定します。(例:
logs/akamai-dns/YYYY/MM/DD/HH/
)。 - 省略可: ファイル名の規則を設定します。(例:
edge-dns-logs-{timestamp}.log
)。
- 含めるログ形式を選択します。
- DNS クエリ
- DNS レスポンス
- [配信頻度] を選択します。
- オプションには、1 時間ごと、1 日ごと、特定のファイルサイズ(100 MB など)に達したときなどがあります。
- 省略可: [フィルタを追加] をクリックして、特定の条件(ホスト名やレコードタイプなど)に基づいて特定のログを含めるか、除外します。
- 構成の詳細を確認し、[保存して有効にする] をクリックします。
Akamai DNS ログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Akamai DNS ログ)。
- [ソースタイプ] として [Amazon S3] を選択します。
- [Log type] として [Akamai DNS] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- リージョン: Amazon S3 バケットが配置されているリージョン。
S3 URI: バケットの URI。
s3://BUCKET_NAME
次のように置き換えます。
- BUCKET_NAME: バケットの名前。
URI is a: ログストリームの構成(単一ファイル | ディレクトリ | サブディレクトリを含むディレクトリ)に応じて
URI_TYPE
を選択します。ソース削除オプション: 必要に応じて削除オプションを選択します。
Access Key ID: s3 バケットにアクセスできるユーザー アクセスキー。
シークレット アクセスキー: s3 バケットにアクセスできるユーザーの秘密鍵。
アセットの名前空間: アセットの名前空間。
取り込みラベル: このフィードのイベントに適用されるラベル。
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
クラス | read_only_udm.network.dns.questions.class |
クラスが「IN」の場合は 1 に設定します。それ以外の場合は、符号なし整数への変換を試みます。 |
column11 | read_only_udm.target.hostname |
ホスト名が含まれ、特定のパターン(「ip4」、「="」、「.net」、「10 mx0」など)が含まれていない場合は、マッピングされます。また、さまざまなパターンに基づいて IP アドレス、メールアドレス、DNS 認証局データを抽出するためにも使用されます。 |
column11 | read_only_udm.target.ip |
SPF レコード内の IP アドレスのパターンと一致する場合は、column11 から抽出されます。 |
column11 | read_only_udm.target.user.email_addresses |
DMARC レコード内のメールアドレスのパターンと一致する場合は、column11 から抽出されます。 |
column11 | read_only_udm.network.dns.authority.data |
さまざまなレコードタイプ内のドメイン名のパターンと一致する場合は、column11 から抽出されます。 |
column11 | read_only_udm.network.dns.response_code |
column11 に「NXDOMAIN」が含まれている場合は 3 に設定します。 |
column2 | read_only_udm.principal.ip |
有効な IP アドレスの場合はマッピングされます。 |
column3 | read_only_udm.principal.port |
有効な整数の場合はマッピングされます。 |
column4 | read_only_udm.network.dns.questions.name |
直接マッピング。 |
column6 | read_only_udm.network.dns.questions.type |
type の値に基づいてマッピングされ、条件ロジックを使用して対応する数値が割り当てられます。 |
column8 | read_only_udm.network.sent_bytes |
符号なし整数に変換され、マッピングされます。 |
read_only_udm.metadata.event_timestamp |
column1 から抽出されたdate フィールドと time フィールドから作成されます。 | |
read_only_udm.event_type |
principal.ip が存在する場合は NETWORK_DNS に設定し、存在しない場合は GENERIC_EVENT に設定します。 |
|
read_only_udm.product_name |
AKAMAI_DNS にハードコードされています。 | |
read_only_udm.vendor_name |
AKAMAI_DNS にハードコードされています。 | |
read_only_udm.dataset |
AKAMAI_DNS にハードコードされています。 | |
read_only_udm.event_subtype |
DNS にハードコードされています。 |
変更点
2024-05-28
- バグ修正: ログ メッセージから二重引用符を削除する
gsub
関数を追加しました。 - マッピング前に IP アドレスとポート値を検証するための Grok パターンを追加しました。