Snort は snort.logs.xxxxxxx でアラート ファイル DATA を見つけます

Snort は snort.logs.xxxxxxx でアラート ファイル DATA を見つけます

私は、セキュリティ チームから /var/log/snort フォルダーの下の pcap ファイルを提供するよう求められているタスクに取り組んでいます。セキュリティ チームはアラート ファイルからソース IPADDRESS を取得しており、そのソース IP アドレスの pcap ファイル (つまり snort.log.xxxxxxx) をさらに分析する必要があります。

アラート ファイルと snort.log.xxxxx ファイルは同じフォルダーにあります。分析のために正確な snort.log.xxxxx ファイルを指定するにはどうすればよいでしょうか。これを行うためのコマンドやテクニックを教えてください。私はこの分野に非常に不慣れで、snort がログをダンプしている Linux マシン (Centos 7) を扱っています。

答え1

おっしゃるとおり、デフォルトでは、Snort は次の 2 つの方法でログを記録します。

  1. alertファイル - テキスト形式のアラートメタデータが含まれます
  2. snort.log.##########- アラートをトリガーしたパケットの PCAP

これを実行する方法(基本的な Linux bash コマンドのみを使用)は次のようになります。

単一アラートアプローチ

アラートエントリを検索するには:

ファイルを検索しますalert。 を使用して、IP アドレスまたはアラート名で検索できますgrep

grep "PATTERN" /var/log/snort/alert

典型的なログエントリ行は次のようになります。

01/04-03:28:11.959559  [**] [1:1000001:1] Signature_Name [**] [Classification: Attempted User Privilege Gain] [Priority: 1] {TCP} 192.168.1.1:80 -> 192.168.1.128:39590

対応する PCAP ファイルを見つけるには:

次に、どのファイルが書き込まれたかを確認するには、長いディレクトリ リスト ( ls -l) で変更された時刻を確認するか、次のコマンドを使用してタイムスタンプ (年を追加し、日付と時刻の間にスペースを入れることを忘れないでください) をエポック タイムに変換します。

date "+%s" -d "01/04/2018 03:28:11.959559"

出力:

1515054491

次に、 というファイルを探しますsnort.log.1515054491。そこには PCAP データが含まれているはずです。

1つのIPアドレスに対して複数のログが必要な場合

これは強力なアプローチです。両方のファイルから 1 つの IP アドレスにのみ関連するエントリが必要な場合は、次のようにします。

アラートファイルのエントリ

IP アドレスを Grep で検索し、出力を別のファイルに書き込みます。

grep "192.168.1.1" /var/log/snort > /tmp/alerts_192.168.1.1.txt

これにより、IP アドレスが表示される行のみがフィルタリングされ、セキュリティ チームに提供できる新しいファイルにリダイレクトされるようになります。

PCAP ファイル

Snort ログ ディレクトリは非常に大きい場合があり、多数のファイルを反復処理するとシステムに負担がかかる可能性があるため (特にトラフィック量が非常に多いセンサーの場合)、これを行う際には注意が必要です。探しているデータのおおよその時間枠にはファイル マスクを使用することをお勧めします。この時間枠はエポック形式である必要があることに注意してください。

チームが現在から 1 時間前 (3600 秒) までのすべてのデータを必要としているとします。エポック タイムスタンプは 1515054491 です。そこから 3600 を引くと 1515050891 になります。

1515050891 - Start
1515054491 - End
151505???? - File mask (close enough)

次に、for ループを作成して、それらのファイルすべてを反復処理し、tcpdump コマンドを実行して、問題の IP アドレスのみをフィルタリングします。

tcpdump -r infile -w outfile "BPF"

オプション:

  • -r はファイルからの読み取り用です(インターフェースからライブキャプチャを開始するのとは対照的です)
  • -w はファイルに出力を書き込む
  • 「BPF」 - Berkley パケット フィルター (この場合、その IP を持つパケットを指定するには「ホスト 192.168.1.1」を使用します。)

さて、 for ループ:

cd /var/log/snort
for file in snort.log.151505????
do
    tcpdump -r $file -w /tmp/$file "host 192.168.1.1"
done

これで、フォルダー内のすべてのアラート ファイルのコピーが作成されます/tmpが、そのコピーには特定の IP アドレスに関連するデータのみが含まれます。インストールしている場合はmergecap、次の手順に従って、これらすべてを 1 つの PCAP ファイルにまとめることをお勧めします。

mergecap -w /tmp/snort_log_192.168.1.1.pcap /tmp/snort.log.*

次の 2 つのファイルがあることを知っておく必要があります/tmp

  • アラート_192.168.1.1.txt
  • ログファイル

次に、それらのファイルをセキュリティ チームに提供します。

関連情報