Mail System | Postfix | SMTP-Auth | SMTP-Auth+TLS | SMTP+Virtual | Qpopper | Qpopper/SSL | Courier-IMAP | FetchMail | Procmail | WebMail | AntiVirus | Relay Mail |
# cd /usr/local/src # cp postfix-1.1.11-9.src.rpm /usr/src/redhat/SOURCES/postfix-1.1.11-9.src.rpm # rpm -Uvh postfix-1.1.11-9.src.rpm |
# cd /usr/src/redhat/SOURCES # export POSTFIX_SASL=1 # export POSTFIX_TLS=1 # sh /usr/src/redhat/SOURCES/make-postfix.spec |
# cd /usr/src/redhat/SPECS # rpmbuild -ba postfix.spec |
# mv /etc/postfix/main.cf
/etc/postfix/main.cf.bak # mv /etc/postfix/master.cf /etc/postfix/master.cf.bak # rpm -Uvh /usr/src/redhat/RPMS/i386/postfix-1.1.11-9.sasl.tls.rpm |
# サーバ証明書/鍵関係の設定を変更(RSAのみ対応)
#smtpd_tls_cert_file = /etc/postfix/server.pem
#smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_cert_file = /usr/certs/server.crt
smtpd_tls_key_file = /usr/certs/server.key
#
# Its DSA counterparts:
#smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem
#smtpd_tls_dkey_file = $smtpd_tls_dcert_file
# CA関係の設定を変更
# smtpd_tls_CAfile = /etc/postfix/CAcert.pem
smtpd_tls_CAfile = /usr/certs/ca.crt
#
#smtpd_tls_CApath = /etc/postfix/certs
smtpd_tls_CApath = /usr/certs
# ログレベルの変更(最低レベル)
# smtpd_tls_loglevel = 0
smtpd_tls_loglevel = 1
# TLS使用(そのまま)
smtpd_use_tls = yes
# Outlook/Outlook Express用のモード設定 ( * :下記参照 )
# smtpd_tls_wrappermode = no
smtpd_tls_wrappermode = yes
# 認証はTLS使用のみ(TLSのみの場合はコメントアウトを外しyesに変更)
# smtpd_tls_auth_only = no
# セッションキャッシュの設定(そのまま)
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache
# 証明書は前述の方法で作成
#smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
#smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
# TLS用乱数デバイスの指定
tls_random_source = dev:/dev/urandom
# tls_random_source = egd:/var/run/egd-pool
# tls_random_bytes = 32
# tls_random_reseed_period = 3600s
*: この設定は、OEがrfcと違うインプリをしているということで設定しましたが、クライアントがOEならいいのですが、全てのクライアントに特殊な手順で相手してしまうので、local(AntiVir)からlocalへの配送時にpostfix自身が止まってしまう(正確にはそのメールを中継できなくなるだけ)という問題が発覚しました。このOEの問題は、5.0の問題とのことなので、おやじは6.0を使用しており設定を外しました。但し、アクセスはあくまで465番ポートです。これでわかるとおり、OE5.0の環境では、TLS対応はできないということです。
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
smtp inet n - y - - smtpd
#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
localhost:smtp-backdoor inet n - n - - smtpd -o content_filter=
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628 inet n - n - - qmqpd
pickup fifo n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr fifo n - y 300 1 qmgr
#qmgr fifo n - n 300 1 nqmgr
#tlsmgr fifo - - n 300 1 tlsmgr
tlsmgr fifo - - n 300 1 tlsmgr
messagesにsendmailのpathがおかしいと出ていたので調査したところ、/usr/sbin/sendmailが互換プログラムに置き換わっておらず、CGIからのメール利用ができなくなっていました。CGIを直すのが面倒なので、下記で修正しました。
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
# ln -s /usr/sbin/sendmail.postfix /usr/sbin/sendmail
# postfix start (reload)
と入力して、Postfixを起動します。このRPMでは、自動実行スクリプトが組み込まれますので、/etc/rc.d/rc.local
に起動コマンドが書いてある場合は、削除してください。起動後に、netstat
-lnで25番と465番ポートがListen状態になっているか確認しておきましょう。
# chmod 755 /etc/rc.d/init.d/postfix
# chkconfig --add postfix
# chkconfig --list postfix
postfix 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ
Mail System | Postfix | SMTP-Auth | SMTP-Auth+TLS | SMTP+Virtual | Qpopper | Qpopper/SSL | Courier-IMAP | FetchMail | Procmail | WebMail | AntiVirus | Relay Mail |