POSTGREY(8) | Postgrey Policy Server for Postfix | POSTGREY(8) |
-h, | --help | ヘルプを表示して終了 |
--version | バージョン情報を表示して終了 | |
-v, | --verbose | 冗長表示レベルを上げる |
-q, | --quiet | 冗長表示レベルを下げる |
-u, | --unix=PATH | unix ソケット PATH で接続を待つ |
-i, | --inet=[HOST:]PORT | PORT で接続を待つ。 HOST の指定がない場合は localhost |
-d, | --daemonize | バックグラウンドで実行 |
--pidfile=PATH | デーモンの pid をこのファイルに書き込む | |
--user=USER | ユーザ USER で起動 (デフォルト: postgrey) | |
--group=GROUP | グループ GROUP で起動(デフォルト: postgrey) | |
--dbdir=PATH | db ファイルをこの PATH に置く (デフォルト: /var/spool/postfix/postgrey) |
|
--delay=N | N 秒間 greylist に入れる (デフォルト: 300秒) | |
--max-age=N | 前回現れてから N 日を過ぎたエントリを削除 (デフォルト: 35日) | |
--retry-window=N | 初回の試行は N 日間のみ許可(デフォルト: 2) 直後に ’h’をつけると時間単位となる |
|
--greylist-action=A | greylist に入っていれば、Postfix に A を返す (デフォルト: DEFER_IF_PERMIT) |
|
--greylist-text=TXT | メールを greylist に入れた際に返す応答 (デフォルト: Greylisted + ヘルプ url, 後述) |
|
--lookup-by-subnet | IP アドレスから末尾の 8 ビットを取り除く(デフォルト動作) | |
--lookup-by-host | IP アドレスから末尾の 8 ビットを取り除かない | |
--privacy | 一方向ハッシュ関数を使ってデータを書き込む | |
--hostname=NAME | ホスト名を指定 (デフォルト: ‘hostname‘) | |
--exim | 2 個以上のクエリーについてソケットを再利用しない(exim 互換) | |
--whitelist-clients=FILE | デフォルト: /etc/postfix/postgrey_whitelist_clients | |
--whitelist-recipients=FILE | デフォルト: /etc/postfix/postgrey_whitelist_recipients | |
--auto-whitelist-clients=N | 初めて配送に成功したら、ホストをホワイトリストに追加する。 N はクライアントをホワイトリストに追加するまでの最小値 (この機能はデフォルト有効で、値は 5)。 N=0 を指定するとこの機能を無効にする。 |
|
--listen-queue-size=N | このソケットで何個の接続を待たせるか |
Postgrey はグレイリスティングを実装する postfix のポリシーサーバである。
Postfix が SMTP 経由でメールの配送要求を受けると、 まず "クライアントIP" / "送信者" / "受信者" の triplet(三つぞろい)が決定される。この triplet が最初に現れた時、 もしくは最初に現れてから delay秒 (デフォルトは 300)以内にもう一度現れた場合、 そのメールは一時的なエラーで受け取りを 拒否される。 うまくいけばスパマーやウィルスはその後リトライをしないはずだが、 RFC ではリトライするべきであると規定されている。
注意: 自分がやっていることの意味がわかっていない場合は、 --lookup-by-host オプションを指定してはならない。電子メールを送信 する際に、IP アドレスのプールを使うメールサーバは結構ある。この場合、 それらのサーバは、再送を試みるたびに毎回 IP アドレスを変更できる。 このため、このオプションを指定しないと、postgrey はデータベースの 検索をする際に IP アドレスの末尾1バイトを切り捨てる。
postgrey --inet=10023 -d
smtpd_recipient_restrictions = permit_mynetworks ... reject_unauth_destination check_policy_service inet:127.0.0.1:10023
グレイリスティングを適用したくないクライアントのアドレスや 受取人アドレスがあれば、これらをホワイトリストに記載しておく。 デフォルトでは、postgrey は以下のファイルを読み込む:
/etc/postfix/postgrey_whitelist_clients /etc/postfix/postgrey_whitelist_clients.local /etc/postfix/postgrey_whitelist_recipients
これらを別のところに置く場合は、そのパスを --whitelist-x オプションで指定する。
Postgret のホワイトリストは Postfix のアクセステーブルと よく似た書式で記載する。受取人のアドレスとしては以下のような 指定が可能である:
クライアントのアドレスとして指定できる書式は以下の通り:
--auto-whitelist-clients オプションを指定すると、以下の条件を 満たした場合にクライアントの IP アドレスが自動的にホワイトリスト に追加される。
メッセージが postgrey のテストに引っかかって遅延させるべき時に、 postfix に返されるべきアクションを設定するには --greylist-action=ACTION オプションを使う。
デフォルトでは postgrey は DEFER_IF_PERMIT を返す。これを 受け取ると、postfix は残りの制約条件 (restrictions) をテストし、 これらにパスした場合にのみ、そのメッセージを遅延させる。 451 の遅延アクションにより、postfix は SMTP の応答コード 451 (一時的な失敗)で応答し、常にメッセージを遅延させる。
指定可能なアクションについては、postfix マニュアルの access(5) を参照のこと。
メッセージがグレイリストに登録されると、SMTP レベルでは 以下のようなエラーメッセージが送られる:
Greylisted, see http://postgrey.schweikert.ch/help/example.com.html
通常このエラーメッセージはユーザの目に触れることはない。 この URL の情報は、そのエラーを目にするシステム管理者に何らかの ヘルプを提供するためのものである。しかしながら、メールを直接送る ような壊れたメールクライアントを使っているユーザには、グレイ リスティングのエラーが返される。
注意:デフォルトのヘルプ URL にはオリジナルの受信側ドメイン名 (example.com) が含まれる。 このため、ドメイン固有のヘルプ情報をユーザに見せることも可能 である(デフォルトのページでは postmaster@example.com に連絡 するように指示されている)。
このテキスト(と URL)は、--greylist-text パラメータにより 変更できる。そのテキストの中では、以下の特別は変数が使用できる:
--privacy オプションを使うと、IP アドレスとメールアドレスを グレーリスティングデータベースに格納する際に SHA1 ハッシュ 関数を利用できる。これによりメールアドレスを取り出そうとする 直接的な攻撃を抑止できる(原文は This will defeat straight forward attempts to retrieve mail user behaviours.)。
グレイリスティングとは何かについては http://www.greylisting.org/ を、Postfix ポリシーサーバの動作については http://www.postfix.org/SMTPD_POLICY_README.htmlを、 それぞれ参照してほしい。
Copyright (c) 2004-2007 by ETH Zurich. All rights reserved. Copyright (c) 2007 by Open Systems AG. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
David Schweikert david@schweikert.ch
堀田 倫英 < hotta at net-newbie dot com >
perl v5.8.8 | 2008-02-22 | POSTGREY(8) |