配置ca服务器和http,mail加密
Posted wwchihiro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置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 客户端配置:
在客户端软件里配置使用加密收/发邮件
以上是关于配置ca服务器和http,mail加密的主要内容,如果未能解决你的问题,请参考以下文章