Fail2ban einrichten
Fail2ban (https://www.fail2ban.org/) liest Log-Dateien mit, erkennt Muster wie fehlgeschlagene SIP-Registrierungen und sperrt die auffällige IP-Adresse per Firewall-Regel. Für Asterisk ist das seit Jahren der Standard-Baustein gegen SIP-Scanner.
Asterisk-Security-Log aktivieren
In /etc/asterisk/logger.conf muss der security-Kanal aktiv sein:
[general]
[logfiles]
; Andere Kanäle, z. B.:
console => notice,warning,error
messages => notice,warning,error
; Security-Events in eine eigene Datei:
security.log => security
Nach einem asterisk -rx 'logger reload' schreibt Asterisk
sicherheitsrelevante Events (fehlgeschlagene Auths, Access-Violations)
nach /var/log/asterisk/security.log.
Fail2ban konfigurieren
Auf Debian/Ubuntu:
# apt install -y fail2ban
Der mitgelieferte Filter /etc/fail2ban/filter.d/asterisk.conf deckt
die gängigen Security-Log-Meldungen ab. In
/etc/fail2ban/jail.local aktivieren Sie das Asterisk-Jail:
[asterisk]
enabled = true
filter = asterisk
logpath = /var/log/asterisk/security.log
maxretry = 5
findtime = 600
bantime = 86400
action = iptables-allports[name=ASTERISK, protocol=all]
-
maxretry=5— Nach 5 fehlgeschlagenen Versuchen … -
findtime=600— … innerhalb von 10 Minuten … -
bantime=86400— … bannt Fail2ban die IP für 24 Stunden.
Aktivieren:
# systemctl restart fail2ban
# fail2ban-client status asterisk
Log-Format prüfen
Wenn Fail2ban keine Treffer meldet, die Sie erwartet hätten:
# fail2ban-regex /var/log/asterisk/security.log /etc/fail2ban/filter.d/asterisk.conf
zeigt Zeile für Zeile, welche Log-Einträge der Filter erkannt hat. Bei manchen Asterisk-Versionen lohnt sich ein Blick auf die Community- Forks des Filters, die um aktuelle Meldungsformate ergänzt sind.