OCI LoggingからLogging AnalyticsにWindowsログを送信する方法 (2022/08/01)
OCI LoggingからLogging AnalyticsにWindowsログを送信する方法 (2022/08/01)
https://learnoci.cloud/how-to-send-windows-logs-to-logging-analytics-from-oci-logging-2c2a209c180a
前回のブログでは、Logging サービスを使用してOCIでカスタムログを有効にする方法を紹介しました。今回のブログでは、これらのカスタムログをOCI Logging Analyticsに送信し、Windows Event IDを使用してThreat Huntingの準備をする方法を紹介します。
カスタムログを有効にした後、サービスコネクタハブを作成し、ログをLogging Analyticsに送信する必要があります。
メニュー Observability & Managebility →Logging → Service Connectors → Create Service Connector
ログソースを設定
Logging Analytics対象ロググループを設定
また、Createを押して、Logging AnalyticsがOCI Loggingログを使用するための適切なAuthorizationを持つようにします。
ロググループが作成されていない場合は、メニュー Observability&Management →Logging Analytics →Administrationから作成する必要があります。
[リソース]の[ロググループ]をクリックし、[ロググループの作成]を押します。
これらの手順の後、ログはLogging AnalyticsにOCI Unified Schema Logsとして表示されます。
[OCI Unified Schema Logs]をクリックし、[Visualization]を[Records with Histogram]に変更します。
カスタムログはOSが異なる場合があるので、ログをクリックしてExclude those instances from this searchで興味のないものを削除することができます。私はインスタンス名を知っているので、除外するために提出されたOCI Resource名を使用します。
また、以下のクエリを使用して、独自のRosource名を使用することも可能です。
‘Log Source’ = ‘OCI Unified Schema Logs’ and ‘OCI Resource Name’ != SecurityOnion | timestats count as logrecords by ‘Log Source’ | sort -logrecords
ご覧のように、Windowsインスタンスを指すログだけを見ることができるようになりました。
次に、Original Log Contentの右側にある3つの点をクリックし、View Original Log Contentを選択します ...
Windowsログフィールドを自動的にマッピングする新しいParserと新しいSourceを作成するために必要なので、Copy to Clipboardを押してください。
{
“data”: {
“channel”: “system”,
“computer_name”: “JDEWindowsServe”,
“description”: “The Network Setup Service service entered the stopped state.\r\n”,
“event_category”: “0”,
“event_id”: “7036”,
“event_type”: “information”,
“record_number”: “23547”,
“source_name”: “Service Control Manager”,
“string_inserts”: [
“Network Setup Service”,
“stopped”
],
“time_generated”: “2022–08–01 11:10:30 +0000”,
“time_written”: “2022–08–01 11:10:30 +0000”,
“user”: “”
},
“id”: “0b9655c4-c312–4a3c-99b5-cc0e144f72ac”,
“oracle”: {
“compartmentid”: “ocid1.compartment.oc1..aaaaaaaarsk54oz6cd4kd5pgnrgqcxiyd2ldo2n5zx6psna2hyln6vtzkgka”,
“ingestedtime”: “2022–08–01T11:10:42.831Z”,
“instanceid”: “ocid1.instance.oc1.eu-frankfurt-1.antheljtgysxq7acaqkjsps7irhgqox2xr6mssxkweda2jvs7xtsas5s37la”,
“loggroupid”: “ocid1.loggroup.oc1.eu-frankfurt-1.amaaaaaagysxq7aaz52drpqvc45q6aukcg6pxgldm4r52pzbs25uja3i374a”,
“logid”: “ocid1.log.oc1.eu-frankfurt-1.amaaaaaagysxq7aaqa4q37sv6d3yyglgmokuiest56pdoiyh3wvwvzcb2ufq”,
“tenantid”: “ocid1.tenancy.oc1..aaaaaaaa3gdlbwwoteivc2lkjvkmmr4ktwjltyfhsbrsuargurrubozgbq6a”
},
“source”: “JDEWindowsServer”,
“specversion”: “1.0”,
“subject”: “”,
“time”: “2022–08–01T11:10:33.218Z”,
“type”: “com.oraclecloud.logging.custom.SecurityAndSystemLogs”
}
なぜこのようにしたかというと、Loggingからログをコピーすると、「/」が複数追加されてしまい、適切なパーサーが作れなくなるからです。
“{\”data\”:{\”channel\”:\”system\”,\”computer_name\”:\”JDEWindowsServe\”,\”description\”:\”The Google Update Service (gupdate) service entered the stopped state.\\r\\n\”,\”event_category\”:\”0\”,\”event_id\”:\”7036\”,\”event_type\”:\”information\”,\”record_number\”:\”23569\”,\”source_name\”:\”Service Control Manager\”,\”string_inserts\”:[\”Google Update Service (gupdate)\”,\”stopped\”],\”time_generated\”:\”2022–08–01 12:27:24 +0000\”,\”time_written\”:\”2022–08–01 12:27:24 +0000\”,\”user\”:\”\”},\”id\”:\”8cace3b3–30fb-4a47–91a4-d9f10749ec5b\”,\”oracle\”:{\”compartmentid\”:\”ocid1.compartment.oc1..aaaaaaaarsk54oz6cd4kd5pgnrgqcxiyd2ldo2n5zx6psna2hyln6vtzkgka\”,\”ingestedtime\”:\”2022–08–01T12:30:38.767Z\”,\”instanceid\”:\”ocid1.instance.oc1.eu-frankfurt-1.antheljtgysxq7acaqkjsps7irhgqox2xr6mssxkweda2jvs7xtsas5s37la\”,\”loggroupid\”:\”ocid1.loggroup.oc1.eu-frankfurt-1.amaaaaaagysxq7aaz52drpqvc45q6aukcg6pxgldm4r52pzbs25uja3i374a\”,\”logid\”:\”ocid1.log.oc1.eu-frankfurt-1.amaaaaaagysxq7aaqa4q37sv6d3yyglgmokuiest56pdoiyh3wvwvzcb2ufq\”,\”tenantid\”:\”ocid1.tenancy.oc1..aaaaaaaa3gdlbwwoteivc2lkjvkmmr4ktwjltyfhsbrsuargurrubozgbq6a\”},\”source\”:\”JDEWindowsServer\”,\”specversion\”:\”1.0\”,\”subject\”:\”\”,\”time\”:\”2022–08–01T12:27:27.228Z\”,\”type\”:\”com.oraclecloud.logging.custom.SecurityAndSystemLogs\”}”
JSON形式のログの最後には、カスタムエージェント設定に基づいたログタイプが表示されます。
ここから先は、ログエクスプローラーから、管理→パーサーと進みます。
そして、Create Parser →JSON Typeを押してください。
Parserに名前を付け、Example Log ContentにLA Log ExplorerからコピーしたLogを貼り付けます。
適切なJSONログがあれば、すべてのフィールドが入力されます。既存のフィールド名へのマッピングが必要ですが、現在利用可能であれば、新しいフィールドを作成することもできます。
必要なフィールドをすべてマッピングしたら、Parser Testを押して、すべてのマッピングに問題がないことを確認できます。
マッピング時にデータ型が不一致の場合、不一致のフィールドの近くにエクスクラメーションマークが表示されます。
この時点での最後のステップは、Create Parserを押すことです。
次のステップでは、ソースを作成します。この名前は、ログのイベントタイプと一致させます。
リソースメニューの左側にある[ソース]をクリックし、[ソースの作成]をクリックします。
ソースに名前をつけます。
com.oraclecloud.logging.custom.SecurityAndSystemLogs
ソースの種類を選択します。
ファイル
エンティティタイプを選択します。
ホスト(Linux)
特定のParserを選択します。
WindowsLogs(前回作成したParserを選択します。)
[ソースの作成]を押します。
5分ほど待ち、Windowsインスタンスでいくつかのアクションを生成し、新しいログタイプの[Logging Analytics Log Source]をチェックします。
Visualization ModeをRecords with Histogramに変更すると、パーサーで先にマッピングしたEventを別のレポートに使用できることがわかります。
イベント ID に基づいて新しい可視化を作成し、セキュリティダッシュボードに追加してみます。
Visualisations → tree map を選択した後、以下の Query を実行します。
‘Log Source’ = com.oraclecloud.logging.custom.SecurityAndSystemLogs | fields ‘Event ID’ | stats count as logrecords by ‘Event ID’ | sort -logrecords
ここで、検索結果を保存するために、「アクション」→「名前を付けて保存」をクリックします。
[検索]に名前を付けて、[ダッシュボードに追加]を選択します。
おめでとうございます。セキュリティダッシュボードに新しいビューが追加されました。
次回のブログでは、WindowsイベントIDを使用して、Windowsサーバーの不審な行動を検出する方法を紹介します。
コメント
コメントを投稿