本帖最后由 wuyijie 于 2013-5-2 08:50 编辑
电子邮件服务器以及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这需要软件m4,m4默认已经安装到系统 [iyunv@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.com和sina.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/network、etc/hosts文件
修改主机名
更改hosts文件
重启相关服务 我们使用windows 2003作为测试主机
这样163.com的dns就搭建完成了 以同样的方法在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 "user3@sina.com" |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反向解析会大大提高邮件的收发速率
|