<p>HeidiSQL tidak mendukung/mengiklankan TLS 1.1 / 1.2 dengan koneksi MS SQL Server</p>

Dibuat pada 19 Apr 2018  ·  24Komentar  ·  Sumber: HeidiSQL/HeidiSQL

Langkah-langkah untuk mereproduksi masalah ini

1) Di sisi server, nonaktifkan dukungan TLS 1.1 dan TLS 1.2 untuk peran server di SCHANNEL (Windows Crypto) melalui registri:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

2) Reboot OS
3) Coba sambungkan ke MS SQL Server melalui HeidiSQL

Perilaku saat ini

HeidiSQL hanya mengiklankanTLS versi 1.0 (0x0301) untuk koneksi MS SQL Server dan oleh karena itu tidak dapat terhubung ke SQL Server ketika hanya versi protokol yang lebih aman yang didukung di sisi server (TLS 1.1 dan/atau TLS 1.2).

(Tidak dapat mengunggah file ke github karena pemerintah gila rusia, yang memblokir 0,4% dari semua IP Internet dalam upaya bodoh untuk memblokir Telegram. >>wall Maaf untuk tautan di sreenshots)

Kesalahan SQL (18): [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]Kesalahan Keamanan SSL.

TLS_over_TDS_(HeidiSQL)

Perilaku yang diharapkan

HeidiSQL harus mengiklankan TLS versi 1.2 yang didukung maksimum (0x0303) untuk koneksi MS SQL Server.


Koneksi berhasil dibuat saat menggunakan SQL Server Management Studio 17.6 melalui TLS 1.2 (0x0303)

TLS_over_TDS_(SSMS_17.6)

Solusi yang mungkin

Diduga komponen yang digunakan HeidiSQL untuk terhubung ke MS SQL Server hanya mendukung TLS versi 1.0.
Deskripsi paling mirip dari kesalahan ini, yang menentukan alasan yang saya temukan di pesan terakhir di tautan ini .
Jika hal ini terjadi, harus ditingkatkan atau diganti dengan komponen yang mendukung TLS 1.2, jika memungkinkan.

Lingkungan

  • Versi HeidiSQL:
    9.5.0.5196 (x86) & 9.5.0.5277 (x64)

  • Sistem dan versi basis data:
    Microsoft SQL Server 2016 (SP1-CU8) (KB4077064) - 13.0.4474.0 (X64)
    24 Februari 2018 13:53:17
    Edisi Ekspres (64-bit) pada Windows Server 2012 R2 Standar 6.3(Build 9600: ) (Hypervisor)

  • Sistem operasi:
    Windows 7 Profesional SP1 (x64)

Komentar yang paling membantu

Selesaikan ini dengan menginstal https://www.microsoft.com/en-us/download/confirmation.aspx?id=56730

Saya menyarankan pesan kesalahan yang lebih ramah untuk memberi tahu pengguna. Saya rasa tidak benar untuk berasumsi bahwa setiap orang telah menginstal driver baru ini.

Semua 24 komentar

Lihat https://support.microsoft.com/en-us/help/3135244/tls-1-2-support-for-microsoft-sql-server

Penyedia lama tidak lagi didukung oleh Microsoft - lihat di sini :

NOTE: It is not recommended to use this driver for new development. The new OLE DB provider is called the Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features going forward.

Driver baru tersedia di sini .

https://github.com/HeidiSQL/HeidiSQL/blob/8202e76b928516a3264a3598cbeecf3305ff8d0c/source/dbconnection.pas#L1861

@ansgarbecker ada kesempatan untuk melihat masalah ini? Tidak dapat menggunakan HeidiSQL sama sekali pada koneksi MS SQL yang diaktifkan TLS 1.2..

Sangat membutuhkan perubahan ini : /

Ingin menambahkan 2 sen saya untuk ini. HeidiSQL tidak dapat terhubung ke MS SQL yang diaktifkan TLS 1.2.

Saya menggunakan build terbaru.

@ansgarbecker Jika masalahnya sedang diuji, mungkin Anda bisa memberikan test build dengan perubahan dari #256 dan kami dapat mengujinya di utas ini?

Maaf untuk keterlambatan yang lama.
Saya baru saja menerima permintaan tarik Anda. Harap uji setelah memperbarui ke versi baru (akan siap dalam ~30 menit)

Perubahan ini merusak konektivitas saya. Saya sekarang mendapatkan ini ketika mencoba untuk terhubung ke server MS SQL mana pun.
image

Apakah saya harus menginstal driver lain sendiri?

Selesaikan ini dengan menginstal https://www.microsoft.com/en-us/download/confirmation.aspx?id=56730

Saya menyarankan pesan kesalahan yang lebih ramah untuk memberi tahu pengguna. Saya rasa tidak benar untuk berasumsi bahwa setiap orang telah menginstal driver baru ini.

Oke, maka saya perlu mendeteksi pesan kesalahan khusus itu, yang kemungkinan besar akan diterjemahkan ke dalam bahasa OS pengguna. Ini, dan fakta bahwa tidak ada nomor kesalahan, membuat tidak mungkin untuk mendeteksinya, untuk menampilkan pesan yang lebih bermanfaat. Tapi mungkin saya bisa melacak kesalahan hingga jenis pengecualian tertentu. Akan memeriksa itu.

Apakah ada cara untuk mendeteksi penyedia mana yang diinstal dan mana yang tidak, pada OS pengguna?

Atau Anda dapat memeriksa registri, tetapi Anda harus mendapatkan GUID untuk setiap penyedia. https://stackoverflow.com/a/154559/179494

Baru saja melakukan fallback otomatis ke SQLOLEDB saat MSOLEDBSQL tidak tersedia.
Untuk kasus seperti itu, saya juga menambahkan pemberitahuan ke panel log, dengan tautan ke driver OLE DB.

FYI kesalahan ini masih ada (server SQL saya disetel ke TLS 1.2 saja) pada versi 10,0 yang baru, tetapi https://www.microsoft.com/en-us/download/confirmation.aspx?id=56730 masih memperbaikinya.

Mungkin daftar tautan ini di halaman unduhan HeidiSQL atau secara otomatis menyarankannya ketika kesalahan terjadi?

Fair nuff - cukup tempatkan catatan itu di halaman unduhan.

@ansgarbecker Setelah perubahan ke driver baru, saya tidak dapat terhubung ke database SQL Express lagi, misalnya biasanya nama host adalah localhost\sqlexpress . Apakah ada orang lain yang menyebutkan ini?

@igitur
Saya pikir, pertama-tama perlu setidaknya kode kesalahan dan deskripsinya.

image

image

Bekerja dengan sempurna hingga v9.5 sejauh yang saya tahu.

@ansgarbecker Beri tahu saya jika saya harus mencatat masalah baru yang lengkap.

@igitur tolong ajukan masalah baru.

Saya membuat #587 untuk mengatasi ini.

Dito. Saya juga terus mendapat masalah.

@warrenlbrown apakah Anda menginstal driver OLE DB yang diperbarui untuk SQL Server , seperti yang dinyatakan pada halaman unduhan? Jika ya, Anda mungkin harus mengajukan masalah baru sehingga kami dapat mendiskusikan ini dari awal.

Saya memindahkan pengaturan "Perpustakaan" baru dan menyediakan + penyedia ADO yang kompatibel di kotak tarik-turun itu. Default adalah penyedia MSOLEDBSQL baru, tetapi pengguna juga dapat memilih yang lama, yang kemudian mengeluarkan dialog peringatan saat menghubungkan:

grafik

Sebelumnya, peringatan ini terkubur di panel log, jadi saya pun tidak menyadarinya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat