ランタイムセキュリティ

🔥 Vibe プロンプト

「ランタイム保護を設定:RASP、WAF、異常検知、セキュリティ監視。」

RASP(ランタイムアプリケーション自己保護)

class RASP:
    def protect(self, func_name, args):
        if func_name in ['eval', 'exec', 'os.system']:
            raise SecurityException(f"ブロック: {func_name}")
    
    def start(self):
        import builtins
        original_eval = builtins.eval
        def safe_eval(*args, **kwargs):
            self.protect('eval', args)
            return original_eval(*args, **kwargs)
        builtins.eval = safe_eval

ModSecurity WAF

modsecurity on;
SecRule REQUEST_URI "@contains /admin" "id:1000,deny"
SecRule ARGS "@detectSQLi" "id:1001,deny"

WAF vs RASP

| 項目 | WAF | RASP | |------|-----|------| | 位置 | アプリ前(ネットワーク) | アプリ内(実行時) | | 可視性 | HTTPのみ | 完全なアプリコンテキスト | | バイパス | 可能 | 困難 | | 誤検出 | 多い | 少ない |

異常検知

class AnomalyDetector:
    def __init__(self, window=100, threshold=3):
        self.window = deque(maxlen=window)
        self.threshold = threshold
    
    def add_metric(self, value):
        self.window.append(value)
        if len(self.window) < 30: return False
        mean = np.mean(self.window)
        std = np.std(self.window)
        z_score = abs(value - mean) / (std + 0.001)
        return z_score > self.threshold

セキュリティ監視

アプリ → Prometheus → Grafana
アプリ → Loki → Grafana
WAF → CloudWatch → Security Hub

主要監視メトリクス

  • 4xx/5xxエラー率
  • 認証失敗率
  • SQLクエリ異常
  • APIパラメータサイズ
  • 応答時間劣化

ベストプラクティス

| レイヤー | 保護 | |---------|------| | ネットワーク | WAF | | アプリケーション | RASP | | ランタイム | 異常検知 | | 監視 | Prometheus + Grafana |

ベストプラクティス

  • 既知攻撃パターンにWAF使用
  • 未知攻撃(ゼロデイ)にRASP使用
  • すべてのセキュリティイベントを一元監視
  • 重要イベントの自動応答設定
  • 保護を定期的にテスト

重要なポイント

  • コアコンセプトをしっかり理解する
  • ハンズオンコード例で実践する
  • 実世界の問題に応用する
  • 演習で知識を強化する

さらに学ぶ

  • 公式ドキュメント
  • GitHubのオープンソースプロジェクト
  • コミュニティフォーラムとディスカッション
  • 関連コースとチュートリアル

完全なチュートリアルをロック解除

このチャプターは有料コンテンツです。プロジェクトに参加して、10以上の神レベルのPromptや実際のソースコード例を含む、5000字以上の深い分析をロック解除してください!