【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  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-
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  直属上司が海外にいるのエンジニアに見る
【実例】場所に捉われないワークスタイル

  「仮想化工房」のマイスターが選んだのは
VMware、Hyper-V、そしてVirtageだった!

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

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

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?