郵件伺服器之sendmail的安全配置之加密
導讀
繼上篇文章配置了簡單的郵件伺服器,但是當接收發郵件是容易被抓包擷取到我們的敏感資訊,為此這篇文章讨論一下郵件伺服器的加密
① Pop3s加密協定 端口為995
② 通過startts工作在smtp協定的25端口加密
當收件人接受郵件時開啟咱們的wireshark抓包工具,看看能不能獲得敏感資訊。
tshark -ni eth0 -R "tcp.port eq 110"
<a href="http://blog.51cto.com/attachment/201211/143104881.png" target="_blank"></a>
如上可以獲得到收信人的賬戶和密碼
下面我們做的主要工作時防止被人抓包擷取敏感資訊。。
1、 建立CA認證中心
(1)編輯/etc/pki/tls/openssl.cnf檔案 修改如下幾行為如下:
45 dir = /etc/pki/CA
88 countryName = optional
89 stateOrProvinceName = optional
90 organizationName = optional
(2)cd /etc/pki/CA
[root@RHEL CA]# mkdir crl certs newcerts
[root@RHEL CA]# touch index.txt serial
[root@RHEL CA]# echo "01" serial
(3)建立自己的私鑰
[root@RHEL CA]# openssl genrsa 1024 >private/cakey.pem
Generating RSA private key, 1024 bit long modulus
.....++++++
................++++++
e is 65537 (0x10001)
(4)生産證書
[root@RHEL CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem
<a href="http://blog.51cto.com/attachment/201211/143115963.png" target="_blank"></a>
[root@RHEL CA]# chmod 600 private/*
(5)建立用于存放郵件伺服器的證書目錄
mkdir /etc/mail/certs
(6)産生私鑰
[root@RHEL certs]# openssl genrsa 1024 > mail.key
....................................++++++
...++++++
e is 65537 (0x10001)
(7)請求
[root@RHEL certs]# openssl req -new -key mail.key -out mail.csr
<a href="http://blog.51cto.com/attachment/201211/143123324.png" target="_blank"></a>
(8)頒發證書
[root@RHEL certs]# openssl ca -in mail.csr -out mail.cert
<a href="http://blog.51cto.com/attachment/201211/143130519.png" target="_blank"></a>
(9)vim /etc/dovecot.conf
去掉注釋,并修改為如下:
ssl_cert_file = /etc/mail/certs/mail.cert
ssl_key_file = /etc/mail/certs/mail.key
(10)重新開機dovecot服務
(11)outlook用戶端啟用SSl安全連接配接如下:
<a href="http://blog.51cto.com/attachment/201211/143140922.png" target="_blank"></a>
tshark -ni eth0 -R "tcp.port eq 995"
<a href="http://blog.51cto.com/attachment/201211/143151812.png" target="_blank"></a>
接受郵件時,再次抓包已經擷取不到了敏感資料
有發才有收,是以在發送郵件時,也可能被被人監聽
下面實作發送加密 即 在smtp的25端口實作加密
(1) 産生私鑰、建立請求、頒發證書如上述的(6)(7)(8)三的步驟 隻是建立請求時寫smtp.wsm.com ,并修改key的權限為600
實作在smtp的25端口加密的是startts功能
檢視是否開啟了
<a href="http://blog.51cto.com/attachment/201211/143208226.png" target="_blank"></a>
還沒有
編輯vim /etc/mail/sendmail.mc 如下 ,開啟如下5行,并相應的修改
<a href="http://blog.51cto.com/attachment/201211/143218508.png" target="_blank"></a>
134 DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
<a href="http://blog.51cto.com/attachment/201211/143225786.png" target="_blank"></a>
已開啟starttls功能
在outlook中啟用smtp的ssl安全連接配接如下:
<a href="http://blog.51cto.com/attachment/201211/143233441.png" target="_blank"></a>
好了,,此時,你在和mail伺服器之間發送和接收郵件應經實作了加密,,最好在給客戶機發一個根證書。。。。
本文轉自 abc16810 51CTO部落格,原文連結:http://blog.51cto.com/abc16810/1061508