analyzing-web-server-logs-for-intrusion について
Apache と Nginx のアクセスログから侵入の兆候を調べるセキュリティ分析スキルです。ログの解析、検知ルールの適用、GeoIP による情報補完を行い、優先度付きレポートを作成します。
主な機能
- 01Apache・Nginxログの解析
- 02SQLインジェクション・パストラバーサル検知
- 03スキャナー・ブルートフォース検知
- 04GeoIPによる情報補完
- 05優先度付きJSONレポート
活用シーン
- 01Webサーバー侵入の疑いの調査
- 02ログベースの検知ルール作成
- 03スキャナーやブルートフォースのハンティング
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill analyzing-web-server-logs-for-intrusionインストール後、Claude Code で/analyzing-web-server-logs-for-intrusionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
侵入を検出するためのWebサーバーログ分析
使用する場面
- 侵入を検出するためにWebサーバーログを分析する必要があるセキュリティインシデントを調査する場合
- この分野の検出ルールや脅威ハンティング用クエリを作成する場合
- SOC アナリストがこの種の分析に関する体系的な手順を必要とする場合
- 関連する攻撃手法に対するセキュリティ監視の網羅性を検証する場合
前提条件
- セキュリティ運用の概念とツールに関する知識
- 安全に実行できるテスト環境またはラボ環境へのアクセス
- 必要な依存関係をインストールした Python 3.8+
- テスト活動に対する適切な承認
手順
- 依存関係をインストールします:
pip install geoip2 user-agents - Combined Log Format(Apache)または Nginx のデフォルト形式でWebサーバーのアクセスログを収集します。
- 各ログエントリを解析し、IP、タイムスタンプ、メソッド、URI、ステータスコード、レスポンスサイズ、ユーザーエージェント、リファラーを抽出します。
- 検出ルールを適用します:
- SQL インジェクション:
UNION SELECT、OR 1=1、' OR '、16進数エンコーディングのパターン - LFI/パストラバーサル:
../、/etc/passwd、/proc/self、php://filter - XSS:
<script>、javascript:、onerror=、onload= - スキャナーのシグネチャ:nikto、sqlmap、dirbuster、gobuster、wfuzz のユーザーエージェント
- ブルートフォース:5分以内に同一 IP からログインエンドポイントへの POST リクエストが50件を超える場合
- SQL インジェクション:
- GeoIP データで情報を補完し、優先順位を付けた検出結果レポートを生成します。
python scripts/agent.py --log-file /var/log/nginx/access.log --geoip-db GeoLite2-City.mmdb --output web_intrusion_report.json
例
URI 内の SQLi を検出
192.168.1.100 - - [15/Jan/2024:10:30:45 +0000] "GET /products?id=1' UNION SELECT username,password FROM users-- HTTP/1.1" 200 4532
スキャナーのユーザーエージェントを検出
Nikto/2.1.6, sqlmap/1.7, DirBuster-1.0-RC1, gobuster/3.1.0
コメント
Markdown 対応