はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> メールサーバ >> 通信内容暗号化(OpenSSL & mod_SSL) 〜 メール編 〜
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 / CentOS7 ]
  1. sslとは・・・
  2. sslモジュールのインストール
  3. CA用秘密鍵(ca.key)の作成 〜 サーバ用証明書(server.crt)の作成
  4. postfix設定ファイルの変更
  5. dovecot設定ファイルの変更
    dovecot Ver 2.0未満の場合
    dovecot Ver 2.0の場合
  6. postfix(SMTP)とdovecot(POP)の再起動
  7. 公開前の準備
  8. クライアントメールソフトの設定
    設定例(Becky!)

■ sslとは・・・

SSL(Secure Sockets Layer)は簡単に言うと、データを暗号化してやり取りするやり方の決まりです。
SSLを使用すると送信するデータが暗号化されるので、プライバシーに関わる情報を第三者に見られずにやり取りすることができます。
postfix(smtp)+dovecot(pop)で通信の暗号化を行い通信する構築方法を紹介します。

■ sslモジュールのインストール

通信内容暗号化(OpenSSL & mod_SSL) 〜 Webページ編 〜の『sslモジュールのインストール』を参照して下さい。

■ CA用秘密鍵(ca.key)の作成 〜 サーバ用証明書(server.crt)の作成

通信内容暗号化(OpenSSL & mod_SSL) 〜 Webページ編 〜の『CA用秘密鍵(ca.key)の作成 〜 サーバ用証明書(server.crt)の作成』を参照して下さい。

■ postfix設定ファイルの変更

サーバ証明書とサーバ秘密鍵をpostfixで使用するため、シンボリックリンクを貼る

Webサーバ証明書にシンボリックリンクを貼る
# ln -s /etc/httpd/conf/server.crt /etc/postfix/server.crt

Webサーバ秘密鍵にシンボリックリンクを貼る
# ln -s /etc/httpd/conf/server.key /etc/postfix/server.key

postfix設定ファイル編集
# vi /etc/postfix/main.cf
最終行に以下を追加する
smtpd_tls_cert_file = /etc/postfix/server.crt
smtpd_tls_key_file = /etc/postfix/server.key
smtpd_use_tls = yes
【FedoraCore1 / FedoraCore2 / FedoraCore3 の場合】
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache
【FedoraCore4 / FedoraCore5 / FedoraCore6 / Fedora7 / Fedora8 / CentOS4 / CentOS5 の場合】
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
【FedoraCore9以降 / CentOS6以降 の場合】
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache

postfix設定ファイル編集
# vi /etc/postfix/master.cf
#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
#  -o smtpd_enforce_tls=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
先頭の"#"を外す(有効にする)
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
*:「permit_sasl_authenticated,reject」の意味は、SASL認証したクライアントだけに中継を許可する
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup

■ dovecot設定ファイルの変更

dovecot Ver2 より設定ファイルが分散型(機能別)になりました。
設定箇所が違うので、現在のdovecotバージョンを確認します。

dovecot バージョンの確認
# rpm -qa dovecot

dovecot-1.0.15-16.fc9.x86_64
上記の場合は、Ver 1.0となり、下記の場合は、Ver 2.0となります。
dovecot-2.0.1-1.fc14.x86_64

■ dovecot Ver 2.0未満の場合

dovecot設定ファイル編集
# vi /etc/dovecot.conf

*:以下、「ssl_disable」と「ssl」について
dovecot のバージョンにより「ssl_disable」が廃止され「ssl」に変更されたので注意
設定ファイルに既記述されている属性名を採用して下さい。

----------------------------------------
# Disable SSL/TLS support.
先頭の"#"を外す(有効にする)
ssl_disable = no

dovecot Ver 1.2 では「ssl」に変更されています。
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
先頭の"#"を外す(有効にする)
ssl = yes
----------------------------------------


# 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
先頭の"#"を外しWebサーバ証明書を指定する
ssl_cert_file = /etc/postfix/server.crt
先頭の"#"を外しWebサーバ秘密鍵を指定する
ssl_key_file = /etc/postfix/server.key

■ dovecot Ver 2.0の場合

dovecot ssl設定ファイル編集
# vi /etc/dovecot/conf.d/10-ssl.conf

先頭の"#"を外す(有効にする)
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
ssl = yes


# 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
先頭の"#"を外しWebサーバ証明書を指定する
ssl_cert = </etc/postfix/server.crt
先頭の"#"を外しWebサーバ秘密鍵を指定する
ssl_key = </etc/postfix/server.key
ファイル名の前に「<」がある事に注意

■ postfix(SMTP)とdovecot(POP)の再起動

postfixを再起動する
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/postfix restart

【Fedora16以降 / CentOS7 の場合】
# systemctl restart postfix.service


dovecotを再起動する
【FC1 から Fedora14 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/dovecot restart

【Fedora15以降 / CentOS7 の場合】
# systemctl restart dovecot.service

■ 公開前の準備

WANから接続するに当たって、ルータの設定が必要です。
ルータのポート開閉は、ご自分のルータ取扱説明書をご覧ください。

DNS名で接続するには事前にドメイン名の取得を行っている必要があります。(以下は代表的なものであり、また、当サイトが使用させて頂いております)

■ クライアントメールソフトの設定

クライアントのメールソフトの接続に関する設定部分を以下の様に変更します。

■ 設定例(Becky!)

「基本設定」タブ(パスワード項目に注意)

「詳細」タブ(パスワード項目に注意)

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.