Sendmail :电子邮件服务

特点: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-基本邮件服务互相通信

案例拓扑图

Sendmail服务器在企业里的应用

实验过程:

首先配置sohu.com域的服务器

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //设置ip地址

Sendmail服务器在企业里的应用

重启网络服务

Sendmail服务器在企业里的应用

[[email protected] ~]# vim /etc/sysconfig/network    //修改主机名

 Sendmail服务器在企业里的应用

[[email protected] ~]# vim /etc/resolv.conf 修改DNS指向

Sendmail服务器在企业里的应用

安装DNS服务
[[email protected] ~]# mount /dev/cdrom /mnt/cdrom
[[email protected] ~]# cd /mnt/cdrom/Server/
[[email protected] Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
[[email protected] Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
[[email protected] Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

编辑DNS的配置文件
[[email protected] Server]# cd /var/named/chroot/etc
[[email protected] etc]# cp -p named.caching-nameserver.conf named.conf  //生成主配置文件
[[email protected] etc]# vim  named.conf  //DNS的配置文件

Sendmail服务器在企业里的应用

[[email protected] etc]# vim named.rfc1912.zones   //声明DNS正向反向可以解析的区域

Sendmail服务器在企业里的应用

Sendmail服务器在企业里的应用

创建正向解析域文件
[[email protected] etc]# cd /var/named/chroot/var/named
[[email protected] named]# cp -p localhost.zone sohu.com.zone
[[email protected] named]# vim sohu.com.zone

Sendmail服务器在企业里的应用
穿件反向解析域文件
[[email protected] named]# cp -p named.local  sohu.com.local
[[email protected] named]# vim sohu.com.local

Sendmail服务器在企业里的应用

至此DNS已经配置成功,启动DNS服务

Sendmail服务器在企业里的应用

测试dns的解析

Sendmail服务器在企业里的应用

Sendmail服务器在企业里的应用


搭建sendmail服务

查看sendmail软件包的安装情况
Sendmail服务器在企业里的应用

[[email protected] Server]#  rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm

查看域sendmail相关的文件

Sendmail服务器在企业里的应用

[[email protected] mail]# vim sendmail.mc

Sendmail服务器在企业里的应用


编辑中继文件
[[email protected] mail]# vim access

Sendmail服务器在企业里的应用
编辑mail服务器的本地域名
[[email protected] mail]# vim local-host-names

Sendmail服务器在企业里的应用

到此,sendmail已经安装配置完成,启动邮件服务

Sendmail服务器在企业里的应用

安装dovecot服务,并启动
yum install dovecot

Sendmail服务器在企业里的应用

给sohu.com域创建用户,及赋予密码

Sendmail服务器在企业里的应用

测试用户之间相互发送邮件,来测试服务器

切换到user1,给user2发送邮件

Sendmail服务器在企业里的应用

切换到user2,查看邮件箱,查看邮件

Sendmail服务器在企业里的应用

root账户给user1发送邮件,切换到user1查看邮件。

Sendmail服务器在企业里的应用

 

配置sina.com域服务器

sohu.com服务器的配置与sina.com服务器的配置类似,下面简单的介绍一下

配置服务器ip地址[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

Sendmail服务器在企业里的应用

[[email protected] ~]# service network restart

配置主机名字

Sendmail服务器在企业里的应用

DNS指向[[email protected] ~]# vim /etc/resolv.conf

Sendmail服务器在企业里的应用

搭建DNS服务器:

安装需要的软件包

[[email protected] Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm

[[email protected] Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm

[[email protected] Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

编辑DNS主配置文档:

[[email protected] Server]# cd /var/named/chroot/etc/

[[email protected] etc]# cp -p named.caching-nameserver.conf named.conf   //生成主配置文档

[[email protected] etc]# vim named.conf

Sendmail服务器在企业里的应用

声明DNS正向区域,反向区域

[[email protected] etc]# vim named.rfc1912.zones

Sendmail服务器在企业里的应用

Sendmail服务器在企业里的应用

创建正向区域文件:

[[email protected] named]# cp -p localhost.zone sina.com.zone

[[email protected] named]# vim sina.com.zone

Sendmail服务器在企业里的应用

创建反向区域文件:

[[email protected] etc]# ccd /var/named/chroot/var/named/

[[email protected] named]# cp -p named.local sina.com.local

[[email protected] named]# vim sina.com.local

Sendmail服务器在企业里的应用

启动DNS服务:

[[email protected] named]# service named start

测试sina.com区域的DNS服务器解析:

Sendmail服务器在企业里的应用

 

搭建sendmail服务器:

安装sendmail所需的软件包:

[[email protected] Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm

编辑sendmail主配置文档:

[[email protected] ~]# cd /etc/mail/

[[email protected] mail]# vim sendmail.mc

Sendmail服务器在企业里的应用

编辑sendmail的中继文件:

[[email protected] mail]# vim access

Sendmail服务器在企业里的应用

编辑mail服务器的本地域名:

[[email protected] mail]# vim local-host-names

Sendmail服务器在企业里的应用

重启sendmail服务:

Sendmail服务器在企业里的应用

 

搭建dovecot服务器,启动dovecot服务

[[email protected] Server]# yum install dovecot

[[email protected] Server]# service dovecot start

创建邮件服务器用户:

Sendmail服务器在企业里的应用

测试sina.com域中账户之间发送邮件

Sendmail服务器在企业里的应用

 

开启一个winxp,作为sina.com区域的一个客户机

地址配置如图

Sendmail服务器在企业里的应用

outlook客户短的配置,

Sendmail服务器在企业里的应用

配置账户地址

Sendmail服务器在企业里的应用

配置别名服务器

Sendmail服务器在企业里的应用

输入账户密码

 Sendmail服务器在企业里的应用

改成一个好记的名字

Sendmail服务器在企业里的应用

配置连接sohu.com的PC机

Sendmail服务器在企业里的应用

登录账户,设置别名服务器

Sendmail服务器在企业里的应用

跨区域发邮件验证服务器搭建情况:user3给user1发邮件

Sendmail服务器在企业里的应用

user1收到邮件。

Sendmail服务器在企业里的应用

 

应用2-实现企业网内邮件服务器的加密转发和接受

加密需要借助ssl套接层来实现,需要有CA服务器,证书……

一、给sohu.com域配置CA服务器
1[[email protected] ~]# vim /etc/pki/tls/openssl.cnf
修改CA路径

Sendmail服务器在企业里的应用

指明多区域的人可以使用这个CA

Sendmail服务器在企业里的应用

修改申请CA的默认参数

Sendmail服务器在企业里的应用

2根据openssl.cnf文件的说明,需要在CA目录中创建需要的子目录

Sendmail服务器在企业里的应用

[[email protected] ~]# cd /etc/pki/CA

[[email protected] CA]# vim /etc/pki/tls/openssl.cnf
[[email protected] CA]# mkdir crl certs newcerts
[[email protected] CA]# touch index.txt serial
[[email protected] CA]# echo "01" >serial

Sendmail服务器在企业里的应用

创建私钥,根证书。
[[email protected] CA]# openssl genrsa 1024 >private/cakey.pem
修改**文件的权限,禁止其它账户查看。
[[email protected] private]# chmod 600 cakey.pem
根据撕咬文件申请创建根证书,并配置相关的信息
[[email protected] CA]# openssl req -new -key private/cakey.pem -x509 -days 3650 -out cacert.pem

Sendmail服务器在企业里的应用

二、在sohu.com服务器上申请证书
建立相关的目录来存放证书及私钥
[[email protected] ~]# mkdir -pv /etc/mail/certs
[[email protected] ~]# cd /etc/mail/certs
产生自己的私钥文件,
[[email protected] certs]# openssl genrsa 1024 >sendmail.key

Sendmail服务器在企业里的应用
根据私钥文件,产生证书申请文件
[[email protected] certs]# openssl req -new -key sendmail.key -out sendmail.csr

Sendmail服务器在企业里的应用
根据证书申请文件,向本地CA服务器申请证书
[[email protected] certs]# openssl ca -in sendmail.csr -out sendmail.cert

Sendmail服务器在企业里的应用

Sendmail服务器在企业里的应用
修改这3个文件的权限,禁止其它用户修改;
[[email protected] certs]# chmod 600 *

Sendmail服务器在企业里的应用

三、在sendmail服务器中启用ssl套接层,启动加密措施
编辑sendmail的配置文件
[[email protected] ~]# vim /etc/mail/sendmail.mc做以下修改
CA服务器的路径

Sendmail服务器在企业里的应用
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服务器在企业里的应用

重新启动sendmail服务
[[email protected] ~]# service sendmail restart

四、给dovecot服务启用ssl套接层,启动加密措施
创建相关的存放证书的目录
[[email protected] ~]# mkdir -pv /etc/dovecot/certs
进入此目录
[[email protected] ~]# cd /etc/dovecot/certs/
产生1024位的私钥文件
[[email protected] certs]# openssl genrsa 1024 >dovecot.key

Sendmail服务器在企业里的应用
根据私钥文件产生证书申请文件
[[email protected] certs]# openssl req -new -key dovecot.key -out dovecot.csr

Sendmail服务器在企业里的应用
根据证书申请文件产生证书文件
[[email protected] certs]# openssl ca -in dovecot.csr -out dovecot.cert
修改这3个文件的权限,

Sendmail服务器在企业里的应用
[[email protected] certs]# chmod 600 *

Sendmail服务器在企业里的应用

五、在dovecot服务中启动ssl,加密验证方式

[[email protected] certs]# vim /etc/dovecot.conf做一下修改,开启验证规则
ssl_cert_file = /etc/dovecot/certs/dovecot.cert
ssl_key_file = /etc/dovecot/certs/dovecot.key

Sendmail服务器在企业里的应用
重启dovecot服务
[[email protected] certs]# service dovecot restart

六、测试
配置PC机中outlook客户端,开启安全连接ssl。

Sendmail服务器在企业里的应用

Sendmail服务器在企业里的应用

user1给user2发送一份邮件,测试加密验证

Sendmail服务器在企业里的应用

sendmail服务器会出示自己的证书

Sendmail服务器在企业里的应用

user2接受邮件,接受sendmail服务器出示的证书。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sendmail服务器在企业里的应用

收到user1发来的邮件了。

Sendmail服务器在企业里的应用

 

应用三-实现企业网内邮件服务器用户认证

查看sendmail使用的身份验证方式:
[[email protected] ~]# vim /usr/lib/sasl2/Sendmail.conf

Sendmail服务器在企业里的应用

[[email protected] ~]# 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服务
[[email protected] ~]# service sendmail restart

Sendmail服务器在企业里的应用
重启验证服务
[[email protected] ~]# service saslauthd restart

测试  pc机
telnet 192.168.10.100 25

Sendmail服务器在企业里的应用

进入user2,查收邮件

Sendmail服务器在企业里的应用

使用outlook验证账户加密

通过帐号和密码字符串,生成相应的base64的字符串:

Sendmail服务器在企业里的应用

a、客户端没有开启身份验证时:

用户user1向user2发送邮件:

Sendmail服务器在企业里的应用

获得证书:

Sendmail服务器在企业里的应用

提示错误:

Sendmail服务器在企业里的应用

b、客户端用户开启身份验证:

修改用户属性:

Sendmail服务器在企业里的应用

再次发送邮件:

Sendmail服务器在企业里的应用

User2成功接收邮件:

Sendmail服务器在企业里的应用

Sendmail服务器在企业里的应用

 

 

 

 

 

 

测试通过!!!!!!!!!!!!!!!!!!!!