| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
外部からメールの通信を暗号化するためにSSLを利用します。
なお、「Courier-IMAP」では証明書と秘密鍵を別々に指定できませんので、2つを結合します。
FreeBSD# cd /usr/ports/security/openssl/ <= 作業ディレクトリへ移動 FreeBSD# make install clean <= 「OpenSSL」のインストール |
秘密鍵・公開鍵・証明書の作成では、
/etc/ssl
で作業を行うこととします。
サーバ用秘密鍵の作成
FreeBSD# openssl genrsa -des3 -out server.key 1024 <= 秘密鍵作成 Enter pass phrase for server.key: <= パスフレーズ Verifying - Enter pass phrase for server.key: <= パスフレーズ(確認) |
パスフレーズを削除します。
FreeBSD# openssl rsa -in server.key -out server.key Enter pass phrase for server.key: <= 秘密鍵作成時のパスフレーズ入力 |
サーバ用公開鍵の作成
FreeBSD# openssl req -new -key server.key -out server.csr -days 365 <= 公開鍵作成 Country Name (2 letter code) [AU]: JP <= 国名 State or Province Name (full name) [Some-State]: Chiba <= 都道府県名 Locality Name (eg, city) []: Matsudo <= 市町村名 Organization Name (eg, company) [Internet Widgits Pty Ltd]: crimson-snow <= サイト名 Organizational Unit Name (eg, section) []: <= 空ENTER Common Name (eg, YOUR name) []: crimson-snow.net <= ホスト名 Email Address []: kaz@crimson-snow.net <= 管理者用メールアドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: <= 空ENTER An optional company name []: <= 空ENTER |
サーバ用証明書の作成
FreeBSD# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365 <= 証明書作成 |
証明書と秘密鍵の結合
FreeBSD# cat server.pem server.key > crimson-snow.net.pem |
権限の変更
サーバ用の秘密鍵・公開鍵・証明書をrootのみ参照できるようにします。
FreeBSD# chmod 400 server.* crimson-snow.net.pem |
まず、「Postfix」の設定ファイルを編集します。
なお、FreeBSD6.0-RELEASEでは「Postfix」の2.2系が標準の為、普通にインストールすると
smtpd_tls_session_cache_database = sdbm:/usr/local/etc/postfix/smtpd_scache
とログに吐かれ、起動出来ません。
その場合、データベースをsdbm形式ではなくbtreeに変更します。
FreeBSD# vi /usr/local/etc/postfix/main.cf <= 設定ファイルの編集 最終行に以下を追加 smtpd_tls_cert_file = /etc/ssl/crimson-snow.net.pem smtpd_tls_key_file = $smtpd_tls_cert_file smtpd_use_tls = yes smtpd_tls_session_cache_database = sdbm:/usr/local/etc/postfix/smtpd_scache 「Postfix」の2.2系で、sdbm形式をサポートしていない場合、 上記の記述を以下のように変更する smtpd_tls_session_cache_database = btree:/usr/local/etc/postfix/smtpd_scache |
次にmasterの設定ファイルを編集します。
FreeBSD# vi /usr/local/etc/postfix/master.cf <= 設定ファイルの編集 #smtps inet n - n - - smtpd # -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes ↓ smtps inet n - n - - smtpd <= コメント解除 -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes <= コメント解除 #tlsmgr fifo - - n 300 1 tlsmgr ↓ tlsmgr fifo - - n 300 1 tlsmgr <= コメント解除(FreeBSD5.3-RELEASE) tlsmgr unix - - n 1000? 1 tlsmgr <= FreeBSD6.0-RELEASEの場合はそのまま |
「Postfix」の設定をリロードします。
FreeBSD# /usr/local/sbin/postfix reload |
SMTPでSSLを利用する際、ポートの465番を利用しますので、ルータで開けます。
POP3用とIMAP用のファイルを設定します。
POP3の設定
FreeBSD# vi /usr/local/etc/courier-imap/pop3d-ssl <= 設定ファイルの編集 POP3DSSLSTART=NO ↓ POP3DSSLSTART=YES <= 変更 TLS_CERTFILE=/usr/local/share/courier-imap/pop3d.pem ↓ TLS_CERTFILE=/etc/ssl/crimson-snow.net.pem <= 変更(結合した証明書・秘密鍵の場所を指定) |
IMAPの設定
FreeBSD# vi /usr/local/etc/courier-imap/imapd-ssl <= 設定ファイルの編集 IMAPDSSLSTART=NO ↓ IMAPDSSLSTART=YES <= 変更 TLS_CERTFILE=/usr/local/share/courier-imap/imapd.pem ↓ TLS_CERTFILE=/etc/ssl/crimson-snow.net.pem <= 変更(結合した証明書・秘密鍵の場所を指定) |
「Courier-IMAP」をSSL対応で起動します。
FreeBSD# /usr/local/etc/rc.d/courier-imap-imapd-ssl.sh start FreeBSD# /usr/local/etc/rc.d/courier-imap-pop3d-ssl.sh start |
ポート番号は
POPの場合、995番
IMAPの場合、993番
を利用しますので、ルータで開けます。
「Courier-IMAP」の自動起動
FreeBSD起動時に「Courier-IMAP」がSSL対応で自動的に起動するようにします。
FreeBSD# vi /etc/rc.conf <= 設定ファイルの編集 #courier_imap_pop3d_enable="YES" <= SSLのみ許可する場合、無効にする courier_imap_pop3d_ssl_enable="YES" <= 追加 #courier_imap_imapd_enable="YES" <= SSLのみ許可する場合、無効にする courier_imap_imapd_ssl_enable="YES" <= 追加 |