IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> SSL Certificate Chain Contains RSA Keys Less Than 2048 bits for tcp 1433 -> 正文阅读

[网络协议]SSL Certificate Chain Contains RSA Keys Less Than 2048 bits for tcp 1433

env: Windows Server 2012R2

? ? ? ? SQL Server 2014

感謝同事的幫忙才得以完成此篇文章。

一、弱掃掃描?: (Low) SSL Certificate Chain Contains RSA Keys Less Than 2048 bits for?tcp 1433 (SQL Server)

二、修復弱點?: (必讀)

應用系統服務是否支援拋sql server安裝憑證,修復弱點,應用系統一定要全盤測試。

三、憑證說明?: (外部工具僅提供更換憑證解決,未達水平說明及處理方式)

1.??????憑證之應用,應評估該系統服務有無不可否認之傳遞資料,導致爭議

2.??????憑證之應用,應評估使用認證(須費用)、自簽、自建,已符合必要傳遞資料

u??認證?:?第三方合法提供憑證,定期購買使用,提供憑證不可變造之舉證

u??自簽?:?內部建立CA server,自簽憑證使用,用於內部各自應用系統服務(應用系統多台主機)

u??自創?:?該應用系統主機自建憑證,用於各自應用系統服務(應用系統少量主機)

四、憑證應用?:

隨科技演進迅速,憑證長度(一組亂數組合)從早期64bits、512…1024、2048、4096bits…,透過演算法將憑證長度一起加密後傳送到目的地。

五、風險分析?:

在近幾年因電腦速提升後有機會被高速運算破解1024bits亂數內容,進而解出傳輸封包的內容加以組合後,有機會取得想要的資訊。

需要的條件有

1.??????取得網路連線?(有管制性,無風險)

2.??????複製收集網路封包?(有管制性,無風險)

3.??????高速運算破解憑證

4.??????組裝有效封包

5.??????分解內容資訊

一、修復方式?:

1.利用powershell建立自建憑證:

DNSName要用FQDN

?PS C:\Windows\system32>?New-SelfSignedCertificate -DnsName "Servername",'localhost.' -CertStoreLocation Cert:\Localmachine\my

??????目錄: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

??Thumbprint?????????????????????? ?????????Subject

----------??????????????????????????????? -------

62AD50067FDFEA2C71909EAB0D8C2D5243058615? CN=Servername

??

2.檢查自建憑證資訊:

powershell檢查

?PS C:\Windows\system32>?get-childitem -path cert:\* -Recurse |where {$_.Subject -like '*VM*'}

??????目錄: Microsoft.PowerShell.Security\Certificate::CurrentUser\CA

??Thumbprint??????????????????????????????? Subject

----------??????????????????????????????? -------

C834EC8699AFF0BCE4A1933F3EF3EBD74BA09934? CN=Servername

62AD50067FDFEA2C71909EAB0D8C2D5243058615? CN=Servername

??

????目錄: Microsoft.PowerShell.Security\Certificate::LocalMachine\Remote Desktop

??

Thumbprint??????????????????????????????? Subject

----------??????????????????????????????? -------

62865A86C0C57C5651FAD4D74B7AADCFC73F3272? CN=Servername

?

?? ??目錄: Microsoft.PowerShell.Security\Certificate::LocalMachine\CA

?

?Thumbprint??????????????????????????????? Subject

----------??????????????????????????????? -------

C834EC8699AFF0BCE4A1933F3EF3EBD74BA09934? CN=Servername

62AD50067FDFEA2C71909EAB0D8C2D5243058615? CN=Servername

?

?? ??目錄: Microsoft.PowerShell.Security\Certificate::LocalMachine\My

??

Thumbprint??????????????????????????????? Subject

----------??????????????????????????????? -------

62AD50067FDFEA2C71909EAB0D8C2D5243058615? CN=Servername

PS C:\Windows\system32>

?

3.設定自建憑證的私密金鑰權限給SQL Server服務帳號:

重要,一定要設定,否則SQL Server重啟會失敗。

4.設定SQL Server certificateregistry:

SQL Server 2014為例:

registry路徑:?電腦\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\SuperSocketNetLib

?找到Certificate,貼上第2點的Thumbprint。

再來重啟SQL Server服務

?

後記1:

?指令有關於主機名稱的部分用字串"Servername"取代。

用windows的powershell產生憑證指令會有一下限制

URL:?https://docs.microsoft.com/en-us/powershell/module/pki/new-selfsignedcertificate?view=winserver2012r2-ps&redirectedfrom=MSDN

?Description

The New-SelfSignedCertificate cmdlet creates a self-signed certificate for testing purposes. Using the CloneCert parameter, a test certificate can be created based on an existing certificate with all settings copied from the original certificate except for the public key. A new key of the same algorithm and length will be created.

?If an existing certificate is not being cloned, then an SSL server certificate with the following default settings is created:

?-- Subject: Empty

-- Key: RSA 2048

-- EKUs: Client Authentication and Server Authentication

-- Key Usage: Digital Signature, Key Encipherment (a0)

-- Validity Period: One year

Delegation may be required when using this cmdlet with Windows PowerShell remoting and changing user configuration.

所以測試在windows 2016自建憑證,在windows 2016的powershell建立憑證指令多了NotAfter的選項,可以自訂憑證的期限。

?

開始驗證:

1.windows 2016主機建立憑證

Windows PowerShell

著作權?(C) 2016 Microsoft Corporation.?著作權所有,並保留一切權利。

?PS C:\Windows\system32>?New-SelfSignedCertificate -DnsName "Servername",'localhost.' -CertStoreLocation Cert:\Localmachine\my -NotAfter (Get-Date).AddMonths(60)

??

?? PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

?

Thumbprint??????????????????????????????? Subject

----------??????????????????????????????? -------

A02AB79D7E35D04103AA59BEEDEFDA5BDC75D4E7? CN=Servername

?

PS C:\Windows\system32>

2.匯出憑證與金鑰

在MMC的個人\憑證下,在右邊的憑證點滑鼠右鍵,選擇所有工作,再選擇匯出

?將私密金鑰一併匯出,下一步。

選以下資訊,下一步。

輸入密碼,下一步。

點選瀏覽。

?輸入檔案名稱,點選存檔。

?

3.將檔案複製到windows 2012主機。

4匯入憑證(檔案win2016testcert)

在MMC的個人\憑證下,在右邊的憑證點滑鼠右鍵,選擇所有工作,再選擇匯入

?5.檢查憑證

PS C:\Windows\system32> get-childitem -path cert:\* -Recurse |where {$_.Subject -like '*VM*'}

??? 目錄: Microsoft.PowerShell.Security\Certificate::LocalMachine\My

Thumbprint??????????????????????????????? Subject

----------?????????????????????????????? ?-------

A02AB79D7E35D04103AA59BEEDEFDA5BDC75D4E7? CN=Servername

6.設定私密金要權限給SQL Server服務帳號

7.SQL Server的註冊碼certificate設定thumbprint

?8.重啟SQL Server服務,正常

?

後記2:

自建憑證會有不受信任的狀況,因此要再次匯入跟憑證的目錄下,才不回有此訊息。

後記3:

驗證Windows 2012R2 + SQL Server 2014 SP3 alwayson綁定SSL憑證的影響?

若憑證過期對於alwayson的影響?

Windows 2012 R2:

  1. ag20140dba.com
  2. ah20140dba.com

1.分別在2Windows主機自建憑證

主機1指令: New-SelfSignedCertificate -DnsName "ag201401.dba.com",'localhost.' -CertStoreLocation Cert:\Localmachine\my

主機2指令: New-SelfSignedCertificate -DnsName "ag201402.dba.com",'localhost.' -CertStoreLocation Cert:\Localmachine\my

主機1:

PS C:\Windows\system32> New-SelfSignedCertificate -DnsName "ag201401.dba.com",'localhost.' -CertStoreLocation Cert:\Localmachine\my

??? 目錄: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

Thumbprint??????????????????????????????? Subject

----------????????????????? ??????????????-------

52D4A2F7B03303687F0E9A4101B70FCA3FE3D5F7? CN=ag201401.dba.com

PS C:\Windows\system32>

主機2:

PS C:\Windows\system32> New-SelfSignedCertificate -DnsName "ag201402.dba.com",'localhost.' -CertStoreLocationlmachine\my

??? 目錄: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

Thumbprint??????????????????????????????? Subject

----------??????????????????????????????? -------

822587B16885A78164378655C34566AE74116625? CN=ag201402.dba.com

PS C:\Windows\system32>

MMC結果畫面:

2.將憑證的私密金鑰授權給SQL Server服務帳號(dba\dbadmin)2台都要設定

以主機1為例。

3.Windows主機上設定SQL Server憑證的註冊碼。

registry路徑: 電腦\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\SuperSocketNetLib

啟用強制加密:

驗證連線:

用資料庫連線資料庫主機ag201401

連線已強制加密:

?用資料庫連線資料庫alwayson listener

連線已強制加密:

驗證憑證過期會不會造成連線問題:

關閉AD主機,調整成以下時間

測試alwayson listener連線,可以連線。

確認系統時間已經改變

連線還是維持強制加密:

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:18:31  更:2021-09-01 12:20:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:42:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码