xserver
Home クッキー及びWeb ビーコンについて



Postfix2をTLSに対応させる

Postfix2 + TLSの概要

Postfixを TLS に対応させることで、メールを暗号化させたり、クライアントやサーバの認証もできるようになります。メールサーバーのセキュリティを強化する意味でもTLSに対応させておきましょう。




■Postfix用のTLS化パッチのダウンロード

Download http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/
Install pfixtls-0.8.16-2.0.16-0.9.7b.tar.gz

 自分が使用しているPostfix のバージョンに即したTLS化パッチをダウンロードしてください。





■TLS化パッチの適用

 TLS化パッチを適用します。

# cd /usr/local/src
# tar xzvf pfixtls-0.8.16-2.0.16-0.9.7b.tar.gz
# cd postfix-2.0.16
# patch -p1 < ../pfixtls-0.8.16-2.0.16-0.9.7b/pfixtls.diff

 パッチの適用後、再コンパイルします。以前にコンパイルしたことのあるかたは、make tidy を実行してください。

# make tidy
# make makefiles CCARGS="-DUSE_SASL_AUTH -DHAS_SSL -I/usr/local/include/sasl -I/usr/local/ssl/include" AUXLIBS="-L/usr/local/lib -lsasl2 -lssl -lcrypto"
# make install



■/etc/postfix/main.cf の編集

 /etc/postfix/main.cf の最下行に以下の行を追記します。

# 証明書ファイルの指定
smtpd_tls_cert_file = /etc/postfix/tls/server.crt

# 秘密鍵ファイルの指定
smtpd_tls_key_file = /etc/postfix/tls/server.key

# TLSセッションキャッシュデータベースの指定
smtpd_tls_session_cache_database = sdbm:/etc/postfix/tls/smtpd_scache

# TLSのログレベルの指定
smtpd_tls_loglevel = 3

# コマンドの利用の可否の指定
smtpd_use_tls = yes

■/etc/postfix/master.cf の編集

 /etc/postfix/master.cf を開いて、以下の行を追記します。すでに、記述されていればコメントアウトして有効にします。赤文字で「 y 」と指定されている箇所はPostfix のchroot 設定です。ここでは、chrootを有効にしています。

smtps      inet  n   -   y    -     -   smtpd -o smtpd_tls_wrappermode=yes
submission inet  n   -   y    -     -   smtpd -o smtpd_enforce_tls=yes
tlsmgr     fifo  -   -   y    300   1   tlsmgr

■Postfix の再起動

# postfix reload

■Telnet で動作確認

 以下のように、Ready to start TLSと表示されれば正常に、TLSが稼動しています。

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 kororo.jp ESMTP Postfix
EHLO localhost
250-mx.kororo.jp
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-XVERP
250 8BITMIME
STARTTLS
220 Ready to start TLS
^]
telnet> q
Connection closed.

 netstat コマンドで465番が待ち受け状態になっていることを確認します。あとは、SSL証明書を作成し、/etc/postfix/main.cf で指定したパスに証明書と鍵をコピーしておいてください。

# netstat -an | grep 465
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN
# nmap localhost
465/tcp open smtps


■Postfix + TLSでの証明書作成の際の注意点

 Postfix をTLSで使用する際、秘密鍵、証明書共に暗号化されていると秘密鍵が取得することできないみたいなので、暗号化せずに秘密鍵と証明書を作成するようにしてください。また、必ずPEM形式にしてください。でないと、以下のようなエラーが発生してしまいます。

unable to get private key from '/usr/local/certs/server.key'
32168:error:0906406D:PEM routines:DEF_CALLBACK:problems getting password:pem_lib.c:105:
32168:error:0906A068:PEM routines:PEM_do_header:bad password read:pem_lib.c:399:
32168:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib:ssl_rsa.c:709:
TLS engine: cannot load RSA cert/key data
tls_engine not running

 具体的には、以下のようにします。以下は、独自CA用秘密鍵の作成です。

# /usr/local/ssl/bin/openssl genrsa -out server.key 1024 -days 365

 以下で証明書署名要求を作成します。 

# /usr/local/ssl/bin/openssl req -new -out server.csr -key server.key

 最後に、CA用の証明書を作成します。

# /usr/local/ssl/bin/openssl req -in server.csr -key server.key -x509 -days 365 -out server.crt

⇒参考:http://www.aet.tu-cottbus.de/personen/jaenicke/pfixtls/doc/conf.html



■Microsoft Outlookの設定

 Outlook での設定は、以下図のように「詳細設定」タブで送信メールサーバーのポートを465番に変更し、且つ、「このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックをいれます。



■Becky! Internet Mailの設定(※2005/8/3追記)

Becky のバージョンアップによってSMTPSによる送信が可能になりました。下記画面の「SMTPS」にチェックをつけるだけです。けれども、証明書による認証が必要となりますので予めクライアントマシンにインストールしておいてください。Beckyからメールを送信する際に、証明書の検証に失敗したというエラーダイアログが表示された場合は、下記図で指定したSMTPサーバーのホスト名と証明鍵を作る際に指定したホスト名(Organization Name)が異なっている可能性がありますので再度、証明書作り直してください。あるいは、「ツール」→「メールボックスの設定」→「詳細」タブにある「証明書を検証しない」にチェックをしておけばそのままメールを送信することができます。











TOPに戻る

Sponcerd Link


Search
 
Web サイト内
Rental Server

【レンタルサーバのXbit】 低価格・高品質のビジネスクオリティー。300メガ1,050円~30分で サービススタート可能!


容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。
さくらのレンタルサーバ



当サイトはLinux自宅サーバーの構築を目的としたサイトです。
当サイトに関するご意見、ご要望等は、こちらのメールアドレスよりお願いします。
Beginning | Introduction | Installation | Server |
Security | Tips | Related-Sites
Copyright©2003-2006 KORO All Rights Reserved.
総計:
今日:
昨日: