SQL筆記:Microsoft SQL Server安裝憑證的流程

在Microsoft SQL Server 2005開始,在帳號密碼的驗證通訊上就開始進行加密的動作,這時候如果你有使用Mirror Port來進行資料庫的Logger或Audit時,你會發現User Name的部份全部會被加密起來,沒辦法看到。(但是SQL Command還是純文字喔!)

問題是我們一般安裝DB都不會使用憑證,那為何會被加密了,原因是就算你沒有安裝任何憑證,資料庫也會在每一次的系統開機時,引用一張亂數產生的憑證。那麼看起來,固定的憑證是必須的,只要在憑證確定之時,才可以匯出這張固定的憑證到資料庫稽核器等Logger設備,它才可以解出相關的純文字回來並被記錄。

在這邊我們採用的是簡單憑證產生法產生出測試用的X.509憑證,也就是沒透過第三方公開的啦...

  1. 請先下載Makecert.exe(憑證建立工具),他有內建在許多.NET Framework SDK裡面,自己想辦法挖出來吧!
  1. 調查一下你這台Windows Server的「電腦名稱」,然後開啟命令模式,將裡面的「OOOO」改成你的電腦名稱,然後改一下評證起迄日期,按下Enter後,就會在C磁碟的根目錄,出現憑證檔。(程式也會自動幫你匯入到本機電腦中)
makecert -r -pe -n "CN=OOOO" -b 12/31/2013 -e 12/31/2039 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 c:\certificate.cer
  1. 將SQL Server套用憑證,這要分成兩種步驟:

如果是SQL Server 2008(含以上),那麼要先進行SSL加密套件的調整。請開啟 cmd>gpedit.msc,然後進入電腦設定>系統管理範本>網路>SSL組態設定,會看到有一個「SSL加密套件順序」。點開來之後會出現下圖,請在左下方文字方框中,將TLS_RSA_WITH_RC4_128_SHA移到第一個(優先位置)。這邊的調整動作建議複製到文字檔會比較好修改。

如果是SQL Server 2005,那麼只要進行這個動作就好(上方動作請省略),請點選開始>Microsoft SQL Server>組態工具>SQL Server 組態管理員,然後跟著下方這兩個圖示進行操作即可。

此外,如果想要匯出自己剛才產生出來的憑證並且備份的話,請開啟cmd>mmc,來進行「主控台的開啟」,並且加入憑證的管理元件,如下圖所示,最後你會在個人>憑證中,看到你產生的那張憑證,右鍵就可以將它匯出嘍!

加入憑證管理單元,選擇電腦帳戶,然後按下一步。

選擇本機電腦

在個人>憑證下面,就會出現以你電腦為名字的憑證,按右鍵就可以匯出備份嘍!

MicrosoftSQLServer SSL Certificate X509