text
メールサーバーの構築
PostfixとDovecotによるメールシステムの構築
1.メールサーバーとは − PostFixが使われる理由
メールサーバーとは、インターネット経由で送られてきたメールを保存したり別のサーバーに配信したりする働きをするサーバーアプリケーションが稼動しているコンピュータのことをさす。
メールサーバーの役割としてサーバーのメールボックスに到着したメールをユーザーのPCに転送するPOPとメールサーバーにメールを送信するときや、サーバー間でメールを転送するときに利用されるSMTPからなる。
UNIX系のメールサーバーアプリケーションの代表格としてはsendmailがある。sendmailには様々なセキュリティ上の問題が発見され、現在ではPostfixやqmailへと遷移していった。
Postfixはsendmailに代わるMTA (Mail Transport Agent)として開発されており、sendmailとの互換性が高い、設定が簡易、安全、運用面での負担が少ない、動作が速い、などの特徴を兼ね備えている。最近ではLinuxの一部のディストリビューションで標準のMTAとして採用されている傾向にある。ただし、PostfixはSMTPサーバとしての機能しか持っていないため、メールサーバとして稼働するにはPOPサーバやIMAPサーバが別途必要となる。本実習では、POPサーバーアプリとしてDovecotを別途設定してメールサーバーを構築する。
2.本自習の目的
本実習では、UNIX及びUNIXクローンOSのメールサーバーとWindowsのメーラーの構成でメールシステムの構築を習得する。
メールサーバーとして主流となりつつあるPostfixを使用することはsendmailと比較して設定が容易で高性能であることに由来する。また、クライアント向けのメール受信用のプロトコルにはPOP3を利用する。
ARPAnetの時代のDelivermailが通信プロトコルの以降やSMTPプロトコルの普及に伴って書き直され、オープンソースソフトウェアとして配布されたMTA。
ほとんどのUNIX系OSに標準として採用されており、インターネット上で運営されるメールサーバの事実上の標準として利用されていた。
3.メールサーバーの特徴
sendmail非常に多機能であり、sendmail.cfという設定ファイルの記述1つであらゆる種類のネットワーク間でメールをやりとりすることができる柔軟性を持つ。しかしその半面、設定が非常に難解で、幾多の修正のためプログラム自体が複雑化してしまっている。インターネットがグローバルなコンピュータネットワークのデファクトスタンダードとなった今日では、異なるネットワークを接続する必要性は皆無となってしまった。かつては必要であったとされる、これらの機能が、セキュリティホールがなかなかなくならない原因となっている。設定や管理に高いスキルを要求されるなどの短所として指摘されている。こうした中で、sendmailの問題点を解消する新たなMTAとしてqmailなどが出現して今日に至っている。
Postfix
sendmailに代わるMTA (Mail Transport Agent)として開発されたソフトウェアで、sendmailとの互換性が高く、安全、メンテナンスが容易、動作が速い、などの特徴を兼ね備えている。す。最近ではLinuxの一部のディストリビューションで標準のMTAとして採用されているが、PostfixはSMTPサーバとしての機能しか持っていない。
qmail
sendmailに代わるMTA (Mail Transport Agent)として開発されたソフトウェアで、並列処理によってメールの配送効率が高い、機能ごとにプログラムに分かれていて、要最小限の権限で動作します。また、 メールアドレスやファイル、プログラムを明確に区別して扱います。
qmailの設定はコントロールファイルと呼ばれる一連のファイルにドメイン名などを記述して行ないいる。この形式は sendmailのcfファ イルの記法に比べて格段に理解しやすくなっていいる。スパムメール対策も容易になっている。挙動が理解しやすいということは安全であることにもつながる。
4.実習の手順
(1)sendmailからPostfixへの移行
(2)Postfixの基本設定
DNSの正引きファイルのMXレコードの設定
/etc/postfix/main.cfの設定
ポート開放
(3)サービスの起動と停止
受信サーバーDovecotの設定
起動スクリプトの利用
(4)メール送受信テスト
mailコマンド
メーラーでの送信
(5)運用上の設定
Postfixでスパムメールを拒否する
Postfixでエイリアスを設定する
5.sendmailからPostfixへの移行
メールサーバーのソフトウェアとしてFedraCoreではMTA(Mail Transfer Agent)としては標準でSendmailとPostfixの両方がインストールされている。最近の傾向をふまえsendmailからPostfixへと移行する。
■sendmailからPostfixへの移行
sendmailからPostfixに切り替える。すでにPostfixが起動している場合があるので、これを停止させ標準MTAとしてPostfixを設定する。
# system-switch-mail |
ASCIIテキストライクなエセGUIが起動し、2者択一の選択メニューが表示される。標準ではsendmailが選択されているので、Postfixに切り替える。
既にsendmailが起動している場合があるので、事前にサービスを止めておくことが重要。
# service sendmail status # service sendmail stop |
■DNSの正引ゾーンファイルのMXレコードの記述
メールサーバーで利用するDNSサーバーのMXレコードにサーバー名が登録されている必要がある。
#vi /var/named/chroot/etc/var/named/dmz140.sentan-college.zone IN MX 10 mail140.dmz.sentan-college.ac.jp. |
本コンテンツでは、メールサーバーのホスト名をmail140.dmz.sentan-college.ac.jp、ドメイン名をdmz.sentan-college.ac.jpとしています。参考にされる場合は、適宜赤字の部分を修正するようにお願いします。
6.Postfixの基本設定
■main.cfの編集
# vi /etc/postfix/main.cf |
Postfixの設定ファイルの以下の箇所を書き換える。
mail_owner = postfix -> メールオーナー |
■ポートの開放
送信用プロトコルSMTPに対応するTCPポート25番をサーバー側で解放する。
受信用プロトコル
POP3に対応するTCPポート : 110 IMAP4に対応するTCPポート : 143
必要に応じて解放しておく。
■iptablesのファイル設定FedraCoreファイウォールを変更するためにiptablesファイルを編集してTCPポートの行を必要に応じて追加して変更していく。
# vi /etc/sysconfig/iptables |
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT |
iptablesの設定を反映させる。
# service iptables restart |
7.Dovecotの設定
受信プロトコルにはPOP3、IMAP4などがある。FedraCoreでは、両方のプロトコルに対応する受信サーバーとしてDovecotが標準でインストールされる。
■dovecot.confの編集
# vi /etc/dovecot.conf
# Protocols we want to be serving: |
と記述されているところへ下記の1行を追加する。
protocols = imap imaps pop3 pop3s |
Dovecotの設定はこれだけ
■メールサーバーの起動と停止
送信サーバーであるPostfixデーモンと受信サーバーであるDovecotデーモンをそれぞれ起動する。設定ファイルを変更した後は、再起動させる。
現在のデーモンの状態を確認
# service postfix status |
デーモンの起動と停止・再起動
# service postfix start |
初期起動設定
このままの設定だと、サーバーの再起動を行ったときにメールデーモンは起動しない。わざわざ、起動のコマンドを入力しなくても良いように、常時起動の設定をしておく。
# chkconfig --list postfix <- 現在の設定の確認 |
8.メールの送受信のテスト
■mailコマンドによるテスト
$ mail user@mail140.dmz.sentan-college.ac.jp <- メールサーバーアプリを設定した自分のメールアドレス |
■Windowsクライアントのメールソフトからの送受信
OutLookExpressやEudraなどのメールソフトで設定を行い、メールを送受信できることを確認する。
送信サーバー:mail140.dmz.sentan-college.ac.jp
受信サーバー:mail140.dmz.sentan-college.ac.jp
ユーザー名:(Postfixサーバーのユーザー名)