mcpField
S
siem

siem

github.com/alphaonedevセキュリティ50 回インストール
リポジトリ

siem について

siemは、セキュリティイベントの監視とインシデント対応を支援するブルーチーム向けスキルです。ログの取り込みと相関分析、SigmaまたはYARAルールの適用、アラート生成、Kibanaなどによる可視化に対応します。

主な機能

  1. 01セキュリティログの取り込みと解析
  2. 02SigmaまたはYARA検知ルールの適用
  3. 03アラートの生成とエスカレーション
  4. 04複数ソース間のイベント相関
  5. 05Kibanaによる結果の可視化

活用シーン

  1. 01不審なネットワーク活動の調査
  2. 02イベントログからログイン失敗を検知
  3. 03高重大度イベントへのアラート
  4. 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 を使用します

コメント