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


第1回 qmailによるSMTPサーバの構築

sendmailに代わるMTAとして絶大な人気をほこるqmail。このqmailによるメールサーバの運用方法を解説していく。今回は、運用テクニックの前段階としてSMTPサーバの構築方法を紹介する。

鶴長 鎮一
2001/9/4

sendmailからqmailへ

 「進化の最終形は絶滅である」という説をご存じでしょうか。複雑になりすぎたシステムは、その複雑さゆえに自己の適応能力が環境の変化に追い付けず、絶滅の道をたどるといった内容だったと記憶しています。

 メール配送システム(MTA:Mail Transfer Agent)の代名詞であり、インターネット発展の礎ともなったsendmailは、誕生以来いくたびかの補修と修繕を繰り返し、いままさに進化の最終形にさしかかっているように感じます。そこまで大げさではないとしても、sendmailに何らかの変革を望むサーバ管理者は多いのではないのでしょうか(その変革の1つに「sendmail 9」があるのだと思います)。SPAM対策やSMTPの不正中継に辟易し、事有るごとにsendmailに簡易性を求めることも少なくないと思います。セキュリティやバグ対策もしかりです。「メールユーザー≒UNIXユーザー」であったインターネット創成期、SPAMというものも存在せず、それどころかインターネット利用者全員が1つの互助会に属している良き仲間であったころに誕生したsendmailでは、セキュリティをはじめとする多くの要望を満たすことに限界がきています。もちろん、それらをすべて解決することは不可能ではありません。むしろ、sendmailは多くの要望に対応できる柔軟性があります。その範疇は広すぎるくらいです。

 問題は、解決の手段を得るまでにどれほどの時間を費やさなくてはいけないかということです。SPAMや不正中継、セキュリティを考慮しなくてはいけない時代にサーバ管理者となってしまった方が待ち望んでいたもの、それがいまから紹介するqmailです。

 次世代MTAといわれるものを挙げると、次の4つがあります。

注:少し古いものですが、これらの性能比較をhttp://www.kyoto.wide.ad.jp/mta/eval1/で見ることができます。

 新世代MTAとして特に注目されているのがqmailとPostfixです。両者ともsendmailを意識したうえで開発されたMTAです。qmailはsendmailとの互換性にこだわらず、信頼性と性能を追求した成果として、Postfixはなるべく互換を保ちながら、qmailよりも後発だったのでqmailからもいいところを吸収した成果として誕生しました。

 Postfixも優れたMTAです。sendmailとの互換性を主張しつつも、qmailの特徴である「Maildir」というメールスプール形式を採用し、活発に開発が続けられています。ですが、どうせsendmailから乗り換えるのなら、あえて互換性にこだわらない潔さをよしとするqmailに触れてみるのもサーバ管理者としての幅を広げると思います。また、qmailには多くのパッチやツールが用意されています。その中には、いまはやりの「Web mail」や「POP before SMTP」、バーチャルドメインメールサービスを実現するためのものもあります。

 MTA乗り換えのメリットは、管理者だけでなくサーバを使用するユーザーにももたらされると思います。本連載では、管理者としてqmailのインストールや運用を行うにとどまらず、サーバを使用する一般ユーザーも恩恵を受けられるような使用方法を紹介していきます。

参考:sendmailとSendmail
オープンソース版は小文字で始まる「sendmail」、商用版は大文字で始まる「Sendmail」で表記します。商用版には、米Sendmail社や販売代理店によるサポート、運用管理機能、暗号化通信などが付いているといった違いがあります。
http://www.sendmail.com/

qmailの仕組み

 qmailは、D. J. Bernstein氏(http://cr.yp.to/djb.html)によって提供されています。sendmailを反面教師としているqmailは、次の点でsendmailと大きく違います。

  1. sendmailが、メッセージを単一のファイルに結合して全ユーザーが共通のディレクトリを使用するmbox形式であるのに対し、qmailは各ユーザーのホームディレクトリに1つのメッセージを1ファイルとして保存するMaildir形式である

  2. sendmailではメール配送にかかわる処理を1つのプロセスで実行しているのに対し、qmailではメール配送にかかわる処理を複数のプログラムに分割している

 /var/spool/mailをのぞいてみると、そこには全ユーザーのメッセージがユーザー1人につき1ファイルで保存されているのが分かります。メールのファイルを見てみると、FromやToなどが表記されたヘッダ情報があり、最初のヘッダから次のヘッダの間にメッセージ本体であるbodyが表記されていることに気づくと思います。仕切りとなっているヘッダ情報が何らかの理由で壊れると、ほかのメッセージにも影響を与えてしまうことが分かるでしょう。メールを保存するのも読み出すのも1つのファイルを対象にしているため、同時に複数の処理が発生して、さらにファイルの排他制御が働いていなければ、ファイルを正常な形に保つのは難しくなります。Maildirはそれを最も単純な方法で解決した結果だといえます。

 配送システムに目を向けてみると、sendmailはローカル配信やリモート配信などすべての処理を「sendmail」という1つのプロセスで管理しています。きれいな実装ですが、それゆえにsendmailの改変には手間を要します。大きなシステムほど、複雑さも増します。それなら処理ごとに小さなプログラムに分けてしまった方が効率がよくなる、というのがqmailの発想です。セキュリティホールなどが発見されたとしても、小さなプログラムごとに問題を片付けることが可能になります。また、qmailのプログラムは3つのグループに分かれており、それぞれのグループは他グループの機能さえも信頼しないという前提で動作します。どこか1つのグループが仮に乗っ取られてしまったとしても、ほかの2つのグループは乗っ取られてしまったグループからの攻撃にさえ対応できるのです。さらに、qmail-1.03誕生以来、qmailそのものの脆弱性は報告されていません(もちろん運用を誤ればその保証の限りではありませんが)。

 
1/3

Index
実用qmailサーバ運用・管理術
Page 1
sendmailからqmailへ
 qmailの仕組み
  Page 2
qmailのインストールと設定
 qmailのインストール
 コントロールファイルの編集
 sendmailの停止とラッパー
 qmailの動作確認
 Maildirへの移行
  Page 3
tcpserverによる起動の設定

 tcpserverとは
 tcpserverのインストールとcdbの作成
 tcpserverによるqmailの起動

連載 実用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」 特設サイトオープン!
最新情報・移行ノウハウを公開しています