siem について
siemは、セキュリティイベントの監視とインシデント対応を支援するブルーチーム向けスキルです。ログの取り込みと相関分析、SigmaまたはYARAルールの適用、アラート生成、Kibanaなどによる可視化に対応します。
主な機能
- 01セキュリティログの取り込みと解析
- 02SigmaまたはYARA検知ルールの適用
- 03アラートの生成とエスカレーション
- 04複数ソース間のイベント相関
- 05Kibanaによる結果の可視化
活用シーン
- 01不審なネットワーク活動の調査
- 02イベントログからログイン失敗を検知
- 03高重大度イベントへのアラート
- 04インシデント対応での活動相関
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill siemインストール後、Claude Code で/siemを入力して読み込まれたか確認します。
詳細
siem
目的
このスキルは、セキュリティイベントとログをリアルタイムで監視・分析し、脅威を検知してインシデント対応を可能にします。ブルーチームの運用に重点を置いています。
使用する場面
ネットワークログの異常を調査するとき、侵害の可能性に対応するとき、システム間のイベントを相関分析するときなど、セキュリティを継続的に監視する場面でこのスキルを使用します。企業ネットワークのようにログ量が多い環境では、手動で確認するよりもアラートを優先するために活用します。
主な機能
- syslog、Windows Event Logs、クラウド API などのソースからログをリアルタイムで取り込み、解析します。
- カスタムシグネチャ向けに、Sigma または YARA 形式に基づく脅威検知ルールを使用します。
- メール、Slack、Webhook との連携を通じてアラートを生成し、エスカレーションします。
- ログインの失敗後にデータが外部に持ち出される、といったパターンを特定するためにイベントを相関分析します。
- Kibana などのツールを使ってダッシュボードを可視化し、イベント頻度や主な脅威などの指標をすばやく把握します。
使用パターン
監視を設定するには、まずデータソースを構成してから、クエリまたはルールを定義します。継続的に使用する場合は、スクリプトで定期的にクエリを実行するか、API 呼び出しを介して連携します。パターン 1:特定のイベントについてログをクエリします。パターン 2:ルールチェックをスケジュールしてアラートを自動化します。認証には、操作の前に $SIEM_API_KEY を設定するなど、常に環境変数を使用してください。
主なコマンド/API
すばやく操作するには SIEM CLI を、プログラムからアクセスするには REST API を使用します。すべてのリクエストで、認証に $SIEM_API_KEY 環境変数が必要です。
-
CLI コマンド:フィルターを指定してログをクエリします。例:
siem query --index security-logs --filter 'event_type=login AND status=failure' --limit 100 --output json -
CLI コマンド:アラートルールを作成します。例:
siem rule add --name suspicious-activity --query 'source_ip=unknown AND action=access' --threshold 5 --action webhook --url https://webhook.example.com -
API エンドポイント:イベントを送信します(POST /api/v1/events)。コード例:
import requests; import os headers = {'Authorization': f'Bearer {os.environ["SIEM_API_KEY"]}'} response = requests.post('https://api.siem.com/api/v1/events', headers=headers, json={'event': 'login_failure', 'details': {'ip': '192.168.1.1'}}) -
API エンドポイント:イベントをクエリします(GET /api/v1/query)。コード例:
import requests; import os params = {'filter': 'event_type=access', 'time_range': 'last_hour'} response = requests.get('https://api.siem.com/api/v1/query', headers={'Authorization': f'Bearer {os.environ["SIEM_API_KEY"]}'}, params=params) print(response.json())
設定形式:ルールには JSON を使用します。例:{"name": "rule1", "query": "event_type=login", "threshold": 10}。ファイルに保存し、siem config load --file rules.json で読み込みます。
連携に関する注意
Webhook または API ポーリングを設定して、SIEM をファイアウォールや IDS などのツールと連携させます。認証には、常に環境変数の $SIEM_API_KEY を使用します。例:export SIEM_API_KEY=your_key。他のブルーチーム向けツールと連携するには、SIEM の Webhook エンドポイント(例:POST /api/v1/webhook)を使用して、受信イベントを処理します。データを転送するには、次のような設定ファイルでエクスポーターを設定します:
[exporter]
type = "splunk"
url = "https://splunk.example.com"
auth_key = "$SIEM_API_KEY"
テストイベントを送信して連携をテストします:siem test-integration --type splunk --payload '{"event": "test"}'。
エラー処理
よくあるエラーには、$SIEM_API_KEY が設定されていないことによる認証失敗(例:401 Unauthorized)があります。環境変数を確認して解決してください。クエリエラー(例:無効なフィルター)が発生した場合は、構文を確認し、siem query --debug でログを確認します。API のタイムアウト(例:504)は、コードで指数バックオフによる再試行を行うことで処理できます:
import time; import requests
try: response = requests.get('https://api.siem.com/api/v1/query', timeout=5)
except requests.exceptions.Timeout: time.sleep(2); response = requests.get('https://api.siem.com/api/v1/query', timeout=5)
エラーの詳細を確認するために、エラーレスポンスを解析します。例:response.status_code == 400 の場合は、JSON のエラーメッセージを記録します。CLI コマンドは、if [ $? -ne 0 ]; then echo "Command failed"; fi のように、スクリプト内で必ずエラーチェックを行って実行してください。
具体的な使用例
例 1:過去 1 時間以内のログイン失敗を検出します。
まず、環境変数を設定します:export SIEM_API_KEY=your_api_key
次に、以下を実行します:siem query --index auth-logs --filter 'event_type=login AND status=failure AND timestamp>now-1h' --output json
出力を分析します:解析には jq に渡します。例:siem query ... | jq '.events[] | select(.ip=="suspicious")'
例 2:重大度の高いイベントに対するアラートを設定します。
ルールを作成します:siem rule add --name high-severity-alert --query 'severity>7' --action email --recipients [email protected]
スケジュールを設定します:cron を使って、5 分ごとに siem rule check --name high-severity-alert を実行します。
確認します:siem logs --rule high-severity-alert で、トリガーされたイベントのログを確認します。
グラフの関係
- 接続先:blue-team クラスター
- 関連タグ:siem、blue-team、security-monitoring
- リンク:共有 API を介して他の blue-team スキルと連携し、イベントソースには security-monitoring を使用します