特点:1、快捷 2、安全 3、多样性
相关术语:
1. 协议 端口
Smtp 简单邮件传输(发送)协议 tcp 25 明文
Pop 接收协议 pop2 /pop3 tcp 109/110 明文 脱机的浏览方式 会从服务器下载到本地
Imap4 接收协议tcp 143
联机的方式,在线的方式 直接查看服务器的邮件目录 打开时会下载到本地读取
Mime 多用途邮件扩展 【http 邮件】
文本 base64 – ascii 把邮件办成二进制码来传递
2. 系统
MUA 邮件用户代理 outlook foxmail为每个用户建立一个独自的文件夹,实现安全
Linux os 命令mail mutt thunderbird evolution
MTA 邮件传输代理【类似邮局】
Windows 电子邮件服务 exchanger 2003/2007【比较大】 Mdaemon小巧
Linux sendmail邮政系统【uucp smtp 来传递邮件】 无身份验证 不能防范垃圾邮件 无防病毒
postfix 发送快 比sendmail块3-4倍
qmail 最快的,但是已经没人使用了
MDA 邮件的分发,邮件分拣 procmail dropmail
MAA 邮件访问代理 【接受服务器】
Linux dovecot 【pop2/pop3 imap4 pop3s imaps 】
3.安全
增加一个安全套接层 ssl/tls,既可以实现多种服务的安全加密。
http – https
pop – pops
ftp – ftps
imap – imaps
4.中继
1、 ip地址验证
2、 帐号验证 sasal【简单认证安全层】 cryus-sasl
本地帐号
虚拟帐号 外面的帐号来了,映射成本地的一个帐号
Smtps 465 点对点
Starttls 25
接收 pop2/pop3 ---pop3s
Imap4 – imaps
案例1-基本邮件服务互相通信案例拓扑图
实验过程:
首先配置sohu.com域的服务器
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //设置ip地址
重启网络服务
[root@mail ~]# vim /etc/sysconfig/network //修改主机名
[root@mail ~]# vim /etc/resolv.conf 修改DNS指向
安装DNS服务
[root@mail ~]# mount /dev/cdrom /mnt/cdrom
[root@mail ~]# cd /mnt/cdrom/Server/
[root@mail Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm
编辑DNS的配置文件
[root@mail Server]# cd /var/named/chroot/etc
[root@mail etc]# cp -p named.caching-nameserver.conf named.conf //生成主配置文件
[root@mail etc]# vim named.conf //DNS的配置文件
[root@mail etc]# vim named.rfc1912.zones //声明DNS正向反向可以解析的区域
创建正向解析域文件
[root@mail etc]# cd /var/named/chroot/var/named
[root@mail named]# cp -p localhost.zone sohu.com.zone
[root@mail named]# vim sohu.com.zone
穿件反向解析域文件
[root@mail named]# cp -p named.local sohu.com.local
[root@mail named]# vim sohu.com.local
至此DNS已经配置成功,启动DNS服务
测试dns的解析
搭建sendmail服务
[root@mail Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm
查看域sendmail相关的文件
[root@mail mail]# vim sendmail.mc
编辑中继文件
[root@mail mail]# vim access
编辑mail服务器的本地域名
[root@mail mail]# vim local-host-names
到此,sendmail已经安装配置完成,启动邮件服务
安装dovecot服务,并启动
yum install dovecot
给sohu.com域创建用户,及赋予密码
测试用户之间相互发送邮件,来测试服务器
切换到user1,给user2发送邮件
切换到user2,查看邮件箱,查看邮件
root账户给user1发送邮件,切换到user1查看邮件。
配置sina.com域服务器
sohu.com服务器的配置与sina.com服务器的配置类似,下面简单的介绍一下
配置服务器ip地址[root@mail ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@mail ~]# service network restart
配置主机名字
DNS指向[root@mail ~]# vim /etc/resolv.conf
搭建DNS服务器:
安装需要的软件包
[root@mail Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm
编辑DNS主配置文档:
[root@mail Server]# cd /var/named/chroot/etc/
[root@mail etc]# cp -p named.caching-nameserver.conf named.conf //生成主配置文档
[root@mail etc]# vim named.conf
声明DNS正向区域,反向区域
[root@mail etc]# vim named.rfc1912.zones
创建正向区域文件:
[root@mail named]# cp -p localhost.zone sina.com.zone
[root@mail named]# vim sina.com.zone
创建反向区域文件:
[root@mail etc]# ccd /var/named/chroot/var/named/
[root@mail named]# cp -p named.local sina.com.local
[root@mail named]# vim sina.com.local
启动DNS服务:
[root@mail named]# service named start
测试sina.com区域的DNS服务器解析:
搭建sendmail服务器:
安装sendmail所需的软件包:
[root@mail Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm
编辑sendmail主配置文档:
[root@mail ~]# cd /etc/mail/
[root@mail mail]# vim sendmail.mc
编辑sendmail的中继文件:
[root@mail mail]# vim access
编辑mail服务器的本地域名:
[root@mail mail]# vim local-host-names
重启sendmail服务:
搭建dovecot服务器,启动dovecot服务
[root@mail Server]# yum install dovecot
[root@mail Server]# service dovecot start
创建邮件服务器用户:
测试sina.com域中账户之间发送邮件
开启一个winxp,作为sina.com区域的一个客户机
地址配置如图
outlook客户短的配置,
配置账户地址
配置别名服务器
输入账户密码
改成一个好记的名字
配置连接sohu.com的PC机
登录账户,设置别名服务器
跨区域发邮件验证服务器搭建情况:user3给user1发邮件
user1收到邮件。
应用2-实现企业网内邮件服务器的加密转发和接受
加密需要借助ssl套接层来实现,需要有CA服务器,证书……
一、给sohu.com域配置CA服务器
1[root@mail ~]# vim /etc/pki/tls/openssl.cnf
修改CA路径
指明多区域的人可以使用这个CA
修改申请CA的默认参数
2根据openssl.cnf文件的说明,需要在CA目录中创建需要的子目录
[root@mail ~]# cd /etc/pki/CA
[root@mail CA]# vim /etc/pki/tls/openssl.cnf
[root@mail CA]# mkdir crl certs newcerts
[root@mail CA]# touch index.txt serial
[root@mail CA]# echo "01" >serial
创建私钥,根证书。
[root@mail CA]# openssl genrsa 1024 >private/cakey.pem
修改密钥文件的权限,禁止其它账户查看。
[root@mail private]# chmod 600 cakey.pem
根据撕咬文件申请创建根证书,并配置相关的信息
[root@mail CA]# openssl req -new -key private/cakey.pem -x509 -days 3650 -out cacert.pem
二、在sohu.com服务器上申请证书
建立相关的目录来存放证书及私钥
[root@mail ~]# mkdir -pv /etc/mail/certs
[root@mail ~]# cd /etc/mail/certs
产生自己的私钥文件,
[root@mail certs]# openssl genrsa 1024 >sendmail.key
根据私钥文件,产生证书申请文件
[root@mail certs]# openssl req -new -key sendmail.key -out sendmail.csr
根据证书申请文件,向本地CA服务器申请证书
[root@mail certs]# openssl ca -in sendmail.csr -out sendmail.cert
修改这3个文件的权限,禁止其它用户修改;
[root@mail certs]# chmod 600 *
三、在sendmail服务器中启用ssl套接层,启动加密措施
编辑sendmail的配置文件
[root@mail ~]# vim /etc/mail/sendmail.mc做以下修改
CA服务器的路径
define(`confCACERT_PATH', `/etc/pki/CA')dnl
CA的根证书路径
define(`confCACERT', `/etc/pki/CA/cacert.pem')dnl
sendmail服务器的证书位置
define(`confSERVER_CERT', `/etc/mail/certs/sendmail.cert')dnl
sendmail服务器的私钥位置
define(`confSERVER_KEY', `/etc/mail/certs/sendmail.key')dnl
打开sendmail的加密加密服务
重新启动sendmail服务
[root@mail ~]# service sendmail restart
四、给dovecot服务启用ssl套接层,启动加密措施
创建相关的存放证书的目录
[root@mail ~]# mkdir -pv /etc/dovecot/certs
进入此目录
[root@mail ~]# cd /etc/dovecot/certs/
产生1024位的私钥文件
[root@mail certs]# openssl genrsa 1024 >dovecot.key
根据私钥文件产生证书申请文件
[root@mail certs]# openssl req -new -key dovecot.key -out dovecot.csr
根据证书申请文件产生证书文件
[root@mail certs]# openssl ca -in dovecot.csr -out dovecot.cert
修改这3个文件的权限,
[root@mail certs]# chmod 600 *
五、在dovecot服务中启动ssl,加密验证方式
[root@mail certs]# vim /etc/dovecot.conf做一下修改,开启验证规则
ssl_cert_file = /etc/dovecot/certs/dovecot.cert
ssl_key_file = /etc/dovecot/certs/dovecot.key
重启dovecot服务
[root@mail certs]# service dovecot restart
六、测试
配置PC机中outlook客户端,开启安全连接ssl。
user1给user2发送一份邮件,测试加密验证
sendmail服务器会出示自己的证书
user2接受邮件,接受sendmail服务器出示的证书。
收到user1发来的邮件了。
应用三-实现企业网内邮件服务器用户认证
查看sendmail使用的身份验证方式:
[root@mail ~]# vim /usr/lib/sasl2/Sendmail.conf
[root@mail ~]# vim /etc/mail/sendmail.mc 对sendmail的配置文件做一下4处的修改
39 define(`confAUTH_OPTIONS', `A y')dnl
52 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
53 define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
启动强制身份验证
116 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA, M=Ea')dnl
重启sendmail服务
[root@mail ~]# service sendmail restart
重启验证服务
[root@mail ~]# service saslauthd restart
测试 pc机
telnet 192.168.10.100 25
进入user2,查收邮件
使用outlook验证账户加密
通过帐号和密码字符串,生成相应的base64的字符串:
a、客户端没有开启身份验证时:
用户user1向user2发送邮件:
获得证书:
提示错误:
b、客户端用户开启身份验证:
修改用户属性:
再次发送邮件:
User2成功接收邮件:
测试通过!!!!!!!!!!!!!!!!!!!!