配置ca服務器和http,mail加密
一·CA介紹
certificate authority 數字證書授權中心
被通信雙方信任的、獨立的第三方機構
負責證書頒發、驗證、撤銷等管理
數字證書
經證書授權中心數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件
國內常見的CA機構
中國金融認證中心(CFCA)
中國電信安全認證中心(CTCA)
北京數字證書認證中心(BJCA)
PKI public key infrastructure 公鑰基礎設施
一套標準的密鑰管理平臺
通過公鑰加密、數字證書技術確保信息安全
PKI體系的基本組成
權威認證機構(CA)
數字證書庫、密鑰備份及恢復系統
證書作廢系統、應用接口
openssl 加密工具 做數據加/解密
實現SSL/TLS協議及各種加密用應用
-創建並管理私鑰、公鑰、證書、證書服務
-使用公鑰加解密
-使用各種算法進行加解密
-計算信息摘要
對稱加密
enc 指定算法 des3三遍 -e 加密 -d 解密 -in 源文件 -out 加解密輸出後的文件
#openssl enc -des3 -e -in f1.txt -out f1.txt.enc
#openssl enc -des3 -d -in f1.txt.enc -out f1.txt
#file f1.txt
#file f1.txt.enc
搭建ca服務器
1.配置CA證書簽發環境
# ls /etc/pki/tls/openssl.cnf
# rpm -qf /etc/pki/tls/openssl.cnf
#vim /etc/pki/tls/openssl.cnf
40 [ CA_default ] //默認環境
42 dir = /etc/pki/CA //CA相關文件的默認目錄
43 certs = $dir/certs //為用戶頒發數字證書的存放位置
45 database = $dir/index.txt //證書數據的索引文件,需手動建立
50 certificate = $dir/my-ca.crt //CA服務器根證書文件
51 serial = $dir/serial //序號記錄文件,需手動建立,從01開始
55 private_key = $dir/private/my-ca.key //CA服務器私鑰文件
84 [ policy_match ] //匹配策略
85 countryName = match //國家一樣
86 stateOrProvinceName = match //省份一樣
87 organizationName = match //公司一樣
128 [ req_distinguished_name ] //證書請求的識別信息
130 countryName_default = CN //國家
135 stateOrProvinceName_default = beijing //省
138 localityName_default = beijing //城市
141 0.organizationName_default = tarena //公司
148 organizationalUnitName_default = ope //部門
根據需要建立index.txt、serial文件
# touch /etc/pki/CA/index.txt
# echo 01 > /etc/pki/CA/serial
#chmod 600 index.txt serial
2 為CA服務器生成私鑰
#cd /etc/pki/CA/private/
# openssl genrsa -des3 2048 > my-ca.key (設置保護私鑰的密碼123456)
# chmod 600 my-ca.key
3 為CA服務器創建根證書
#cd /etc/pki/CA
#openssl req -new -x509 -key /etc/pki/CA/private/my-ca.key -days 365 > my-ca.crt
req請求 x509證書格式
#chmod 600 my-ca.crt
4 發布根證書 (web ftp 等提供給用戶下載)
5 客戶端下載安裝根證書
中間證書:數字證書
二、網站加密 http+ssl
1 配置網站服務器192.168.4.50 支持客戶端使用https 443協議訪問
1.1 啟用httpd服務
#yum -y install httpd
#echo 12345 > /var/www/html/test.html
#echo "hello boy" > /var/www/html/index.html
#service httpd start ; chkconfig httpd on
#netstat -utnalp | grep httpd (80)
#修改本地hosts(沒有dns)
1.2 創建私鑰文件
# cd /etc/pki/tls/private/
#openssl genrsa 2048 > www.key
1.3 創建證書請求文件,並上傳給ca服務器
#openssl req獲取 -new -key /etc/pki/tls/private/www.key > /root/www.csr (必須要與ca服務器policy_match84行規則一樣)
#scp /root/www.csr 192.168.4.100:/root/
2 CA服務器的配置192.168.4.100
2.1 審核證書請求文件,並簽發數字證書給網站服務器
#ls /root/www.csr
#cd /etc/pki/CA/certs/
# openssl ca -in /root/www.csr > www.crt
#scp www.crt 192.168.4.50:/root/
2.2 配置網站服務4.50運行時加載私鑰文件和數字證書文件
#mv /root/www.crt /etc/pki/tls/certs/
#ls /etc/pki/tls/private/www.key
#yum -y install mod_ssl
#sed -n ‘100p;107p‘ /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/www.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.key
重啟服務
#systemctl restart httpd
#netstat -untlap | grep httpd (443 80)
3 客戶端驗證4.254
# sed -i ‘$a192.168.4.50 sec50.chen.com www.chen.com‘ /etc/hosts
#ping www.chen.com
下載ca根證書並安裝
在瀏覽器裏導入根證書
訪問: https://www.chen.com (沒有不受信任的提示,問題看技術詳細--因為沒有ca的根證書)
4 配置網站服務接收到訪問80端口的請求時把請求轉給本機的443端口
#vim /etc/httpd/conf/httpd.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin //執行內建的函數;內鍵指令
SSLRandomSeed connect builtin
</IfModule>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$ //重寫條件,服務端口,不是443則成立
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R] //重寫規則 , .* 表示後面test任意,R替換,將$1替換為https://%{SERVER_NAME}
#systemctl restart httpd
#firefox http://www.chen.com
三、 郵件加密 192.168.4.50
# yum -y install postfix dovecot cyrus-sasl
#systemctl start postfix ; systemctl enable postfix //發郵件
#systemctl start dovecot ; systemctl enable dovecot //收郵件
相關協議及端口
SMTP(25)+ TLS/SSL
POP3(110)、POP3S(995)
IMAP(143)、IMAPS(993)
1 郵件服務器的配置
1.1 生成私鑰文件
# cd /etc/pki/tls/private/
# openssl genrsa 2048 > mail.key
1.2 創建證書請求文件並上傳給CA服務器 (mail.tedu.cn)
#openssl req -new -key /etc/pki/tls/private/mail.key > /root/mail.csr
# scp /root/mail.csr 192.168.4.100:/root/
2 CA服務器的配置
2.1審核並簽發數字證書
#ls /root/mail.csr
#cd /etc/pki/CA/certs/
#openssl ca -in /root/mail.csr > mail.crt
#scp mail.crt 192.168.4.50:/root/
3 郵件服務器配置服務在運行是加載數字證書文件和私鑰文件 (收郵件服務)
# vim /etc/dovecot/conf.d/10-ssl.conf
14 ssl_cert = </etc/pki/dovecot/certs/mail.crt
15 ssl_key = </etc/pki/dovecot/private/mail.key
# cp /etc/pki/tls/certs/mail.crt /etc/pki/dovecot/certs/
# cp /etc/pki/tls/private/mail.key /etc/pki/dovecot/private/
重啟服務
#systemct restart dovecot
#netstat -untnalp | grep dovecot (110 143 995 993)
4 郵件服務器配置服務在運行是加載數字證書文件和私鑰文件 (發郵件服務)
#cp /root/mail.crt /etc/pki/tls/certs/
# vim /etc/postfix/main.cf
smtpd_use_tls = yes //啟用加密傳輸
#smtpd_tls_auth_only = yes //禁用明文加密,若啟用此項,則非TLS的SMTP通信將被阻止
smtpd_tls_key_file = /etc/pki/tls/private/mail.key
smtpd_tls_cert_file = /etc/pki/tls/certs/mail.crt
#smtpd_tls_loglevel = 1 //排錯階段可啟用此配置
#systemctl restart postfix
#netstat -utnalp | grep master
5 客戶端配置:
在客戶端軟件裏配置使用加密收/發郵件(windows 2008)
配置ca服務器和http,mail加密