security-engineering について
アプリケーションとインフラのセキュリティ、コンプライアンス、インシデント対応を扱うセキュリティエンジニアリングのリファレンスです。アーキテクチャ設計から認証、認可、安全な開発までを解説します。
主な機能
- 01多層防御とゼロトラストを解説
- 02認証とアクセス制御のパターン
- 03安全な開発とテストの実践項目
- 04コンプライアンス管理策と枠組み
- 05インシデント対応の各段階
活用シーン
- 01アプリやインフラのセキュリティ設計
- 02認証と認可のポリシーを実装
- 03セキュリティテストとコンプライアンス管理を計画
- 04インシデント対応手順を準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 89jobrien/ steve --skill security-engineeringインストール後、Claude Code で/security-engineeringを入力して読み込まれたか確認します。
詳細
セキュリティエンジニアリング
アプリケーションセキュリティ、インフラストラクチャセキュリティ、コンプライアンス、インシデント対応を網羅した包括的なセキュリティエンジニアリングスキルです。
このスキルを使用する場面
- セキュリティアーキテクチャの設計
- 認証と認可の実装
- 脅威モデリングの実施
- セキュリティコードレビュー
- コンプライアンス制御の実装(SOC2、HIPAA、PCI-DSS)
- インシデント対応計画の策定
- セキュリティ監視とアラート
セキュリティアーキテクチャ
多層防御
複数のレベルでセキュリティ制御を適用します。
| レイヤー | 制御 |
|---|---|
| 境界 | ファイアウォール、WAF、DDoS 対策 |
| ネットワーク | セグメンテーション、IDS/IPS、VPN |
| ホスト | ハードニング、EDR、パッチ管理 |
| アプリケーション | 入力検証、セキュアコーディング、SAST/DAST |
| データ | 暗号化、アクセス制御、DLP |
| ID | MFA、SSO、特権アクセス管理 |
ゼロトラストアーキテクチャ
基本原則:
- 決して信頼せず、常に検証する
- 侵害を前提とする
- 最小権限アクセス
- マイクロセグメンテーション
- 継続的な検証
実装:
- ID ベースのアクセス(ネットワークベースではない)
- デバイスの健全性検証
- 継続的な認証
- あらゆる通信の暗号化
- 詳細なログ記録と監視
認証パターン
OAuth 2.0 / OIDC
グラントタイプ:
| グラント | ユースケース |
|---|---|
| Authorization Code + PKCE | Web/モバイルアプリ |
| Client Credentials | サービス間通信 |
| Device Code | CLI ツール、IoT |
トークンのベストプラクティス:
- 有効期間の短いアクセストークン(15 分~1 時間)
- リフレッシュトークンの安全な保存
- 使用時のトークンローテーション
- トークン失効機能
セッション管理
- Secure、HttpOnly、SameSite 属性付き Cookie
- セッションタイムアウト(アイドル時と絶対時間)
- ログアウト時のセッション無効化
- 同時セッション数の制限
- セッションとデバイス/IP のバインド
多要素認証
- TOTP(認証アプリ)
- WebAuthn/FIDO2(ハードウェアキー)
- プッシュ通知
- SMS(最終手段。SIM スワップ攻撃に脆弱)
認可パターン
RBAC(ロールベースアクセス制御)
Users → Roles → Permissions
最適な用途:明確に定義された組織階層
ABAC(属性ベースアクセス制御)
If user.department == "engineering" AND
resource.classification == "internal" AND
time.hour BETWEEN 9 AND 17
THEN allow
最適な用途:複雑で動的なアクセス要件
ポリシー・アズ・コード
外部化したポリシーには OPA/Rego または Cedar を使用します。
- ポリシーのバージョン管理
- テスト可能なアクセスルール
- 監査証跡
- 関心の分離
セキュアな開発
OWASP Top 10 の緩和策
| リスク | 緩和策 |
|---|---|
| インジェクション | パラメーター化クエリ、入力検証 |
| 認証の不備 | 強力なパスワードポリシー、MFA、レート制限 |
| 機密データ | 暗号化、データ収集の最小化 |
| XXE | 外部エンティティの無効化 |
| アクセス制御の不備 | 認可チェック、デフォルト拒否 |
| 設定ミス | セキュアなデフォルト設定、ハードニングガイド |
| XSS | 出力エンコーディング、CSP |
| デシリアライゼーション | 整合性チェック、信頼できないデータの回避 |
| コンポーネント | 依存関係スキャン、更新 |
| ログ記録 | ログの一元管理、アラート |
セキュリティテスト
SAST(静的解析):
- すべてのコミットで実行
- 重大度の高い検出結果があればブロック
- ツール:Semgrep、CodeQL、SonarQube
DAST(動的解析):
- ステージング/開発環境に対して実行
- ツール:OWASP ZAP、Burp Suite
依存関係スキャン:
- 既知の脆弱性をチェック
- ツール:Snyk、Dependabot、npm audit
シークレット管理
禁止事項:
- シークレットを git にコミットする
- シークレットをログに記録する
- URL でシークレットを渡す
- シークレットをハードコードする
推奨事項:
- シークレットマネージャー(Vault、AWS Secrets Manager)を使用する
- シークレットを定期的にローテーションする
- シークレットへのアクセスを監査する
- 有効期間の短い認証情報を使用する
コンプライアンスフレームワーク
主な要件
| フレームワーク | 対象分野 |
|---|---|
| SOC 2 | 信頼サービス(セキュリティ、可用性など) |
| HIPAA | 医療データの保護 |
| PCI-DSS | ペイメントカードデータ |
| GDPR | EU 個人データの保護 |
| ISO 27001 | 情報セキュリティマネジメント |
主要な管理策
- アクセス制御と認証
- 暗号化(保存時および転送時)
- ログ記録と監視
- インシデント対応手順
- 事業継続計画
- ベンダー管理
- 従業員向けセキュリティトレーニング
インシデント対応
対応フェーズ
- 準備:手順書、ツール、トレーニング
- 検知:監視、アラート、トリアージ
- 封じ込め:隔離、証拠の保全
- 根絶:脅威の排除、脆弱性へのパッチ適用
- 復旧:サービスの復元、安全性の確認
- 教訓の共有:事後検証、改善
重大度レベル
| レベル | 説明 | 対応時間 |
|---|---|---|
| P1 | 侵害が進行中、データが持ち出されている | 即時 |
| P2 | 脆弱性が悪用されている | < 4 時間 |
| P3 | 高リスクの脆弱性が発見された | < 24 時間 |
| P4 | セキュリティ改善が必要 | 次のスプリント |
参考ファイル
references/threat_modeling.md- STRIDE 手法と例references/compliance_controls.md- フレームワーク固有の管理策マッピング
他のスキルとの連携
- cloud-infrastructure - クラウドセキュリティ向け
- debugging - セキュリティインシデントの調査向け
- testing - セキュリティテストのパターン向け
コメント
Markdown 対応