SQL Server 2012 - SA-Kontoprüfung


7

Auf einem meiner Server (Win 2012 R2) wird SQL Server 2012 ständig angegriffen, wobei das SA-Konto etwa 10 Mal pro Sekunde mit unterschiedlichen Kennwörtern getroffen wird. Ich habe kein SA-Konto, möchte aber dennoch diese Untersuchung beenden, da sie wahrscheinlich Ressourcen verbraucht. Ich überprüfe ständig die Protokolle und blockiere die fehlerhaften IPs auf Firewall-Ebene manuell. Dennoch möchte ich eine bessere Lösung. SQL Server wird lokal mit IIS ausgeführt, um seine Websites bereitzustellen. Für die Datenbankentwicklung mit SSMS muss ich nur eine Remoteverbindung zu SQL Server herstellen. Daher dachte ich zunächst, ein VPN einzurichten, bin mir aber nicht sicher, ob dies mit SSMS und anderen Diensten gut funktioniert wie FTP. Wie in der Zwischenlösung, wo kann ich verhindern, dass SQL Server an der Firewall für die Außenwelt sichtbar ist, indem Port 1433 deaktiviert wird? oder woanders? Ich kann dies dann bei der Entwicklung und möglicherweise nur für meine IP aktivieren / deaktivieren. Vielen Dank.


Sie scheinen in der Lage zu sein, IPs in der Windows-Firewall zu blockieren. Ich bin sicher, dass das Schließen von Ports auch als Option verfügbar sein sollte, oder?
Mustaccio

Ich habe den SQL-Port geschlossen und damit die gesamte Prüfung gestoppt. Ich muss daran denken, meine IP jederzeit (dynamische IP) für die Entwicklung zu aktivieren. Gibt es nicht ein Tool, das die Windows-Protokolldateien überprüft und bei Ereignissen, bei denen ein SQL-Test angezeigt wird, die IPs zur Firewall hinzufügt, um sie automatisch zu blockieren?
Nelson Pires

Möglicherweise gibt es ein solches Tool, aber dann 1) möchten Sie möglicherweise klären, was Sie in der Frage selbst stellen, und 2) es handelt sich nicht um ein SQL Server-Problem. Sie haben vielleicht eine bessere Chance, bei Server Fault
mustaccio

Sie können einen Port Forwarder und einen Proxy verwenden, um die Dev-Box von derselben IP-Adresse aus zu erreichen. Sie können RDP in dieses Netzwerk einbinden, um die Arbeit zu erledigen. Sie können die IP-Einstellungen automatisieren und nur während der Arbeit deaktivieren und dann wieder einschalten. Sie können es als Teil eines Octopus / Jenkins-Systems einrichten, wie Sie es bei Dev tun. Es gibt viele Möglichkeiten. Arbeiten Sie für Sie?
Ali Razeghi

Antworten:


5

SQL Server wird lokal mit IIS ausgeführt, um seine Websites bereitzustellen

Das Hauptproblem besteht darin, dass SQL Server und IIS auf demselben Server ausgeführt werden. IIS bedient Website und SQL Server sollte sich auf einem anderen Server befinden und nur eine Verbindung von IIS zu SQLServer zulassen.

Es gibt Dinge, die Sie tun können, um das Problem zu lösen:


Wenn sich SQL Server auf einem anderen Server befindet, tritt eine Verzögerung bei der Reaktionsfähigkeit von Webseiten auf, da Daten weiter als lokal angefordert werden müssen. Daher ist dies im Moment ein Nein für mich. Ich werde versuchen, die Portänderung von der Standardeinstellung abzuwenden. Vielleicht hilft das bei minimalen Nebenwirkungen. Auch das Anmeldeauslöserskript ist eine großartige Idee und wird bald vollständig getestet. Deaktivieren Sie vorerst die Firewall-Eingangsregel für SQL Server, und das macht einen großartigen Job mit minimalen Unannehmlichkeiten. Vielen Dank.
Nelson Pires

7

Der IIS auf diesem Server soll also von Ihrem internen Datennetzwerk aus extern zugänglich sein, aber die SQL Server-Instanz auf demselben Server soll keine externen Verbindungen zulassen, außer nur über die Webschnittstellen Ihrer Anwendungen. Richtig?

Wenn ja, wird das Hinzufügen einer expliziten Regel in der Windows-Firewall auf diesem Server nicht akzeptiert, damit nur die privaten IP-Adressbereiche über ein lokales Netzwerk an SQL Server-Ports eine Verbindung herstellen können? Ich gehe davon aus, dass Sie Ihren internen IP-Adressen an diesem Port vertrauen und diese nicht als Authentifizierungsversuche mit böswilliger Absicht vermuten?

Ermöglichen Sie den IIS-Apps [localhost IP] die Authentifizierung bei SQL (möglicherweise müssen Sie die Site-Bindungen usw. überprüfen und / oder auch interne DNS-Zeiger einrichten).

Auf Ihrer externen Seite sollten Sie nur zulassen, dass der Port 80 oder 443 Forward / NAT nur an diesen Ports auf den IIS-Server portiert, und nicht an allen Ports Web-App-Ports, über die Sie von der externen Schnittstelle mit Ihren Firewall-Appliance-Proxys usw. zu diesem Server gelangen können.

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.