Möglicher Angriff auf meinen SQL Server?

15

Wenn ich mein SQL Server-Protokoll überprüfe, sehe ich mehrere Einträge wie diesen:

Date: 08-11-2011 11:40:42
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:42
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.


Date: 08-11-2011 11:40:41
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:41
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.

Und so weiter. Ist das ein möglicher Angriff auf meinen SQL Server von den Chinesen ???! Ich habe die IP-Adresse auf ip-lookup.net nachgeschlagen und festgestellt, dass es sich um eine chinesische Adresse handelt.

Und was zu tun?

  • IP-Adresse in der Firewall blockieren?
  • Löschen Sie den Benutzer sa?

Und wie schütze ich meinen Webserver am besten ?!

Danke im Voraus!

Behrens
quelle

Antworten:

30

Wenn Sie eine Firewall haben, warum ist der Datenbankserver dem Internet ausgesetzt?

  • Die Firewall sollte den Zugriff auf BEIDE Server mit Ausnahme der erforderlichen Ports blockieren. Normalerweise sind dies NUR 80 (http) und 443 (https) für den Webserver.
  • Wenn (und nur wenn) ein externer Dienst Zugriff auf den SQL Server erfordert, gestatten Sie den Zugriff auf die spezifischen IP-Adressen, die an der Firewall erforderlich sind. Dies sollte über eine VPN-Verbindung erfolgen, die 1433 nicht öffentlich zugänglich ist.
  • Erstellen Sie ein neues Administratorkonto und deaktivieren Sie die Standardeinstellung "sa".
  • Wechseln Sie vorzugsweise von der Verwendung der Authentifizierung im gemischten Modus zu Windows-Konten.
Mark Storey-Smith
quelle
10

Melden Sie dies zunächst der für die Netzwerk- und Systemsicherheit in Ihrem Unternehmen zuständigen Person. Wenn es keine solche Person gibt, werfen Sie diese an den Netzwerkadministrator. Wenn es keine solche Person gibt, rufen Sie sofort den CIO / CTO an - noch besser, fordern Sie ein persönliches Gespräch - und erklären Sie die Situation.

Die erste Sache, die diese Person tun sollte, ist die IP von der Firewall zu blockieren. Das verschafft Ihnen ein wenig Zeit, aber nicht viel, vielleicht nur Minuten. Wenn die IP-Adresse einem von WhoIs.net angegebenen IP-Bereich zugeordnet ist, blockieren Sie den gesamten von WhoIs angegebenen IP-Bereich. Dadurch wird der Typ daran gehindert, eine neue IP von seinem ISP anzufordern und mit einer neuen IP einzusteigen. Für ein paar Minuten vielleicht.

Dann machen Sie, was Mark-Storey Smith oben sagt.

Fügen Sie dann entweder eine Firewall hinzu oder verschieben Sie die Datenbank aus der DMZ. Wenn Sie bereits eine Firewall haben und sich die Datenbank nicht in der DMZ befindet, müssen Sie sofort forensisch überprüfen, ob zwischen Ihnen und der Firewall eingreifende Server kompromittiert wurden (höchstwahrscheinlich). Ändern Sie ALLE Administratorkennwörter in sehr lange komplexe Kennwörter - sa, Windows-Administrator, Domain-Administratoren, lokale Administratoren, ALLE. Überprüfen Sie anschließend jeden Server in Ihrem Netzwerk und löschen Sie alle Administratorkonten, die Sie nicht kennen oder die für frühere Mitarbeiter oder Berater, die das Unternehmen verlassen haben, nicht mehr gültig sind. Dann scannen Viren und Malware alles auf jedem Server.

Machen Sie dann einen zweiten Durchgang und überprüfen Sie noch einmal alle oben genannten Punkte.

Viel Glück.

bretlowery
quelle
2
Die Chancen stehen gut, dass die Person, die den Server angreift, nicht vor seinem Computer sitzt und ein Passwort nach dem anderen versucht. Es ist wahrscheinlich ein verteiltes Botnetz, das nur nach Lücken sucht. Diese Art von Angriff ist bei allen Diensten, die Sie im Internet bereitstellen, üblich. Der erste Schritt besteht also nicht darin, eine einzelne IP-Adresse zu blockieren, sondern das Administratorkennwort und den Benutzernamen zu ändern. Wenn es ein gutes Passwort ist, werden Sie mit diesem einfachen Schritt Jahre, nicht Minuten, verdienen.
Phil
8

Blockieren Sie alle Verbindungen zu Ihrer Datenbank, die nicht von Ihren Webservern stammen. Ja wirklich.

Antti Rytsölä
quelle
Derzeit kann SQL Server dies nicht ausführen. Sie müssen dazu auf eine Firewall oder Windows angewiesen sein. Siehe hierzu blogs.msdn.com/b/sql_protocols/archive/2006/04/10/572605.aspx
Dharmendar Kumar 'DK'
8

Vergessen Sie nicht, nicht nur die Firewall so zu konfigurieren, dass nicht autorisierter Datenverkehr blockiert wird, sondern fügen Sie auch Ihr Windows-Konto der Sysadmin-Rolle hinzu und deaktivieren Sie das SA-Konto! Deaktivieren Sie auch die SQL-Authentifizierung.

datagod
quelle
8

Sie sollten keinen Ihrer Server im öffentlichen Internet haben, ohne dass eine Firewall den gesamten Netzwerkzugriff vom Internet auf die SQL Server blockiert. Wenn Sie Port 1433 geöffnet haben, welche anderen Ports müssen geöffnet sein? Ich schätze, Sie haben viele Ports für das Internet geöffnet, und wenn dies der Fall ist, haben Sie wahrscheinlich Leute, die Ihren SQL Server für Dinge verwenden, die Sie nicht möchten.

Sie müssen einen Fachmann hinzuziehen, um sich die Systeme anzusehen und Ihre Sicherheit so schnell wie möglich zu beheben. Gott weiß nur, ob Menschen erfolgreich in das System eingebrochen sind oder nicht. (Ja, ich bin ein Berater , ja, ich kann die Arbeit machen, nein, ich sage nicht, dass Sie mich einstellen müssen.)

Zumindest müssen Sie sich über Netzwerksicherheit und Datenbanksicherheit informieren (ich habe sogar ein Buch zu diesem Thema) und Ihre Systeme sichern.

Die Schritte, die Sie an dieser Stelle grundsätzlich befolgen müssen, sind ...

  1. Richten Sie Ihre Firewall so ein, dass alle eingehenden Verbindungen mit Ausnahme der tatsächlich benötigten blockiert werden
  2. Führen Sie einen SEHR guten Virenscan des SQL Servers durch. Wenn Sie noch keinen Virenscanner auf dem SQL Server installiert haben, gehen Sie davon aus, dass dieser infiziert ist, und formatieren Sie den Computer.
  3. Richten Sie die Datenbanksicherheit gemäß den empfohlenen Vorgehensweisen ein: sichere Kennwörter, geringste Berechtigungen usw.
  4. Führen Sie einen Virenscan aller anderen Server im Unternehmen durch. Wenn sie noch keine Virenscanner installiert haben, gehen sie davon aus, dass sie infiziert sind, und formatieren sie.
mrdenny
quelle
Das Problem ist, dass ich wirklich nicht weiß, welche eingehenden Verbindungen ich benötige und mein Budget es mir nicht erlaubt, einen Profi einzustellen. --- Ich verwende meinen Server auch als Mailserver, weshalb ich die Ports pop3, imap und smtp benötige. Ich verwende FTP zum Hochladen meiner Webseiten, MSSQL als SQL-Server und PLESK sind installiert (einschließlich HORDE-Webmail). --- Das ist im Grunde mein Setup. - Ich habe die SQLS-Sicherheitszuordnung gemäß umbenannt und deaktiviert und den Windows-Administrator gemäß umbenannt.
Behrens
Meine Firewall-Einstellungen lauten: oltm.dk/x/settings.jpg - Meine eingehenden Regeln lauten: oltm.dk/x/inbound.txt - Meine ausgehenden Regeln lauten: oltm.dk/x/outbound.txt - Vielleicht Sie Helfen Sie mir, die Einstellungen zu überprüfen und die nicht benötigten Regeln zu entfernen? --- Die aufgeführten Regeln sind NUR diejenigen, die aktiviert sind. Alle Behinderten werden nicht angezeigt (sie sind sowieso nicht aktiv?)
Behrens
@erizias , wenn Sie Hilfe beim Einrichten der Firewall benötigen, können Sie bessere Antworten bekommen Super User oder möglicherweise Server Fehler oder vielleicht sogar Informationssicherheit
jcolebrand