2009-06-11 3 views
2

Es gibt Zeiten, in denen wir eine ODBC-Verbindung über die "Röhren" zu einem unserer Kunden erstellen müssen. Wir möchten unseren Kunden so viel Sicherheit wie möglich bieten, da wir ODBC und, gut ... verwenden.sichere ODBC-Verbindung - Oxymoron?

Wie auch immer, es gibt eine Checkbox Einstellung in der SQL Server DSN, die sagt "Verwenden starke Verschlüsselung für Daten" , aber absolut keine Dokumentation dafür. Die einzigen Hinweise, die ich in den Google-Netzen finden kann, sind unbeantwortete Fragen - nicht sehr ermutigend. Hat jemand eine Ahnung, was es macht oder wie es funktioniert? Wenn das nicht eine Möglichkeit ist, den Datenstrom zu verschlüsseln, gibt es einen anderen Weg?

BTW, können wir uns nicht darauf verlassen, dass unsere Kunden Verschlüsselung von ihrem Ende erzwingen, und der Umgang mit Sicherheitszertifikaten wäre ein echter Albtraum.

Vielen Dank im Voraus, Dave

Antwort

1

Ist es SQL 2000 oder 2005/2008?

Die Verschlüsselungserzwingung kann vom Client angefordert oder vom Server erzwungen werden. Die Verschlüsselung basiert auf dem Schannel-Protokoll (ssl) und erfordert daher ein gültiges Zertifikat, das auf dem Server bereitgestellt wird und dem Client vertraut. Es gibt keinen Ausweg. Das Zertifikat muss von einer Autorität signiert werden, der der Client vertraut, und neben anderen typischen Serverzertifikatanforderungen muss der FQDN-Name verwendet werden, um die Verbindung zum Client als dessen Subjekt herzustellen.

In SQL 2005 How to: Enable Encrypted Connections In SQL 2000 Configure the Server und Request encryption by client

+0

Ehrfürchtig Informationen, Remus. – RBarryYoung

+0

Danke für die Informationen, das ist genau das, was ich gesucht habe. Einige unserer Clients könnten weiterhin SQL 2000 ausführen, aber diese Zahl nimmt schnell ab. Wir werden ein SQL 2008-Client-Stück verwenden, um mit allen von ihnen zu verbinden und unsere Kunden dazu auffordern, innerhalb der nächsten 6 Monate auf mindestens 2005 zu aktualisieren. Das bedeutet jedoch nicht, dass sie dies tatsächlich tun werden ... – DaveN59

+0

Leider müssen Zertifikate für jeden Kunden auf der Clientseite installiert werden. Der andere Fehler ist der FQDN - wir verwenden immer die IP-Adresse, um eine Verbindung herzustellen, und zerteilt im Allgemeinen nicht das ... – DaveN59

0

Es gibt keinen Grund, warum Sie nicht eine sichere Verbindung bei der Verwendung von ODBC haben. Grundsätzlich liegt die Verantwortung für over-the-wire-Sicherheit unter dem ODBC-Treiber (im Grunde der datenbankspezifische Teil). Wenn der Treiber dies nicht bereits vorsieht (SQL Server kann oder darf nicht - ich weiß nicht, was "Starke Verschlüsselung für Daten verwenden" betrifft), können Sie wahrscheinlich eigene hinzufügen. Eine Möglichkeit wäre, eine SSH-Brücke, z. mit ssh -L. Ich weiß nicht, ob das als "Albtraum" gilt, aber es wäre wahrscheinlich eine effektive und ziemlich einfache Technik.