このドキュメントは古くなっています。APOP に対応しているメールクライアントの多くは、MD5 によるメール送信サーバーの認証に対応しています。これらも MD5 ハッシュ関数に起因する脆弱性の問題でお勧めできません。
POP Over SSL に対応しているクライアントの多くは SMTP Over SSL にも対応しているので、 STARTTLSによるSSL-SMTPサーバー構築 で紹介している方法に限定する事を推奨します。
SendmailでSASLによるSMTP認証を実現します。Cyrus-SASLは、サーバープログラムに認証機構を提供するためのプログラムです。平文は当然のこと DIGEST-MD5 CRAM-MD5 による暗号化保護による認証が行えます。
Cyrus-SASLはSendmailの前に組み込まれている必要があるので FedoraCore2 では標準でインストールされていると思います。
ここでは FedoraCore2 を使用しています。必要なパッケージは全て用意されており、インストールされていました。
ソースからインストールする場合は、cyrus-sasl がインストールされていなかった場合は、sendmail をインストールする前に先にインストールしておく必要があるので注意してください。必要なパッケージは以下の通りです。
imap を使用する場合は必要
ここでは、インストール済みを前提に、設定に関して説明します。
Sendmailがインストールされている場合は以下のコマンドで、コンパイルオプションを確認できます。 root 権限でコマンドを実行してください。
このように表示されればOKです。
SASLによる認証を有効にするには、sendmail.mcを編集します。文末のdnl は文末を示します。この文末まで一行で記述します。
.dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
↓コメントアウトします。 (行頭の dnl を削除)
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
平文認証を認め たくない場合、LOGIN PLAIN は削除します。この場合、DIGEST-MD5 CRAM-MD5 に対応したMUA (Becky!など)に限定されます。(主にAPOPに対応したMUA のSMTP認証機能はDIGEST-MD5 CRAM-MD5が多いため)
STEP3 で説明する STARTTLS (SSLによる経路の暗号化)に関しては、Netscape,Outlook共に 平文認証 + SSLプロトコル で保護行うため、LOGIN (Netscape) PLAIN (Outloo) は記述しておく必要があります。
変更した内容を有効にするには、m4プリプロセッサで、sendmail.cf を生成する必要があります。 手順は以下で説明しています。
Sendmail を再起動し変更を有効にします。次はSMTP認証のためのアカウント作成手順を説明します。