feat(02-03): Configure comprehensive audit policies with retention and hash chain settings
Some checks failed
Discord Webhook / git (push) Has been cancelled
Some checks failed
Discord Webhook / git (push) Has been cancelled
This commit is contained in:
181
config/audit.yaml
Normal file
181
config/audit.yaml
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
# Audit Logging Configuration
|
||||||
|
# Defines policies for tamper-proof audit logging and retention
|
||||||
|
|
||||||
|
# Core audit logging policies
|
||||||
|
audit:
|
||||||
|
# Log retention settings
|
||||||
|
retention:
|
||||||
|
period_days: 30 # Default retention period
|
||||||
|
compression: true # Compress old logs to save space
|
||||||
|
backup_retention_days: 90 # Keep compressed backups longer
|
||||||
|
|
||||||
|
# Logging level and detail
|
||||||
|
log_level: comprehensive # comprehensive, basic, minimal
|
||||||
|
include_full_code: true # Include complete code in logs
|
||||||
|
include_full_results: false # Truncate long execution results
|
||||||
|
max_result_length: 500 # Max characters for result strings
|
||||||
|
|
||||||
|
# Hash chain and integrity settings
|
||||||
|
hash_chain:
|
||||||
|
enabled: true # Enable SHA-256 hash chaining
|
||||||
|
signature_algorithm: "SHA-256" # Cryptographic signature method
|
||||||
|
integrity_check_interval: 3600 # Verify integrity every hour (seconds)
|
||||||
|
|
||||||
|
# Storage configuration
|
||||||
|
storage:
|
||||||
|
base_directory: "logs/audit" # Base directory for audit logs
|
||||||
|
file_rotation: true # Rotate log files when they reach size limit
|
||||||
|
max_file_size_mb: 100 # Max size per log file before rotation
|
||||||
|
max_files_per_type: 10 # Keep at most N rotated files
|
||||||
|
|
||||||
|
# Alerting thresholds
|
||||||
|
alerts:
|
||||||
|
enabled: true
|
||||||
|
critical_events_per_hour: 10 # Alert if more than this
|
||||||
|
resource_violations_per_hour: 5
|
||||||
|
failed_integrity_checks: 1 # Any integrity check failure triggers alert
|
||||||
|
|
||||||
|
# Alert channels (future implementation)
|
||||||
|
channels:
|
||||||
|
log_file: true
|
||||||
|
console: true
|
||||||
|
webhook: false # Future: external alerting
|
||||||
|
email: false # Future: email notifications
|
||||||
|
|
||||||
|
# Event-specific logging policies
|
||||||
|
event_types:
|
||||||
|
code_execution:
|
||||||
|
enabled: true
|
||||||
|
include_code_diff: true
|
||||||
|
include_execution_time: true
|
||||||
|
include_resource_usage: true
|
||||||
|
include_security_level: true
|
||||||
|
|
||||||
|
security_assessment:
|
||||||
|
enabled: true
|
||||||
|
include_full_findings: true
|
||||||
|
include_recommendations: true
|
||||||
|
include_code_snippet: true
|
||||||
|
|
||||||
|
container_creation:
|
||||||
|
enabled: true
|
||||||
|
include_security_config: true
|
||||||
|
include_hardening_details: true
|
||||||
|
|
||||||
|
resource_violation:
|
||||||
|
enabled: true
|
||||||
|
include_threshold_details: true
|
||||||
|
include_action_taken: true
|
||||||
|
severity_levels: ["CRITICAL", "HIGH", "MEDIUM", "LOW"]
|
||||||
|
|
||||||
|
security_event:
|
||||||
|
enabled: true
|
||||||
|
include_full_context: true
|
||||||
|
require_severity: true
|
||||||
|
|
||||||
|
system_event:
|
||||||
|
enabled: true
|
||||||
|
include_configuration_changes: true
|
||||||
|
|
||||||
|
# Performance optimization settings
|
||||||
|
performance:
|
||||||
|
# Batch writing to reduce I/O overhead
|
||||||
|
batch_writes:
|
||||||
|
enabled: true
|
||||||
|
batch_size: 10 # Number of entries per batch
|
||||||
|
flush_interval_seconds: 5 # Max time before flushing
|
||||||
|
|
||||||
|
# Memory management
|
||||||
|
memory:
|
||||||
|
max_entries_in_memory: 1000 # Keep recent entries in memory
|
||||||
|
cleanup_interval_minutes: 15 # Clean up old entries
|
||||||
|
|
||||||
|
# Async logging (future implementation)
|
||||||
|
async_logging:
|
||||||
|
enabled: false # Future: async log writing
|
||||||
|
queue_size: 1000
|
||||||
|
worker_threads: 2
|
||||||
|
|
||||||
|
# Privacy and security settings
|
||||||
|
privacy:
|
||||||
|
# Data sanitization
|
||||||
|
sanitize_secrets: true # Remove potential secrets from logs
|
||||||
|
sanitize_patterns:
|
||||||
|
- "password"
|
||||||
|
- "token"
|
||||||
|
- "key"
|
||||||
|
- "secret"
|
||||||
|
- "credential"
|
||||||
|
|
||||||
|
# User privacy
|
||||||
|
anonymize_user_data: false # Future: option to anonymize user info
|
||||||
|
retain_user_sessions: true # Keep user session information
|
||||||
|
|
||||||
|
# Encryption (future implementation)
|
||||||
|
encryption:
|
||||||
|
enabled: false # Future: encrypt log files at rest
|
||||||
|
algorithm: "AES-256-GCM"
|
||||||
|
key_rotation_days: 90
|
||||||
|
|
||||||
|
# Compliance settings
|
||||||
|
compliance:
|
||||||
|
# Regulatory requirements (future implementation)
|
||||||
|
standards:
|
||||||
|
gdpr: false # Future: GDPR compliance features
|
||||||
|
hipaa: false # Future: HIPAA compliance features
|
||||||
|
sox: false # Future: SOX compliance features
|
||||||
|
|
||||||
|
# Audit trail requirements
|
||||||
|
immutable_logs: true # Logs cannot be modified after writing
|
||||||
|
require_signatures: true # All entries must be signed
|
||||||
|
chain_of_custody: true # Maintain clear chain of custody
|
||||||
|
|
||||||
|
# Integration settings
|
||||||
|
integrations:
|
||||||
|
# Security system integration
|
||||||
|
security_assessor:
|
||||||
|
auto_log_assessments: true
|
||||||
|
include_findings: true
|
||||||
|
correlation_id: true # Link executions to assessments
|
||||||
|
|
||||||
|
# Sandbox integration
|
||||||
|
sandbox:
|
||||||
|
auto_log_container_events: true
|
||||||
|
include_resource_metrics: true
|
||||||
|
log_violations: true
|
||||||
|
|
||||||
|
# Model interface integration
|
||||||
|
model_interface:
|
||||||
|
log_inference_calls: false # Future: optional LLM call logging
|
||||||
|
log_conversation_summary: false # Future: conversation logging
|
||||||
|
|
||||||
|
# Monitoring and maintenance
|
||||||
|
monitoring:
|
||||||
|
# Health checks
|
||||||
|
health_check_interval: 300 # Check audit system health every 5 minutes
|
||||||
|
disk_usage_threshold: 80 # Alert if disk usage > 80%
|
||||||
|
|
||||||
|
# Maintenance tasks
|
||||||
|
maintenance:
|
||||||
|
log_rotation: true
|
||||||
|
cleanup_old_logs: true
|
||||||
|
integrity_verification: true
|
||||||
|
index_rebuild: false # Future: rebuild search indexes
|
||||||
|
|
||||||
|
# Metrics collection (future implementation)
|
||||||
|
metrics:
|
||||||
|
enabled: false
|
||||||
|
collection_interval: 60
|
||||||
|
export_format: "prometheus"
|
||||||
|
|
||||||
|
# Development and debugging
|
||||||
|
development:
|
||||||
|
debug_mode: false # Enable additional debugging output
|
||||||
|
test_mode: false # Use separate test logs
|
||||||
|
mock_signatures: false # Use mock crypto for testing
|
||||||
|
|
||||||
|
# Debug logging
|
||||||
|
debug:
|
||||||
|
log_crypto_operations: false
|
||||||
|
log_performance_metrics: false
|
||||||
|
verbose_error_messages: false
|
||||||
Reference in New Issue
Block a user