注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涅槃

文档收藏

 
 
 

日志

 
 
 
 

【转载】Postfix SMTP + SSL/TSL  

2013-11-26 17:06:07|  分类: Postfix&邮件系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自zhuzhu《Postfix SMTP + SSL/TSL》

參考資料:

SMTP 在預設的情況下,在傳輸過程中並不會有資料加密的動作,因此在使用者寄件時,中間的封包被側錄,那麼傳輸的文字內容馬上就會被清清楚的呈現。

為了資料傳送安全,現在可以使用 Postfix 的 SMTP 服務,再上 SSL 的的加密作業,讓使用者在寄件時能更加的安全。也就是平時常聽到的 smtps 功能。

編譯與安裝

在手動編譯之前,需要讓 Postfix 支援 SSL/TLS 才行,所以在您的主機上需要備有 openssl 的函式庫。

使用下列方式,可以清除之前舊有設定檔,並加入 SSL/TLS 支援,重新編譯並安裝。

0001  0002  0003  0004  0005  0006  
root # make tidy  root # make clean  root # make makefiles CCARGS="-DUSE_TLS" AUXLIBS="-lssl -lcrypto"  root # make  root # make install  

建立憑證

使用 openssl 指令,建立憑證檔案,在此會產生一組 key 與 csr 檔案,csr 檔案在稍後由憑證中心簽屬完成憑證的認證。

0001  0002  
root # openssl genrsa -out l-penguin.idv.tw.key 1024  root # openssl req -new -key l-penguin.idv.tw.key -out l-penguin.idv.tw.csr

由 RootCA 簽立憑證

本範例是由 RootCA 使憑證的認證,若是您的組織之內沒有憑證中心,可以參考 更安全的的連線 Apache + SSL (new window) 來為自己簽屬憑證。

0001  
root # openssl x509 -req -days 365 -in l-penguin.idv.tw.csr -CA ../ca.l-penguin.idv.tw.crt -CAkey ../ca.l-penguin.idv.tw.key -CAcreateserial -out l-penguin.idv.tw.crt

若要建立 RootCA 憑證中心,可參考 建立一個可信任的單位根簽證 (Root CA) (new window)

接下來,把簽屬完成的憑證,放在憑證資料夾裡。請注意,您的私有憑證與簽屬過的發佈用憑證,可放在任一目錄(本例為 /CA),但是私有憑證,除了 root 之外不應該還有其它使用者可以讀寫。

簽屬完的憑證為 crt 檔案,因此也需要保留好此一憑證。

0001  0002  0003  0004  0005  0006  
root # pwd; ls -l  /CA/l-penguin  total 12  -rw-r--r-- 1 root root 1058 Jan  9 09:42 l-penguin.idv.tw.crt  -rw-r--r-- 1 root root  733 Jan  9 09:42 l-penguin.idv.tw.csr  -rw------- 1 root root  887 Jan  9 09:41 l-penguin.idv.tw.key
廣 告

設定 Postfix

當您取得憑證,並且成功編譯並安裝完 Postfix 之後,您的 Postfix 就會支援 SSL/TLS 的加密傳輸,要啟用此一功能,需要編輯 Postfix 設定檔:main.cf 與 master.cf。

請在您的 Postfix 設定檔目錄下的 main.cf(一般為 /etc/postifx)最後輸入如下設定:

0001  0002  0003  0004  0005  0006  
smtpd_tls_cert_file = /CA/l-penguin/l-penguin.idv.tw.crt  smtpd_tls_key_file = /CA/l-penguin/l-penguin.idv.tw.key  smtpd_use_tls = yes  tls_random_source = dev:/dev/urandom  tls_daemon_random_source = dev:/dev/urandom  

請注意,您應該要為 smtpd_tls_cert_filesmtpd_tls_key_file 設定正確的憑證位置。

另外,在 master.cf 下,加入 smtps 的設定如下:

0001  
smtps    inet    n    -    n    -    -    smtpd -v -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

重新啟動 Postfix。

0001  
root # postfix stop; postfix start

當您覺得一切都很順利時,請使用 telnet 的方式做最後的確認,以保證當您在啟用 SSL/TLS 時,Postfix 可以接收傳輸加密的功能。

0001  0002  0003  0004  0005  0006  0007  0008  0009  0010  0011  0012  0013  0014  0015  0016  0017  0018  0019  0020  
# telnet localhost 25  Trying 127.0.0.1...  Connected to localhost.localdomain (127.0.0.1).  Escape character is '^]'.  220 l-penguin.idv.tw ESMTP Postfix  ehlo localhost  250-l-penguin.idv.tw  250-PIPELINING  250-SIZE 10240000  250-VRFY  250-ETRN  250-STARTTLS  250-AUTH LOGIN PLAIN  250-AUTH=LOGIN PLAIN  250-ENHANCEDSTATUSCODES  250-8BITMIME  250 DSN  STARTTLS  220 2.0.0 Ready to start TLS  

OK,當您的 Postfix 回應最後一行 Ready to start TLS 時,就可以確定 TLS 加密協定是成功的。

Client 設定

Outlook 帳號,請把加密類型修改為 TLS 即可。

Postfix SMTP + SSL/TSL - zhuzhu - 津津计较

 

以下為 Thunderbird 的 SMTP 設定,把 TLS 選起來即可。

Postfix SMTP + SSL/TSL - zhuzhu - 津津计较

 

下圖為側錄 SMTP 加密的內容,若使用 TLS 方式傳輸的話,其內容都會被加密而難以解密。

Postfix SMTP + SSL/TSL - zhuzhu - 津津计较

 

01/14/2009

首頁

  评论这张
 
阅读(385)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018