【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷


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

鶴長 鎮一
2001/10/5

IMAP4とIMAP Before SMTPの導入

IMAP4の導入

 次に、Maildirに対応しているcourier-imapを使って、IMAP4サーバを構築してみましょう。

 courier-imapはIMAP4だけでなくPOP3も兼ね備え、SSLが実装されているため、より安全にサービスを提供できます(クライアントもSSLに対応させる必要がありますが)。Webメールを構築する場合も、IMAP4サーバを利用すればプログラム側の負担を減らせます。また、Maildirのquotaなど魅力的な機能を備えているので、興味がある方はCourier Mail Serverのホームページ(http://www.courier-mta.org/)を参照してください。

 POP3はqmailパッケージに含まれるqmail-pop3dを使用したため、スムーズに既存のqmailサービスに組み込むことができました。しかし、IMAP4はまったくゼロの状態から構築することになります。また、courier-imapはコンフィグの過程ですでに組み込まれているOpenSSL、OpenLDAP、MySQLを自動で検出して認証モジュールに組み込むため、意図せず古いバージョンが混在していた場合、インストールに失敗することがあります。特に、OpenSSLは0.9.5a以上が前提になります。OpenSSLを最新版にするには、下記の手順あるいは各ディストリビュータが配布しているアップデートファイルを使ってインストールしましょう。

$ tar xvfz openssl-0.9.6.tar.gz
$ cd openssl-0.9.6
$ ./config
$ make
$ make test
# make install

 では、courier-imapをインストールしてみましょう。

 http://www.courier-mta.org/download.phpからcourier-imap-1.3.11.tar.gzをダウンロードして、下記の手順を実行します。rootで実行するとmake check時に警告が出力されて続行できないため、一般ユーザーで作業します。

$ tar xvfz courier-imap-1.3.11.tar.gz
$ cd courier-imap-1.3.11
$ ./configure --prefix=/usr/local

 ここでは/usr/local下にインストールするようにします。また、MySQLやLDAPを自動検出しないようにするには次のようにします。

$ ./configure --without-authmysql --without-authldap --prefix=/usr/local
$ make
$ make check

 次に、courier-imapのインストールで上書きされてしまう/etc/pam.d/imap/etc/pam.d/pop3のバックアップを取っておきます(ない場合もあります)。courier-imapのPOP3機能を使用する場合は上書きされても構いませんが、checkpasswordを使う場合はバックアップから戻す必要があります。

# cd /etc/pam.d/
# cp imap imap.org
# cp pop3 pop3.org
# make install
# make install-configure

 これまでの操作で下記のようにインストールされるはずです。

  /usr/local/etc/ 設定ファイル
  /usr/local/libexec/ 実行ファイル
  /usr/local/libexec/authlib/ 認証のための拡張モジュール

 それではIMAP4を起動してみましょう。起動には/usr/local/libexec/imapd.rcスクリプトファイルを使用します。

# /usr/local/libexec/imapd.rc start

 サーバの起動とともにcourier-imapも起動するようにするには、下記のようにします。

# cp /usr/local/libexec/imapd.rc /etc/rc.d/init.d/imapd
# ln -s /etc/rc.d/init.d/imapd /etc/rc.d/rc2.d/S99imapd
# ln -s /etc/rc.d/init.d/imapd /etc/rc.d/rc3.d/S99imapd
# ln -s /etc/rc.d/init.d/imapd /etc/rc.d/rc5.d/S99imapd
注:/etc/rc.dが存在しない場合はそれぞれ/etc/init.d、/etc/rc2.dに置き換えてください

 うまく動作しない場合は、/var/log/maillogを手掛かりにしてください。認証に拡張モジュールが組み込まれてしまって思うように動作しない場合は、下記の要領で拡張モジュールを外します。

# cd /usr/local/libexec/authlib/
# mkdir old
# mv authdaemond.ldap old/
# mv authdaemond.mysql old/

 その後、courier-imapを立ち上げ直します。

# /usr/local/libexec/imapd.rc stop
# /usr/local/libexec/imapd.rc start

 IMAP4とPOP3は併用可能ですが、POP3でメッセージをクライアントに取り込んでしまうとIMAP4でサーバに接続した際にメッセージが読めなくなるので注意が必要です。また、courier-imapのインストール後にほかのPOP3が機能しなくなった場合は先ほどバックアップを取った/etc/pam.d/pop3を復元します。

IMAP Before SMTPの導入

 IMAP Before SMTPの導入は、POP Before SMTPの場合とほとんど同様です。

 具体的には、courier-imapの起動スクリプト(/usr/local/libexec/imapd.rc)に下記のように1行追加するだけです。

    〜省略〜 
        /usr/local/libexec/couriertcpd -address=$ADDRESS \ 
            -stderrlogger=/usr/local/libexec/logger \ 
            -stderrloggername=imapd \ 
            -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \ 
            -pid=$PIDFILE $TCPDOPTS \ 
            $PORT ${exec_prefix}/sbin/imaplogin $LIBAUTHMODULES \ 
            /usr/sbin/relay-ctrl-allow \ (*)
                ${exec_prefix}/bin/imapd Maildir" 
    〜省略〜
* この行を追加

そのほかのPOP/IMAP系ソフトウェア

 今回は機能ごとに代表的なソフトを紹介しましたが、courier-imapのようにIMAP4とPOP3を兼ね備えたものもあります。さらに、POP Before SMTP機能を最初から実装しているものやシステムのPAMで認証を行える(/etc/shadowによるパスワード管理ができる)APOPなどもあります。

 次回は不正中継・SPAM対策を取り上げます。今回、POP Before SMTPやIMAP Before SMTPで不正中継を防ぎながらユーザビリティを損なわない方法を紹介しましたが、次回はさらに掘り下げてSPAMの踏み台やSPAMの対象にされてしまった場合についても触れていきます。

3/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フィード

スキルアップ/キャリアアップ(JOB@IT)



- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています