首页 > 技术文章 > linux之搭建CA服务,实现邮件服务dovecot的CA认证

kk5698 2020-08-01 10:47 原文

搭建CA服务,实现邮件服务dovecot的CA认证。

配置三台虚拟机 ip CA服务器  邮件服务器 客户机

第一台虚拟机为CA服务器

IP地址192.168.10.100  主机名ca.ujiuye.com  

安装软件bind  bind-utils  bind-libs

扮演私有CA服务器,实现证书认证请求和签发 ,同时也搭建DNS服务,实现域名解析

 

第二台虚拟机为dovecot邮件服务器

IP地址192.168.10.150  主机名:mail.ujiuye.com  

安装软件postfix和dovecot

实现向CA中心请求签证。并搭建邮件服务,提供客户机访问。

 

台为客户机,

IP地址192.168.10.200  主机名:client.ujiuye.com   

安装邮件客户端软件mutt

访问邮件服务器的邮箱服务

 

修改主机名字  :   hostnamectl   set-hostname    ca.ujiuye.com

1.在CA服务器上安装软件bind  搭建DNS服务   

1.)CA服务器配置yum   挂载镜像,  

 

 

 

 

安装DNS软件bind*

yum clear all     --清理缓存

yum -y install bind*

 

 

 

 

 

2.)增加域  修改主配置文件  

vim /etc/named.conf

监听端口  改为任何人

 

 

 

 

增加域

cd /var/named/

ls

cp  named.localhost   ujiuye.com.zone   ---复制文件去修改内容,增加域

vim ujiuye.com.zone

 

 

 

 

 

修改这个权限为 named     ---修改用户和组的拥有者

chown named:named ujiuye.com.zone

 

 

 

 

 

systemctl restart named重启服务     

 

 

 

 

 

nslookup    ca.ujiuye.com 查看是否可以解析  

nslookup ca.ujiuye.com 192.168.10.100

 

 

 

 

 

 

 

vim /etc/resolv.conf   修改指向DNS的默认配置(三台都要指定)  

在其中增加默认指向的DNS(CA)的ip

nameserver 192.168.10.100

 

 

 

 

 

检测是否成功

 

 

 

 

 

2. ca服务器的文件配置  (签发证书的个人信息)

写完之后就不用再写了   六项  

根据openssl工具实现自签证书、配置自身的CA配置文件

CA配置文件:/etc/pki/tls/openssl.cnf

129 countryName                     = Country Name (2 letter code)

130 countryName_default             = CN             (默认国家)

134 stateOrProvinceName             = State or Province Name

135 #stateOrProvinceName_default    =Beijing          (默认省)

137 localityName                      = Locality Name (eg, city)

138 localityName_default              =BeiJing          (默认市)

140 0.organizationName               =Organization Name

141 0.organizationName_default       = Ujiuye,Inc.       (公司名称)

150 commonName                    = ca.ujiuye.com   (服务器名称)

151 commonName_max               = 64

153 emailAddress               = ujiuye@ujiuye.com  (CA的邮件地址)

 

 

 

 

 

 

3. CA根目录/etc/pki/CA下创建序列号文件和索引文件

cd /etc/pki/CA路径   

touch index.txt创建索引和序列号文件

echo 01 > serial

 

 

 

 

 

4.CA服务器 生成私钥:(可以选择性进行承接加密算法)

openssl   genrsa   -out   private/cakey.pem     (可指定私钥位置)

    生成私钥      绝对路径或者相对路径   文件    要记住私钥位置/etc/pki/CA/私钥

 

openssl genrsa -out private/cakey.pem

 

 

 

 

 

查看私钥

 

 

 

 

 

5.(CA)服务端 提取公钥,生成自签证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem         ----生成自签证书

 

openssl req -new                     --新生成

-x509                                --自签

-key /etc/pki/CA/private/cakey.pem    ---生成私钥的路径文件

-days 3650                           ---有效期

-out /etc/pki/CA/cacert.pem           ---保存证书的位置

一定要放CA下面  ,如果没有在这,那么复制到这

 

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem         ----生成自签证书

 

cat /etc/pki/CA/cacert.pem        ---查看

 

 

 

 

 

查看

 

 

 

 

 

5.在网页上发布自己的自签证书(选择性操作)

 

6.邮件mail服务器搭建dovecot邮件服务,然后向CA服务器申请证书(前提先创建生成自己私钥)

mail服务器端 配置yum  挂载镜像,安装软件

yum -y install postfix

yum -y install dovecot

     

openssl genrsa -out imaps-svr.key 2048            --生成私钥

生成私钥        私钥名字         长度

安装

 

 

 

 

 

生成私钥    即在当前目录,必须记住文件位置

 

 

 

 

 

7.邮件服务器生成签名请求文件,把请求文件传输给CA

openssl req -new -key imaps-svr.key -days 365 -out imaps-svr.key.crs

生成请求文件

openssl req -new       ---新生成     requst

-key imaps-svr.key      ---私钥位置

-days 365              ---有效期限

-out imaps-svr.key.crs   ---生成请求文件的位置

scp imaps-svr.key.crs 192.168.10.100:/root     ---把请求放到CA服务器上

一定记住目录位置

 

openssl req -new -key imaps-svr.key -days 365 -out imaps-svr.key.crs

生成请求文件

因为没有配置签发证书的个人信息,所以得自己填入  个人信息  密码可不写

 

 

 

 

注意   逗号  公司  逗号Inc

 

scp imaps-svr.key.crs 192.168.10.100:/root    --上传到CA服务端

 

 

 

 

 

CA上查看root

 

 

 

 

8.CA中心进行签名,认证,然后把认证的证书发往mail邮件服务器。

openssl req -in imaps-svr.key.crs -noout -text  (以文本方式先进行输出查看一下证书内容和签名信息)

crs  请求文件

crt  证书

key 私钥

openssl ca -in imaps-svr.key.crs -out imaps-svr.crt  并确认签署)

-in imaps-svr.key.crs           ----导入请求文件

-out imaps-svr.crt             ----输出的是证书

 

scp imaps-svr.crt 192.168.10.150:/root     ---证书发送给服务端的root

 

1.)在CA上查看请求

openssl req -in imaps-svr.key.crs -noout -text

 

 

 

 

2.)依据请求生成证书

openssl ca -in imaps-svr.key.crs -out imaps-svr.crt     

crs  请求文件            依据请求文件生成证书

crt  证书  

 

 

 

 

Sign the certificate? [y/n]:y       --是否要签发

1 out of 1 certificate requests certified, commit? [y/n]y   --提交

 

3.)查看证书到  CA目录下查看,

 

 

 

 

 

4.)  scp imaps-svr.crt 192.168.10.150:/root   ---证书发送给服务端的root

 

 

 

 

9.流程解释

imaps-svr.key  --私钥

imaps-svr.key.crs   --请求

imaps-svr.crt    --证书

mail服务端依据私钥生成请求 ,把请求发给CA ,CA依据请求发送证书给服务端

 

 

 

 

10.部署证书(mail邮件服务器)

确认mail邮件服务器的postfix服务是否开启,并查看devocot配置文件

1.)查看postfix服务是否开启

systemctl status postfix     --查看服务状态

 

 

 

 

netstat -antulp | grep :25    ---查看端口

 

 

 

 

注意端口为 127  不能提供外网服务,其他服务器不能使用  所以去修改参数,

2.) 修改postfix的配置文件main.cf中的   #interfaces=all,将前面的#去掉       

cd /etc/postfix      vim main.cf    --修改这个即可

 

 

 

 

 

 

3.)重启服务  查看端口

systemctl restart postfix   

 

 

 

 

现在所有客户端的25端口都可连他

11.查看或修改dovecot的ssl配置文件,(mail服务端)查看证书,私钥存放路径.

并查看证书存放路径和私钥存放路径

cd /etc/dovecot /conf.d

Ls

vim   10-ssl.conf       ---编写这个文件

查看证书位置

 

 

 

 

cret为证书存放位置         key为私钥存放位置

 

 

 

 

 

12.将mail邮件服务器  自身的证书和私钥放置到指定的路径,并进行启动dovecot,查看端口是否开放,110,143

cp imaps-svr.key /etc/pki/dovecot/private/dovecot.pem

将私钥存放到     这个路径          会显示覆盖,直接覆盖成为这个文件

cp imaps-svr.crt /etc/pki/dovecot/certs/dovecot.pem

将证书存放到     这个路径          会显示覆盖,直接覆盖成为这个文件

 

 

 

 

 

查看   /dovecot下两个文件,  

/private/dovecot.pem为私钥   /certs/dovecot.pem 为证书

 

 

 

 

 

systemctl start dovecot           启动服务    ( dovecot 收邮件)

netstat -antulp |grep :110  查看端口   ---注意冒号后直接跟110没有空格

netstat -antulp |grep :143

 

 

 

 

 

13:在客户端安装mutt邮件客户端, 进行设置邮件服务器邮箱地址,验证其邮箱的证书可用性。

cd      

mkdir .mutt     

vim .mutt/muttrc

mutt        查看证书

内容解释

set folder=imaps://mail.ujiuye.com             ---收邮件的地方

set spoolfile=imaps://mail.ujiuye.com           ----邮件池

set certificate_file=/root/.mutt/UJIUYE_CA.CRT   ---下载的证书位置

 

 

 

 

 

 

查看证书位置

 

 

 

推荐阅读