Jquery中文網 mm6666com单双中特 www.wvbtf.icu
Jquery中文網 >  服務器技術  >  郵件服務器  >  正文 rhel5下為sendmail添加SSL/TLS加密功能的方法

刘怕温单双中特期期准:rhel5下為sendmail添加SSL/TLS加密功能的方法

發布時間:2014-08-15   編輯:mm6666com单双中特 www.wvbtf.icu
rhel5下為sendmail添加SSL/TLS加密功能的方法

mm6666com单双中特 www.wvbtf.icu 一、配置 dovecot
用簡單的/etc/shadow 文件的認證
 

復制代碼 代碼如下:
[[email protected] /]#  dovecot -n
# /etc/dovecot.conf
protocols: pop3s
login_dir: /var/run/dovecot/login
login_executable: /usr/libexec/dovecot/pop3-login
login_greeting: FreeLAMP.com Day Day Up
mail_location: mbox:~/mail:INBOX=/var/mail/%u
mail_executable: /usr/libexec/dovecot/pop3
mail_plugin_dir: /usr/lib/dovecot/pop3
auth default:
mechanisms: plain login
cache_size: 1024
passdb:
driver: shadow
userdb:
driver: passwd

這里只用了 pop3s 協議,也就是 995 端口。

配置 dovecot 證書
 

復制代碼 代碼如下:
[[email protected] /]# vi /etc/pki/dovecot/dovecot-openssl.cnf
[[email protected] /]# mv /etc/pki/dovecot/private/dovecot.pem /etc/pki/dovecot/private/dovecot.pem.orig
[[email protected] /]# mv /etc/pki/dovecot/certs/dovecot.pem /etc/pki/dovecot/certs/dovecot.pem.orig

生成新的自己 domain 的證書
 

復制代碼 代碼如下:
[[email protected] /]# /usr/share/doc/dovecot-1.0/examples/mkcert.sh
[[email protected] /]# mv /etc/pki/dovecot/private/dovecot.pem /etc/pki/dovecot/private/mydomain.pem
[[email protected] /]# mv /etc/pki/dovecot/certs/dovecot.pem /etc/pki/dovecot/certs/mydomain.pem

主要修改的地方是:
[[email protected] /]#vi /etc/dovecot.conf
 

復制代碼 代碼如下:
ssl_disable=no
ssl_cert_file=/etc/pki/dovecot/certs/mydomain.pem
ssl_key_file=/etc/pki/dovecot/private/mydomain.pem
ssl_parameters_regenerate=168
verbose_ssl=no

這樣,POP3S 收取郵件時,就可以在 /etc/log/maillog 里看到這樣的日志:
Oct 8 22:22:40 freelamp dovecot: pop3-login: Login: user=, method=PLAIN, rip=::ffff:61.171.62.106, lip=::ffff:61.152.249.2, TLS

至此,POP3 的加密完成。下面介紹 SMTP 的加密。

二、配置sendmail
1. 生成 CA 證書
[[email protected] /]# cd /etc/pki/tls/misc
[[email protected] /]#./CA -newca
根據提示輸 入,Common Name 輸入自己的郵件服務器主機名字,mail.yourdomain.com
會生成兩個文件:
/etc/pki/CA/cacert.pem (CA證書,你可以和其他通信的機構交換這個證書)
/etc/pki /CA/private/cakey.pem(密碼?;さ乃矯苤な?,用來簽名和撤銷證書)

2.生成私密和證書簽名請求(CSR)
[[email protected] /]#./CA -newreq
在 /etc/pki/tls/misc 目錄下生成兩個文件:
/etc/pki/tls/misc/newreq.pem
/etc/pki/tls/misc/newkey.pem

3.簽名:
[[email protected] /]#./CA -sign
這一步生成 /etc/pki/CA/newcerts/.pem 和 /etc/pki/tls/misc/newcert.pem 2個一樣的文件。

4.拷貝證書到 sendmail 的證書目錄下,并修改文件權限
 

復制代碼 代碼如下:

[[email protected] /]# mkdir /etc/mail/certs
[[email protected] /]# cp /etc/pki/CA/cacert.pem /etc/mail/certs
[[email protected] /]# cp /etc/pki/tls/misc/newcert.pem /etc/mail/certs/mycert.pem
[[email protected] /]# openssl pkcs8 -in newkey.pem -topk8 -nocrypt -out mykey.pem (解決 SSL_CTX_use_PrivateKey_file Error 問題)
[[email protected] /]# cp /etc/pki/tls/misc/mykey.pem /etc/mail/certs

[[email protected] /]# chmod -R 700 /etc/mail/certs
[[email protected] /]# chown -R root:sys /etc/mail/certs

5.配置 sendmail,并重啟
修改 /etc/mail/sendmail.mc
 

復制代碼 代碼如下:
define(`confCACERT_PATH’, `/etc/mail/certs’)
define(`confCACERT’, `/etc/mail/certs/cacert.pem’)
define(`confSERVER_CERT’, `/etc/mail/certs/mycert.pem’)
define(`confSERVER_KEY’, `/etc/mail/certs/mykey.pem’)

測試 Sendmail 是否編譯支持 STARTTLS:
[[email protected] /]# sendmail -bt -d0.8 < /dev/null
Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF STARTTLS TCPWRAPPERS
USERDB USE_LDAP_INIT
[[email protected] /]# m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf
[[email protected] /]# service sendmail restart

6.從客戶端檢查:
[[email protected] /]# telnet mail.freelamp.com 25
EHLO your_hostname

應該看到:
250-STARTTLS
至此, SMTP 的加密功能完成。

您可能感興趣的文章:
rhel5下為sendmail添加SSL/TLS加密功能的方法
RHEL4下建立sendmail服務器
ldd命令學習
shell腳本發送郵件的例子
Laravel實現找回密碼及密碼重置的例子
phpcms留言??樘砑臃⑺偷接氏涮嶁訓墓δ?/a>
SendMail的"Relaying denied. IP name lookup failed問題的解決方法
Centos中sendmail發送郵件很慢的解決方法
jquery延遲加載外部js實現代碼
mutt msmtp實現郵件自動發送

[關閉]