Asterisk-Sicherheit: voipbl.org Blacklist für SIP

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Benutzeravatar
heisenberg
Beiträge: 3559
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Asterisk-Sicherheit: voipbl.org Blacklist für SIP

Beitrag von heisenberg » 25.04.2016 18:04:45

Asterisk und Sicherheit, dass ist ja wie Auto und Haftpflichtversicherung. Ohne bist Du einfach nur am A****.

Der Grund, warum ich mich damit beschäftige, ist, dass mir sonderbares Verhalten an dem, von mir betreuten Asterisk aufgefallen ist. Die Diagnose hat ergeben, dass die IP, von der der Blödsinn kam, eine bekannte VoIP-Angriffsaddresse(vermietetes, in Deutschland registriertes Subnetz) war. Der Angreifer flog zwar relativ schnell nach ein paar Minuten spielen/bruteforcen durch fail2ban raus, aber nachdem das in der kürzlichen Vergangenheit gelegentlich vorkam, habe ich nach weiteren Möglichkeiten gesucht, die Sicherheit weiter zu verbessern.

Vorher waren folgende Massnahmen im Einsatz
  • Nur die Länder sind freigeschaltet, die auch tatsächlich auf die Anlage zugreifen müssen
  • Fail2Ban schmeisst den Angreifer nach 2 falschen Anmeldeversuchen sofort für 3 Tage raus(iptables).
  • Sichere Astersik-Einstellungen(Sichere SIP-Passworte, SIP-Einstellungen: allowguest=no; alwaysreject=yes; Default-Context in asterisk ist leer)
Jetzt kommt noch IP-Blacklisting dazu

Ein guter, kostenfreier Dienst ist hier voipbl.org. Es ist eine Blackliste, mit der IP-Addressen gepflegt werden, die versuchen in VoIP-Anlagen einzubrechen.

Das ganze läuft so ab, dass man sich die Liste der geblockten IPs herunterlädt und dann für jede eine Blockregel via iptables anlegt. Da gibt's auf deren Seite ein Script dazu.

Weiterhin wird mit der dortigen Anleitung eine Fail2Ban regel gezeigt, die fehlerhafte Anmeldungen auch gleich an deren zentralen Dienst weitergegeben werden. Auf die Art und Weise werden fehlerhafte Anmeldeversuche flächendeckend in Echtzeit registriert und BruteForce-Angreifer sind innerhalb kürzester Zeit bei Verwendung der Blockliste komplett draussen.

Das einspielen der Regeln dauert etwas. Sind ca. 18000 gelistete Hosts. Bei mir ca. 30 Minuten. (Komisch, auf einer zweiten VM war das in 60 Sekunden erledigt.)

Na, vielleicht mal einen Scripting Contest veranstalten, mit dem Ziel der Suche nach effizienten Methoden die x-Tausend Regeln effektiv einzurichten und nachzupflegen?

EDIT: Blacklisting und IPv6

Mit IPv6 wird das Blacklisting wesentlich ineffektiver. Das üblicherweise kleinste vergebene Subnetz ist ein /64. Das sind so viele Adressen, wie IPv4 insgesamt hat. Eine einzelne Adresse zu blockieren bringt da gar nichts. Ein Nutzer kann für jeden Angriff eine andere IP nehmen.

Die Tendenz, dass deswegen beim IPv6-Blacklisting ganze Bereiche geblockt werden nimmt zu:
Spamhaus: Wir blocken mal mindestens ein /64 [1]

Das man so als Kollateralschaden mal eben so mitgeblockt wird, kann also schnell mal vorkommen. D. h. man muss sich da seinen Hoster gut aussuchen. Wenn es ein Hoster ist der Spammer vielleicht duldet, dann ist man da als Spammer-Nachbar mal schnell mit dran.

[1] https://www.spamhaus.org/organization/s ... -statement"]
Jede Rohheit hat ihren Ursprung in einer Schwäche.

N3Cr0N
Beiträge: 6
Registriert: 04.06.2016 14:47:39

Re: Asterisk-Sicherheit: voipbl.org Blacklist für SIP

Beitrag von N3Cr0N » 06.06.2016 01:41:08

Hi,
Asterisk ist schon etwas her bei mir aber ich habe noch etwas gefunden bei mir,
zudem gibt es auf Youtube ganz gute Vorträge zum Thema Asterisk Sicherheit wo viele Einstellungen gezeigt werden zum Thema.

https://www.youtube.com/watch?v=We_nG9f0eS8
https://www.youtube.com/watch?v=EB2L_j8VpgQ
https://www.youtube.com/watch?v=_vHK2EtQWWM
https://www.youtube.com/watch?v=N4BgOqu_JIo
https://www.youtube.com/watch?v=Vkobf9GTyps


Du könntest noch die iptables anpassen zb.

SIP Flooding

Code: Alles auswählen

iptables -N sip-flood
iptables -A INPUT -p udp -m udp --dport 5060 -j sip-flood
iptables -A INPUT -p tcp -m tcp --dport 5060:5061 --syn -j sip-flood
iptables -A sip-flood -m recent --update --seconds 60 --hitcount 20 -j LOG --log-prefix "SIP bruteforce attempt:"
iptables -A sip-flood -m recent --rcheck --seconds 60 --hitcount 20 -j DROP
iptables -A sip-flood -m recent --set -j ACCEPT
Und in der sip config noch mit den Einstellungen arbeiten:

Code: Alles auswählen

domain=
allowexternaldomains=no
deny= 0.0.0.0/0.0.0.0
permit=192.168.x.x/255.255.255.0
match_auth_username=yes
alwaysauthreject=yes
NMAP Scan verhindern

Code: Alles auswählen

iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "NMAP-XMAS SCAN:" --log-tcp-options --log-ip-options 
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "NMAP-NULL SCAN:" --log-tcp-options --log-ip-options 
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "SYN/RST SCAN:" --log-tcp-options --log-ip-options 
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "SYN/FIN SCAN:" --log-tcp-options --log-ip-options 
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP 
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP 
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j DROP 
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

Antworten