SplunkでFirewallログを収集しているケースを想定して、ログ中に含まれるIPアドレスをVT(VirusTotal)で解析するための「VT4Splunk」の連携方法をまとめます。セキュリティ対策やインシデント対応の際に、Firewallのログ内に出現するIPアドレスが悪意あるものかどうかを迅速に確認できるようになるので、脅威インテリジェンスの活用の一環として取り組んでみます。
ここでは、サンプルとしてFireWallのDeny Actionのログデータを取り扱い、IPアドレスのレピュテーションを出力することを試みます。
Jan 15 10:48:00 192.0.2.1 date=2025-01-15 time=10:48:00 type=traffic subtype=local level=notice vd=root srcip=203.0.113.1 srcport=28078 srcintf="wan" dstip=192.0.2.2 dstport=9468 sessionid=94504 action=deny service="9468/tcp" proto=6
※本記事で示す手順は、筆者が定めた最低限の可動要件を満たす設定と動作確認のみを目的として、自身の備忘用のレベルで記しています。運用性やセキュリティ上の細かな考慮等は省いている場合があります。もし各手順を試される場合には自己責任でお願い致します。
VTのアクセスキー取得
Splunk上でVTと連携するためには(Appの VT4Splunk を使う)には、VirusTotalで取得したAPIキーが必要です。個人利用の用途でも、VirusTotalに登録し無料プランでAPIキーを取得できます(リクエスト数上限などの制限あり)。有料アカウントの場合はより大きなクエリ数や高度な機能が利用できます。
※ この記事では無料プランで話を進めます。
VTでアカウント登録出来たら、API Key を取得しておきます。
VT4Splunkの導入
VT4Splunkは、Splunk上からVirusTotalのAPIを呼び出すことで、IPアドレス等に紐づいて、その調査対象の評判を自動的に照会・スコアリングを取得できるアドオン(App)です。VirusTotalが提供している豊富なマルウェア情報・脅威情報のデータベースを活用できるため、ログから素早く潜在的な悪意あるIPアドレスを発見・対処できる可能性が高まります。
導入は、Appの画面から"VT4Splunk"と検索して、そのままインストールします。
※ Splunkの再起動を促されるので、そのまま再起動もしてしまいます。
インストール後は、事前に取得しおいたアクセスキーを、インストールした VT4Splunk の設定画面から入力し、[保存]を押下します。
動作確認
実際に、冒頭で示したサンプルログに対して、IPレピュテーション情報を取得・連携させてみます。元のログデータに含まれるIPアドレス情報に紐づいて、"VT_xxx"で出力されているカラムの情報が、VTから取得した情報になります。
| makeresults
| eval targetip="<ログ収集に使っているFirewallなどのIP>"
| vt4splunk ip=targetip
index=main "dstip=<ログ収集に使っているFirewallなどのIP>" "action=deny"
| stats count by srcip
| sort - count
| head 5
| vt4splunk ip=srcip
| table srcip, count, vt_detections,vt_reputation,vt_country,vt_asn,vt_as_owner,vt_info
まとめ
VT4Splunk を用いて、ログデータ中のIPアドレスの値と紐づけて、そのレピュテーション情報を入手する方法をご紹介しました。
- VirusTotalのライセンスの入手
- Splunk上での VT4Splunk の設定
- Splunk上での IPレピュテーション情報 の利用
ログデータ単体では評価が難しいIPアドレス情報をより有効に活用していくためにも、ぜひ VTなどで IPレピュテーション情報 の活用をご検討ください。