sendmail接收邮件的加密认证

sendmail 的数据加密: smtps :提供 ssl
                       tls 的服务: starttls 通过 25 端口实现 ssl 加密
              smtps 加密只是实现一段数据的加密,中继时候不支持 点到点的 ( 主机到主机 )
       基于 ip
       端口: 465
查看 sendmail 是否支持 starttls
              1 telnet mail.a.com 25
                 ehlo mail.a.com 在开启的情况下会显示 starttls 表示已经启用
              2 sendmail -d0.1 -bv 查看是否出现 STARTTLS ,有表示在 sendmail 二进制编译过程
                                                 中支持 tls 功能,并不表示已经启用
配置:
              1 、证书 ,做 CA 认证 /etc/pki/CA/cacert.pem
              2 mkdir /etc/mail/certs
              cd /etc/mail/certs
              openssl genrsa 1024 >sendmail_key.pem
              openssl req -new -key sendmail_key.pem -out sendmail_cert.csr
              openssl ca -in sendmail_cert.csr -out sendmail_cert.pem -days 3650
              rm -rf sendmail_cert.csr
              cp /etc/pki/CA/cacert.pem
              chmod 600 ./*
              3 sendmail 启用认证
              vim /etc/mail/sendmail.mc
              启用     define(`confCACERT_PATH', `/etc/mail/certs')dnl
                     define(`confCACERT', `/etc/mail/certs/cacert.pem')dnl
                     define(`confSERVER_CERT', `/etc/mail/certs/sendmail_cert.pem')dnl
                     define(`confSERVER_KEY', `/etc/mail/certs/sendmail_key.pem')dnl
              启用       define(`confLOG_LEVEL', `14')dnl 启用日志功能
              启用      DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl 开启会监听 465 端口
              vim /etc/mail/access 添加为 192.168.0 网段做转发
              service sendmail restart
       测试: telnet mail.a.com 25
              ehlo mail.a.com 会有 starttls
              可以用 outlook 测试 -- 创建用户 --> 属性勾选服务器需要安全的连接 ssl--fa 邮件
      
 
 
smtps 本身并没有认证的功能,需要借助 sasl 进行认证:
              组件: cyrus-sasl
              进程为 saslauthd
              sendmail -d0.1 -bv 会显示 SASLv2 表示支持
              sasl 配置:
                     service saslauthd restart
                     chkconfig saslauthd on
                     vim /etc/mail/sendmail.mc
                     添加     define(`confAUTH_OPTIONS', `A y')dnl
                            TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
                            define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
                            DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA', M=Ea')dnl
                     vim /usr/lib/sasl2/Sendmail.conf 添加
                       mech_list: login plain 支持的认证机制
              测试: telent mail.a.com 25 会显示 login plain
                     ehlo mail.a.com
                     auhtlogin 账号要编码 base64--->  echo -n '[email protected]' | openssl base64
                     密码 ----->      echo -n 'redhat' | openssl base64
                     mail from:[email protected]
                     rcpt to:[email protected]
                     hello
                     .
                     quit
              一般发邮件不要为 root 用户
              使用 outlook 测试:工具 -- 账户 -- 属性 -- 服务器勾选我的服务器需要身份认证
                     发邮件 ,可以不用 /etc/mail/access 里的配置 这时的过程是基于 sasl
 
接受邮件加密:
       dovecot 配置 ---ssl
       pop3---pop3s 端口 995<---- grep pop /etc/services
       imap---imaps 端口 993<----grep imap /etc/services
              配置: 192.168.0.85
                     1 、给 dovecot 发证书
                            mkdir -pv /etc/dovecot/ssl
                            cd /etc/dovecot/ssl
                            openssl genrsa 1024 >dovecot.key
                            openssl req -new -key dovecot.key -out dovecot.csr
                            openssl ca -in dovecot.csr -out dovecot.crt -days 3650
                     2 、配置 dovecot.conf
                            vim /etc/dovecot.conf
                                 ssl_cert_file = /etc/dovecot/ssl/dovecot.crt
                                 ssl_key_file = /etc/dovecot/ssl/dovecot.key
                                 protocols = imaps
                            service dovevot restart
                            netstat -ntlp | grep 993
                     2 、测试:
                            outlook 发邮件 -- 账户 --
                            收邮件 mutt -f imap://[email protected] imap://[email protected]
                            验证加密过程是加密的:抓包 wireshark
                            yum install wireshark -y
                            打开 110 端口 vim /etc/dovecot.conf protocol 添加 pop3 协议
                            service dovecot restart
                            netstat -ntlp | grep 110
                            抓包 tshark -ni eth0 "tcp.srcport eq 110 or tcp.dsport eq 110"
                            1 、发邮件测试 telnet 192.168.0.85 110 (windows 下命令模式 )
                                          USER sara
                                          PASS redhat
                                          LIST
                                          RETR 1
                                   可以看到邮件的详细信息 110 为明文,加密后就为更为的安全
                            tshark -ni eth0 "tcp.srcport eq 993 or tcp.dsport eq 993"
                              使用加密的账户发邮件 过程是加密的
                            2 、模拟加密连接: 192.168.0.121
                            openssl s_client -connect 192.168.0.85:993
                            USER sara
                            192.168.0.85 上查看是加密的看不到信息
 
                           
                                  
                           
                                                
                    
                    

你可能感兴趣的:(职场,休闲,imaps,pop3s)