このページの本文へ

電子メールの秘密 第6回

メールサーバの機能とセキュリティ

メールシステムの脆弱性とその回避策

2009年08月04日 09時00分更新

文● 遠藤哲

  • この記事をはてなブックマークに追加
  • 本文印刷

迷惑メールの抑止技術

 迷惑メールが大量に出回るのは、差出人を詐称できることが大きな理由の1つとして挙げられる。そこで、サーバが許可した正規ユーザーだけにメール送信を許可するようにすれば、迷惑メールは減らすことができる。その技術が「POP before SMTP」と「SMTP認証(SMTP AUTH)」である。この2つに共通する基本的な考え方は、「メール送信時にユーザー認証を行なう」ということである。

POP before SMTP

 POP before SMTPは、SMTPに欠けているユーザー認証をPOP3またはIMAP4のユーザー認証で代用する仕組みである(図2)。POP3またはIMAP4のユーザー認証が通過したならば、一定時間SMTPの利用を許可する。

図2 メール送信時のユーザー認証

 おおまかに動作を説明すると次のようになる。ユーザーが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サーバの認証」に続く)


 

カテゴリートップへ

この連載の記事