Alert & Notifikasi
Event monitoring, severity routing, dan notifikasi real-time.
Event Types & Severity
| Event Type | Severity | Sumber | Keterangan |
|------------|----------|--------|-----------|
| file_modified | CRITICAL | inotify | File penting diubah (/etc/passwd, /etc/shadow) |
| malicious_process | CRITICAL | watcher | 18 signature: miner, backdoor, trojan, c2 tools |
| ssh_login | HIGH | auth.log | Login SSH password berhasil |
| ssh_key_login | HIGH | auth.log | Login SSH public key berhasil |
| su_login | HIGH | syslog | su ke user lain berhasil |
| ssh_failed | MEDIUM | auth.log | Gagal login SSH (brute force indicator) |
| firewall_block | MEDIUM | syslog | iptables DROP/REJECT event |
| cron_execution | LOW | syslog | Eksekusi cron job |
| session_open | LOW | syslog | pam_unix session opened |
| file_created | LOW | inotify | File baru dibuat di path yang dimonitor |
Alert Deduplication Logic
Alert tidak dibuat untuk setiap event:
- Hanya severity CRITICAL/HIGH yang trigger alert
dedup_key = hash(server_id + event_type + window 5 menit)- Alert yang sama dalam 5 menit → update
count, tidak buat baru - Notifikasi hanya dikirim untuk alert baru (insert, bukan update)
Notification Channels
Konfigurasi di panel Settings → Notifications:
Telegram: Bot token + chat ID. Alert dikirim sebagai pesan Markdown dengan info: server name, event type, severity, detail.
Discord: Webhook URL. Alert dikirim sebagai embed dengan warna per severity.
Filter min_severity per channel — contoh: channel A hanya CRITICAL, channel B semua HIGH+.