Sendmail协议加密以及身份验证

在Internet设计之处,设计人员并没有对信息安全方面做过多的考虑,只是为了能够实现其功能,所以一些协议都没有安全性。在邮件服务器中,用来发送的协议SMTP和接收协议POP3、IMAP4都是明文传输,这样对于用户来说是不安全的。如果重新设计这些协议的话,投入的成本过大,所以选择一些折中的办法,在应用层和传输层之间在添加一些安全的协议。如:SSL或TLS,就形成了smtps、starttls、pop3s、imaps。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密

关于区域用户以及区域间用户之间的邮件发送请参考本人的相关博客,这里主要说的是对邮件协议的加密以及用户认证。

一、邮件协议加密

如果只是使用smtp和pop3、imap4来进行邮件之间的传输,那么信息很容易被别人窃取。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_02

在发送时对信息进行加密:

步骤:

1、制作CA证书

2、利用CA给sendmail签发证书

3、sendmail和证书进行捆绑

4、在客户邮件发送软件Outlook上进行发送加密开启

我们都知道rpm包安装比源码安装要方便很多,其实rpm是通过源码进行重新编译的。在做信息加密时,要确保你的软件包编译时支持加密这个功能,否则是不能进行加密的。在sendmail中,使用命令:“sendmail -d0.1 -bv”来查看sendmail在编译时的参数。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_03

使用SSL和smtp,pop3、imap4结合来实现加密。

创建证书。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_04

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_05

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_06

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_07

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_08

为sendmail签发证书:

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_09

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_10

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_11

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_12

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_13

和发送协议进行捆绑:

编辑sendmail配置文件:vim /etc/mail/sendmail.mc

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_14

第一个是要指明:CA的证书存放路径

第二个是要指明:CA证书的路径

第三个是要指明:sendmail的证书路径

第四个是要指明:sendmail的私钥路径

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_15

然后进行重启sendmail服务:service sendmail restart

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_16

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_17

以上是在发送协议上进行了加密,在客户端邮件发送软件上要设置为发送加密才能对发送邮件进行加密,如果不设置加密,同样可以抓取一些信息。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_18

在客户端邮件发送软件Outlook上设置发送邮件加密。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_19

这个警告信息是由于你为安装CA的证书导致计算机不信任CA所签发的证书。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_20

在接口上抓取信息:tshark -ni eth0 -R “tcp.porteq 25”

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_21

在接受时对信息进行加密:

步骤和发送时加密大致相同,由于在同一台服务器中,所以不用再为CA创建证书。接受服务为dovecot。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_22Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_23

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_24

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_25

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_26

对证书和dovecot进行捆绑

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_27

如果要关闭接收时使用的明文传输协议,这么做

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_28

然后进行重启dovecot服务:service dovecot restart

在客户端进行接收邮件时,要使用pop3s来进行接收。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_29

在sina.com区域中使用testuser3给163.com区域内的用户testuser1,发送一份邮件,并在163.com区域内的邮件服务器中抓取信息。

tshark -ni eth0 -R “tcp.port eq 995”

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_30

testuser1接收邮件时,会提示一些信息。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_31

这样在接收时保证了帐号的安全。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_32

二、身份验证

默认情况下邮件服务器是不对用户进行身份验证的。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_33

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_34

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_35

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_36

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_37

用这个不存在的用户发送邮件。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_38Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_39

在邮件服务中可以使用saslatuthd服务来进行邮件用户的认证,这个服务的软件包是cyrus-sasl,系统默认安装。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_40

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_41

默认saslauthd服务在任何级别都不会开启,所以需要手动开启该服务。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_42

编辑sendmail的配置文件:vim /etc/mail/sendmail.mc 开启身份验证

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_43

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_44

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_45

ehlo是扩展的hlo协议,是客户端与邮件服务器之间的一种协议,它可以看到邮件服务器的扩展参数

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_46

在使用不存在的用户aaa发送邮件是就会报错。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_47

默认情况下,即使是合法帐号如果不做任何设置的话,也不会通过。

Sendmail和Dovecot实现伊妹儿服务(三)_身份验证    协议加密_48