製作目的
自從上次發生被駭事件後,覺得網路安全防護真的是很重要,所以針對目前,公司有使用的網路服務,進行通訊加密作業。
要進行加密作業,必須先做好SSL憑證,在通訊的兩端把資料用公鑰做加密,再由接受端,用私鑰做解密的作業。
基本上 HTTP / SMTP / POP3 / FTP / IMAP 目前都可以支援SSL 的加密作業,所以就針對目前公司在用的服務,直接做一個SSL憑證給這些服務用即可。
環境說明
使用虛擬機來建立SSL 憑證
CentOS 5.4 X86-64 / 20G hdd / RAM 4G / CPU 4
openssl 0.98e.12.el5_4.1
使用root 帳號
設定OpenSSL 設定檔的位置
#mkdir /etc/ssl
#cp /etc/pki/tls/openssl.cnf /etc/ssl/.
#cd /etc/ssl
#mkdir private
#mkdir certs
#mkdir crl
#mkdir newcerts
#touch index.txt
#export OPENSSL_CONF="/etc/ssl/openssl.cnf"
然後修改 /etc/ssl/openssl.cnf ,把這一行
dir = ../../CA # Where everything is kept
改成這樣
dir = /etc/ssl # Where everything is kept
countryName_default = GB 改為 TW
把 OpenSSL 設定檔的位置加進 .bashrc 中
#echo "export OPENSSL_CONF=\"/etc/ssl/openssl.cnf\"" >> ~/.bashrc
產生亂數的檔案
#openssl rand 1024 > /etc/ssl/private/.rand
#chmod og-rwx /etc/ssl/private/.rand
以上準備好後,可以開始製作Root CA 了。
製作Root CA
#退出 shell 重新登入root
我們要做的Root CA 為nuface.ca ,如果之前有做過的話,現在再做一次,之前簽的憑證都會失效。
此時必須為最高層認證中心的 Private Key 設定一個適當的密碼,以後在用這把Private Key簽發其它憑證時,都需要用到這個密碼。
#openssl genrsa -des3 -out /etc/ssl/private/nuface.ca.key.pem 2048
#chmod og-rwx /etc/ssl/private/nuface.ca.key.pem
接著填寫憑證申請
跟誰申請?因為是Root CA ,沒有上級了,所以就是跟自己申請。
#openssl req -new -key /etc/ssl/private/nuface.ca.key.pem -out /tmp/nuface.ca.req.pem
填入資料
Country Name (2 letter code) [TW]:
State or Province Name (full name) [Taiwan]:
Locality Name (eg, city) [Newbury]:Taipei
Organization Name (eg, company) [My Company Ltd]:nuface
Organizational Unit Name (eg, section) []:CA
Common Name (eg, your name or your server's hostname) []:ca.nuface.tw
Email Address []:admin@nuface.tw
自己給自己簽名
#openssl x509 -req -days 7305 -sha1 \
-extfile /etc/ssl/openssl.cnf -extensions v3_ca \
-signkey /etc/ssl/private/nuface.ca.key.pem \
-in /tmp/nuface.ca.req.pem -out /etc/ssl/certs/nuface.ca.crt.pem
刪除憑證申請書
#rm -f /tmp/nuface.ca.req.pem
保護 nuface.ca.key.pem
#chmod 0400 /etc/ssl/private/nuface.ca.key.pem
Root CA搞定後,即可使用這個Root CA 簽發其它的憑證。
製作伺服器憑證
接著我們來製作blog.nuface.tw 的SSL憑證。
#openssl genrsa -out /etc/ssl/private/blog.nuface.key.pem 2048
#chmod og-rwx /etc/ssl/private/blog.nuface.key.pem
填寫憑證申請書,向nuface Root CA 做申請。
#openssl req -new -key /etc/ssl/private/blog.nuface.key.pem -out /tmp/blog.nuface.req.pem
填入資料
Country Name (2 letter code) [TW]:
State or Province Name (full name) [Taiwan]:
Locality Name (eg, city) [Newbury]:Taipei
Organization Name (eg, company) [My Company Ltd]:nuface
Organizational Unit Name (eg, section) []:blog
Common Name (eg, your name or your server's hostname) []:blog.nuface.tw
Email Address []:admin@blog.nuface.tw
用最高層認證中心(Root CA)簽發憑證
#openssl x509 -req -days 3650 -sha1 \
-extfile /etc/ssl/openssl.cnf -extensions v3_req \
-CA /etc/ssl/certs/nuface.ca.crt.pem -CAkey /etc/ssl/private/nuface.ca.key.pem \
-CAserial /etc/ssl/nuface.ca.srl -CAcreateserial \
-in /tmp/blog.nuface.req.pem -out /etc/ssl/certs/blog.nuface.crt.pem
刪除憑證申請書
#rm -f /tmp/blog.nuface.req.pem
保護 blog.nuface.key.pem
#chmod 0400 /etc/ssl/private/blog.nuface.key.pem
以上為SSL X.509憑證 的製作 。
[…] 已經完成的作業 如何製作 SSL X.509憑證 […]
[…] 補上安裝的資料,請參考 如何製作 SSL X.509憑證 各項網路服務 + SSL 應用 日期:2010/02/23 | 留言:2 個 | 作者:Rico | […]
[…] 本集重點在設定Certificate Authority (CA) 。要進入設定OpenVPN的第一步是,建立PKI(公鑰架構),部份相關的基礎知識,可以參考這篇 如何製作 SSL X.509憑證。 […]
[…] 飄狂山莊 瑪奇、LUNA、工作筆記 30 Sep 2010 @ 3:16 PM 引用-紐菲斯的部落格-製作SSL X.509憑證 Amplify’d from blog.nuface.tw […]
[…] 憑證時,有提過,可以參考這篇。 在這個頁面Order Type 是 New […]