电子邮件服务器以及sendmail加密、证书、认证(2)

 

电子邮件服务器以及sendmail加密、证书、认证

在(1)中我们已经简要介绍了电子邮件服务器的相关内容下面我们来实现以下sendmail的安装以及邮件系统其他功能的实现

搭建环境:red hat 5.4

使用本地的光盘镜像里的软件包搭建邮件服务器

确保sendmail已经安装后,查看sendmail的工作端口情况,sendmail监听在本机的25端口,也就是说发送邮件仅仅局限于本机用户之间的发送

使用root用户给本机用户user1发送邮件

使用user1收邮件,mail查考邮箱,输入1查看邮件

退出时若输入q,邮件就自动保存到用户家目录下的mbox

若输入x,下次查收邮件时会提示还有新邮件

若删除邮件输入d  邮件编号

因为目前的系统只能给连接本邮局的用户发送邮件,这显然很不方便,所以我们应改变监听地址:

修改/etc/mail目录下sendmail.mc,但是系统默认使用sendmail.cf,我们要把它进行转化,这需要一个软件sendmail-cf,还要修改一个access文件同样的系统使用access.db,access文件要转成access.db这需要软件m4m4默认已经安装到系统

[root@station253 Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm

修改sendmail.mc文件第116

重启sendmail服务

监听端口已经更改

我们可以使用telnet来排错,查看端口状态,同样可以发邮件

Mail from:发件人

Rcpt to:收件人

Data输入数据

. 输入结束

Quit退出

当我们要发一封邮件时,随便输入一个用户名发现就能够发送,这就显现处sendmail的缺陷所在没有验证功能

 

同样外面的主机也能够给邮件服务器发送邮件的

为了解决sendmail的安全问题,下面我们来对sendmail的加密、证书和认证进行学习

环境:red hat 5.4

基于上面sendmail的配置环境

我们还需要安装接收邮件软件

#yum install dovecot

#service dovecot start

更改邮件服务器的一些文件

编辑/etc/mail/access文件

接收163.com的任何邮件

为发往sina.Com的邮件做中继

192.168.102网段的ip地址主机做中继

编辑/etc/mail/access文件local-host-names

163.comsina.com地区邮局配置dns

# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm

# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm

# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

生成配置文件

进入/var/named/chroot/etc/目录下

#cp -p named.caching-nameserver.conf  named.conf

并编辑

添加163.com

# vim named.rfc1912.zones

生成163.com域的配置文件

# cd /var/named/

# cp -p localhost.zone 163.com.zone

# vim 163.com.zone

重启dns服务并修改/etc/resolv.conf/etc/sysconfig/networketc/hosts文件

修改主机名

更改hosts文件

重启相关服务

我们使用windows 2003作为测试主机

这样163.comdns就搭建完成了

以同样的方法在sina.Com地区的服务器上创建好dns服务器

已经实现不同区域间的邮件传输,现在我们对它们进行加密和证书处理

创建CA

# cd /etc/pki/

# vim tls/openssl.cnf

更改默认值

创建所需目录和文件

产生证书序列号

# echo 01 >serial

产生私钥,并更改其权限

# openssl genrsa 1024 > private/cakey.pem

# chmod 600 private/cakey.pem

产生证书

# openssl req -new -key private/cakey.pem -out cacert.pem

相关信息

为服务器产生私钥和证书

产生证书

CA签署证书

# openssl ca -in sendmail.csr -out sendmail.crt

将证书和邮件服务器sendmail结合

修改邮件服务器的配置文件

# vim /etc/mail/sendmail.mc

重启邮件服务服务

# service sendmail restart

为接收创建私钥和证书

# mkdir -pv /etc/dovecot/certs

# cd /etc/dovecot/certs/

# openssl genrsa 1024 >dovecot.key

# openssl req -new -key dovecot.key -out dovecot.crs

CA签署证书

# openssl ca -in dovecot.csr -out dovecot.crt

并更改权限

# chmod 600 dovecot.key

编辑dovecot的配置文件

接收邮件加密协议

证书和私钥路径

证书链路径

重启dovecot服务

# service dovecot restart

接下来配置客户端

启用抓包工具

# tshark –ni eth0 –R “tcp.port eq 995”

可以看出加密成功

接下来做验证

sendmail自身没有身份认证能力,要想实现身份认证,必须要借助sasl协议,系统默认已经装好

# vim /usr/lib/sasl2/Sendmail.conf

邮件服务器与认证结合成功的标志

编辑sendmail的配置文件

# vim /etc/mail/sendmail.mc

重启sendmail服务

进行验证时要求有身份验证

利用auth login指令测试时,账号不能输明文的,要输入base64编码的账号,这时要产生这个base64编码

# echo -n "[email protected]" |openssl base64

# dXNlcjNAc2luYS5jb20=

输入验证账户base64编码

认证通过

当我们发送邮件时会出现下面错误

我们需要去进行设置

选择你的账户

这样进行设置后就可以成功发送了

前面我们所用的邮件发送和接收速度都非常慢,我们这里为邮件服务器做一个dns反向解析来提高它的速度

# vim /var/named/chroot/etc/named.rfc1912.zones

插入以下代码

# cp -p named.local 192.168.102.local

编辑192.168.102.local

然后执行

# rndc reload

同样在sina邮件服务器上做一个dns反向解析会大大提高邮件的收发速率

你可能感兴趣的:(sendmail,电子邮件服务器)