Es sieht so aus, als würde jemand oder etwas einen Brute-Force-Versuch unternehmen, sich mit dem Konto 'sa' bei unserer SQL Server-Produktionsinstanz anzumelden. Sie waren nicht erfolgreich, weil unser "sa" -Konto deaktiviert ist. Aber welche Schritte sollte ich unternehmen, um sicherzustellen, dass die Dinge sicher sind?
security
sql-server-2008
Jon Erickson
quelle
quelle
Antworten:
Muss Ihr SQL Server öffentlich für das Internet verfügbar sein? Dies ist normalerweise nicht der Fall. Wenn dies unbedingt so sein muss, können Sie den Zugriff über die IP-Adresse einschränken oder ein VPN einrichten. Machen Sie das sa-Passwort offensichtlich nicht erratbar oder sehen Sie, wie Sie die sa-Anmeldeorte nur von Ihren LAN-IP-Adressen einschränken. Bitte geben Sie weitere Details an, damit andere Sie bei besseren Lösungen unterstützen können.
quelle
Das erste, was Sie tun können, ist, diese IP-Adresse auf die schwarze Liste zu setzen und JEDEN Datenverkehr von ihrer IP an Ihrer Firewall direkt abzulehnen. Natürlich können sie nur die IPs ändern, aber zumindest wird dadurch verhindert, dass sie Ihren Server mit Datenverkehr und Protokollen bombardieren.
quelle
Deaktivieren Sie diesen Port (MySQL ist 3306; erinnern Sie sich nicht an den SQL Server-Port, vielleicht 118?) Über die Firewall. Dann kann niemand darauf zugreifen.
Wenn ein externer Zugriff auf SQL erforderlich ist, ordnen Sie ihn einem Port mit hoher Nummer wie 53535 zu. Wenn jemand herausfindet, dass dieser Port offen ist, ist seine Bedeutung schwer zu erraten.
quelle
Bei der Anmeldung wird versucht, schädlichen Code einzufügen. Ich empfehle, diese Aktivität mit einer permanenten Blacklist zu blockieren, indem Sie entweder die Firewall-Software des Servers oder eine externe Firewall eines Drittanbieters verwenden.
Reduzieren Sie außerdem die Anzahl der zulässigen Anmeldefehler, da dadurch die IP-Adresse des Eindringlings automatisch blockiert wird.
Oben wird dies minimiert.
quelle
Es ist wahrscheinlich nur ein Script-Kiddie, der einen Scanner betreibt und Ihre Zeit nicht wert ist. Ich würde versuchen, Ihre Datenbank nicht über das Internet zugänglich zu machen.
quelle
quelle
Wenn auf Ihren SQL Server außerhalb Ihres Netzwerks zugegriffen werden muss, können Sie die externen IP-Adressen, die Zugriff benötigen, auf die Whiteliste setzen. VPNs sind eine bessere Lösung (aber nicht immer verfügbar), und die beste Lösung ist kein externer Zugriff.
Whitelisting erfordert mehr Management, beseitigt jedoch diese Albernheit. Wenn jemand Zugriff benötigt und eine häufig wechselnde IP-Adresse hat, kann er sich über RDP bei einem anderen System anmelden und von dort aus eine Verbindung zum SQL Server herstellen.
Benennen Sie das sa-Konto um, erstellen Sie ein falsches sa-Konto und deaktivieren Sie es.
Überprüfen Sie die Berechtigungen und lösen Sie eine Kennwortaktualisierung für alle SQL Server-Benutzerkonten aus. Erhöhen Sie möglicherweise die Anforderungen an die Kennwortstärke.
Nummerieren Sie den SQL Server IP-Überwachungsport neu. Dies bedeutet, dass Clientkonfigurationen oder Anwendungskonfigurationsdateien aktualisiert werden.
Ich stimme anderen Postern hinsichtlich der wahrscheinlichen nächsten Angriffsmethoden zu, und dies ist wahrscheinlich jemand, der ein Skript ausführt.
quelle
Für alle, die nach einem Programm suchen, das die IPSEC-Richtlinie, Filter usw. erstellt und das Ereignisprotokoll automatisch scannt und IP-Adressen zur Sperrliste hinzufügt, habe ich ein kleines Programm geschrieben, das genau das tut.
Ich hatte auch dieses Problem, bei dem mein Ereignisprotokoll mit Tausenden von Einträgen für Hacker gefüllt war, die versuchten, sich mit dem 'sa'-Login bei meiner MSSQL-Instanz anzumelden. Nach langem Suchen habe ich beschlossen, mein eigenes Programm zu schreiben, die erforderlichen IPSEC-Elemente zu erstellen und dann das Ereignisprotokoll alle 60 Sekunden nach Angriffen von neuen IP-Adressen zu durchsuchen. Anschließend wird die IP-Adresse zum IPSEC-Filter hinzugefügt und der gesamte Datenverkehr zur und von der IP blockiert. Ich habe dies nur unter Windows Server 2008 getestet, glaube aber, dass es auch mit anderen Versionen funktioniert.
Fühlen Sie sich frei, das Programm über den unten stehenden Link herunterzuladen. Spenden werden immer über den Link im Kontextmenü des Taskmanager-Symbols geschätzt.
http://www.cgdesign.net/programs/AutoBlockIp.zip
Bitte beachten Sie, dass dies nur für SQL-Anmeldeversuche mit dem 'sa'-Login funktioniert. Ich kann es jedoch so ändern, dass es auch für andere Protokollereignisse funktioniert. Sie können auch die blockierten IP-Adressen anzeigen, einige Elemente werden jedoch weiterhin im Ereignisprotokoll angezeigt, da das Programm nur alle 60 Sekunden ausgeführt wird. Dies liegt daran, dass kein einzelner Ereignisprotokolleintrag gelöscht werden kann, und ich hielt das Löschen des gesamten Protokolls nicht für eine gute Idee.
HAFTUNGSAUSSCHLUSS - Durch das Herunterladen und Installieren des oben genannten Programms erklären Sie sich damit einverstanden, mich für Schäden, Datenverlust, Beschädigungen oder andere Funktionsprobleme, die sich aus der Verwendung dieser Software ergeben, schadlos zu halten. Ich habe das Programm nach besten Kräften getestet und es läuft derzeit auf 2 Servern. Sie wurden jedoch gewarnt, es auf eigenes Risiko zu verwenden.
Bei Fragen oder Kommentaren können Sie sich gerne über das Kontaktformular auf meiner Website unter www.cgdesign.net an mich wenden
-Chris
quelle
Sie sollten Anmeldeversuche einschränken. Wenn derselbe Benutzer mehr als fünf Mal versucht, sich anzumelden, wird er für einige Stunden oder einen Tag für weitere Versuche gesperrt. Zumindest können sie dann nach einer Million Versuchen keine brutale Anmeldung erzwingen.
Und wie andere gesagt haben, erlauben Sie keinen öffentlichen Zugang, wenn es nicht notwendig ist. Sie können den Zugriff auf eine Reihe bekannter IP-Adressen einschränken, wenn einige Personen Zugriff von außen benötigen.
quelle