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.
quelle
Antworten:
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:
SA
in etwas Ungewöhnliches um, zDoNotUseThisLogin
. B. und deaktivieren Sie es. Verwenden Sie NUR die Windows-Authentifizierung.quelle
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.
quelle