| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
「taRgrey」はS25R、tarpitting、greylistingの3つのスパム判定手法を組み合わせたものです。
これだけでもかなりのスパムを弾く事が出来ますが、Yahooメール等のフリーメールや固定IPから送信されたスパムは弾くことが出来ません。
その為、「taRgrey」を1次フィルタとして用い、「SpamAssassin」を2次フィルタとして用いる事により、ほとんどのスパムを弾くことが出来ます。
「SpamAssassin」の設定方法はこちらにあります。
なお、「SMTPサーバ(Postfix)の設定」、「Postfix」+「Cyrus-SASL」の設定
は終わっているものとします。
「taRgrey」では怪しい送信元に対しtarpitting(応答の遅延)を行いますが、応答待ちですぐに処理が終了しない為、smtpdプロセスが増加します。
そこで「Postfix」にパッチを当てて、遅延している間に相手が接続を切ったら、こちらのsmtpdもすぐに終了するよう、パッチを当てます。
また、今後自動でバージョンアップさせないよう、マスクを行います。
Gentoo ~ # ebuild /usr/portage/mail-mta/postfix/postfix-2.4.6-r2.ebuild fetch <= 「Postfix」のソースをダウンロード Gentoo ~ # ebuild /usr/portage/mail-mta/postfix/postfix-2.4.6-r2.ebuild unpack <= ダウンロードしたソースの展開 Gentoo ~ # cd /var/tmp/portage/mail-mta/postfix-2.4.6-r2/work/postfix-2.4.6 <= 展開したソースのディレクトリへ移動 Gentoo postfix-2.4.6 # wget http://k2net.hakuba.jp/pub/postfix-sleep.patch <= パッチのダウンロード Gentoo postfix-2.4.6 # patch -p1 < postfix-sleep.patch <= パッチの適用 Gentoo postfix-2.4.6 # rm -f src/smtpd/smtpd_check.c.orig <= パッチを適用した元のファイルを削除 Gentoo postfix-2.4.6 # rm -f postfix-sleep.patch <= パッチファイルの削除 Gentoo postfix-2.4.6 # ebuild /usr/portage/mail-mta/postfix/postfix-2.4.6-r2.ebuild compile <= コンパイル Gentoo postfix-2.4.6 # ebuild /usr/portage/mail-mta/postfix/postfix-2.4.6-r2.ebuild install <= 一時的な場所にインストール Gentoo postfix-2.4.6 # ebuild /usr/portage/mail-mta/postfix/postfix-2.4.6-r2.ebuild qmerge <= 現在のファイルシステムにファイルをマージ Gentoo postfix-2.4.6 # ebuild /usr/portage/mail-mta/postfix/postfix-2.4.6-r2.ebuild clean <= 一時的なディレクトリの削除 |
アップデート対象から「Postfix」を外します。
Gentoo ~ # vi /etc/portage/package.mask <= 設定ファイルの編集 mail-mta/postfix <= 追加 |
「taRgrey」を利用する為に「Postgrey」にパッチを当ててインストールします。
ただし、「Postgrey」に依存しているものがありますので、事前に「Postgrey」をemergeでインストールし、その後、再度「Postgrey」をインストールします。
なお、こちらも今後自動でバージョンアップさせないよう、マスクを行います。
Gentoo ~ # emerge postgrey <= 「Postgrey」をemergeでインストール Gentoo ~ # ebuild /usr/portage/mail-filter/postgrey/postgrey-1.31.ebuild fetch <= 「Postgrey」のソースをダウンロード Gentoo ~ # ebuild /usr/portage/mail-filter/postgrey/postgrey-1.31.ebuild unpack <= ダウンロードしたソースの展開 Gentoo ~ # cd /var/tmp/portage/mail-filter/postgrey-1.31/work/postgrey-1.31 <= 展開したソースのディレクトリへ移動 Gentoo postgrey-1.31 # wget http://k2net.hakuba.jp/pub/targrey-0.31-postgrey-1.31.patch <= パッチのダウンロード Gentoo postgrey-1.31 # patch -p0 < targrey-0.31-postgrey-1.31.patch <= パッチの適用 Gentoo postgrey-1.31 # rm -f targrey-0.31-postgrey-1.31.patch <= パッチファイルの削除 Gentoo postgrey-1.31 # ebuild /usr/portage/mail-filter/postgrey/postgrey-1.31.ebuild compile <= コンパイル Gentoo postgrey-1.31 # ebuild /usr/portage/mail-filter/postgrey/postgrey-1.31.ebuild install <= 一時的な場所にインストール Gentoo postgrey-1.31 # ebuild /usr/portage/mail-filter/postgrey/postgrey-1.31.ebuild qmerge <= 現在のファイルシステムにファイルをマージ Gentoo postgrey-1.31 # ebuild /usr/portage/mail-filter/postgrey/postgrey-1.31.ebuild clean <= 一時的なディレクトリの削除 |
アップデート対象から「Postgrey」を外します。
Gentoo ~ # vi /etc/portage/package.mask <= 設定ファイルの編集 mail-filter/postgrey <= 追加 |
main.cfの設定
当サイトでは、元々記述している部分を1行で記述していますが、ここでは複数行に分けています。
Gentoo ~ # vi /etc/postfix/main.cf <= 設定ファイルの編集
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
以下を追加
check_client_access hash:$config_directory/whitelist_client
check_client_access regexp:$config_directory/permit_client_nots25r
check_policy_service inet:60000
permit
smtpd_data_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
check_client_access hash:$config_directory/whitelist_client
check_client_access regexp:$config_directory/permit_client_nots25r
check_policy_service inet:60000
permit
ここまで
|
「Postgrey」関係の設定
設定ファイルをダウンロードし、指定のディレクトリに配置します。
Gentoo ~ # wget http://k2net.hakuba.jp/spam/postfix.conf.2.tar.gz <= 設定ファイルのダウンロード Gentoo ~ # tar xzf postfix.conf.2.tar.gz <= ダウンロードしたファイルの展開 Gentoo ~ # cp postfix.conf.2/whitelist_client /etc/postfix/ <= 設定ファイルのコピー Gentoo ~ # cp postfix.conf.2/permit_client_nots25r /etc/postfix/ <= 設定ファイルのコピー Gentoo ~ # rm -rf postfix.conf.2 <= 展開したディレクトリの削除 Gentoo ~ # rm -f postfix.conf.2.tar.gz <= ダウンロードしたファイルの削除 Gentoo ~ # postmap /etc/postfix/whitelist_client <= whitelist_clientファイルのDB化 |
「Postgrey」の起動時に「taRgrey」が有効になるように起動オプションを変更します。
ここでは、125秒の遅延を設定し、最初に送信されてから1時間(3600秒)以上開けて、
再送を2回以上されたときのみメールを受け取るように設定しています。
また、上記の設定と合わせ、ポリシーサーバの待ち受けポートを60000に指定しています。
Gentoo ~ # vi /etc/conf.d/postgrey <= 設定ファイルの編集 POSTGREY_PORT="10030" ↓ POSTGREY_PORT="60000" <= 変更 POSTGREY_DELAY=300 ↓ POSTGREY_DELAY=3600 <= 変更 POSTGREY_OPTS="" ↓ POSTGREY_OPTS="--dbdir=/var/spool/postfix/postgrey --tarpit=125 --targrey --retry-count=2" <= 変更 |
「Postgrey」の起動
Gentoo ~ # /etc/init.d/postgrey start |
「Postfix」の再起動
Gentoo ~ # /etc/init.d/postfix restart |