2 Stimmen

MySQL Bruteforce-Angriff

Ich muss mehr über MySQL-Brute-Force-Angriffe erfahren. Ich sehe MySQL-Brute-Force-Angriffe auf unserem Linux-Server, jedoch sind noch keine der Maschinen kompromittiert.

Von diesem Link habe ich herausgefunden, dass, wenn ich beim Verwenden des Telnet-Befehls von einem anderen Remote-Rechner Kauderwelschzeichen erhalte, bedeutet dies, dass der Port 3306 für die Außenwelt geöffnet ist. Aus diesem Link habe ich herausgefunden, dass, wenn ich /etc/my.cnf so modifiziere, dass skip-networking enthalten ist, alle externen Verbindungen zum Port 3306 blockiert werden.

Meine Frage ist,

Ich habe ein laufendes Programm, das sich mit dem MySQL-Server verbindet (bei dem ich die Brute-Force-Angriffe bekomme) unter Verwendung eines bestimmten Benutzernamens und Passworts (Der Benutzername ist nicht root). Wenn ich die oben genannte Zeile (skip-networking) in die my.cnf-Datei aufnehme, wird sich mein aktuell laufendes Programm beeinträchtigen?

5voto

tadman Punkte 200181

Regel #1: NIE lassen Sie Ihren MySQL-Port im Wind flattern. Es gab Fehler in MySQL, die die Sicherheitsebene aufgehoben und beliebige Remote-Codeausführung ermöglicht haben.

Sie müssen unbedingt Port 3306 nur für die kleinste mögliche Liste von IPs öffnen, und selbst dann müssen Sie immer noch vorsichtig sein. Standardmäßig verschlüsselt MySQL diese Verbindungen nicht, sodass es theoretisch möglich ist, Authentifizierungsinformationen von hier abzurufen.

Der bessere Weg, dies zu tun, besteht darin, dass jeder Rechner, der Zugriff auf Ihre Datenbank benötigt, einen einfachen SSH-Tunnel einrichtet, der entfernte Maschinen mit dem lokalen MySQL-Port verbindet.

skip-networking hat den Effekt, dass es an 127.0.0.1 (localhost) bindet, was bedeutet, dass es keine externen Verbindungen akzeptiert. Das ist sicherer, aber ohne eine strenge Firewall-Regelung leben Sie immer noch gefährlich.

3voto

Namphibian Punkte 11685

Also wie die Kommentare sagten, müssen Sie eine Firewall konfigurieren. Das Bearbeiten Ihrer my.cnf-Datei ist nicht dasselbe wie eine Firewall.

Die skip-networking-Option bedeutet im Grunde folgendes: Hören Sie überhaupt nicht auf TCP/IP-Verbindungen. Alle Interaktionen mit mysqld müssen über Unix-Sockets erfolgen. Diese Option wird für Systeme empfohlen, bei denen nur lokale Anfragen zulässig sind. Da Sie eine Remote-Verbindung zulassen müssen, sollte diese Zeile aus der my.cnf entfernt oder in den Kommentarzustand versetzt werden.

Installieren Sie eine Firewall und stellen Sie sicher, dass nur Ihr Computer eine Verbindung zur MySQL-Datenbank herstellen kann. Hier finden Sie eine Liste empfohlener Firewalls.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X