| |
|
开发:
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 certificate的registry: 以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產生憑證指令會有一下限制 ?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.分別在2台Windows主機自建憑證 主機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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |