メールサーバー間の暗号化(OpenSSL+Postfix+Dovecot)
この設定を行う前に、メールサーバーを通常のメール通信が出きるようにしておく必要がある。
外部からのメールの送受信は、ユーザ名やパスワードが盗聴される恐れがある。
セキュリティのため、メールサーバー間の通信内容を暗号化する。
暗号化の範囲は、メールサーバーとクライアント間のみ。
メールサーバーと送信先メールサーバー間は暗号化されない。
メール本文が宛先まで完全に暗号化されるわけではない。
サーバー証明書作成
# cd /etc/pki/tls/certs/ ← ディレクトリ移動
# make mail.pem ← サーバー証明書作成
Country Name (2 letter code) [GB]:JP ← 国名応答
State or Province Name (full name) [Berkshire]:Tokyo ← 都道府県名応答
Locality Name (eg, city) [Newbury]:Minato-ku ← 市区町村名応答
Organization Name (eg, company) [My Company Ltd]:xxxxx.com ← サイト名応答(なんでもいい)
Organizational Unit Name (eg, section) []: ← 空ENTER
Common Name (eg, your name or your server's hostname) []:mail.xxxxx.com ← メールサーバー名応答※
Email Address []:xxxxxx@xxxxxxx.com ← 管理者メールアドレス応答
Postfix設定
# vi /etc/postfix/main.cf ← postfix設定ファイル(main)編集
以下を最終行へ追加
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/mail.pem
smtpd_tls_key_file = /etc/pki/tls/certs/mail.pem
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
# vi /etc/postfix/master.cf ← postfix設定ファイル(master)編集
smtp inet n - n - - smtpd
#smtps inet n - n - - smtpd ← 行頭の「#」を削除(コメント解除)
# -o smtpd_tls_wrappermode=yes ← 行頭の「#」を削除(コメント解除)
# -o smtpd_sasl_auth_enable=yes ← 行頭の「#」を削除(コメント解除)
#tlsmgr unix - - n 300 1 tlsmgr ← 行頭の#を削除
Postfix再起動
# /etc/rc.d/init.d/postfix restart ← Postfix再起動
postfix を停止中: [ OK ]
postfix を起動中: [ OK ]
ポート465番のOPEN
465番をOPENする。
サーバーのIPテーブルを編集(vi /etc/sysconfig/iptables)するのと、ルーターのポートを開く作業が必要。
Dovecot設定
# vi /etc/dovecot/conf.d/10-ssl.conf ← DovecotSSL設定ファイル編集
# SSL/TLS support: yes, no, required.
#ssl = yes
ssl = yes ← TLS通信の有効化
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
ssl_cert = </etc/pki/tls/certs/mail.pem ← サーバー証明書を指定
ssl_key = </etc/pki/tls/certs/mail.pem ← サーバー証明書を指定
Dovecot再起動
# /etc/rc.d/init.d/dovecot restart ← dovecot再起動
Dovecot Imap を停止中: [ OK ]
Dovecot Imap を起動中: [ OK ]
995番(POPの場合)または993番(IMAPの場合)のOPEN
995番(POPの場合)または993番(IMAPの場合)をOPENする。
サーバーのIPテーブルを編集(vi /etc/sysconfig/iptables)するのと、ルーターのポートを開く作業が必要。
サーバー証明書のインポート
警告ウィンドウなどを回避する方法に、サーバー証明書のインポートがある。
クライアントへのインポート用サーバー証明書を作成する
# cd /etc/pki/tls/certs ← ディレクトリ移動
# openssl x509 -in mail.pem -outform DER -out mail.der ← インポート用サーバー証明書作成
mail.derというファイル名でインポート用サーバー証明書が作成される。
クライアント側へコピーをして、クライアントサーバー証明書をインポートする。
クライアント側へは、メールやUSB、Web上への公開などで渡すことになる。
クライアントへサーバー証明書をインポートするには、インポート用サーバー証明書(mail.der)をダブルクリックすると、サーバー証明書のインストール画面が始まる。