>> HOME >> CentOS 4 MENU >> メールサーバー間通信暗号化 (OpenSSL)
メールの送受信を外部から行う場合、ユーザ名やパスワードが盗聴される恐れがある為、メールサーバー間の通信を暗号化します。
なお、暗号化されるのはここで設定するメールサーバーとクライアント間のみであり、メールサーバーと送信先メールサーバー間は暗号化されないため、メール本文が宛先に至るまで暗号化されるわけではありません。

1. mod_ssl インストール
2. 証明書の作成
3. Postfix の設定変更
1 ) Postfix 設定ファイル /etc/postfix/main.cf の編集
2 ) Postfix 設定ファイル /etc/postfix/master.cf の編集
3 ) サーバ証明書とサーバ秘密鍵をpostfixで使用するため、シンボリックリンクを貼る
4. Dovecot の設定変更
1 ) Dovecot 設定ファイル /etc/dovecot.conf の編集
5. Postfix と Dovecot の再起動
1 ) Postfix の再起動
2 ) Dovecot の再起動
6. 公開前の準備
7. クライアントの設定
1. mod_ssl インストール
Webサーバー間通信暗号化 (Apache + mod_ssl)』の『1. mod_ssl インストール』を参照して下さい。
※ 既にインストールしてある場合は不要です。
2. 証明書の作成
Webサーバー間通信暗号化 (Apache + mod_ssl)』の『2. 証明書の作成』を参照して下さい。
※ メールの暗号化の秘密鍵と証明書は、Webサーバー間通信暗号化で作成した物を使用する様に設定します。
※ 別のものを使用したい場合は、ディレクトリパスなどを変えて作成してください。
3. Postfix の設定変更
1 ) Postfix 設定ファイル /etc/postfix/main.cf の編集
[root@linux ~]# vi /etc/postfix/main.cf 

# 最終行に追加
smtpd_tls_cert_file = /etc/postfix/server.crt
smtpd_tls_key_file = /etc/postfix/server.key
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
smtpd_use_tls = yes
2 ) Postfix 設定ファイル /etc/postfix/master.cf の編集
[root@linux ~]# vi /etc/postfix/master.cf 

  :
  :
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
# コメントを外す(有効にする)
smtps    inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission   inet    n       -       n       -       -       smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes -o smtpd_etrn_restrictions=reject
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
# コメントを外す(有効にする)
tlsmgr   fifo  -       -       n       300     1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
  :
  :
3 ) サーバ証明書とサーバ秘密鍵をpostfixで使用するため、シンボリックリンクを貼る
[root@linux ~]# ln -s /etc/httpd/conf/server.crt /etc/postfix/server.crt 
[root@linux ~]# ln -s /etc/httpd/conf/server.key /etc/postfix/server.key 

[root@linux ~]# ls -l /etc/postfix 
  :
lrwxrwxrwx 1 root root    26  7月  7 14:30 server.crt -> /etc/httpd/conf/server.crt
lrwxrwxrwx 1 root root    26  7月  7 14:30 server.key -> /etc/httpd/conf/server.key
  :
4. Dovecot の設定変更
1 ) Dovecot 設定ファイル /etc/dovecot.conf の編集
[root@linux ~]# vi /etc/dovecot.conf 

  :
  :
# Disable SSL/TLS support.
# コメントを外す(有効にする)
ssl_disable = no

# 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_file = /etc/pki/dovecot/certs/dovecot.pem
#ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
# リンク済み証明書を指定する
ssl_cert_file = /etc/postfix/server.crt
# リンク済み秘密鍵を指定する
ssl_key_file = /etc/postfix/server.key
  :
  :
5. Postfix と Dovecot の再起動
1 ) Postfix の再起動
[root@linux ~]# service postfix restart 
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]
2 ) Dovecot の起動
[root@linux ~]# service dovecot restart 
Dovecot Imapを停止中:                                      [  OK  ]
Dovecot Imap を起動中:                                     [  OK  ]
6. 公開前の準備
外部から接続するには、ルータの設定で ポート番号465番(smtps:smtp protocol over TLS/SSL)ポート番号995番(pop3s:pop3 protocol over TLS/SSL) を開けてください。
また、外部よりDNS名でアクセスするには、ドメイン名の取得を行っている必要があります。
7. クライアントの設定
クライアントの設定は、『メールアカウントの作成 & クライアントの設定』を参照してください。
また、証明書(ca.der)をクライアントにインストールを行わないと、クライアントメールソフトによってエラーとなり、メールの送受信が行なえない事がありますので、『Webサーバー間通信暗号化 (Apache + mod_ssl)』の『6. クライアントへの証明書インストール』を参照して実施してください。