SSL uitschakelen voor nieuwe SQL Server verbinding

Is het mogelijk om SSL verificatie uit te schakelen voor één nieuwe SQL Server verbinding? Momenteel krijgen wij onderstaande melding, en het is voor nu niet mogelijk om SSL in te stellen.

itgenclr064
The database ‘Invantive Cloud - Test SqlServer’ could not be opened.
A connection was successfully established with the server, but then an error occurred during the pre-login handshake.
(provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed).
End of stream reached.

Het overslaan van SSL-verificatie op Invantive Cloud is op dit moment waarschijnlijk mogelijk door handmatig de connection string aan te passen (zie Secure Data Connections).

Vanuit informatiebeveiligingsoogpunt is het ongewenst om data niet-versleuteld over het Internet te sturen. Met niet-gevoelige data is dat niet zo’n punt normaliter, maar gelieve de aard van de data zorgvuldig te toetsen tegen het geldende beleid van de organisatie.

Hou er rekening mee dat het verstandig is om SSL te realiseren; het is mogelijk dat zonder vooraankondiging in een toekomstige release deze uitschakelmogelijkheid verwijderd wordt voor Invantive Cloud-applicaties.

Een eenvoudige wijze om SSL in te stellen is het gebruik van SQL Server op Azure. Daar zijn de certificaten altijd netjes geïnstalleerd.

Hoe kan ik de connection string handmatig bewerken bij het aanmaken van een nieuwe database?

Dat is bewust niet mogelijk gemaakt in verband met eerder genoemde zorgen omtrent de veiligheid. Workaround is om een verbinding te maken naar een database die wel SSL ondersteunt en dan handmatig de connection string aan te passen bij de desbetreffende datacontainer. Vervang dan ook de host name (bijvoorbeeld “x.database.windows.net” wordt dan “on-premises.sql.server.acme.com”).

Connection string handmatig aangepast en Encrypt=false; toegevoegd, maar krijg dan nog steeds dezelfde error. Zijn er nog andere mogelijkheden of is SSL instellen de enige optie?

The database 'Invantive Bridge Online - User d31ac2f1-9806-4934-90c4-60885caefa9a: Database 3369' could not be opened. A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed). End of stream reached.

Foutmelding bij datacontainer:

itgenclr064
The database ‘Invantive Bridge Online - User d31ac2f1-9806-4934-90c4-60885caefa9a: Database 3369’ could not be opened.
A connection was successfully established with the server, but then an error occurred during the pre-login handshake.
(provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed).
End of stream reached.

De foutcode itgenclr064 staat voor EndOfStreamException. De error 31 geeft aan dat Invantive Cloud wel contact kon maken met de SQL Server-instance, maar dat het opbouwen van een via TLS-beveiligde verbinding niet lukte gedurende de “pre-login handshake”.

Merk op dat alle Invantive-producten het gebruik van minimaal TLS 1.2 vereisen. TLS 1.0 is juni 2018 vervallen en TLS 1.1 maart 2020. Er is geen mogelijkheid meer momenteel of in de toekomst om oudere TLS-versies te gebruiken uit overwegingen van informatiebeveiliging.

Gelieve te controleren dat TLS volledig uitstaat indien met Encrypt=false gewerkt wordt. Hou hierbij rekening mee dat de bedrijfsgegevens onversleuteld langs Internetknooppunten reizen en inzichtelijk zijn.

Om welke SQL Server-versie gaat het?

Dit is voor de on-premises versies te vinden met serverproperty('ProductVersion').

Welke TLS-versie wordt ondersteund?

Dit is met openssl te achterhalen via:

openssl s_client -connect IPADDRESS:1433 -ssl3
openssl s_client -connect IPADDRESS:1433 -tls1
openssl s_client -connect IPADDRESS:1433 -tls1_1
openssl s_client -connect IPADDRESS:1433 -tls1_2
openssl s_client -connect IPADDRESS:1433 -tls1_3

Een van de laatste twee statements moet succesvol zonder foutmeldingen eindigen voor gebruik met Invantive-producten.