I’m trying to connect to a SQL Server using pyodbc 4.0.30 with Python 3.7. Everything was going great the past couple of days until today when I get this error:
OperationalError: (‘08001’, ‘[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error (18) (SQLDriverConnect); [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (SECCreateCredentials()). (1)’)`
My connection:
conn = pyodbc.connect('driver={SQL Server};server=redacted;database=uipcc_awdb;uid=redacted;pwd=redacted;trusted_connection=no;')
Please note I can connect normally to the database via SQL Server Management Studio, and no changes were made on my machine, the SQL Server, or the network.
I need to emphasize, I have tried to following which were mentioned in similar questions (but none worked):
- adding
sslverify=0
in the connection parameters - adding
encrypt=0
in the connection parameters - Changing the OBDC drivers from my machine, didn’t work and ruined the connection from SQL Server Management Studio
- Remove From My Forums
-
Question
-
When I am trying to test SQL connection from WebFOCUS Windows server ( under segment network) with SQL server 2008. I got the following error :
Connection Failed:
SQL State: ‘01000’
SQL server Error: 772
[Microsoft][ODBC SQL Server Driver][DBNETLIB][ConnectionOpen (SECDoClientHandshake())
Connection Failed:
SQL state: ‘08001’
SQL Server Error :18
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL security error
Answers
-
Hi Neha,
Could you ping the SQL Server successfully? Clients that have the Force Protocol Encryption option set ON on the client may fail to connect to SQL Server if clients specify an IP address for the server name.
Please try:
Use the server name to connect to SQL Server. You can use the SQL Server Client Network Utility to set up an alias for the server that is running SQL Server or implement name resolution by using WINS, DNS, or LMHOST file so that you can connect by server
name.Or Set the Force Protocol Encryption option to ON on the server by using the SQL Server Server Network Utility. If you turn on encryption on the server, all the clients must connect by using encryption and you must install a certificate
on the server. For more information, refer to the «Net-Library Encryption» topic in SQL Server 2000 Books Online.For more information please see:
http://support.microsoft.com/kb/316779
Best Regards,
Iric
Please remember to mark the replies as answers if they help and unmark them if they provide no help.-
Marked as answer by
Thursday, August 9, 2012 2:11 AM
-
Marked as answer by
I’m trying to connect to a SQL Server using pyodbc 4.0.30 with Python 3.7. Everything was going great the past couple of days until today when I get this error:
OperationalError: (‘08001’, ‘[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error (18) (SQLDriverConnect); [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (SECCreateCredentials()). (1)’)`
My connection:
conn = pyodbc.connect('driver={SQL Server};server=redacted;database=uipcc_awdb;uid=redacted;pwd=redacted;trusted_connection=no;')
Please note I can connect normally to the database via SQL Server Management Studio, and no changes were made on my machine, the SQL Server, or the network.
I need to emphasize, I have tried to following which were mentioned in similar questions (but none worked):
- adding
sslverify=0
in the connection parameters - adding
encrypt=0
in the connection parameters - Changing the OBDC drivers from my machine, didn’t work and ruined the connection from SQL Server Management Studio
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 4.0
»
Нет подключения к серверу MSSQL 2008 R2 EXP после обновления win 10 до 1803
namber39 |
|
Статус: Новичок Группы: Участники
|
После обновления win 10 до 1803 нет подключения к серверу MSSQL 2008 R2 express. Обновление КриптоПро до 4.0.9944 ситуацию не исправляет. MSSQL установлен именованный экземпляр. Подключение локальное. Подключение не выполнено: Отредактировано пользователем 11 мая 2018 г. 17:55:10(UTC) |
|
|
basid |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 6 раз |
CredSSP updates for CVE-2018-0886? |
|
|
namber39 |
|
Статус: Новичок Группы: Участники
|
Обновления установлены. Win 10 x64 1803 домашняя, установлен именованнй экземпляр MSSQL 2008 R2 express. Без криптопро соединение с сервером SQL происходит нормально. Как только устанавливается криптопро — соединится с SQL сервером не возможно. |
|
|
Андрей Николаевич Ч |
|
Статус: Новичок Группы: Участники
|
Автор: namber39 Обновления установлены. Win 10 x64 1803 домашняя, установлен именованнй экземпляр MSSQL 2008 R2 express. Без криптопро соединение с сервером SQL происходит нормально. Как только устанавливается криптопро — соединится с SQL сервером не возможно. Присоединюсь к автору. Такая же проблема на двух ПК после обновления операционной системы (Вин 10). Нет соединения с SQL сервер при установленном продукте КриптоПро CSP. Прошу разработчика рассмотреть данный вопрос в кротчайшие сроки. |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
Спасибо за обратную связь. https://www.cryptopro.ru…vykh-versiyakh-windows-1 Отредактировано пользователем 17 мая 2018 г. 12:06:12(UTC) |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
namber39 |
|
Статус: Новичок Группы: Участники
|
Что делать у кого нет такого ключа в реестре? Отредактировано пользователем 17 мая 2018 г. 13:05:41(UTC) |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
Переустановить CSP и удалить ключ. |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
namber39 |
|
Статус: Новичок Группы: Участники
|
После переустановки раздел появился, ключ удалил. Тест связи прошел. |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
Мы выложили сборку 4.0.9948, можно тестировать, вышеуказанная проблема исправлена. |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
Taanshu |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 1 раз |
Автор: Максим Коллегин Спасибо за обратную связь. А ошибка входа на сайт тоже связана со всем этим 1803? Версия 4.0.9948, но ошибка так и выходит. Пример ошибки при попытке входа на защищенные странички сайта atsenergo: Цитата: Возможно, на сайте используются устаревшие или ненадежные параметры безопасности протокола TLS. Если это будет повторяться, обратитесь к владельцу веб-сайта. Для параметров безопасности протокола TLS не установлены значения по умолчанию, что также могло стать причиной ошибки. |
|
|
Пользователи, просматривающие эту тему |
Guest (2) |
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 4.0
»
Нет подключения к серверу MSSQL 2008 R2 EXP после обновления win 10 до 1803
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
This article, suggests a way of resolving the below error message, when you are trying to access SQL Server using “Microsoft OLE DB Provider for SQL Server” and TLS 1.0: [DBNETLIB] [ConnectionOpen (SECDoClientHandshake()).] SSL Security Error
Prior to start writing this article, I was thinking of using a title like “How to still use TLS 1.0”, or something similar, but besides the fact that would have given a wrong message, it would not help so much because many people, usually search for such articles using the error message (SSL Security error)…
So, I anticipate that this article, with this title, would help as many people as possible 🙂
Drop me a line if you find the article useful and why not, subscribe to my newsletter to stay up to date with future articles!
A Few Words About TLS 1.0
TLS 1.0 is considered a deprecated protocol and it is not recommended anymore to be used to secure connections. That’s why many organizations (if not all) transitioned or are in the process of transitioning to newer versions of TLS such as TLS1.1 or above.
However, you may still encounter outdated applications that still need to use this protocol, even for a while for just performing a single operation. One such example, is to try and connect to a SQL Server instance via Microsoft OLE DB Driver for SQL Server using TLS 1.0.
If you are in such situation, I have good news, from a technical aspect, it is still possible to do this.
Read on to learn more.
SQL Server Support for TLS 1.0 and Above
SQL Server still supports all TLS protocols, currently from 1.0 to 1.2. However, depending on the version of SQL Server you have, especially in cases of older SQL Server versions, you might need a patch.
Read this article on SQLNetHub to learn more about SQL Server support for TLS versions.
Now let’s jump to the juicy part of this article and see how finally we can resolve the above error and manage to connect to SQL Server using Microsoft OLE DB Driver for SQL Server and TLS 1.0.
Note that if you are just trying to connect with TLS 1.0 for a while in order to perform a specific task, then make sure to revert the below changes in order to restore the security level of your systems back to their previous level.
Latest Microsoft OLE DB Driver for SQL Server
The first step towards resolving the SSL Security error, is to make sure that the version of the target SQL Server instance you want to connect to, is supported by the driver.
For example, Microsoft OLE DB Driver 18.1 for SQL Server supports connecting to SQL Server 2012 or later.
For older versions of SQL Server, you will need to find an earlier version of Microsoft OLE DB Provider for SQL Server as well.
You can find the latest version of the OLE DB driver here.
Useful details:
The Microsoft OLE DB Provider for SQL Server, allows ADO to access Microsoft SQL Server. However, This is an older driver and it is not recommended to be used driver for new development, since it is deprecated.
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 (learn more)
Registry Changes
The next step is, to edit the Windows Registry (* always be careful when messing up with Windows Registry – only certified engineers should do that).
To enable TLS 1.0 in Windows
In Windows Registry, add the below dword keys:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
- “Enabled”=dword:00000001
- “DisabledByDefault”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
- “Enabled”=dword:00000001
- “DisabledByDefault”=dword:00000000
To disable TLS 1.0 in Windows
[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.1\Client]
- “Enabled”=dword:00000000
- “DisabledByDefault”=dword:00000001
Learn more about the above registry changes in this MS Docs article.
Local Security Policy
The next step is to check the Local Security Policy on the database server.
So, in Local Security Policy on the Database Server, make sure that the setting “System Cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing” is disabled.
If you want to learn more about this security option, you can check this MS Docs article.
Strengthen your SQL Server Administration Skills – Enroll to our Online Course!
Check our online course on Udemy titled “Essential SQL Server Administration Tips”
(special limited-time discount included in link).Via the course, you will learn essential hands-on SQL Server Administration tips on SQL Server maintenance, security, performance, integration, error handling and more. Many live demonstrations and downloadable resources included!
(Lifetime Access/ Live Demos / Downloadable Resources and more!) Enroll from $12.99
Server Protocols, Ciphers, Hashes and Client Protocols
The last step in this troubleshooting guide, is to use IISCrypto, which is an excellent free tool, that allows you to control which protocols, ciphers, and more are enabled (or not) on a Windows server.
That being set, you will need to run IISCrypto and make sure that the “TLS 1.0” Server and Client Protocols, as well as the”SHA” hash are enabled.
Here’s a screenshot of IISCrypto, running on my PC, having TLS 1.0 and “SHA” enabled for illustration purposes:
Note that, if finally you need to perform any changes using IISCrypto, you will need to restart the server.
Actually, for any changes you might need to perform, it is recommended to restart the server.
A Piece of Advice
As mentioned in this article’s beginning, TLS 1.0 is considered a deprecated protocol and it is not recommended anymore to be used to secure connections.
Instead, you should be using newer versions of TLS.
In case you just need to switch to TLS 1.0 for performing an ad hoc task, you need to make sure that after you completed the task, you revoked any changes you might have applied, and disable again TLS 1.0 and the “SHA” hash.
See More
Check out DBA Security Advisor, a SQL Server security tool to assess your SQL Server instances against a rich set of security checks and get security best practice recommendations.
Featured Online Courses:
- SQL Server 2022: What’s New – New and Enhanced Features
- Data Management for Beginners – Main Principles
- Introduction to Azure Database for MySQL
- Working with Python on Windows and SQL Server Databases
- Boost SQL Server Database Performance with In-Memory OLTP
- Introduction to Azure SQL Database for Beginners
- Essential SQL Server Administration Tips
- SQL Server Fundamentals – SQL Database for Beginners
- Essential SQL Server Development Tips for SQL Developers
- Introduction to Computer Programming for Beginners
- .NET Programming for Beginners – Windows Forms with C#
- SQL Server 2019: What’s New – New and Enhanced Features
- Entity Framework: Getting Started – Complete Beginners Guide
- A Guide on How to Start and Monetize a Successful Blog
- Data Management for Beginners – Main Principles
Read Also
- DBA Security Advisor v2.3 is Now Out!
- The OLE DB provider “SQLNCLI11” for linked server “…” supplied inconsistent metadata for a column… – How to Resolve
- SQL Server 2022: What’s New – New and Enhanced Features (Course Preview)
- How to Connect to SQL Server Databases from a Python Program
- What is Data Security and which are its Main Characteristics?
- Introduction to Azure Database for MySQL (Course Preview)
- Data Management for Beginners – Main Principles (Course Preview)
- Advanced SQL Server Features and Techniques for Experienced DBAs
- SQL Server Database Backup and Recovery Guide
Other SQL Server Security-Related Articles
- How to Enable SSL Certificate-Based Encryption on a SQL Server Failover Cluster
- Why You Need to Secure Your SQL Server Instances
- Policy-Based Management in SQL Server
- Advanced SQL Server Features and Techniques for Experienced DBAs
- Should Windows “Built-In\Administrators” Group be SQL Server SysAdmins?
- Frequent Password Expiration: Time to Revise it?
- The “Public” Database Role in SQL Server
- Encrypting SQL Server Databases
- 10 Facts About SQL Server Transparent Data Encryption
- Encrypting a SQL Server Database Backup
- …check all
Subscribe to our newsletter and stay up to date!
Subscribe to our YouTube channel (SQLNetHub TV)
Easily generate snippets with Snippets Generator!
Secure your databases using DBA Security Advisor!
Generate dynamic T-SQL scripts with Dynamic SQL Generator!
Check our latest software releases!
Check our eBooks!
Rate this article: (8 votes, average: 5.00 out of 5)
Loading…
Reference: SQLNetHub.com (https://www.sqlnethub.com)
© SQLNetHub
Artemakis Artemiou is a Senior SQL Server Architect, Author, a 9 Times Microsoft Data Platform MVP (2009-2018). He has over 20 years of experience in the IT industry in various roles. Artemakis is the founder of SQLNetHub and {essentialDevTips.com}. Artemakis is the creator of the well-known software tools Snippets Generator and DBA Security Advisor. Also, he is the author of many eBooks on SQL Server. Artemakis currently serves as the President of the Cyprus .NET User Group (CDNUG) and the International .NET Association Country Leader for Cyprus (INETA). Moreover, Artemakis teaches on Udemy, you can check his courses here.
Views: 27,197