Konfigurieren von verschlüsselten SQL-Server-verbindungen verhindert MITM-Angriffe?
Kommen, hat es zu meiner überraschung, dass SQL Server standardmäßig tut nichts, um zu verhindern, dass man-in-the-middle-Angriffe bei der Konfiguration Ihres SQL-Servers zu erzwingen, Verbindung, Verschlüsselung.
Erzwingen Sie die Verschlüsselung für Ihren verbindungen ist tot-ganz einfach. Gehen Sie auf Sql Server-Konfigurations-Manager, erweitern Sie SQL Server-Netzwerkkonfiguration-Protokolle für [Ihre Instanz] mit der rechten Maustaste auf TCP/IP ändern, Erzwingen der Verschlüsselung auf 'Yes', starten Sie SQL Server neu und du bist fertig.
Pro Microsoft TechNet (https://technet.microsoft.com/en-us/library/ms189067(v=sql.105).aspx), dies generiert ein selbstsigniertes Zertifikat. Gut, kein problem, Aber ich erwarte, dass meine Kunden beschweren sich, dass das Zertifikat nicht vertrauenswürdig ist. Aber das tun Sie nicht. Sie glücklich zu verbinden. Ich merke dann, dass 'Trust-server-Zertifikat' ist standardmäßig aktiviert in SQL Management Studio. In Ordnung, aber die meisten schockierende Erkenntnis: auch wenn Sie den Haken bei "Trust-server-Zertifikat", SSMS nicht beschweren, warnen, ablehnen, oder die Verbindung.
Also durch Standard-SQL-Server ist vollständig anfällig für MITM-Angriffe, weil die Kunden nichts tun, um das Zertifikat zu überprüfen, die von SQL Server. Das Zertifikat sollte nicht von einer ZERTIFIZIERUNGSSTELLE signiert: sollte das Zertifikat konfiguriert werden, als vertrauenswürdiges Zertifikat auf dem client. Wenn das nicht stimmt, was ist das "Trust-server-Zertifikat" - checkbox für?
- Ist Offtopic. Keine Programmier-Frage, wirklich. Dies ist mehr server-Konfiguration. Versuchen Sie die DBA-site oder serverfault, vielleicht.
- Verschoben: dba.stackexchange.com/questions/147642/...
- Was passiert, wenn Sie setup eine Jungfrau-system mit Vertrauen freigelassen? Vielleicht war er schon Hinzugefügt, der server-cert oder ca-Zertifikat, um seine trust-Liste.
- Ich dachte, die gleiche Sache - ich verbunden, um es von einem jungfräulichen system, passiert dasselbe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen Verwenden Von Verschlüsselung Ohne Überprüfung. Abgesehen von der Einstellung für die Verbindung, das Vertrauen eines Server-Zertifikats', gibt es eine andere Einstellung, die client Einstellung 'Trust-Server-Zertifikat', das konfiguriert ist, aus den Konfiguration-Manager. Wenn alle der beiden gesetzt ist, wird ein selbst-signiertes Zertifikat erfolgreich sein wird (ist eigentlich ein wenig komplexer als die client-Einstellung
No
wird, überschreiben die Einstellung für die Verbindung... siehe den link).SQL Server 2016 Versionen Schiff, die mit TLS 1.0 auf TLS 1.2-Unterstützung (Transport Layer Security).
TLS 1.0, 1.1 und SSL 3.0 sollte deaktiviert und verwenden nur TLS 1.2 für client-server-Kommunikation.
anderen Versionen von SQL Server unterstützt wird, die mit TLS 1.2 mit CU kumulative update )
SQL server verwendet ein Protokoll namens TDS als einer Anwendungsschicht über TCP. Keine bekannten Schwachstellen wurden für den Microsoft TDS Umsetzung.
Da mehrere standards, die Durchsetzung Organisationen sind Pflicht, die Nutzung von TLS 1.2 für verschlüsselte Kommunikationskanäle, Microsoft veröffentlicht die Unterstützung für TLS 1.2 für die weit verbreitete installation von SQL Server Basis.
Kritik: TLS 1.2-Unterstützung für Microsoft SQL Server
Ist SQL Server Verhindert MITM-Angriffe (Man In The Middle)
Certificate authority system ist entworfen, um zu stoppen, die man-in-the-middle-Angriffe. In TLS, die SQL server verwendet den privaten Schlüssel Ihr Zertifikat zum herstellen einer gültigen Verbindung und verschlüsseln Sie allen Verkehr über Draht.
Hält der server den geheimen Schlüssel, so ist der man-in-the-middle-können nicht die SQL server real-Zertifikat;
Die Verwendung von selbst signierten Zertifikaten :
Die Verwendung von selbst signierten Zertifikaten ist nicht zulässig in der Produktion Umwelt, sondern kann eingesetzt werden in der test-Umgebung.
Verwenden SHA256 signiertes Zertifikat/Kette, SHA1 ist obsolet.
Können Sie gelten die Regeln in Bezug auf Server-Zertifizierung beschrieben, die in Transport Layer Protection Cheat Sheet
Windows-Administratoren können aktivieren von TLS 1.2-Unterstützung für Windows O. S zu erhalten, nutzen von TLS 1.2
Für Ihren Punkt:
SQL Server standardmäßig tut nichts, um zu verhindern, dass man-in-the-middle-Angriffe bei der Konfiguration Ihres SQL-Servers zu erzwingen, Verbindung, Verschlüsselung.
Sicherheit ist eine Politik, geführt von einer security policy schriftlich dokumentieren und umgesetzt durch Administratoren O. S/die Datenbank/das Netzwerk/Anwendung... und geprüft.
Ist SQL server entspricht den Sicherheits-standard?
Die Antwort ist ja. Vor kurzem ALLE alten SQL-Server 2008/2012 immer TLS-1.2-Unterstützung mit CU.
Fazit: