dovecot によるセキュア(安全な)メールサーバ構築 †dovecot? †Fedora Core 4 で標準搭載されているメール受信サーバ、つまり pop3 pop3s imap imaps メール受信サーバ(MRA=Mail Retrieval Agent=メール配送エージェント)です。 Fedora Core 4 でメールを扱うには dovecot を使う方法と Cyrus-imapd を用いる方法、ソースから qpopper をセットアップする方法があります。せっかく標準搭載されている dovecot なので、使いこなしてみましょ!というのがこのページの趣旨。 Fedora Core 3 だと、ん〜面倒だけど Cyrus-imapd 使うかな〜それとも qpopper インストールするかなぁ、と悩むところでした。けれども dovecot はセットアップが簡単なので速攻使うことが出来ます。 ところで、dovecot ってなんて発音するんですか?ご存じの方、教えてください……。 なんで Fedora Core 4 では dovecot なの? †これまで Fedora Core 3 で環境を構築された方は、おそらく Cyrus-imapd の設定を経験されたと思います。Cyrus 上では「メール用アカウント」が「linux サーバ用のアカウント」と独立して扱うことが出来ます。Maildir 形式でファイルが保存されるので、メールボックスが破損しずらくなっています(対 mbox 形式)。でも、設定がちょっと独特で面倒な気がしませんでしたか?機能的には申し分ないのですけど……。 Cyrus-imapd のメリットは逆にデメリットにもなります。多くの linux システムでは、linux 用のログインアカウント=メールアカウントという形式が見られました。まだ日本でも Slackware Linux が全盛だった頃のお話です。つまり、古くから linux に親しんでるユーザにとっては Cyrus-imapd が優れていると分かっていても、なかなかとっつき辛かったのではないでしょうか。 そんな中に登場したのが dovecot です。dovecot は Cyrus-imapd のようなセキュリティを確立しつつ、旧来との互換性(mbox形式のメールを読み取る)を保っています。 蛇足ですが、dovecot の登場により qpopper の導入を行う必要は無くなるでしょう。機能としては dovecot で申し分ありません。もし qpopper を用いた POP before SMTP を設定する場合・APOP 認証でいきえたい!という場合には、もちろん qpopper の利用をされてもいいと思います(POP before SMTP にしても、sendmail の SASL 認証=SMTP 認証を用いるようにすることで、不要となるでしょう)。 とりあえず、今 Fedora Core 4 からは dovecot を用いるという選択肢が増えました。 セットアップ †インストールされているか確認する †次のコマンドを入力することで、dovecot がセットアップされているかどうか確認可能です。 $ rpm -q dovecot dovecot-0.99.14-4.fc4 セットアップされていれば、上記のようにバージョン番号が表示されます。 パッケージ dovecotw はインストールされていません なんて表示された場合はセットアップが必要です。 # yum install dovecot こちらの yum コマンドを使ってセットアップしておけば下準備 OK です。 設定ファイルの調整 /etc/dovecot.conf †dovecot の設定ファイルは【 /etc/dovecot.conf 】です。 まず、7行目と8行目の確認です。 # imap imaps pop3 pop3s protocols = imap imaps pop3 pop3s この『 protocols 』がどのようなプロトコルを使用するか決めることができます。imap なんて使わない pop3 だけでいいや、という場合には protocols = pop3 のように書き換えることも出来ます。良く分からないや、という場合はとりあえずそのままでもOKです。 さて、このままだと、 # /sbin/service dovecot start Dovecot Imap を起動中: [失敗] こんな感じでサービスの起動を行うことが出来ません……。 SELinux が有効だと使えないようです。strict, targeted どちらのポリシーでも起動させることは出来ません。SELinux を無効にしてから起動出来ます。 とりあえず手っ取り早く SELinux を無効にするには # /usr/sbin/setenforce 0 です。/etc/selinux/config ファイルも 【 SELINUX=disabled 】にしておきましょう。 あとは、起動をテストしてみます。 # /sbin/service dovecot start Dovecot Imap を起動中: [ OK ] ポートの応答状況も確認できます。【 QUIT 】 で抜けることが出来ます。 # telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK dovecot ready. QUIT +OK Logging out Connection closed by foreign host. imap のチェックはポート 143 番です。【 数字 LOGOUT 】で抜けることができます。 # telnet localhost 143 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. * OK dovecot ready. 1 LOGOUT * BYE Logging out 1 OK Logout completed. Connection closed by foreign host. あとは、実際にメーラーから受信して動作確認です。 えぇ、これだけで良いんです、シンプルですね……。MTA も sendmail の最低限の設定さえしておけば、直ぐに利用可能です。SELinux では適切なポリシーを自分で考えなくてはいけないので……(沈黙)……えー、時間があるときにでも取り組みます。。 自動起動設定 †サーバの起動時に dovecot も自動起動するように調整が必要です。 次の手順で有効化・確認を行います。 # /sbin/chkconfig dovecot on chkconfig を使って有効にしました。有効になっているかどうかは --list オプションをつけます。 # /sbin/chkconfig --list dovecot dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off このようにランレベル3(普通サーバとして使うとき),5(X Windowsが動いてるとき)いずれも動作することが確認できます。 その他の dovecot を運用するために必要な知識。 †初期状態のメール保存ディレクトリ †初期状態で dovecot が認識するメール保存ディレクトリは【 /var/mail 】です。 初めから組み込まれている MTA は sendmail ですが、sendmail がローカル配送するファイルが "/var/mail/ユーザ名" ファイルです。たとえば akane アカウントにメールを送ると、メールが保存されるのは /var/mail/akane ファイルになります。dovecot はユーザ毎に分かれたファイルを直接参照させています。 pop3, pop3s †標準で pop3, pop3s プロトコルに対応しています。pop3, pop3s 共に、ユーザ確認パスワードは linux のアカウントと同じものです。パスワードの変更を行いたいときは、シェル上で passwd コマンドを実行して変更をかけます。 IMAP †特に設定しなくても、速攻利用可能です。/var/mail(/var/spool/mail)以下の mbox 形式のファイルを読んでいますが、ちゃんと IMAP でリアルタイムにファイルを取得できます。 IMAPS †Becky を使って IMAPS でのログインを行う場合は、メールボックスの設定の【詳細】タブ(見出し)にある"SSL/TLS関連"の項目にある【証明書を検証しない(S)】にチェックを入れておく必要があります。 チェックさえ入れておけば、あとは普通に IMAPS による通信が可能です。 |