128 lines
3.4 KiB
YAML
128 lines
3.4 KiB
YAML
app:
|
|
name: "DMARC Sentinel"
|
|
base_url: "https://dmarc-sentinel.lan"
|
|
timezone: "Europe/Zurich"
|
|
poll_interval_minutes: 30
|
|
database_url: "sqlite:////app/data/dmarc-sentinel.sqlite3"
|
|
log_level: "INFO"
|
|
max_attachment_decompressed_mb: 20
|
|
max_attachment_compressed_mb: 10
|
|
max_attachments_per_message: 20
|
|
max_reports_per_message: 20
|
|
max_reports_per_archive: 20
|
|
max_archive_compression_ratio: 100
|
|
max_xml_records_per_report: 10000
|
|
max_record_count: 10000000
|
|
max_report_future_days: 3
|
|
max_report_past_days: 3650
|
|
max_reports_per_poll: 200
|
|
|
|
security:
|
|
dashboard_auth_enabled: true
|
|
dashboard_username_env: "DASHBOARD_USERNAME"
|
|
dashboard_password_env: "DASHBOARD_PASSWORD"
|
|
api_token_required: true
|
|
homepage_token_env: "HOMEPAGE_API_TOKEN"
|
|
|
|
llm:
|
|
provider: "openai"
|
|
api_key_env: "OPENAI_API_KEY"
|
|
model: "gpt-4.1-mini"
|
|
temperature: 0.2
|
|
timeout_seconds: 45
|
|
max_retries: 2
|
|
generate_alert_explanations: true
|
|
generate_daily_summary: true
|
|
generate_weekly_summary: true
|
|
store_llm_outputs: true
|
|
send_raw_xml_to_llm: false
|
|
send_raw_email_to_llm: false
|
|
system_prompt_path: "config/prompts/system.md"
|
|
alert_prompt_path: "config/prompts/alert_explanation.md"
|
|
digest_prompt_path: "config/prompts/posture_digest.md"
|
|
weekly_prompt_path: "config/prompts/weekly_summary.md"
|
|
|
|
inboxes:
|
|
- id: "tukutoi"
|
|
label: "TukuToi"
|
|
domain: "tukutoi.com"
|
|
imap_host: "mail.dynamicpress.org"
|
|
imap_port: 993
|
|
imap_ssl: true
|
|
username_env: "DOMAIN_IMAP_USER"
|
|
password_env: "DOMAIN_IMAP_PASSWORD"
|
|
folder: "DMARC"
|
|
recipient: "dmarcreports@tukutoi.com"
|
|
processed_folder: null
|
|
failed_folder: null
|
|
move_after_success: false
|
|
move_after_failure: false
|
|
mark_seen_after_success: true
|
|
enabled: true
|
|
- id: "anamaka"
|
|
label: "Anamaka"
|
|
domain: "anamaka.net"
|
|
imap_host: "mail.dynamicpress.org"
|
|
imap_port: 993
|
|
imap_ssl: true
|
|
username_env: "DOMAIN_IMAP_USER"
|
|
password_env: "DOMAIN_IMAP_PASSWORD"
|
|
folder: "DMARC"
|
|
recipient: "dmarcreports@anamaka.net"
|
|
processed_folder: null
|
|
failed_folder: null
|
|
move_after_success: false
|
|
move_after_failure: false
|
|
mark_seen_after_success: true
|
|
enabled: true
|
|
|
|
known_senders:
|
|
tukutoi.com:
|
|
- id: "postmark-transactional"
|
|
name: "Postmark Transactional"
|
|
ip_allowlist:
|
|
- "50.31.156.96/27"
|
|
- "104.245.209.192/26"
|
|
- "50.31.205.204/30"
|
|
dkim_domains:
|
|
- "tukutoi.com"
|
|
spf_domains:
|
|
- "tukutoi.com"
|
|
- id: "postmark-broadcast"
|
|
name: "Postmark Broadcast"
|
|
ip_allowlist:
|
|
- "50.31.205.0/24"
|
|
dkim_domains:
|
|
- "tukutoi.com"
|
|
spf_domains:
|
|
- "tukutoi.com"
|
|
anamaka.net:
|
|
- id: "mailcow"
|
|
name: "Mailcow"
|
|
ip_allowlist:
|
|
- "45.148.30.200"
|
|
- "2a06:1301:4050:45:148:30:200:0"
|
|
dkim_domains:
|
|
- "anamaka.net"
|
|
spf_domains:
|
|
- "anamaka.net"
|
|
|
|
alerts:
|
|
email:
|
|
enabled: true
|
|
smtp_host_env: "ALERT_SMTP_HOST"
|
|
smtp_port_env: "ALERT_SMTP_PORT"
|
|
smtp_user_env: "ALERT_SMTP_USER"
|
|
smtp_password_env: "ALERT_SMTP_PASSWORD"
|
|
from_env: "ALERT_EMAIL_FROM"
|
|
to_env: "ALERT_EMAIL_TO"
|
|
thresholds:
|
|
unknown_source_fail_count: 10
|
|
unknown_source_fail_rate_percent: 5
|
|
known_source_fail_rate_percent: 2
|
|
total_volume_spike_multiplier: 3
|
|
total_volume_drop_percent: 80
|
|
min_messages_for_rate_alert: 20
|
|
repeated_failure_days: 2
|
|
missing_reporter_days: 3
|