株式会社オーム社 様のご厚意により,
書籍 "Postfix詳解 ─MTAの理解とメールサーバの構築・運用─" を
ブックレビューコーナー にご献本いただきました.
この本のレビューをして頂くべく,
Linux Users ML
や本サイトにおいて
公募
を行い,
これにご希望頂いた方々より感想などをレビュー記事にまとめていただきました.
ここに, レビューアの方々から寄せられたレビュー記事を公開します. (原稿到着順)
オーム社 様および レビューアの皆様のご厚意に感謝いたします.
なお, 以下のレビューは初版を対象としています.
せっかくの機会なので, 第 1 章から読みはじめました. 1 章, 2 章, 3 章と読み進みました. しかし, 4 章でいきなり, Postfix の設定ファイルである main.cf の個別のパラメタの説明が行われ始め, びっくりしました. 私はこれまで, まがりなりにも Postfix を使ってきた経験があったので ここで書かれているパラメタについては理解できましたが, まったく使った事がない読者にとっては話の展開が早過ぎて戸惑う人もいるのではないでしょうか?
Postfix によるメールサーバの役割もいろいろ考えられるので, この時点で役割に応じた設定方法の説明を行いたいと言う意図は理解できますが, Postfix 全般について理解したいと考えている読者にとっては, 話が発散してしまいがちです. 役割に応じた設定についてはある程度 Postfix について理解が深まった後の段階で行った方がよいように思いました.
4 章まで読んだ所で方針転換を行い, 今回の目的である spam メール対策について記述されている第 14 章へ進む事にしました. これまで, ウェブページで公開されている Postfix に対する設定を元に header_checks および body_checks を用いて対策を行ってきました. 届いた spam メールの From アドレスをいちいち抜き出して reject すべきメールとして記述していました. body_checks では本文中に記載されているメールアドレスを記述し対策を行ってきました. しかし, spam メールは次々とアドレスを変えてやってきます. 個別の設定にはすこし嫌気がしていた所です.
14 章を読み進むうちに smtpd_helo_restrictions というものの存在を知りました. 試しに次の設定を行って見ました.
smtpd_helo_restrictions = permit_mynetworks reject_invalid_hostname reject_unknown_hostname reject_unknown_sender_domain reject_non_fqdn_hostname
加えて, これまで許可していた html によるメールを受け取らない設定を行いました.
上記設定を行ってから 2 週間が経過しましたが, syslog のログを見る限りでは多くの spam と思われるメールが reject されています. また, 受け取るべきメールが reject されている形跡もありません. 毎日数通届いていた spam メールは, この 2 週間で 2 通だけとなり, この設定の有効性が私の環境では証明された形です.
14 章では SMTP による情報のやりとりの各段階で行える spam メール排除の解説が行われており, main.cf に記述する smtpd_*_restrictions に記述できるパラメタを表の形で記述してあり設定を行う上で役に立った. 各パラメタの説明も体系的に行われていてわかりやすかった.
Postfix は sendmail と比べて設定が行いやすいのでこれからも使ってゆきたいと考えています. そうした中で, Postfix に求められる用件も変化していくと思います. 今回の「Postfix詳解」は目次も充実しており, リファレンスブックとして手元に置いておくと役に立つ 1 冊だという印象を持ちました.
最後になりますが, レビューの機会をあたえていただいた方々に感謝してレビュー記事を終わりにしたいと思います.
MTA として注目されている Postfix の解説図書です. 詳解というタイトルから, 難解な内容をイメージしていましたが, メールシステムの仕組みから, 丁寧に解説されており, 入門者でも順を追って読み進められるように書かれており, 非常にわかりやすいと印象を受けました. しかしながら入門で終わらずに, 読み進むにしたがってメッセージの制御や spam 対策など, 運用に必要となってくる様々な事柄についてもきちんと解説されておりました. また Postfix のバージョンによる違いも場所ごとに述べられており, 本書を読んでおくことにより, 実際に運用する Postfix の動作理解, またバージョンアップの必要性なども考えることができます.
しかしながら, 仕組みの解説ではなく, 実際の操作面の解説では, 書かれていないわけではないのですが, 紙面の都合上からか, 多少省略されているところもあったように見受けられました. この本だけでなんでもできる, というところまでは行かないとも感じました.
まとめとしましては, 本書は Postfix 運用にあたっての基礎知識が整理されて盛り込まれていると思います. 本書により, MTA の仕組みと Postfix の理解がきちんとできるなと感じられました.
構成は大きく 5 つに分かれています.
初めは電子メールシステムについての解説となっており, DNS との関係, MTA としての Postfix について述べられています. 基礎的な部分がきちんと丁寧に説明されています.
次に Postfix の導入と運用ということで配置のプラン, インストール, 設定, 日常の運用について解説されています. アドレスの書き換えなどにも踏み込んでおり, どういうことが出来るのかが, 良く分かるようになっています. ただ, 運用するにあたって, 実際に直面するような例題にしたがって実例をあげていただけたら, 更に実用的に使えるのではと感じました.
3 つ目は Postfix の仕組み自体の解説となっており, 内部構造と, 受け付けたメッセージキューの処理について書かれています. 実際にどのように配送され, また配送されないのかが, 良く分かるようになっています. このあたりは「詳解」という題名に沿った内容だと感じる部分でした.
4 つ目に spam 対策について書かれています. このブロックでも 50 ページを割いて解説されており, spam 判別のタイミングやフィルタの仕方について詳しく書かれています. またウイルススキャナについては amavis の導入が解説されております.
最後に (ここが一番ページが多いのですが) Tips ということで, チューニング, 拡張, MRTG によるログ解析, 他の MTA からの移行, その他トラブルシューティング, main.cf のパラメータ解説と続いており, (私も全て理解できていないですが) 様々な状況に応じた解説が丁寧に書かれているため, 非常にやさしく感じながら読み進められます.
MTA の基礎から Postfix の詳細な仕組み・動作まで書かれている本書は, 入門本から応用本までの内容を一気に詰め込んであるような濃さを感じました. 実際の Postfix の操作をするにあたっては, マニュアルなどを参照しなくてはならない部分は多くあると思いますが, 逆に中身を理解することによってマニュアルのどこに答えがあるのかは簡単になると思いますので, Postfix はどんなことができるのか, 本書はきちんを答えてくれていると思います.
これから Postfix を使ってサーバ管理していく方, とりあえず Postfix を使っているが, もう一歩踏み込んで使ってみたい方に, お勧めではないでしょうか.
Postfix は sendmail, qmail と並ぶ代表的な MTA (電子メールを配信するためのソフトウェア) です. 本書はこの Postfix の導入から設定までの詳細をわかりやすく解説しています. 最近の傾向として, セキュリティや spam メールへの対応が問題となっていますが, 本書ではその点についても丁寧に解説しており, 初めてメールサーバーを立ち上げようとしている人から, ある程度メールサーバーの管理になれてきて本格的に spam 対策を迫られている管理者まで, 幅広い読者に勧められる一冊です.
本書は 5 部で構成されており, 第 1, 第 2 部はメールシステムの解説と Postfix のインストールと設定に当てられています. この部分は初心者を対象にわかりやすく書かれており, おそらくサーバー構築になれていない人でも, Postfix の導入と設定が容易に行えると思います. 導入では, ソースからコンパイルする方法を紹介していますが, もともと定評のあるソフトウェアなのでほとんど失敗することはないと思います. (実際、私の周囲の Linux マシンにインストールしてみましたが, 問題なく導入できました.) ただし, Linux に関しては, ディストリビューションごとの導入法の違いなどについてふれられていない点が残念でした. たとえば, Fedora では, sendmail と Postfix を両方入れておいて alternatives コマンドで切り替えることができるようです. (http://www.itnavi.com/irohaPostfix.htm)
第 3 部と第 4 部は Postfix の内部構成と spam 対策に当てられています. 第 2 部の終わり頃から内容が急に難しくなり, 対象が初心者からサーバー管理者へと移行しているようです. 本書の特徴の一つとして spam 対策に第 4 部全体を当てて解説している点があげられます. この部分も含め, 著者のサーバー管理者としての経験をふまえた Postfix に対する深い知識と愛情が感じられます. この部分の spam およびセキュリティに関しての解説は詳細かつ実践的で, 必要に迫られている人にはすぐに役に立つ内容だと思います.
最後の第 5 部は Postfix のチューニングや, 外部プログラムとの連携, ログの管理などに当てられており, 日常の管理及び維持に有用な情報が含まれていると思います. 後半部分は, かなり高度な内容で読むのに苦労しましたが, ざっと目を通しておいて, 実際の運用の際にリファレンスとして利用するのが有効だと感じました.
とかく, メールサーバーの解説書というと厚くて, 詳細で, わかりにくいという印象があるのですが, 本書は 350 ページほどの中に, 初心者から上級管理者までを対象とした内容がバランスよく含まれている印象を持ちました. 私のようにサーバー管理はメインの仕事ではないけれど, 小さなグループでのメールサーバーの構築やトラブル時の対策に呼び出されるものには, ちょうどよい内容だと思います. Postfix 自体にも詳細なマニュアルが添付されており, また, ネット上で翻訳も公開されているのですが (http://www.kobitosan.net/postfix/), 後半部分の機能面での解説では, Postfix の説明だけにとどまらず, メールソフトはいかにあるべきかという視点から各機能の解説がなされている点が優れていると感じました.
本書には, Postfix の動作, 設定について詳細が記述されています. すでに Postfix でメールサーバを運用している人にとっては有用なヒントが, また, メールサーバの新規構築を検討している人にとっては Postfix を候補に上げるに十分な情報が記載されています. 他の MTA での構築, 運用経験がある方にお勧めの本です. 一般的な書籍, いわゆる How to 本にありがちな POP のお話はまったく出てきません. 「POP と SMTP の違いがわからない」という方は, 他の解説書と併読したほうが良いでしょう.
メールシステムの基礎知識が記述されています. 理解されている人は読み飛ばしても良い部分ですが, 初めてメールシステムを勉強する人は著者のサポートページを確認してから読むと良いと思います (わかりやすい内容なのですが, 図に間違いが多いため).
最初に, 一般的なメールサーバの配置方法とそれにあわせた Postfix の初期設定が解説されています. メールサーバの代表的な配置方法が記述されていますが, もっとも一般的と思われるスプールと配送サーバを分けた構成について記述がなく, やや物足りません. Postfix の出力するログ形式について詳細が記載されており, これから MTA を構築する方やデバッグに非常に役立つと思いますので, 一読をお勧めします.
Postfix を構成するプログラムについて詳細が記述されています. メールが入ってきてからスプールに入るまで (もしくはバウンスされるまで), メール配送の生涯が動作パラメータと一緒に記述されています. 各プログラムに関連する動作パラメータとその結果が併記されているため, メールの気持ちになって読むことができます. おそらく, この本のなかでもっとも読むべき部分です. 特にキューの動きについては Postfix を運用されている方は一度目を通しておくべきでしょう.
spam 対策のための各種手法と, 運用に当たっての注意点, 関連するパラメータが記述されています. メール配送の仕組み (と, Postfix のパラメータ) を理解していないと, 記述されている内容の理解が難しいと思いますが, 現在 Postfix で spam に悩まされている管理者にとっては参考になる内容だと思います. 内容の理解はともかく, 記述されているそのままを行えば spam 対策が出来るので 「まずはやって覚える」というタイプの方にも良いかもしれません. 私自身, RBL 等を使用した spam フィルタリングが今ひとつ理解できなかったのですが, この本を読んで理解することが出来ました. 欲を言えば, 図での解説がもっと豊富なほうが理解しやすいと思いました.
Postfix の SMTP テストツールの紹介から LDAP/DB との連携方法, ほかの MTA からの乗り換え方法等が記述されています. 他の章で書き漏らした部分が記述されているような内容ですが, メールスプールの格納形式について述べられているなど, 重要な部分もあります.
題名どおり, Postfix について詳細が記述されています. 中盤以降, 動作とパラメータをセットで解説する形になりますが, パラメータが関係する別パラメータがある場合, そのパラメータが紹介されている項番へのポインターが記述されています. そのため, 動作パラメータの変更に関連する動作を確認しやすくなっており, 現場では (そうでなくても) 大変助かると思います.
前半で力を使い果たしてしまったのか, 後半になると図を用いた説明がなくなるため, ややわかりにくくなるのはいただけませんが, 後半の内容, 特に第四部以降はすでに運用/構築している人がターゲットと思われるので, 冗長さを省いたともとれます.
この本を読むべき対象は以下の 2 通りのケースが考えられます.
前者の人にとっては,「Postfix でここまでできるんだー」という形で参考に. 後者にとっては設定ファイルと照らし合わせて「現在, こうなっているんだー. じゃ, 次はこうして・・・」という形で参考に. いずれにせよ Postfix のパワーが 350 ページに凝縮されていますので, (Postfix についての) 悩みをすっきり解決させてくれる一冊だと思います.
本書を読む機会を与えてくださった全ての人に感謝します.
私は研究開発やその過程における書類作成などの作業に Linux を利用してきた. しかし, 長年 Linux を利用しながらメールサーバシステムを構築するという作業はしたことがなかった. これは, 巷のインストール本には, メールサーバのための簡単な設定がよく記述されているが, 果たしてこれだけの設定で大丈夫なのか? そもそもメールシステムの動作原理を全く知らずに, マニュアルだけでセキュリティ等の煩雑な問題に対応できるのか? 設定作業はどうすればよいのか? 等々の懸念事項があったからである. したがって, これらの懸念事項に対する記述に着目して読み進めた. 以下に, 着目点を明記する.
そして, 本書を読み終わったとき, Postfix に関するメールに関する基本知識から, メールシステムのチューニング方法, スパムメールやウィルスメール対策など, メールサーバを構築する上で私が不安に感じていた事項が明確になった.
まず, 本書の内容について簡単に説明する.
第 1 部では, 既存のメールシステムの歴史的背景, 基本構造について丁寧に説明されており, メールシステムに対し知識のない読者でも容易に導入口にはいることができる.
第 2 部では, postfix を利用したメールシステムのサーバ構成例を, 用途・セキュリティに応じて紹介し インストール, ネットワークの設定, メールシステムの管理に必要なログメッセージの読み方, さまざまなメール転送・利用方法に関して記述されている.
第 3 部では, postfix 内部でのメールメッセージが作成されてから受信されるまでの動作を, 機能間の依存関係が (図がすこし分かりづらいものの) 明確にしながら記述されている.
第 4 部ではスパムメールの歴史からこの定義について述べられている. そして DNS を利用したスパムメール対策, またメッセージフィルタリングを利用したスパムメール, これ以外のウィルスメールに関する対策方法が記述されている.
第 5 部では, postfix のベンチマークの測り方, また最適なメール受配信システムへのチューニング方法, また運用管理に便利なツールの紹介, sendmail, qmail から移行した場合の変更方法が記述されている.
本書の効用について, "はじめに" で述べた 3 点の着目点から述べる.
本書ではメールシステムに関して非常に分かりやすく解説されており 今までメールシステムを管理したことがないユーザでも容易にメールの原理をしり, 本格的にメールサーバを構築することが可能な一冊である.
また運用方法に関してもスパム等の攻撃方法に関する原理の説明がなされたり, メールシステムの構造を理解した上で運用管理方法の説明に入ったりするため変更部分が論理的に分かりやすいし, 本書に記述されていない事例にも応用が効く可能性が高い.
但し, 具体的なインストールや実際の設定に関してはスクリプトを提示して説明がされているわけではないので, 初心者やハウツー本を期待されている人には少しツライ可能性はある.
従って, 本書はある程度 Unix の利用になれたユーザが, メールシステムを構築し管理したり, 自分の目的に応じたチューニングをしたり, するには最適な本である. また, システムの動作原理が分かりやすく解説されているので今後の応用が利く広がりのある一冊であるといえる. つまり, 本書はある程度 Unix の基礎知識を持った読者向けの書籍である.