2003 年 01 月 17 日以降、FreeBSD OS のサーバーで、メール送信認証に「SMTP 認証」がご利用いただけるようになります。現在の「POP IMAP ファースト認証」(POP before SMTP 認証) との併用、あるいは、現在の「POP IMAP ファースト認証」(POP before SMTP 認証) のみをそのまま使い続けることも可能です。
2003 年 01 月 17 日以降、新規にオーダー頂く FreeBSD OS のサーバーでは「POP IMAP ファースト認証」(POP before SMTP 認証) と「SMTP 認証」の併用が標準となります。しかし現在お使いのサーバーの場合は以下の「sendmail のアップグレード作業」をご自分で行っていただく必要があります。
Solaris OS につきましては現在準備中です。
「SMTP 認証」は「POP IMAP ファースト認証」(POP before SMTP 認証) の様々な問題点を解決した、標準のメール送信認証です。
メール送信認証と「SMTP 認証」
** はじめに **
sendmail 8.12.6 以前のバージョンの sendmail では、「POP IMAP ファースト認証」(POP before SMTP 認証) が唯一のメール送信認証方法でした。この方法では認証されたユーザーの IP アドレスが ~/etc/relayers.db データベースに追加されます。そして sendmail はこのデータベースに登録された IP アドレスからのメール送信リクエストは正規のものとして認証します。
「POP IMAP ファースト認証」(POP before SMTP 認証) には以下の様な問題点があります。
-
ユーザーが ISP のダイナミック IP アドレスシステムを利用してサーバーにアクセスしている場合が少なくありません。この場合、ユーザーが一旦接続を切断するとこのユーザーが利用していた IP アドレスが新しい第三者に割り振られます。そのため、この第三者は自由にメール送信できることになります。
-
ダイナミック IP アドレスシステムでは、同一ユーザーの同一インターネット接続の間にも IP アドレスが変更されるケースが少なくありません。こうしたケースでは、最初にメールボックスをチェックし「POP IMAP ファースト認証」(POP before SMTP 認証) を正しく受けているユーザーでも、再度メールボックスをチェックし認証を受けなおす必要があります。
-
LAN 経由でインターネットに接続している場合は、限られたグローバル IP アドレスを複数のユーザーがダイナミックに利用する場合や、ルーターの IP アドレスでインターネットに接続している場合が少なくありません。こうした場合も LAN 内のユーザーであれば、正規ユーザーでなくても自由にメール送信できることになります。
**「SMTP 認証」の作動原理 **
「SMTP 認証」ではメール送信の都度メール送信クライアントに ID とパスワードを要求します。これにより、サーバーに ID とパスワードが登録されたユーザーのみがメール送信できるようになります。Outlook、Eudora、Pine 等のメールクライアントは「SMTP 認証」に対応するよう設定できます。Outlook での「SMTP 認証」対応設定の事例がこの文章の最後にありますので、参照下さい。
**「SMTP 認証」用サーバー設定 **
2003 年 01 月 17 日以降、FreeBSD OS のサーバーでは、メール送信認証を以下のどれかの方法で行うことができます。
-
認証方法1 ---- 「POP IMAP ファースト認証」(POP before SMTP 認証) のみ
-
認証方法2 ---- 「POP IMAP ファースト認証」(POP before SMTP 認証) と「SMTP 認証」の併用
-
認証方法3 ---- 「SMTP 認証」のみ
認証方法1は現状のデフォルトです。引き続きこの方法を採用する場合は全く作業をする必要はありません。認証方法2または認証方法3を採用する場合は下記「作業1」「作業2」を行ってください。
-
作業1
"vinstall sendmail" コマンドを実行します。
telnet または SSH で
% vinstall sendmail
としてください。
-
作業1 ---- 詳細説明
"vinstall sendmail" コマンドを実行すると、~/usr/local/sendmail/cf/cf ディレクトリーに複数の sendmail.cf ファイルが default****.cf の名称で作成されます。認証方法に適合したファイルを sendmail.cf ファイルとして利用します。
default.cf ファイルと default-procmail-lda.cf ファイルは認証方法2の両認証併用のための cf ファイルです。
-
SpamAssassin や procmail を使っている場合は default-procmail-lda.cf を使います。それ以外の場合は default.cf ファイルを使います。
使い方は以下のようにしてデフォルトファイルをコピーするだけです。
-
-- 認証方法2、SpamAssassin や procmail を使っている場合 --
% cp ~/etc/sendmail.cf ~/etc/sendmail.cf.using
% cp -f ~/usr/local/sendmail/cf/cf/default-procmail-lda.cf ~/etc/sendmail.cf
-
-- 認証方法2、それ以外の場合 --
% cp ~/etc/sendmail.cf ~/etc/sendmail.cf.using
% cp ~/usr/local/sendmail/cf/cf/default.cf ~/etc/sendmail.cf
-
default-auth-only.cf ファイルと default-procmail-lda-auth-only.cf ファイルは認証方法3の「SMTP 認証」のみのための cf ファイルです。
SpamAssassin や procmail を使っている場合は default-procmail-lda-auth-only.cf を使います。それ以外の場合は default-auth-only.cf ファイルを使います。
使い方は以下のようにしてデフォルトファイルをコピーするだけです。
-
-- 認証方法3、SpamAssassin や procmail を使っている場合 --
% cp ~/etc/sendmail.cf ~/etc/sendmail.cf.using
% cp ~/usr/local/sendmail/cf/cf/default-procmail-lda-auth-only.cf ~/etc/sendmail.cf
-
-- 認証方法3、それ以外の場合 --
% cp ~/etc/sendmail.cf ~/etc/sendmail.cf.using
% cp ~/usr/local/sendmail/cf/cf/default-auth-only.cf ~/etc/sendmail.cf
-
実際に方法3の「SMTP 認証」のみとする前に全てのメールユーザーの以下「作業2 ---- 詳細説明」で説明するクライアント設定が完了していることを確認してください。
**「SMTP 認証」用メールクライアント設定 **
-
作業2
メールクライアントの設定を「SMTP 認証」対応に変更する。
-
作業2 ---- 詳細説明
以下の説明は Outlook Express を事例としていますが、他のメールクライアントでも同様な設定が可能です。詳しくは、各メールクライアントのヘルプを参照してください。また、Outlook Express でもバージョンによっては下記説明と異なる作業手順となる場合もあります。
-
「ツール」 -> 「アカウント」 -> 「メール」の順に開き、対象アカウントを選択後「プロパティ」をクリックします。(対象アカウントをダブルクリックしてもかまいません)
-
次に「サーバー」を選択します。画面の下部にある「送信メールサーバー」の項の「このサーバーは認証が必要」のチェックボックスにチェックを入れ「設定」をクリックします。
-
開いたウインドウで「受信メールサーバーと同じ設定を使用する」を選んでも「次のアカウントとパスワードでログオンする」を選んでもかまいません。「次のアカウントとパスワードでログオンする」を選択した場合は、「アカウント名」と「パスワード」を設定します。「セキュリティで保護されたパスワード認証でログオンする」は選択しないで下さい。
-
「OK」をクリックします。戻った画面で「適用」、「OK」をクリックします。もう一つ戻った画面では「閉じる」をクリックします。
参考情報
** ~/etc/spammers と ~/etc/access ファイル **
今回のアップグレード以前から ~/etc/spammers あるいは ~/etc/access ファイル 使っている場合どちらのファイルとも引き続き有効です。特別な変更の必要はありません。
** Security Layer SASL **
「SMTP 認証」を実行するため、sendmail は Simple Authentication と Security Layer (SASL) を使用します。そのためサーバー上では、以下のコマンドによって実行される saslauthd デーモンが作動しています。
/usr/local/bin/virtual /usr/local/sbin/saslauthd -a pam -n 1
このデーモンが作動していることを確認するためには以下のコマンドを実行します。
% ps -auxww | grep saslauthd
** 「SMTP 認証」を利用できないクライアント環境 **
正しいアカウント名、パスワードを利用しているにもかかわらず、ログインできない場合ネットワーク接続が正しく設定されていない可能性があります。
~/var/log/messages の該当ログに以下の様な表示が出てログインできない場合は、クライアントマシーンの IP アドレス、サーバー名の双方に関して nslookup コマンドを実行してみてください。正しい答えが返っていないはずです。
ISP やネットワーク管理者と相談し、正しい答えが返えされるよう設定を改めてください。正しく設定できない場合は「SMTP 認証」はご利用いただけません。
以下の city01.tokyo.jp info@yahoo.com 218.218.218.218 は事例です。ご自分のクライアント名 IP アドレスに読み替えてください。
~/var/log/messages のエラー例
Jan 17 13:15:36 sendmail[94128]: h0H4FZk9094128: city01.tokyo.jp [218.218.218.218] (may be forged) did not issue MAIL/EXPN/VRFY/ETRN during connection to stdin
あるいは
Jan 17 15:26:54 sendmail[9368]: h0H6Qr0q009368: ruleset=check_rcpt, arg1=, relay=city01.tokyo.jp [218.218.218.218] (may be forged), reject=550 5.7.1 ... Relaying denied. IP name possibly forged [218.44.194.198]
上記の場合、
% nslookup city01.tokyo.jp
% nslookup 218.218.218.218
で正しい答えが返されない。
こうした環境では「SMTP 認証」を利用できません。