Fedora 10
Sponsored Link

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」というファイル名になっています。 以下のような画面が出るので、「証明書のインストール」をクリックします。
 
インストールウィザードにそって進んでいくと最後に以下のような画面がでます。 「はい」をクリックしてインストール完了になります。次回からは警告ウィンドゥなしでスムーズに メールの送受信が行えます。
 
関連コンテンツ