迷惑メールの抑止技術
迷惑メールが大量に出回るのは、差出人を詐称できることが大きな理由の1つとして挙げられる。そこで、サーバが許可した正規ユーザーだけにメール送信を許可するようにすれば、迷惑メールは減らすことができる。その技術が「POP before SMTP」と「SMTP認証(SMTP AUTH)」である。この2つに共通する基本的な考え方は、「メール送信時にユーザー認証を行なう」ということである。
POP before SMTP
POP before SMTPは、SMTPに欠けているユーザー認証をPOP3またはIMAP4のユーザー認証で代用する仕組みである(図2)。POP3またはIMAP4のユーザー認証が通過したならば、一定時間SMTPの利用を許可する。
おおまかに動作を説明すると次のようになる。ユーザーがPOP3サーバやIMAP4サーバにアクセスすると、認証記録がサーバ上に残る。その認証記録を基にMTAの利用を許可する「IPアドレス」のデータベースを構築し、そのデータベースに登録されたIPアドレスからのSMTPの使用を一定時間許可するという流れになる。そのためユーザーはメールの送信前にメール受信を行なっていないと、メール送信がエラーとなる可能性がある。ほとんどのユーザーはPOP3でメールを受信したあとでメールを送信するので、気がつかないうちに利用していることもあるだろう。
この方法では、POP3(IMAP4)のユーザー認証を行なうことで、メール送信者の素性が明らかになるので、迷惑メールの送信は抑止できる。しかし、この方法も完璧ではなくほかにも抜け道がある。それはSMTPの使用許可を判断している基準がIPアドレスという点である。
NATを使用して、内部のプライベートアドレスとインターネット側のグローバルアドレスの変換を行なっているところは多い。こうした場合、正規ユーザーがアクセスした認証情報でグローバルアドレスがデータベースに登録される。そのため、同じLAN内から迷惑メールを送信する者がいると、正規ユーザーのアクセスに便乗してSMTPサーバが利用できてしまう。
そこでSMTPでもユーザー認証を行なうことが考えられ、SMTP拡張機能(RFC 2554)の1つとしてSMTP認証(SMTP AUTH)が標準化された。
SMTP認証(SMTP AUTH)
SMTP認証は、直接ユーザーごとの認証を行なうので、送信者を特定でき迷惑メールの抑止効果が高い仕組みである。SMTP認証はSMTP拡張機能の1つなので、メールクライアントとSMTPサーバの双方が対応していなければならない。主要なメールクライアントやSMTPサーバはほとんどSMTP認証をサポートしているので、メールクライアントはアカウント情報の中でSMTP認証を使用する設定を行ない、SMTPサーバはSMTP認証をサポートする形で構築または再構築すれば利用できる。
SMTP認証に使用するユーザーIDとパスワードは、POP3やIMAP4で使用するものとは別にSMTP用として登録される。ただし、メール受信用とメール送信用でユーザーIDとパスワードが異なると混乱を招くので共通にするのが一般的だ。
SMTP認証を利用した場合の通信手順は、最初にEHLOコマンドを送り、その応答が返ったところで、“AUTH LOGIN”コマンドでユーザー認証を行なう。ここでユーザー認証がOKとならなければ、その後のSMTPコマンドは受け付けられない。
またSMTP認証は、SMTPのセッション内で使われるので、MUAとMTAの間ばかりでなく、MTAとMTA間での利用も可能ではある。各地に拠点を持つような企業で複数のメールサーバを運用しているならば、MTA同士の通信にSMTP認証を適用し、想定外のSMTPサーバからのアクセスを拒否するといった使い方も考えられる。
(次ページ、「SMTPサーバの認証」に続く)

この連載の記事
-
第5回
ネットワーク
メールを受け取る仕組みはどうなっていますか?? -
第4回
ネットワーク
メールを送受信する仕組みとは? -
第3回
ネットワーク
メールの中身をのぞいてみませんか? -
第2回
ネットワーク
メールを支えるドメイン名とDNSの仕組み -
第1回
ネットワーク
メールが届く仕組みを知っていますか? -
ネットワーク
電子メールの秘密 - この連載の一覧へ