So schützen Sie SQL Server vor Hackern

So schützen Sie SQL Server vor Hackern

Ich habe ein Problem und weiß nicht, wie ich es lösen soll. Ich habe einen SQL Server auf einem Windows 2008 R2-Server. Dieser SQL Server 2005 wird verwendet, um DB-Abonnements von einem anderen SQL Server zu empfangen, der sich an einer anderen Stelle im Internet befindet. Ich habe den SQL Server-Port durch die Firewall geöffnet, habe jedoch im Bereich die IP des anderen SQL Servers eingegeben. Dabei habe ich gehofft, dass Verbindungsanfragen über diesen Port den SQL Server nicht erreichen, es sei denn, die Anfragen kommen vom anderen SQL Server (dessen IP im Bereich in der Firewall-Regel aufgeführt ist). Aber wenn ich mir das Protokoll ansehe, sind dort Hunderte von „Login fehlgeschlagener Benutzer SA“-Einträgen (und sie kommen jede Sekunde). Es scheint, als würde ein Hacker versuchen, das Passwort des Benutzers SA mit Brute Force zu erraten. Die Frage ist jedoch, warum Windows diese Anfragen den SQL Server erreichen lässt, obwohl sie nicht von der IP-Adresse kommen, die im Firewall-Bereich aufgeführt ist. Wie kann ich diesen SQL Server richtig schützen? Für die Verbindung mit diesem SQL Server ist keine andere IP als die des anderen SQL Servers erforderlich.

EDIT - Weitere Infos:

Ich habe Telnet auf dem SQL-Server-Port von verschiedenen Rechnern aus ausgeführt. Telnet schlägt fehl, außer wenn es von dem Rechner ausgeführt wird, der ausdrücklich im Firewall-Bereich erwähnt wird. Es scheint also, dass die Firewall den SQL-Server-Port problemlos blockiert. Aber warum sehe ich dann diese fehlgeschlagenen Anmeldeanforderungen an den Benutzer „sa“ von verschiedenen IP-Adressen im SQL-Server-Protokoll? Ist es möglich, dass der Hacker über Port 80 in den Rechner eindringt und dann irgendwie versucht, eine Verbindung zum SQL-Server herzustellen? Port 80 und 443 sind für alle offen. Alle anderen Ports sind geschlossen, mit Ausnahme des SQL-Server-Ports (und dieser ist nur für eine bestimmte IP offen). Auf dem Webserver läuft auf Port 80 nichts, was einen Besucher zum SQL-Server führen könnte. Tatsächlich gibt es auf dem Webserver nur eine Datei index.html (reines HTML ohne Verbindung zu SQL). Dies ist nur ein Testserver, der für die zukünftige Verwendung eingerichtet wird. Nur Testdaten im SQL-Server.

BEARBEITEN:

Ich habe die Firewall-Verfolgung aktiviert, um sowohl unterbrochene als auch erfolgreiche Verbindungen einzubeziehen. Jetzt wird alles verfolgt. Dann gehe ich zum SQL Server-Protokoll, wo ich diese fehlgeschlagenen Anmeldeversuche von verschiedenen IP-Adressen in China sehe. Aber es gibt keine Einträge für diese IP-Adressen im Firewall-Protokoll. Wie ist das möglich? Können sie auf den SQL Server zugreifen, indem sie die Firewall vollständig umgehen? Angenommen, ein Firewall-Port wäre geöffnet, über den sie eintreten könnten, dann müsste das Firewall-Protokoll einen Eintrag für diese IP-Adresse enthalten. Ich bin völlig ratlos.

Antwort1

Klingt so, als wäre Ihre Firewall nicht richtig konfiguriert. Dies ist der erste Schritt.

Normalerweise würde ich kein Buch, das ich geschrieben habe, anpreisen, aber in diesem Fall mache ich eine Ausnahme. Es heißtSichern von SQL Serverund es wird Ihnen einen guten Start ermöglichen.

Antwort2

Einfach gesagt: Das müssen Sie nicht. Ich würde keine Firewall usw. verwenden – ein SQL-Server hat kein Recht, im Internet zu sein. SEHR, SEHR wenige Ausnahmen.

Richten Sie für die Replikation ein geeignetes VPN ein.

Antwort3

Neben der ordnungsgemäßen Konfiguration der Firewall finden Sie hier einige allgemeine Empfehlungen, um SQL Server vor Brute-Force-Angriffen zu schützen:

  • Deaktivieren Sie das „sa“-Konto. Die Kenntnis des genauen Anmeldenamens erleichtert Angriffe

    ALTER LOGIN sa DISABLE
    

Eine andere Möglichkeit besteht darin, das „sa“-Konto in einen weniger offensichtlichen Namen umzubenennen

ALTER LOGIN sa WITH NAME = SimonXZY
  • Verwenden Sie die Windows-Authentifizierung anstelle der Authentifizierung im gemischten Modus. Die Windows-Authentifizierung erzwingt die Windows-Kennwortrichtlinie und sperrt die Anmeldung bei aufeinanderfolgenden fehlgeschlagenen Anmeldeversuchen.
  • Überprüfen Sie fehlgeschlagene Anmeldungen. Am einfachsten geht das, indem Sie die Option „Anmeldeüberwachung“ in den Servereigenschaften auf der Registerkarte „Sicherheit“ auf „Nur fehlgeschlagene Anmeldungen“ oder „Sowohl fehlgeschlagene als auch erfolgreiche Anmeldungen“ einstellen. Dies schützt Sie zwar nicht vor Brute-Force-Angriffen, hilft Ihnen jedoch, sich der Angriffe bewusst zu sein.

Weitere nützliche Empfehlungen hier: Brute-Force- oder Wörterbuchangriffe verhindern: So halten Sie die Brute-Force-Angriffe von Ihrer Beute fern

verwandte Informationen