Was kann ich tun, wenn jemand versucht, sich brutal bei unserem SQL Server-Konto "sa" anzumelden?


9

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?

Anmeldeversuche


1
Hallo. Markieren Sie es als beantwortet, damit wir mit unserem Leben weitermachen können. :)
JohnThePro

Antworten:


29

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.


3
Absolut das. Dies ist ein klassischer Fall für die Verwendung von Firewalls und die Minimierung Ihrer Angriffsfläche.
Rob Moir

Außerdem ist es nicht jemand. Es ist so ziemlich ein Wurm da draußen, kein Mensch. SQL Server im Internet + Standardport nicht ändern = Realität völlig ignorieren (Internet kein schöner Ort).
TomTom

5

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.


3

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.


1433; Wenn es nach außen offen sein muss, ändern Sie es in fast alles andere. Dazu müssen jedoch die Verbindungszeichenfolgen auf den Clients geändert werden.
SqlACID

Und auch 1434, für den Entdeckungsdienst ...
AviD

3

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.


2

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.


2
  • Wenn Sie können, deaktivieren Sie den gesamten SQL-Kontozugriff und aktivieren Sie nicht nur die Windows-Authentifizierung ohne SQL-Authentifizierung.
  • Beschränken Sie den Netzwerkzugriff - entweder über eine Firewall oder zumindest IP-Einschränkungen für Box - auf diejenigen Server, die nur Zugriff benötigen. Öffentliche Benutzer benötigen keinen direkten Zugriff, oder?
  • Berücksichtigen Sie, dass er wahrscheinlich als Nächstes versuchen wird, den lokalen Administrator-Benutzer brutal zu erzwingen. Obwohl Sie die Berechtigungen des Administrators nicht wirklich entfernen können, können Sie sie einer bestimmten Rolle zuordnen und den Zugriff explizit blockieren.
  • Wenn Sie können, deaktivieren Sie den SQL Server-Browserdienst. Kein Grund, es einfacher zu machen ...
  • Führen Sie eine vollständige Analyse der Benutzer, Berechtigungen und Kennwörter in der Datenbank durch. Sie werden wahrscheinlich als Nächstes andere Benutzer ausprobieren.
  • Versuchen Sie dies noch einmal auf ITSecurity.SE für weitere Informationen :)

2

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.


1

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


Sie legen gute Arbeit bei der Offenlegung Ihrer Zugehörigkeit zum Produkt. Seien Sie vorsichtig, wir schätzen Verkaufssitzungen im Allgemeinen nicht.
Scott Pack

0

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.


1
Das Konto ist bereits deaktiviert, es kann nicht mehr deaktiviert werden.
Mrdenny

@mrdenny: Ich habe mehr über die nicht deaktivierten Konten für den ersten Absatz nachgedacht. Wenn jemand brutal "sa" erzwingt, kann er leicht mit einem anderen Konto beginnen. Blockieren Sie sie nach 5 Versuchen mit einem deaktivierten Konto vollständig.
DisgruntledGoat

Skriptkätzchen greifen normalerweise nur das sa-Konto an, da sie den Benutzernamen bereits kennen. Andernfalls müssen sie auch den Benutzernamen brutal erzwingen, was doppelt so lange dauert und sie können nicht wissen, ob der Benutzername existiert oder nicht.
Mrdenny
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.