螺子です。本連載記事では、「SIEMのコスト削減とパフォーマンス向上(誤検知防止)の技」と題して、SSBの機能を利用して、SIEMのコストを削減する方法およびSIEMのパフォーマンスを向上(誤検知防止)させる方法について、何回かにわたって投稿しています。
はじめに
セキュリティインシデント対策として、ログを長期間保存すると共にSIEMに転送しているお客様は数多くいるのではないでしょうか?
SIEMへは、様々なログが転送されます。これらのログが正しくSIEMで解釈され解析・分析することは重要です。
例えば、同一ホストからのログが大文字・小文字またはドメイン名の有無によりSIEM上で区別され解析・分析された場合、正しくインシデントを検知できない可能性があります。
あるいは、これらのログを同一ホストのログとして認識させるのに正規表現やその他の方法を利用する為にリソースを付与し、コストが上がってはいないでしょうか?
本記事では、大文字・小文字またはドメイン名の有無により混在するホスト名をSIEMに転送する前にSSBのリライト(`Rewrites`)機能を使用し、正規化してSIEMに転送することでSIEMのパフォーマンス向上と誤検知を防止します。
誤検知の例
ここでは、ログ生成プログラムの違いにより、ログ内のホスト名が大文字・小文字あるいはドメイン名の有無が発生しているものとします。また、ホスト名はログメッセージのホスト部に格納されているものとします。
SIEMが、これらのホスト名を異なるホストとして認識し、誤検知したイメージは以下となります。同一ホストからのログと認識されず、異なるホストからのログとしてカウントされています。
※「SIEMが文字の大文字・小文字あるいはドメインの有無を区別するのか?」のツッコミもあるかと思いますが、ネタ的に区別する前提で話を進めます。^^;
リライト(`Rewrites`)設定
本記事では、ホスト名を小文字およびドメイン部分ナシ(mymachine)に統一してみます。
ここで、ログをSIEMへ転送する設定(パス、ディスティネーションなど)は既に設定済みであるものとします。転送設定については、過去記事「次世代ファイアウォールPalo Alto(Prisma)のログをSOCへ転送!」が参考になりますので、ご参照ください。
ログを転送するパス([Log]>[Paths])のをクリックします。設定ページが展開されます。
リライト設定は、フィルター前(Before message processing)あるいはフィルター後(After message processing)に実行することができます。
ボタンをクリックするとリライト設定フィールドが追加できます。
各フィールドの概略は、以下のとおりです。
- In message part:変更するメッセージ部
- Find:検索する式
- Replace with:置換する式
- Global:すべての現れた値を置き換えます
- Match case:大文字・小文字を区別します
以下のリライト設定を適用します。
以下の設定は、ホスト部のFQDN (Fully Qualified Domain Name)からホスト名のみ抽出し、置換しています。
${1}は正規表現で1番目のグループ化にマッチした値(1番目の括弧がマッチしたテキスト)を格納します。つまり、以下のリライト設定では、正規表現でホスト部のテキストの行頭からコロンが現れるまでのテキスト(ホスト名)を${1}に格納しており。ホスト部を格納したテキストに置換しています。最大255個の正規表現一致(${1}…${255})を使用することができます。
※ここで使用している正規表現は簡易的な式になります。ご使用の際には十分に検証してからお使いください。
以下の設定は、ホスト部の大文字の`A`を小文字の`a`に置換します。すべての文字を置換するのに`Global`をチェックし、大文字・小文字を区別するのに`Match case`をチェックしています。
これを、A~Zまでリライト設定を追加します。[Commit]をクリックして設定を保存します。
※リライト設定が複数存在する場合は、上から順番に処理されます。リライト設定の順序には注意してください。
ホスト名の確認
それでは、リライト(`Rewrites`)後のホスト名を確認してみます。
ホスト名が小文字およびドメイン部分ナシ(mymachine)に統一され、同一ホストからのログと認識されたことがわかります。
おわりに
いかがでしたでしょうか。リライト(`Rewrites`)機能を利用してホスト名を正規化(mymachineに統一)することで、SIEMの誤検知を防ぎ、SIEM上で不要な作業を省くことでパフォーマンスが向上する可能性があることがわかりました。
また、ログをテキスト形式に抽出し、テキストエディタなどで調査するような場合でも、ホスト名を正規化することは有効な手段です。検索時の正規表現式などが単純で済み、属人化を防ぐこともできます。
ログを長期的に保存することは有益です。
標的型攻撃等では、最初の攻撃から認知までに1年近くを要する場合もあり、インシデント発生時に原因究明を適切に行うために、過去に遡った調査も必要にることからログは十分な期間保存しておくことが必要だからです。
また、ログを迅速に検索できないと、サイバー攻撃やその他の脅威への対応に時間がかかる可能性があります。
SSBの機能
本記事で使用したSSBの機能は以下の通りです。
- Rewrites(リライト)
参考資料
`Message throttle`および`Output disk buffer`設定の詳細については、syslog-ng Store Box 7 LTS管理者ガイドの「10.4 メッセージ部の置換、リライトルールによる新しいマクロの作成」あるいは「10.5 ログメッセージのテキスト部の検索と置換」を参照してください。
また、過去記事「リライト機能。ログの整形や正規化!」あるいは「サービス残業させていない?リライトを使用して日時を指定して検索してみる!」を参照してください。本記事で紹介した内容以外のリライト機能の利用方法など確認できます。
メーカーKBには、HEX 形式のメッセージを ASCII 形式に変換する方法についての記事(Convert Messages in HEX to ASCII (4282174))もあります。
「SIEMのコスト削減とパフォーマンス向上(誤検知防止)の技」連載記事リスト
- (技1)「フィルター(Add filter)を使用したログ容量削減!」
- (技2)「カスタムフィルター(Custom filter)を使用したログ容量削減!」
- (技2)「Message throttleを使用した転送レート制限!」
「リモートアクセスログを調査」連載記事リスト
- (その1)「フィルターログスペースを使用して必要なログのみ検索・抽出してみる!」
- (その2)「マルチログスペースを使用してログを集約してみる!」
- (その3)「リモートログスペースを使用して他のSSBに保存したログを検索・抽出してみる!」
- (その4)「サービス残業させていない?リライトを使用して日時を指定して検索してみる!」
- (その5)「サービス残業させていない?業務時間外勤務の実態をグラフで見やすく!」
- (その6)「サービス残業させていない?レポートを日ごと、週ごと、月ごとに定期的に送信!」
- (その7)「不正アクセスされていない?アクセス元IPアドレスから国・都市・ASNの調査!」
- (その8)「不正アクセスされていない?認証エラーの確認はしなくて大丈夫?」
- (その9)「不正アクセスされていない?認証エラーのログを見逃さない!(コンテンツベースアラート)」
- (その10)「不正アクセスされていない?認証エラーのログを見逃さない!(パターンデータベースアラート)」
- (その11)「不正アクセスされていない?認証エラーのログを見逃さない!(メッセージレートアラート)」
- (その12)「不正アクセスされていない?認証エラーログを可視化(平常時の確認)」
「syslog-ng Store Box大活用連載企画」連載記事リスト
- 第1回「syslog-ng Store Boxを知る」
- 第2回「syslog-ng Store Boxを仮想環境にインストールする」
- 第3回「syslog-ng Store Boxで出来ることまとめ」
- 第4回「Wiresharkでsyslogプロトコルパケットを覗く」
- 第5回「Ciscoスイッチ、FortigateファイアウォールログをSSBで受信!よりログを検索しやすく」
- 第6回「RPC APIを使ってみる、自社システムに統合!ログ検索の自動化!」
- 第7回「Active Directoryと連携して、Active Directoryユーザー認証!」
- 第8回「SSBをHA(High Availability)構成で構築してみる!」
- 第9回「ログをバイナリおよびテキスト形式で保存、違いを比較してみる」
- 第10回「ログファイルを共有して、外部ホストからアクセスしてみる!」
- 第11回「フィルターを使用して、必要なログのみ保存してみる!」
- 第12回「SSBの監視とアラート!SNMPマネージャーで監視およびSNMPトラップを受信してみる」
- 第13回「コンテンツベースアラート。重要なログを見逃さない!」
- 第14回「設定変更履歴。コンプライアンスにも対応!」
- 第15回「トラブルシューティングに役立つ機能。問題を迅速に解決!」
- 第16回「ユーザーアクセス制御。アクセス権限とタイプを設定してみる!」
- 第17回「リライト機能。ログの整形や正規化!」
- 第18回「バックアップリストア。システムデータおよびログデータをバックアップ、リストアしてみる!」
- 第19回「アーカイブ/クリーンアップ。ログデータをアーカイブ、クリーンアップしてみる!」
- 第20(最終)回「SSBの有効活用および安定稼働のためのポイントを紹介!」
SSBは、高信頼ログ管理アプライアンスです。様々なデバイスおよびアプリケーションからログメッセージを収集、分類、フィルタリング、正規化して安全に保存可能です。ログデータの信頼性を担保し、膨大なログが発生する高負荷環境、あるいはログロストが許されない企業・組織のログ管理に最適です。
syslog-ng Store Boxについての詳細は、製品紹介ページ・製品ガイドをご参照ください。