🚀 セキュリティインフラストラクチャMCPサーバー
このプロジェクトは、エンタープライズレベルのセキュリティ強化を備えた、セキュリティプラットフォーム統合向けの安全なMCP(Model Context Protocol)サーバー実装の包括的なコレクションです。
🚀 クイックスタート
インストール
git clone https://github.com/jmstar85/SecurityInfrastructure.git
cd SecurityInfrastructure
pip install -r requirements.txt
cp .env.example .env
安全な設定
python -c "
import json
with open('.env', 'r') as f:
content = f.read()
if 'REPLACE_WITH_YOUR' in content:
print('⚠️ .envにプレースホルダーの資格情報が含まれています。更新してください。')
else:
print('✅ 設定はカスタマイズされているようです。')
"
python src/splunk_server.py
python src/crowdstrike_server.py
python src/misp_server.py
✨ 主な機能
🛡️ セキュリティを重視した設計
このプロジェクトは、重要な脆弱性に対処し、セキュリティのベストプラクティスを実装するために、包括的なセキュリティ強化を行っています。
✅ セキュリティの改善(最新更新)
- 🔴 高深刻度の修正
- クエリのサニタイズと危険なコマンドのブロッキングによるSPLインジェクション防止
- defusedxmlを使用した安全なXMLパースによるXXE攻撃防止
- すべての設定ファイルからのハードコードされた資格情報の完全削除
- 🟡 中深刻度の修正
- すべてのAPI通信に対して強力な暗号スイートを使用したTLS 1.2以上の強制
- すべてのサーバーでの包括的な入力検証とサニタイズ
- コマンド実行リスクとインジェクション攻撃の防止
- 情報開示を防止するためのエラーメッセージのサニタイズ
- 🔵 追加のセキュリティ機能
- パターンマッチングによるFQL/SPLインジェクション攻撃防止
- SSL証明書検証の強制
- APIレスポンスのデータサニタイズ
- 安全なプレースホルダーを持つ安全な設定テンプレート
- 資格情報の露出を防止するための包括的な.gitignore
🔒 セキュリティドキュメント
包括的なセキュリティガイドライン、設定のベストプラクティス、および脆弱性報告手順については、SECURITY.mdを参照してください。
🔐 サポートされるプラットフォーム
Splunk SIEM
- 安全なSPLクエリ実行:インジェクション防止機能を備えたSearch Processing Languageクエリの実行
- イベント検索:サニタイズされたフィルタリングを使用したすべてのインデックスのセキュリティイベントの検索
- 時間ベースの分析:検証された時間範囲とカスタム時間ウィンドウ
- 非同期ジョブ管理:安全な結果取得を備えた検索ジョブの作成と監視
- JSON結果形式:機密データのフィルタリングを備えた構造化された出力
CrowdStrike EDR
- 安全な検出検索:検証されたFQL(Falcon Query Language)を使用した検出のクエリ
- 検出詳細:サニタイズされた検出の概要とメタデータの取得
- OAuth 2.0認証:適切なトークン管理を備えた安全なAPIアクセス
- 入力検証:包括的なパラメータ検証とホワイトリスト
- リアルタイム脅威データ:セキュリティフィルタリングを備えた最新のエンドポイント検出データへのアクセス
Microsoft MISP
- イベント検索:入力のサニタイズと検証を備えたMISPイベントのクエリ
- IOC属性検索:XSSとインジェクション防止を備えたインジケータの検索
- 多形式サポート:コンテンツ検証を備えたさまざまなIOCタイプの処理
- SSLセキュリティ:セキュリティ警告を備えた証明書検証の強制
- RESTful API統合:エラーサニタイズを備えた安全なMISP REST APIサポート
💻 使用例
基本的な使用法
Splunk SIEM Tools (Security Hardened)
search-events
: インジェクション防止を備えたサニタイズされたSPLクエリの実行
query = "index=security sourcetype=auth action=failure"
earliest_time = "-24h"
CrowdStrike EDR Tools (Security Hardened)
search-detections
: FQL検証とホワイトリストを備えた検出のクエリ
filter_query = "max_severity:'high'"
sort = "created_timestamp.desc"
MISP Tools (Security Hardened)
search-events
: 入力のサニタイズを備えた脅威インテリジェンスのクエリ
search-attributes
: XSSとインジェクション防止を備えたIOCの検索
type = "ip-dst"
category = "Network activity"
高度な使用法
セキュアにClaude Desktopで設定した後、自然言語を使用してセキュリティプラットフォームと対話できます。
Splunk SIEMクエリ(インジェクション安全)
"過去6時間以内の失敗したSSHログイン試行を検索する"
"IPアドレス192.168.1.100からのすべての認証イベントを検索する"
"昨日の高優先度のセキュリティアラートを表示する"
"セキュリティインデックス内の'malware'を含むイベントを検索する"
CrowdStrike EDRクエリ(検証済み)
"今日のすべての高深刻度の検出を表示する"
"行動パターンを持つエンドポイント検出を検索する"
"作成時間でソートされた最近の検出をリストする"
"特定のホスト名の検出を検索する"
MISP脅威インテリジェンス(サニタイズ済み)
"特定の脅威アクターに関連するイベントを検索する"
"すべてのIPアドレスの攻撃指標を検索する"
"先週のドメイン攻撃指標を検索する"
"フィッシングに関する公開された脅威インテリジェンスイベントを検索する"
🔧 技術詳細
最適化されたプロジェクト構造
SecurityInfrastructure/
├── src/ # 安全なMCPサーバーの実装
│ ├── splunk_server.py # Splunk SIEM統合(強化済み)
│ ├── crowdstrike_server.py # CrowdStrike EDR統合(強化済み)
│ └── misp_server.py # Microsoft MISP統合(強化済み)
├── config/ # 安全な設定テンプレート
│ ├── mcp-settings.json # MCPクライアント設定(サニタイズ済み)
│ └── splunk.yaml # Splunk設定テンプレート
├── tests/ # セキュリティ検証テスト
├── SECURITY.md # セキュリティガイドラインとベストプラクティス
├── config-example.json # 安全な設定テンプレート
├── .env.example # 環境変数テンプレート(安全)
├── .gitignore # 包括的な資格情報保護
├── requirements.txt # 最小限の安全な依存関係
├── INSTALLATION.md # 詳細なセットアップガイド
├── setup-guide.md # クイックセットアップテンプレート
└── docker-compose.yml # コンテナ設定
注意: フロントエンドコンポーネント、不要なNode.jsファイル、および開発アーティファクトは、攻撃面を最小化し、セキュリティポスチャーを最適化するために削除されています。
安全なMCPクライアント設定
Claude Desktop設定(安全)
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
安全な設定テンプレート:
{
"mcpServers": {
"security-infrastructure-splunk": {
"command": "python",
"args": ["/FULL/PATH/TO/SecurityInfrastructure/src/splunk_server.py"],
"env": {
"SPLUNK_HOST": "REPLACE_WITH_YOUR_SPLUNK_HOST",
"SPLUNK_TOKEN": "REPLACE_WITH_YOUR_API_TOKEN",
"SPLUNK_VERIFY_SSL": "true"
}
}
}
}
⚠️ 重要提示
実際の資格情報をバージョン管理にコミットしないでください。提供されたテンプレートを使用し、プレースホルダーを実際の値に置き換えてください。
セキュリティ機能
コアセキュリティ実装
- 入力検証:すべてのユーザー入力の包括的なサニタイズと検証
- インジェクション防止:SPL、FQL、SQL、およびXSSインジェクション攻撃からの保護
- 安全な通信:強力な暗号スイートを使用したHTTPS/TLS 1.2以上の強制
- エラーサニタイズ:情報開示を防止するための一般的なエラーメッセージ
- 認証セキュリティ:適切な検証を備えた安全なトークン/資格情報の処理
セキュリティアーキテクチャ
- 複数の認証方法:セッションベース、トークンベース、およびOAuth 2.0で安全なデフォルト設定
- SSL/TLS強制:すべての接続に対する必須の証明書検証
- APIセキュリティ:レート制限、タイムアウト強制、および接続プーリング制限
- 設定セキュリティ:安全なテンプレート、資格情報のマスキング、および.gitignore保護
データ保護
- 出力サニタイズ:APIレスポンスからの機密フィールドの削除
- 資格情報管理:ハードコードされたシークレットなし、環境変数の保護
- ロギングセキュリティ:ログと監査トレイル内の機密データのフィルタリング
- セッション管理:適切なトークンの有効期限と安全な保存
要件
- Python 3.11以上
- セキュリティプラットフォームへの安全なアクセス資格情報(適切に設定)
- MCP互換クライアント(Claude Desktopが推奨)
- 本番環境デプロイ用のSSL/TLS証明書
安全な資格情報管理
Splunk SIEM(安全な設定)
- APIトークン(強く推奨)で必要最小限の権限
- HTTPSエンドポイントの検証が必要
- 検索権限は必要なインデックスのみに制限
CrowdStrike EDR(安全な設定)
- クライアントIDとクライアントシークレットで最小権限の原則
- API権限: 検出(読み取り)、制限されたスコープ
- ベースURLの検証とHTTPSの強制
Microsoft MISP(安全な設定)
- 可能な場合は読み取り専用権限のAPIキー
- SSL証明書検証を備えたMISPインスタンスURL
- セキュリティのために設定されたタイムアウト設定
セキュリティ検証
このプロジェクトには包括的なセキュリティ検証が含まれています。
python -m pytest tests/ -v
python -c "
import os
config_files = ['.env', 'config/mcp-settings.json']
for f in config_files:
if os.path.exists(f):
with open(f) as file:
content = file.read()
if 'REPLACE_WITH_YOUR' in content:
print(f'⚠️ {f}にプレースホルダーの資格情報が含まれています。')
else:
print(f'✅ {f}は設定されているようです。')
"
セキュリティメトリクス
- 脆弱性状況:すべての高および中深刻度の問題が解決されました
- セキュリティカバレッジ:セキュリティ検証テストの83%が合格しました
- コード品質:包括的な入力検証とエラー処理
- 攻撃面:コンポーネントの削除と最適化により最小化されました
🤝 コントリビュート
- リポジトリをフォークする
- 機能ブランチを作成する (
git checkout -b feature/security-enhancement
)
- SECURITY.mdのセキュリティガイドラインに従う
- 新機能に対するセキュリティテストを追加する
- セキュリティ検証付きでコミットする (
git commit -am 'Add secure feature'
)
- ブランチにプッシュする (
git push origin feature/security-enhancement
)
- セキュリティレビューチェックリスト付きでプルリクエストを作成する
📄 ライセンス
このプロジェクトは、安全な実装方法に焦点を当てたセキュリティ研究および教育目的で提供されています。
🔗 セキュリティリソース
🚨 セキュリティ報告
セキュリティ脆弱性を発見した場合は、以下の手順に従ってください。
- 公開イシューを作成しないでください
- セキュリティの詳細をメンテナにメールで送信する
- 開示する前に修正に合理的な時間を与える
- 責任ある開示方法に従う
⭐ この安全な実装が役立つと思った場合は、スターを付けてください!
最新のセキュリティ更新: 2024年12月 - 脆弱性対策と最適化を含む包括的なセキュリティ強化