Skip to content

セキュリティ概要

DD ログライブラリは多層セキュリティ防護メカニズムを組み込みで提供し、データフィルタリングから監査追跡までログの安全性を全面的に保障します。

セキュリティ階層

階層メカニズム説明
データ層機密データフィルタリングパスワード、キーなどを自動マスキング
パス層パスセキュリティ検証パストラバーサル、シンボリックリンク攻撃を防止
パターン層ReDoS 防護危険な正規表現パターンを検出
監査層監査ログ全セキュリティイベントを記録
整合性層HMAC 署名ログの改ざんを防止

機密データフィルタリング

DD は機密データの自動検出とマスキングを組み込みで提供:

go
logger, _ := dd.New(dd.Config{
    Security: dd.DefaultSecurityConfig(),
})

// password フィールドは自動マスキング
logger.InfoWith("ログイン",
    dd.String("username", "admin"),
    dd.String("password", "s3cr3t"),  // 出力: [REDACTED]
)

カスタムパターンのサポート:

go
filter, _ := dd.NewCustomSensitiveDataFilter(
    `(?i)password\s*[:=]\s*\S+`,
    `(?i)api[_-]?key\s*[:=]\s*\S+`,
    `\b\d{16,19}\b`,  // クレジットカード番号
)

詳細は セキュリティフィルタ API を参照。

パスセキュリティ

FileWriter は多層のパスセキュリティ検証を組み込みで提供:

防護説明
パストラバーサル../ などのパストラバーサルを拒否
Null バイトnull バイトインジェクションを拒否
オーバーロングエンコーディングUTF-8 オーバーロングエンコーディングを検出
シンボリックリンクシンボリックリンクを設定で禁止可能
ハードリンクハードリンクを設定で禁止可能
パス長さパスの最大長を制限
go
// パストラバーサル攻撃は自動拒否
fw, err := dd.NewFileWriter("../../../etc/passwd", dd.DefaultFileWriterConfig())
// err: PATH_TRAVERSAL

コンプライアンス設定

DD は業界コンプライアンスプリセットを提供:

プリセットコンプライアンス基準適用業界
HealthcareConfig()HIPAA医療
FinancialConfig()PCI-DSS金融
GovernmentConfig()政府基準公共部門
go
// HIPAA 準拠
logger, _ := dd.New(dd.Config{
    Security: dd.HealthcareConfig(),
})

監査ログ

全セキュリティイベントは監査ログで追跡可能:

go
audit, _ := dd.NewAuditLogger(dd.DefaultAuditConfig())
defer audit.Close()

audit.LogSecurityViolation("sql_injection", "SQL インジェクション", map[string]any{
    "input": "' OR 1=1 --",
})

詳細は 監査ログ API を参照。

ログ整合性

HMAC 署名でログの改ざんを防止:

go
cfg, _ := dd.DefaultIntegrityConfigSafe()
signer, _ := dd.NewIntegritySigner(cfg)
signature := signer.Sign(logMessage)
// 検証時: signer.Verify(signedEntry)

詳細は 整合性署名 API を参照。

次のステップ