第2回 POP/IMAPサーバの構築と不正中継対策 

SMTPサーバ機能だけではメールクライアントを使うことができない。今回はメールクライアントからアクセスできるようにするため、POP3、APOP、IMAP4サーバを構築する。また、不正中継対策としてPOP Before SMTPおよびIMAP Before SMTP機能を組み込もう。

鶴長 鎮一
2001/10/5

メール受信環境を構築するには

 さて、サーバ(MTA)のメールボックスを直接読み書きしていたという時代ならいざ知らず、いまやUNIXをデスクトップマシンとして使っている方でさえ、POP3やIMAP4でメールを取り込むことが多くなってきていると思います。今回は、POP3やIMAP4でクライアントにメールを取り込めるようにしましょう。

メール受信を実現するプロトコル

 SMTPはメール送信プロトコルの実質的な標準であるのに対し、メールボックスからメールを取り出す仕組みは、MTA(サーバ)とMUA(各端末)のローカルな取り決めで済むため、用途に応じて複数の手段が用意されています。

  • POP3(Post Office Protocol version 3)
     バージョン3が付いていることからも分かるとおり歴史もあり、それ故に最も多くのメールクライアントに実装されています。認証時に平文でパスワードを流すため、パケット盗聴による盗み見が危惧されています。多くのプロバイダで採用されているプロトコルです。
    参考:連載:インターネット・プロトコル詳説 POP3

  • APOP(Authenticated POP)
     POPのパケット盗聴による盗み見が危険視されたため、POP version 3からAPOPコマンドによる認証がRFC 1734に規定されるようになりました。プロバイダ側のユーザー管理が煩雑になるためか、採用されるケースは多くありませんが、セキュリティを高めながら汎用性を失わない手段としては最も効果的です。

  • IMAP4(Internet Mail Access Protocol version 4)
     POPがクライアント側に完全にメッセージをダウンロードし、クライアントでメッセージの管理を行うのに対し、IMAPはサーバ側でメッセージの管理を行い、クライアント側はその操作を行います。ストレージ容量が限られているモバイル端末や複数人でPCを共有する環境などでは有効ですが、サーバ側の負担が増えるためプロバイダなどで採用されることはほとんどありません。
    参考:連載:インターネット・プロトコル詳説 IMAP4

 サーバに受信機能を組み込む際には、クライアントの対応が問題になります。どんなメールソフトがどのプロトコルに対応しているか、確認してからサーバを構築しましょう()。

注:メールソフトの対応状況はこちらを参考にしてください。
滝澤 隆史著「MUAs for Windows - Windows のメイラーの評価 -」
http://www.emaillab.org/win-mailer/table-otherspec.html

SPAM対策は必須

 最近では、SPAMの温床にされないように、送信時にもユーザー確認などの防御策を講じる必要が出てきました。しかしながら、すべてのメールクライアントで「送信時の認証」が実装されているわけではないため、この方法はクライアントソフトを限定できる場合に限られます。そこで、多く用いられる手段としてPOP Before SMTPがあります。送信の前にPOPで認証を行い、それからSMTPリレーを許可するというものです。今回は受信サーバの構築とともにこちらの組み込み方法も紹介します(同様にIMAP Before SMTPについても取り上げます)。

POP3/IMAP4導入の前に

 これから構築作業に入るわけですが、以後の作業はMaildir形式でqmailが起動されていることを前提にしています。コマンドプロンプトの「#」はroot、「$」は一般ユーザーでの作業であることを示しています(「su -」は省略しています)。

 また、最近のLinuxディストリビューションは標準でPOP3やIMAP4が組み込まれているため、競合を起こさないようにサービスを停止しておく必要があります。/etc/inetd.confファイルを編集し、下記のようにPOP3、IMAP4に関する行の先頭に「#」を付けてコメントアウトします(xinetdを使用している環境では/etc/xinetd.dにある各サービスを定義しているファイル、または/etc/xinetd.confの該当セクションの中でdisable = yesとします)。

#pop3   stream  tcp     nowait  root    /usr/sbin/ipop3d       ipop3d 
#imap4  stream  tcp     nowait  root    /usr/sbin/imapd        imapd

 次に、inetdデーモンプロセスにHUP信号を送って再起動します(xinetdの場合はxinetdに置き換えてください)。

# ps -aef | grep inetd 
root       プロセス番号     1  0 09:41 ?        00:00:00 inetd -wW 
# kill -HUP プロセス番号

 また、下記のようにtelnetで、

# telnet localhost 110
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

となることを確認し、POP3が使用するサービスポート110番がフリーになっていることを確認します。同様にIMAP4が使用する143番もフリーになっていることを確認しておきます。

# telnet localhost 143
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

 以降の作業では、たびたびqmail起動スクリプト(前回紹介した/etc/rc.d/init.d/qmailスクリプト)の修正を行います。修正を有効にするには、下記のようにサービスの再起動が必要になります。

# /etc/rc.d/init.d/qmail stop
# /etc/rc.d/init.d/qmail start
注:/etc/rc.d/init.dがない場合は/etc/init.dに置き換えてください

 
1/3

Index
実用qmailサーバ運用・管理術
Page 1
メール受信環境を構築するには
 メール受信を実現するプロトコル
 SPAM対策は必須
 POP3/IMAP4導入の前に
  Page 2
POPの導入とPOP Before SMTPによる不正中継対策
 POP3の導入
 APOPの導入
 POP Before SMTPの導入
  Page 3
IMAP4とIMAP Before SMTPの導入
 
IMAP4の導入
 IMAP Before SMTPの導入
そのほかのPOP/IMAP系ソフトウェア

連載 実用qmailサーバ運用・管理術


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH