不論是自架的郵件伺服器,網頁伺服器(wordpress),如果是需要輸入帳號密碼的,透過SSL 連線都會增加安全性
至少不會讓自己的密碼以明碼的方式在網路傳送。
這篇是我自己的備忘錄,記錄如何產生dovecot用的SSL憑證
一般說來,在安裝好dovecot-postfix時
系統就會幫你產生/etc/ssl/private/dovecot.pem(私鑰)
與/etc/ssl/certs/dovecot.pem(公鑰) 兩個檔案
不過如果你想要改域名的話,就會需要重新製作新域名的公鑰與私鑰。
dovecot有出自己的工具來製做這兩個檔案,保證可用,所以我就直接用他了。
首先要找到系統中dovecot的doc檔案所在。以UBUNTU 14.04為例,檔案在
/usr/share/doc/dovecot-core/dovecot
裡面有一個檔案mkcert.sh 和他的參數檔案 dovecot-openssl.cnf
先把mkcert.sh轉成可執行檔
sudo chmod 744 mkcert.sh
然後修改參數檔dovecot-openssl.cnf 內容
sudo vi dovecot-openssl.cnf
[ req ]
default_bits =2048 #我改成2048 比較有保障
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
# country (2 letter code)
#C=US
# State or Province Name (full name)
#ST=Texas
# Locality Name (eg. city)
#L=Houston
# Organization (eg. company)
#O=Dovecot
# Organizational Unit Name (eg. section)
OU=IMAP server
# Common Name (*.example.com is also possible)
CN=your.domain.name
# E-mail contact
emailAddress=postmaster@your.domain.name
[ cert_type ]
nsCertType = server
就照著你的需要改就行
接著備份你原本的dovecot.pem公私鑰以防萬一
sudo cp /etc/ssl/private/dovecot.pem /etc/ssl/private/dovecot.pem.old
sudo cp /etc/ssl/certs/dovecot.pem /etc/ssl/certs/dovecot.pem.old
並移除他們
sudo rm /etc/ssl/private/dovecot.pem
sudo rm /etc/ssl/certs/dovecot.pem
然後執行mkcert.sh
sudo ./mkcert.sh
這樣就大功告成了!
如果有人知道如何直接用openssl指令來製作dovecot可用的公私鑰,也麻煩告訴我。
由於我有在用webmail (roundcube),所以我用letsencrypt加密了我的webmail網站。
我發現可以使用同一個SSL憑證來加密webmail網站與dovecot。
只要他們使用的是同一個網域名稱即可!