构建IMAPS服务+CA证书应用
##############################################################################
系统环境:
RHEL 5.5 [2.6.18-238.el5]
软件环境:
openssl-0.9.8e-12.el5_4.6
dovecot-1.0.7-7.el5
mutt-1.4.2.2-3.0.2.el5
##############################################################################
一、搭建私有的CA中心
适用于企业网内部,可以为公司内的其他服务器颁发CA证书。如果已经有现成的CA服务器,则此步骤可以省略。
1. 建立签署环境
1)修改配置文件
[root@casvr ~]# cd /etc/pki/tls/
[root@casvr tls]# cp openssl.cnf openssl.cnf.origin
[root@casvr tls]# vi openssl.cnf
......
[CA_default]
dir = /etc/pki/CA #//CA签署工作目录
certs = $dir/certs #//证书的存放位置
crl_dir = $dir/crl #//证书废除列表(CRL)的存放位置
database = $dir/index.txt #//数据库索引文件
new_certs_dir = $dir/newcerts #//新生成的证书文件的存放位置
......
certificate = $dir/my-ca.crt #//根证书文件
serial = $dir/serial #//下一个证书序号
......
crl = $dir/my-ca.crl #//证书废除列表文件
private_key = $dir/private/my-ca.key #//CA服务器的私钥文件
......
[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = CN
......
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Beijing
localityName = Locality Name (eg, city)
localityName = Beijing
0.organizationName = Organization Name (eg, company)
0.organizationName_default = TsengYia Linux Tech, Inc.
......
commonName = TYLT Certificate Authority
emailAddress = TsengYia
126.com
......
2)创建工作目录,及必要的文件
[root@casvr tls]# ls -ld /etc/pki/CA
drwx------ 3 root root 4096 2011-01-26 /etc/pki/CA
[root@casvr tls]# cd /etc/pki/CA/
[root@casvr CA]# mkdir certs crf newcerts
[root@casvr Ca]# touch index.txt
[root@casvr Ca]# echo 01 > serial
2. 为CA服务器生成私钥
[root@casvr Ca]# openssl genrsa -out private/my-ca.key -des3 2048
Generating RSA private key, 2048 bit long modulus
......
Enter pass phrase for private/my-ca.key: #//设置私钥口令
Verifying - Enter pass phrase fror private/my-ca.key:
[root@casvr Ca]# chmod 600 private/my-ca.key
3. 为CA中心创建自己的证书(根证书)文件
[root@casvr Ca]# openssl req -new -x509 -key private/my-ca.key -days 365 > my-ca.crt
Enter pass phrase for private/my-ca.key: #//验证私钥口令
......
Country Name (2 letter code)[CN]:
State or Province Name (full name)[Beijing]:
Locality Name (eg, city)[Beijing]:
Organization Name (eg, company)[TsengYia Linux Tech, Inc.]:
Organizational Unit Name(eg, section)[]:
TYLT Certificate Authority[]:
TsengYia
126.com[]:
[root@casvr Ca]# ls -l my-ca.crt
-rw-r--r-- 1 root root 1411 02-27 14:01 my-ca.crt
4. 发布根证书文件
发布方式不限,使任何人都可以下载此证书文件,用来验证由本CA中心所颁发的其他证书。
[root@casvr Ca]# yum -y install httpd
[root@casvr Ca]# mkdir /var/www/html/certs
[root@casvr Ca]# cp my-ca.crt /var/www/html/certs/TYLT-CA.CRT
[root@casvr Ca]# service httpd start ; chkconfig httpd on
二、为Dovecot服务器创建CA证书
1. 在Dovecot服务器上
1)生成服务私钥(KEY)
[root@mailsvr ~]# openssl genrsa -out imaps-svr.key 1024
[root@mailsvr ~]# chmod 600 imaps-svr.key
2)生成签名请求文件(CSR)
[root@mailsvr ~]# openssl req -new -key imaps-svr.key -out imaps-svr.csr
......
Country Name (2 letter code)[GB]:CN
State or Province Name (full name)[Berkshire]:Beijing
Locality Name (eg, city)[Newbury]:Beijing
Organization Name (eg, company)[My Company Ltd]:TsengYia Linux Tech, Inc.
Organizational Unit Name(eg, section)[]:
Common Name (eg, your name or your server's hostname)[]:mail.mydomain.com
Email Address []:postmaster@mydomain.com
......
[root@mailsvr ~]# chmod 600 imaps-svr.csr
3)将签名请求文件提交给CA中心
2. 在CA中心服务器上
1)查看收到的签名请求文件
[root@casvr CA]# openssl req -in imaps-svr.csr -noout -text
......
2)根据签名请求创建CA证书文件
[root@casvr CA]# openssl ca -in imaps-svr.csr -out imaps-svr.crt
Using configuration from /etc/pki/tls/openssl.conf
Enter pass phrase for /etc/pki/CA/private/my-ca.key: #//验证CA中心的私钥口令
[root@casvr CA]# ls -l imaps-svr.*
-rw-r--r-- 1 root root 3836 02-27 14:38 imaps-svr.crt
-rw------- 1 root root 745 02-27 14:38 imaps-svr.csr
3)将CA证书文件颁发给Dovecot服务器
邮件、FTP、HTTP等任一种方式均可。
三、Dovecot服务器启用CA证书,基于IMAPS协议提供加密传输
1. 修改Dovecot配置
[root@mailsvr ~]# vi /etc/dovecot.conf
protocols = imaps
...
ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
[root@mailsvr ~]# service dovecot start; chkconfig dovecot on
[root@mailsvr ~]# netstat -anpt | grep dovecot
tcp 0 0 :::993 :::* LISTEN 3559/dovecot
2. 部署新的证书文件、私钥文件
[root@mailsvr ~]# cp imaps-svr.crt /etc/pki/dovecot/certs/dovecot.pem
cp: 是否覆盖“/etc/pki/dovecot/certs/dovecot.pem”? y
[root@mailsvr ~]# cp imaps-svr.key /etc/pki/dovecot/private/dovecot.pem
cp: 是否覆盖“/etc/pki/dovecot/private/dovecot.pem”? y
四、使用mutt客户端测试IMAPS协议
1. 修改muttrc配置,强制使用SSL
[root@client ~]# mkdir .mutt
[root@client ~]# vi .mutt/muttrc
set folder=imaps://mail.mydomain.com/
set spoolfile=imaps://mail.mydomain.com/
set imap_force_ssl=yes
set certificate_file=~/.mutt/TYLT-CA.CRT
2. 从CA中心下载根证书
[root@client ~]# wget
[root@client ~]# mv TYLT-CA.CRT ~/.mutt/
3. 运行mutt程序进行测试
首先会看到“SSL connection using TLSv1/SSLv3 (DHE-RSA-AES256-SHA)”的提示,然后出现“Username at mail.mydomain.com:”等
待输入邮箱用户名验证,提交用户名后再提示输入密码。
。。。。。。
##############################################################################
阅读(1863) | 评论(0) | 转发(0) |