Öffnen Sie keine Häfen für die Welt - sie werden Sie brechen (Risiken)

Bild


Nach dem Audit stoße ich bei meinen Empfehlungen, die Häfen hinter der weißen Liste zu verstecken, immer wieder auf eine Mauer des Missverständnisses. Selbst sehr coole Admins / DevOps fragen: "Warum?!?"


Ich schlage vor, die Risiken in abnehmender Reihenfolge der Eintrittswahrscheinlichkeit und des Schadens zu berücksichtigen.


  1. Konfigurationsfehler
  2. DDoS über IP
  3. Bruteforce
  4. Sicherheitslücken im Service
  5. Sicherheitslücken im Kernel-Stack
  6. DDoS-Angriffe verstärken

Konfigurationsfehler


Die typischste und gefährlichste Situation. Wie passiert das? Der Entwickler muss die Hypothese schnell testen, er löst einen temporären Server mit MySQL / Redis / Mongodb / Elastic aus. Das Passwort ist natürlich kompliziert, es wird überall verwendet. Es öffnet den Dienst für die Welt - es ist bequem für ihn, eine Verbindung von Ihrem PC ohne diese Ihrer VPNs herzustellen. Und die iptables-Syntax ist zu faul, um sie abzurufen, trotzdem ist der Server temporär. Nur ein paar Tage Entwicklungszeit - es hat sich als gut herausgestellt, Sie können es dem Kunden zeigen. Dem Kunden gefällt es, es ist keine Zeit, es zu wiederholen, wir starten es im PROD!


Beispiel absichtlich übertrieben, um auf allen Rechen zu laufen:


  1. Nichts ist dauerhafter als vorübergehend - ich mag diesen Satz nicht, aber subjektiv bleiben 20-40% dieser temporären Server für eine lange Zeit.
  2. Das komplexe universelle Passwort, das in vielen Diensten verwendet wird, ist böse. Denn einer der Dienste, bei denen dieses Passwort verwendet wurde, konnte gehackt werden. Auf die eine oder andere Weise strömen Datenbanken von gehackten Diensten zu einer, die für [Brute Force] * verwendet wird.
    Es ist erwähnenswert, dass Redis, Mongodb und Elastic nach der Installation im Allgemeinen ohne Authentifizierung verfügbar sind und häufig die Sammlung offener Datenbanken auffüllen.
  3. Es scheint, dass in ein paar Tagen niemand Ihren 3306-Port scannen wird. Das ist ein Fehler! Masscan ist ein ausgezeichneter Scanner und kann mit 10 Millionen Ports pro Sekunde scannen. Und im Internet gibt es nur 4 Milliarden IPv4. Dementsprechend sind alle 3306. Ports im Internet in 7 Minuten. Karl !!! Sieben Minuten!
    "Wen interessiert das?" - Sie protestieren. Daher bin ich überrascht, wenn ich mir die Statistiken der verworfenen Pakete ansehe. Woher kommt ein Tag von 40.000 Versuchen, von 3.000 eindeutigen IP-Adressen zu scannen? Jetzt wird jeder nach jemandem durchsucht, von den Hackern der Mutter bis zu den Regierungen. Die Überprüfung ist sehr einfach: Nehmen Sie einen VPS für 3 bis 5 US-Dollar von einem beliebigen ** Low-Coster, aktivieren Sie die Protokollierung verworfener Pakete und sehen Sie sich das Protokoll an einem Tag an.

Aktivieren der Protokollierung

In /etc/iptables/rules.v4 am Ende hinzufügen:
-A INPUT -j LOG --log-Präfix "[FW - ALL]" --log-Ebene 4


Und in /etc/rsyslog.d/10-iptables.conf
: msg, enthält "[FW -" /var/log/iptables.log
& hör auf


DDoS über IP


Wenn ein Angreifer Ihre IP kennt, kann er Ihren Server für mehrere Stunden oder Tage erwürgen. Nicht alle kostengünstigen Hostings verfügen über DDoS-Schutz, und Ihr Server wird einfach vom Netzwerk getrennt. Wenn Sie den Server hinter einem CDN versteckt haben, vergessen Sie nicht, die IP zu ändern. Andernfalls googelt der Hacker sie und DDoS Ihres Servers unter Umgehung des CDN (ein sehr beliebter Fehler).


Sicherheitslücken im Service


Früher oder später werden Fehler in allen gängigen Programmen gefunden, selbst in den am meisten getesteten und kritischsten. Unter den IS-Ingenieuren gibt es einen solchen Scherz: Die Sicherheit der Infrastruktur kann zum Zeitpunkt des letzten Updates leicht beurteilt werden. Wenn Ihre Infrastruktur reich an Häfen ist, die in die Welt hineinragen, und Sie sie ein Jahr lang nicht aktualisiert haben, wird Ihnen ein Sicherheitsbeamter nicht sagen, dass Sie voller Lücken sind und höchstwahrscheinlich bereits gehackt wurden.
Erwähnenswert ist auch, dass alle bekannten Sicherheitslücken einst unbekannt waren. Stellen Sie sich einen Hacker vor, der eine solche Sicherheitsanfälligkeit gefunden und das gesamte Internet in 7 Minuten auf ihre Anwesenheit überprüft hat ... Hier ist ein neuer Virusausbruch) Es muss aktualisiert werden, aber es kann das Produkt beschädigen, sagen Sie. Und Sie haben Recht, wenn die Pakete nicht über die offiziellen Betriebssystem-Repositorys installiert werden. Erfahrungsgemäß brechen Aktualisierungen aus dem offiziellen Repository selten das Produkt.


Bruteforce


Wie oben beschrieben, gibt es eine Datenbank mit einer halben Milliarde Passwörtern, die bequem über die Tastatur eingegeben werden können. Mit anderen Worten, wenn Sie kein Kennwort generiert, aber Zeichen in der Nähe auf der Tastatur eingegeben haben, stellen Sie sicher, dass * - sie Sie entfernen.


Sicherheitslücken des Kernel-Stacks.


Es kommt vor, dass es nicht einmal darauf ankommt, welcher Dienst den Port öffnet, wenn der Netzwerkkernel-Stack selbst anfällig ist. Das heißt, absolut jeder TCP / UDP-Socket auf einem System vor zwei Jahren ist anfällig für eine DDoS-Sicherheitsanfälligkeit.


DDoS-Angriffe verstärken


Es wird keinen direkten Schaden verursachen, aber es kann Ihren Kanal verstopfen, die Belastung des Systems erhöhen, Ihre IP wird auf eine schwarze Liste gesetzt ***** und Sie werden vom Host missbraucht.


Benötigen Sie wirklich all diese Risiken? Fügen Sie Ihre IP-Adresse für Zuhause und Arbeit zur Whitelist hinzu. Auch wenn es dynamisch ist, melden Sie sich über das Host-Administrationsfenster und die Webkonsole an und fügen Sie einfach eine weitere hinzu.


Ich baue und schütze seit 15 Jahren die IT-Infrastruktur. Ich habe eine Regel entwickelt, die ich jedem wärmstens empfehlen kann - kein Port sollte ohne eine weiße Liste in die Welt ragen .


Der sicherste Webserver *** ist beispielsweise der mit 80 und 443, die nur für CDN / WAF geöffnet sind. Und Service-Ports (ssh, netdata, bacula, phpmyadmin) sollten zumindest hinter der weißen Liste stehen und noch besser für VPN. Andernfalls besteht die Gefahr, dass Sie kompromittiert werden.


Ich habe alles Halten Sie Ihre Ports geschlossen!




  • (1) UPD1 : Hier können Sie Ihr cooles universelles Passwort überprüfen ( tun Sie dies nicht, ohne dieses Passwort in allen Diensten durch zufällige zu ersetzen ), wenn es in der zusammengeführten Datenbank angezeigt wurde. Und hier können Sie sehen, wie viele Dienste gehackt wurden, wo Ihre E-Mail-Adresse angezeigt wurde, und entsprechend herausfinden, ob Ihr cooles universelles Passwort kompromittiert wurde.
  • (2) Zu Gunsten von Amazon gibt es mindestens Scans auf LightSail. Anscheinend irgendwie gefiltert.
  • (3) Ein noch sicherer Webserver ist derjenige hinter der dedizierten Firewall, ihrer WAF, aber wir sprechen von öffentlichem VPS / Dedicated.
  • (4) Segmentmak.
  • (5) Firehol.

Source: https://habr.com/ru/post/de446772/


All Articles