別に
SMTP-AUTHとか、imap-tlsとか、そこまでこだわる必要も無いような気もしますが、ノートPCとか持ってるので、うちのメールサーバが外から使えるとそれなりに便利だろうと思いまして、外部からの利用を考慮して導入しました。これがまた大変だった…1日なやんじゃいました。ではSMTP-AUTH+TLSとIMAP+TLSを。
先に認証とTLSの説明
認証ってのは簡単。ユーザ名とパスワードで使って良いかどうかを問い合わせる奴。ですがこのユーザ&パスワードは結構曲者で、コレ自体をナマでネットに流すと結構危険だったりします。なので、これは暗号化しておいた方がよいのです。ナマで流す方法を平文認証といい、なんらか暗号化されて送信する方法を暗号化認証といいます。この場合はパスワードのみを暗号化します。
コレと別にTLSというものがありまして、これはデータの通信路自体を暗号化します。
つまり、先の認証は、パスワードは暗号化されてもメールデータは平文のまま、TLSを使うとメールデータも暗号化されるというわけ。
ではIMAPから
Cyrus-IMAPは既にパスワード暗号化はサポートされてます。TLSもサポート済でコンパイルされているので、Outlookなどのメールクライアントで「このサーバはセキュリティで保護された接続(SSL)が必要」にチェックマークを付けます。終了~♪
次にPostfix
こちらも一応コンパイルはすんでいますので、設定だけです。既存の設定に以下を追加します。/etc/postfix/main.cfを開きます。
# SASL認証を許可 smtpd_sasl_auth_enable = yes←SASL認証をONにする # SASL認証セキュリティ smtpd_sasl_security_options = noanonymous, noplaintext←認証無し、平文認証は不許可 # TLS使用時SASL認証セキュリティ smtpd_sasl_tls_security_options = noanonymous←TLSを使う場合は認証なしはだめ # SASL認証するドメインを指定 smtpd_sasl_local_domain = $mydomain←SASL認証するのは自分のドメイン # mynetwork,sasl認証を通ったものはiリレーする smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_unauth_destination
←自分のネットワーク、SASL認証を通過したやつは許可、設定に入っている通貨設定以外をはじく
#TLSの設定 smtpd_tls_cert_file = /etc/ssl/postfix/server.crt←キーファイルの設定 smtpd_tls_key_file = /etc/ssl/postfix/server.key # # Its DSA counterparts: #smtpd_tls_dcert_file = /etc/ssl/postfix/server.pem #smtpd_tls_dkey_file = /etc/ssl/postfix/server.csr smtpd_tls_loglevel = 1 smtpd_use_tls = yes ←TLSを有効にする smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache tls_random_source = dev:/dev/urandom
以上。次にmaster.cfを開き、
smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes tlsmgr fifo - - n 300 1 tlsmgr
のコメントをはずします。んが!このままだとエラーが発生します。上のmaster.cfでsmtps→ssmtpに書き換えてください。しばらく悩みました。
で、Outlookの設定を適切に行うと、うまくメールが転送できるはず。ただし、古いメールクライアント(Microsoft ExchangeやOutlookExpress5では、暗号化パスワードが使えなかったりするのでご注意♪
Page Info | |
---|---|
Page Name : | SMTP-AUTH+Secure-IMAPで悩む |
Page aliases : | None |
Page owner : | maruo |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | No one |
Users : | No one |