SSL 設定2008/12/14 |
パスワード漏洩の危険性を低減するためSSL通信ができるよう設定しておきます。
ここでも、もちろん証明書は独自に作成し利用します。
商用で使う場合はベリサイン
等の正規の認証局が発行する証明書を利用した方がよいでしょう。 といっても、不特定多数の人がアクセスしてくるWEBサーバーと違って、メールサーバーを使うのは 自分や知人、または他人でも、利用開始時に、メールサーバー利用時のSSL証明書についての説明をして、 理解した上で使用してもらうことになるので、少々の用途であれば、メールについては独自証明書でも十分のような気もします。 |
[root@mail ~]# cd /etc/pki/tls/certs [root@mail certs]# make server.key umask 77 ; \ /usr/bin/openssl genrsa -des3 1024 > server.key Generating RSA private key, 1024 bit long modulus .............++++++ e is 63295 (0x10001) Enter pass phrase: # パスフレーズ設定 Verifying - Enter pass phrase: # 再入力 [root@mail certs]# [root@mail certs]# openssl rsa -in server.key -out server.key Enter pass phrase for server.key: # パスフレーズ入力 writing RSA key [root@mail certs]# [root@mail certs]# make server.csr umask 77 ; \ /usr/bin/openssl req -utf8 -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]: JP State or Province Name (full name) [Berkshire]: Hiroshima Locality Name (eg, city) [Newbury]: Hiroshima Organization Name (eg, company) [My Company Ltd]: Server Linux Organizational Unit Name (eg, section) []: IT Solution Common Name (eg, your server's hostname) []: mail.srv.world Email Address []: root@srv.world Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # 空Enter An optional company name []: # 空Enter [root@mail certs]# [root@mail certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 # 有効期限が10年の証明書を作成 Signature ok subject=/C=JP/ST=Hiroshima/L=Hiroshima/O=Server Linux/OU=IT Solution/CN=mail.srv.world/emailAddress=root@srv.world Getting Private key [root@mail certs]# chmod 400 server.* [root@mail certs]# [root@mail certs]# vi /etc/postfix/main.cf # 最終行へ以下4行追記 smtpd_use_tls = yes smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt smtpd_tls_key_file = /etc/pki/tls/certs/server.key smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache [root@mail certs]# vi /etc/postfix/master.cf # 17行目-19行目:以下3行のコメント解除して設定有効化 smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes [root@mail certs]# vi /etc/dovecot.conf # 84行目:コメント解除 ssl_disable = no # 90行目:コメント解除し証明書指定 ssl_cert_file = /etc/pki/tls/certs/server.crt # 91行目:コメント解除し鍵ファイル指定 ssl_key_file = /etc/pki/tls/certs/server.key [root@mail certs]# /etc/rc.d/init.d/postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] [root@mail certs]# /etc/rc.d/init.d/dovecot restart Stopping Dovecot Imap: [ OK ] Starting Dovecot Imap: [ OK ] |
ルーターの設定で465番ポートと993番ポート(IMAP)、または995番ポート(POP)を通すようにします。
または、私の環境のように一つのグローバルアドレスを複数の仮想サーバーに振り分けている場合は、
それぞれをメールサーバーにフォワードする設定をします。 クライアント側の設定も変更になります。Outlook Express の場合、以下のように メールアカウントのプロパティを開き設定をしてやります。以下の例はIMAPの場合ですが、 POPの場合は受信メールの欄に995を入力します。 |
|
設定をして送受信をすると、以下のような画面がでます。 | |
毎回上記のような画面が出るのはかなり煩わしいので、 証明書をクライアントPCにインストールして信頼させます。 サーバー上で作った「server.crt」をFTP経由なりHTTP経由なり、テキトーにクライアントPCにダウンロードし、 ダウンロードされたファイルをダブルクリックします。 ちなみにダウンロードすると、「server.cer」というファイル名になっています。 以下のような画面が出るので、「証明書のインストール」をクリックします。 | |
インストールウィザードにそって進んでいくと最後に以下のような画面がでます。 「はい」をクリックしてインストール完了になります。次回からは警告ウィンドゥなしでスムーズに メールの送受信が行えます。 | |
Sponsored Link |