メインメニュー
Powered By

vine linux4.~
apache2.~
php5.~
Mysql5.~
xoops cube2.~
hp
自宅サーバより発信しています

 TOP  >  Vine linux  >  postfix セキュリティ関連設定
トップ  >  postfix セキュリティ関連設定



1.HELO(EHLO)ホスト制限(Hello拒否設定)
● 指定の仕方
smtpd_helo_restrictions = [パラメータ],[パラメータ] ・・・・

● 例
smtpd_helo_restrictions = permit_mynetworks,
                 reject_maps_rbl,
                 reject_invalid_hostname,
                 permit
ハローパケットの受信について、自ネットワークは優先的に許可、ORBL登録のホスト拒否、無効なホスト名のホスト拒否、その他は許可。


--------------------------------------------------------------------------------

2.ホストの接続に関しての拒否(SPAM拒否設定)
● 指定の仕方
smtpd_client_restrictions = [パラメータ],[パラメータ] ・・・・

● 例(あまり設定できるオプションなし)
smtpd_client_restrictions = permit_mynetworks,
                  check_client_access hash:/etc/postfix/bad_sender,
                  reject_maps_rbl,
                  reject_invalid_hostname,
                  permit
ホストの接続に関して、自ネットワークは優先的に許可、ORBL登録のホスト拒否、無効なホスト名のホスト拒否、その他は接続許可。


--------------------------------------------------------------------------------

3.メール中継の制限(オプションパラメータでの制限をする場合に使う)
● 指定の仕方
smtpd_recipient_restrictions = [パラメータ],[パラメータ]  ・・・・

● 例
smtpd_recipient_restrictions = permit_mynetworks,
                    regexp:/etc/postfix/recipient_checks.reg,
                    check_client_access hash:/etc/postfix/bad_sender,
                    reject_maps_rbl,
                    check_relay_domains
メール中継元に関して、任意のヘッダー情報を持つホストを拒否、自ネットワークは優先的に許可、ORBL登録のホスト拒否、$mydestination, $inet_interfaces, $virtual_maps, $relay_domains それぞれのパラメータ値にリストされたアドレス宛かチェックし許可。


--------------------------------------------------------------------------------

4.MAIL FROMでシステムの受信制限をする
● 指定の仕方
smtpd_sender_restrictions = [パラメータ],[パラメータ] ・・・・

● 例
smtpd_sender_restrictions = reject_non_fqdn_sender,
                   reject_invalid_hostname,
                   reject_unknown_sender_domain,
MailFromでの受信制限に関して、送信元のローカルパートがFQDN出なければ拒否、無効なホスト名のホスト拒否、ローカルパートのドメイン名がDNSに登録してなければ拒否。


--------------------------------------------------------------------------------

5.パラメータ詳細





1) パラメータの種類



※1
regexp:

正規表現ファイル指定。特定のアドレス宛のメールを拒否及び任意のヘッダ情報を持つメールを拒否。



permit_mynetworks

ローカルネット上のmynetworksで指定するIP
Addressのホストを許可する。



permit

パラメータの最後に記述することにより、”それ以外は中継を許可する”ということになる。



reject_unauth_destination


$mydestination, $inet_interfaces, $virtual_maps, $relay_domains
それぞれのパラメータ値にリストされたアドレス宛かチェックし、それ以外は拒否する。smtpd_recipient_restrictionsに設定するパラメータ。



permit_mx_backup

DNSの問い合わせに対してのMXレコードのエントリーにあるドメイン宛のメッセージを許可する。



check_relay_domains

permit_auth_destination


$mydestination, $inet_interfaces, $virtual_maps, $relay_domains
それぞれのパラメータ値にリストされたアドレス宛かチェックし許可する。smtpd_recipient_restrictionsに設定するパラメータ。



reject

パラメータの最後に記述することにより、”それ以外は中継を拒否する”と言うことになる



reject_invalid_hostname


無効(怪しい)なホスト名の場合拒否する。



reject_maps_rbl

$maps_rbl_domains(不正中継ブラックリスト)に登録されているクライアントからのメッセージを拒否する。



reject_non_fqdn_hostname

正しいFQDNでない HELOホスト名を拒否する。



reject_non_fqdn_recipient

受信者アドレスが FQDNでないホストを拒否する。



reject_non_fqdn_sender


送信者アドレスがFQDNでないホストを拒否する。



reject_unauth_popelining

パイプを使用するプログラムから送信されたメールを拒否する



reject_unknown_client

クライアントのホスト名が不明な場合拒否する(IPから逆引きが出来ないホストの拒否)。

注:これは出来れば設定しない方が良い。サーバの中では逆引きを設定してないサーバが多いからである。



reject_unknown_hostname

DNSのAレコードや
MXレコードのエントリーにないホストを拒否する。



reject_unknown_recipient_domain


受信者のメールアドレスが DNS の Aレコードや MXレコードを持たないホストを拒否する 。



reject_unknown_sender_domain

送信者のメールアドレスが DNS の Aレコードや MXレコードを持たないホストを拒否する(実在しないドメイン)。



※2
check_client_access


アクセス制御ファイル指定。接続してくるホストのアクセス制御設定が出来る。 (IPAddress、ドメイン、ホスト名、メールアドレス)



※2
check_helo_access


アクセス制御ファイル指定。HELOパケットの送信元のアクセス制御設定が出来る。 (IPAddress、ドメイン、ホスト名、メールアドレス)



※2
check_recipient_access


アクセス制御ファイル指定。RCPT TOの中継元のアクセス制御設定が出来る。 (IPAddress、ドメイン、ホスト名、メールアドレス)



※2
check_sender_access


アクセス制御ファイル指定。MailFromの送信元のアクセス制御設定が出来る。 (IPAddress、ドメイン、ホスト名、メールアドレス



 

2) 使い方

● ※2 のアクセス制御ファイルの設定例

check_client_access hash:/etc/postfix/clients

といった形式で、データベースのタイプとデータベース名を指定する。データベースのレコードフォーマットは、

address action

で、address フィールドにはホスト名、IP Address、ドメイン名、IPネットワークの何れかを指定できる。actionフィールドは、指定された address に対するアクションを指定。

REJECT → 拒否
4xx text → textをメッセージとした一時的なエラー
5xx text → textをメッセージとした永続的なエラー

テキスト形式でデータベースのテーブルファイルを上記の形式で作成したら、postmapコマンドでバイナリーのデータベースファイルを作成。

# postmap /etc/postfix/clients

でdbをこさえて、Postfixに可読に反映させる。尚、postmapでdb作成を行うのはhashが付いた場合のみである。

注:以下のように指定すると、データベースに登録されたホストやドメインはすべて拒否することになるので注意。

smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/clients, reject

3) 受信メールの拒否

Postfixでは、リレーに関する細かい設定が行えるが、これをホスト/HELO/MAIL FROM に対しても設定することができる。

● 確認パラメータ設定例

smtpd_client_restrictions = check_client_access hash:/etc/postfix/bad_clients

4) HELO(EHLO)ホスト制限(Hello拒否設定)

● 確認パラメータ設定例

smtpd_helo_restrictions = reject_unknown_hostname, permit_mynetworks
smtpd_helo_restrictions = check_helo_access hash:/etc/postfix/bad_helo

5) MAIL FROMでシステムの受信制限をする

● 確認パラメータ設定例

smtpd_sender_restrictions = reject_unknown_sender_domain, permit_mynetworks
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/bad_sender

6) ヘッダーでブロック

メッセージフィルタを利用してメールを拒否することもできる。Postfix の header_checksパラメータを利用すると、メッセージヘッダーをスキャンし、特定の文字を含むメッセージの配送をブロックすることができる(パラメータオプションは※1 で説明)。

● 確認パラメータ設定例

header_checks = regexp:/etc/postfix/bad_header

のように設定(正規表現テーブルを使用する場合)し以下の要領でファイルを作成する。

pattern action

pattern はヘッダーフィールドでマッチングされる正規表現を記述する。action はパターンにマッチした時のアクションを指定する。アクションには、

REJECT   →   メッセージを拒否
OK       →   メッセージを許可
IGNORE   →   メッセージからヘッダー行を破棄

すべてのヘッダー行に対して指定した条件で実行される。テーブルの例は以下のようになる。大文字小文字は関係なし。


# The contents of "bad_header"(bad_headerの内容)

# It refuses by a partner's subject. (サブジェクトの文字で受信拒否する)
/^Subject:.*!!!/                     REJECT ← Subject: に"!!!" が有る場合はドロップ
/^Subject:.*( \$\$\$|\$\$\$ )/          REJECT ← Subject: に "$$$" が有る場合はドロップ(\とかが入ってるのは日本語が混在している場合の対策)
/^Subject: more money$/              REJECT
/^Subject:.*I Love You/               REJECT
/^Subject:.*Re: Sample/              REJECT
/^Subject:.*dear valued customers/       REJECT
/^Subject:.*norton will/              REJECT
/^Subject:.*married/                 REJECT
/^Subject:.*lose we/                REJECT
/^Subject:.*Here is that sample/        REJECT


# It refuses in a FROM address.(FROMアドレスで受信拒否する)
/^From:.*<#.*@.*>/                 REJECT  ← fromが何も無いときは拒否する
/^From:.*email.it/                   REJECT
/^From:.*lycos.co.kr/                REJECT
/^From:.*.co.kr/                   REJECT
/^From: .your friend$/                REJECT

# It refuses with the mailer which the partner is using.(相手のMUAで受信拒否する)
/^X-Mailer: *Achi-Kochi Mail/i          REJECT ← 相手のメーラにバルクメーラが使われている場合にドロップ(iは大文字と小文字を区別する)
/^X-Mailer:.*DM Mailer/              REJECT
/^X-Mailer:.*Achi-Kochi Mail/          REJECT
/^X-Mailer:.*PostMaster General/        REJECT
/^X-Mailer:.*Direct Email/             REJECT
/^X-Mailer:.*Oshirase Mailer/           REJECT
/^X-Mailer:.*IMail/                  REJECT
/^X-Mailer:.*Cara Mail/               REJECT
/^X-Mailer:.*Achi-Kochi Mail/i          REJECT

# It refuses with a return path.(リターンパスで受信拒否する)
/^Reply-To:.*<#.*@.*>/               REJECT  ← reply toが何も無いときは拒否する
/^Reply-To:.*@lycos.co.kr/            REJECT
/^Reply-To:.*@gte.net/               REJECT
/^Reply-To:.*yahoo.co.kr/             REJECT
/^Reply-To:.*@email.it/               REJECT

# It refuses with To.(抹消したはずの自ドメインアカウント宛にspamが来るので拒否する)
/^To:.*meiwaku@akunin.com/           REJECT

7) メールの本文でブロック

body_checks=regexp:/etc/postfix/body_checks

The contents of "body_checks"(body_checksの内容)
# It refuses in the mail text.(メールの本文で受信拒否する)
/^(|[^>].*)remove.exec/              REJECT
/^(|[^>].*)shichifuku.net/             REJECT
/^(|[^>].*)tobutobu.host/              REJECT
/^(|[^>].*)freewebtools/              REJECT
/^(|[^>].*)kyoukono.go.ro/             REJECT
/^(|[^>].*)www.porno/                REJECT
/^(|[^>].*)netian.com/               REJECT
/^(|[^>].*)DMaster /                 REJECT
/^(|[^>].*)DMaster/                 REJECT

# It refuses by the attached file of mail.(添付ファイルで受信拒否する)
/name=.*\.scr/                    REJECT
/name=.*\.pif/                    REJECT
/name=.*\.com/                   REJECT
/name=.*\.dll/                    REJECT
/name=.*\.reg/                    REJECT
/name=.*\.vbs/                    REJECT
/name=.*\.shs/                    REJECT

8) IPアドレスでブロック

smtpd_recipient_restrictions=check_client_access hash:/etc/postfix/reject_ip

The contents of "reject_ip"(reject_ipの内容)
# The contents of "reject_ip"

xxx.xxx.xxx.xxx                   REJECT
xxx.xxx.xxx                       REJECT ← xxx.xxx.xxx.0のネットワークアドレス全て対象

9) あり得ない形式のメールアドレスをブロック

smtpd_recipient_restrictions=regexp:/etc/postfix/recipient_checks.reg

The contents of "recipient_checks.reg"(recipient_checks.reg内容)
# Contents described by the mail answered.
/[@!%].*[@!%]/ 550 Please use user@domain address forms only. ← 返信されるエラーメールに表示される

10) From 送信者のメールをブロック

smtpd_recipient_restrictions=check_client_access hash:/etc/postfix/reject_sender

The contents of "reject_sender"(reject_senderの内容)
# The contents of "reject_sender"
bitcat.net                        REJECT
usa.net                          REJECT
hongkong.com                     REJECT
china.com                        REJECT
asult-newsletter.com                REJECT
yahoo.co.kr                       REJECT
amipara.com                      REJECT
lycos.co.kr                       REJECT
wanadoo.nl                       REJECT
.or.kr                           REJECT
.go.kr                           REJECT
.ac.kr                           REJECT
.sh.cn                           REJECT
.edu.cn                          REJECT
.com.cn                         REJECT
.org.cn                          REJECT

11) あり得ないドメインからの受信をブロック

smtpd_sender_restrictions=reject_unknown_senmder_domain

12) FQDNの書式に反したアドレスのブロック

smtpd_sender_restrictions=reject_non_fqdn_sender

13) Webサイトのブラックリストデータでブロック(2004年11月現在でサーバが動いているサイト)
注:ブラックリストサイトは雄志で運営しているため、いきなりサーバが停止してたり、サービスを止めてしまっている場合が多い。したがってping等でサーバが稼働してるかあらかじめ確かめること。(サーバが停止してるのにもかかわらず設定してると、ログに沢山エラーを吐くので注意すること。)この指定方法は、すでに無効になった。代わりに、reject_rbl_clientで直接スパムDBサイトを直接指定する形となった。

maps_rbl_domains = relays.ordb.org,
             dynablock.wirehub.net,
             opm.blitzed.org,
             relays.visi.com,
             spamcop.net

reject_rbl_client spamcop.net,
reject_rbl_client dynablock.wirehub.net,
reject_rbl_client opm.blitzed.org,
reject_rbl_client relays.ordb.org,
reject_rbl_client relays.visi.com,
reject_rbl_client sbl.spamhaus.or

実際に上記のORBLサイトのブラックリストが効いたlogを見てみるとこんな感じである。さらに、その下はOPEN PROXYになってる無防備なサーバを踏み台にして不正中継を試みようとしている馬鹿野郎である。まあ、以下のようなlogは頻繁に有る。もう、イヤになるほどである。だから、ORBLサイトには大変にお世話になっている。

Dec 11 07:45:32 sub postfix/smtpd[14440]: NOQUEUE: reject: RCPT from unknown[222.101.164.186]: 554 Service unavailable; Client host [222.101.164.186] blocked using sbl.spamhaus.org; http://www.spamhaus.org/SBL/sbl.lasso?query=SBL19164; from=<h7e4fe4576weg4@yahoo.com>; to=<talent311@daum.net>; proto=SMTP helo= Dec 11 09:36:56 sub postfix/smtpd[14620]: NOQUEUE: reject: RCPT from unknown[222.101.164.67]: 554 Service unavailable; Client host [222.101.164.67] blocked using sbl.spamhaus.org; http://www.spamhaus.org/SBL/sbl.lasso?query=SBL19164;
from=<56ehe45e456@yahoo.com>; to=<talent311@daum.net>; proto=SMTP helo=

Dec 11 18:44:38 sub postfix/smtpd[15407]: NOQUEUE: reject: RCPT from YahooBB219175100065.bbtec.net[219.175.100.65]: 554 Service unavailable; Client host [219.175.100.65] blocked using opm.blitzed.org; Open proxy - see http://opm.blitzed.org/219.175.100.65; from=<Flanagan5Prater@cursoscucalegal.com.br>; to=<xxxxx@kozupon.com>; proto=SMTP helo= Dec 11 19:31:13 sub postfix/smtpd[15451]: NOQUEUE: reject: RCPT from unknown[222.101.164.67]: 554 Service unavailable; Client host [222.101.164.67] blocked using sbl.spamhaus.org; http://www.spamhaus.org/SBL/sbl.lasso?query=SBL19164;
from=<56ehe45e456@yahoo.com>; to=<talent311@daum.net>; proto=SMTP helo=


--------------------------------------------------------------------------------

6. 番外編 (procmailを利用して”未承諾広告”をブロックする)

自分の場合、”未承諾広告”のSubjectのSPAMが多いため対策を考えていたが、同じ自鯖仲間の かっちゃん がprocmailでSPAMブロックを行って居ることを教えてもらい、彼のサイトを参考にSPAM対策を行ってみた。
従って、以降にその方法を説明する。

まず俺の場合、AmaViSでメールフィルタをかけているのでPostfixでprocmailとAmaViSの両方を使いたい。したがって、 ここ で の4項方法でAmaViSをセットアップしてからprocmailをセットアップした。

procmailは、ソースでもバイナリでも良いので勝手にインストールして欲しい。あえてここではセットアップ方法は紹介しない。/etc/postfixのmain.cfに追加する。

# vi main.cf

省略
mailbox_command = /usr/bin/procmail -m /etc/postfix/procmailrc
省略

次に、/etc/postfixにprocmailrcファイルを作る。

ここで気を付けなければいけないのが、デフォルトメールボックスである。通常、以下の記述で行くと/var/spool/mailディレクトリ配下のユーザのメールボックス宛の設定となる。
しかし、/var/mail配下にユーザのメールボックスを作りたい場合もある。その場合は、procmailrcの先頭に以下のような記述が必要である。
DEFAULT=/var/mail/$LOGNAME
or
DEFAULT=/var/mail/$USER     ← procmailのバージョンにより、環境変数がどちらの記述か解らないので注意すること(新しいバージョンは$LOGNAMEを使ってるようだ)

# vi procmailrc

:0
* ^Subject: \/.*
* ? echo "$MATCH" | nkf -Zme | grep '!.*広告.*!'
/dev/null

:0
* ^Subject: \/.*
* ? echo "$MATCH" | nkf -Zme | grep 'DM@.*広告.*@'
/dev/null

:0
* ^Subject: \/.*
* ? echo "$MATCH" | nkf -Zme | grep '未承諾広告※'
/dev/null

:0
* ^Subject: \/.*
* ? echo "$MATCH" | nkf -Zme | grep '未承諾広告'
/dev/null

:0
* ^[Ff]rom:.*yahoo.co.kr
/dev/null

このような記述を書き込み保存する。これは、未承諾広告の文字列があった場合、捨てる設定である。
次に、Postfixを再起動する。これで完了!

# postfix reload

コラム:Postfixでは、メールのFROM行のアドレスでSPAMブロックする方法は、2通り有る。
1) main.cfのパラメータ、smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/bad_sender で拒否する方法
bad_senderファイルの内訳:
yahoo.co.kr      REJECT
akunin.com      REJECT

2) Procmailのprocmail.rcで拒否する方法(正確に言うと無視する)
procmail.rcファイルの内訳:
省略
:0
* ^[Ff]rom:.*yahoo.co.kr
/dev/null

:0
* ^[Ff]rom:.*akunin.com
/dev/null


--------------------------------------------------------------------------------

7.main.cfのサンプル(筆者のです)

Postfixセキュリティコンフィグレーション例(私独自の設定です。注意すること!あくまでもオリジナルです!責任は持ちません)
緑の部分が今回のセキュリティ設定部分。ブルーの部分もコメントしているので、参考にすると便利です(以下の設定は、セキュリティ的にはかなり固いはずです)。しかし、あまり固くしすぎて必要なメールが送受信でき無くならないように注意すること!

? 複数の値やパラメータを入れるときは、「,」もしくは「スペース」で区切る。
? 複数行に値やパラメータが続く場合は、「スペース」を入れる。

# Postfixのオーナーのユーザ名定義
mail_owner = postfix

# Postfixのオーナーのグループ定義
setgid_group = maildrop

# Postfixのセカンドオーナー定義
default_privs = nobody

# このサーバの名前(FQDNホスト名を定義)
myhostname = sub2.kozupon.com

# このネットワークのドメイン名(インターネットドメイン名を定義)
mydomain = kozupon.com

# 全てのメールの送信ドメイン(ドメイン名無しでメールを送信したとき、fromに付くドメイン名を定義、デフォルトは myorigin = $myhostnameだが、メール鯖が複数台ある時は myorigin = $mydomain の方がよい)
myorigin = $mydomain
#myorigin = $myhostname

# 監視するインターフェースの指定、つまり、どのネットワークインターフェースアドレスからメールを受けるかを設定する
inet_interfaces = all

# メッセージのアドレスとして認めるホストの定義(配送されるべき、ドメイン名及びホスト名を定義、メールゲートウェイなどの場合を考慮して $mydomain を追加しておくべきかと思う)
mydestination = $myhostname, localhost.$mydomain $mydomain

# メール中継の制限(中継を許可するIPアドレスもしくはネットワークアドレス、つまり信頼されたネットワークアドレス)。IPアドレスでリレー拒否設定する場合は、ここに追加する。基本的に信頼されたネットワークアドレスを設定する
mynetworks_style = subnet              ← 本来デフォルトでこの設定になっている。(通常メールサーバとして使用する場合は、この設定にする、これを class の設定にするとオープンリレーになるので注意が必要)
mynetworks = 127.0.0.0/8               ← このホストだけを宣言(外部からメール配送を行わない場合は、localhostのみの設定にしておいた方がセキュリティ的にベスト)

# DNSでバックアップメール鯖等に設定されている鯖でサブドメインにメール中継をうける場合に設定する。ホスト名及びIPアドレスでなく、ドメイン名で中継を許可したい場合にも記述すると良いだろう
# 自分の場合は、外部リレーはドメインで許可している。上記のmynetworks設定の中にIPアドレスを定義してもかまわない
relay_domains = $mydestination, onechan-kawaii.com

# EXPN/VRFY コマンドを拒否する(telnetによるアカウント漏洩防止)
disable_vrfy_command = yes

# SMTPで接続したときにPostfix Versionを非表示にする、以下の設定ならバージョンは表示されない
smtpd_banner = $myhostname ESMTP $mail_name

# ヘッダチェック(怪しいヘッダ付きメールを拒否する設定)
header_checks = regexp:/etc/postfix/header_checks

# メール本文でチェック(怪しい文字列を拒否する)
# It blocks in the text of mail
body_checks=regexp :/etc/postfix/body_checks

# ORBSデータベース定義(不正中継ブラックリストでブロックするための指定)
# 注:以下の指定方法は、現在無効になった! reject_rbl_client で個々に指定する方法に切り替わった。
maps_rbl_domains = relays.ordb.org,
             dynablock.wirehub.net,
             opm.blitzed.org,
             relays.visi.com,
             sbl.spamhaus.org,
             spamcop.net

(注:ブラックリストを提供していたrelays.osirusoft.comは運営を止めました。ここを設定してる人は、直ぐに設定解除しよう。上記のサイトは運営していますが、結構閉めたサイトがあるので注意すること。)

# 明示したドメインをFROM行に持たないメールは拒否する
smtpd_sender_restriction = reject_non_fqdn_sender,
                  reject_invalid_hostname,
                  reject_unknown_sender_domain,
                  permit

# 送信元ホストの制限(SPAMメール拒否設定)
# ここでは、ORBSで登録されているホストからのメールを拒否する。
smtpd_client_restrictions = permit_mynetworks,
                 reject_rbl_client spamcop.net,
                 reject_rbl_client dynablock.wirehub.net,
                 reject_rbl_client opm.blitzed.org,
                 reject_rbl_client relays.ordb.org,
                 reject_rbl_client relays.visi.com,
                 reject_rbl_client sbl.spamhaus.org,
                 permit


# MAILコマンドの前にHELO(EHLO)コマンドを要求
#smtpd_helo_required = yes

# HELO(EHLO)ホスト制限(Hello拒否設定)今回は設定してない
# パラメータは HELO(EHLO)でクライアントが送れるホストを制限する。ここをシビアにすることで、
# 止めることができるUCEソフトウェアもある。
#smtpd_helo_restrictions = permit_mynetworks,
#                 reject_invalid_hostname,
#                 permit

# ★メール中継の制限(オプションパラメータでの制限をする場合に使う)
# It is transmitting agency and refuses.
smtpd_recipient_restrictions = permit_mynetworks,
                    regexp:/etc/postfix/recipient_checks.reg,
                    check_client_access hash:/etc/postfix/bad_sender,
                    check_client_access hash:/etc/postfix/pop-before-smtp,   ← pop-before-smtpをしているので、ここにデータベース宣言している。
                    reject_non_fqdn_recipient,
                    reject_unknown_sender_domain,
                    reject_maps_rbl,    ←これは、新しいバージョンから使用禁止になったみたい。以下の赤色の記述のように個々にrblサイトを記述する。
                    reject_rbl_client spamcop.net,
                    reject_rbl_client dynablock.wirehub.net,
                    reject_rbl_client opm.blitzed.org,
                    reject_rbl_client relays.ordb.org,
                    reject_rbl_client relays.visi.com,
                    reject_rbl_client sbl.spamhaus.org,
                    check_relay_domains ←これは、新しいバージョンから推奨されなくなったようだ。以下の記述を使わないとエラーを吐く。
                    reject_unauth_destination

(注:smtpd_recipient_restrictionは最後にrejectもしくはcheck_relay_domainsもしくはreject_unauth_destinationの何れかで終結しなければいけない。)

# 中継禁止の有無
# 注:この2行を”no”にすると何でもかんでも中継禁止にしてしまう!気を付けること。
allow_percent_hack = yes    ← これは、user%domainをuser@domainに書き換えるか否かの設定
swap_bangpath = yes       ← これは、site!userをuser@siteに書き換えるか否かの設定

# エイリアスファイルの在処の指定
alias_maps = hash:/etc/postfix/aliases

# エイリアスデータベースの在処の指定
alias_database = hash:/etc/postfix/aliases

# ユーザメールボックスの在処の指定
mail_spool_directory = /var/spool/mail

# デバッグレベルの指定
debug_peer_level = 2

# デバッガコマンドパスの指定
debugger_command =
PATH=/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

# Postfixメールキューコマンドのパス
mailq_path = /usr/libexec/postfix

# Postfixメールキューパス
queue_directory = /var/spool/postfix

# Postfixコマンドディレクトリのパス
command_directory = /usr/sbin

# デーモンディレクトリのパス
daemon_directory = /usr/libexec/postfix

# Postfixオンラインマニュアルのパス
manpage_directory = /usr/local/man

# Postfix設定サンプルファイルのパス
sample_directory = /etc/postfix

# READMEディレクトリの有無
readme_directory = no

# AntiVirus独自の設定
mailbox_command = /usr/sbin/amavis "$SENDER" "$RECIPIENT"

# 外部コマンドへのメール配送の制限(メーリングリスト等を立ち上げている場合は必要!)たとえば、fmlで/etc/aliasesにinclude形式で記述するが、そう言う場合にここでincludeを指定する
allow_mail_to_commands = alias,forward,include

# mailbox受信メッセージMax容量(0に設定した場合は、無制限)
mailbox_size_limit = 102400000

# 1メッセージ当たりのMax容量(Postfixキューファイルサイズの最大サイズ)、Default値は10M 10240000 が設定される。mailbox_size_limitパラメータより小さくなくてはならない
message_size_limit = 51200000

# メール添付ファイルをmessage_size_limitとは別に定義する場合のMax容量、Default値は、50k 51200
body_checks_size_limit = 204800000

# ユーザ名だけでメールを送信したときに、ドメイン名を付加するか否かを設定する、Default値はyes、基本的にPostfixはドメイン名が無いメールはサポートしないのでここを変える必要は無いだろう。
append_at_myorigin = yes


--------------------------------------------------------------------------------

8.postfixのバージョン確認方法

postfixのバージョン確認方法は以下の要領で行う。
# postconf | grep mail_version
mail_version = 2.2-20040504


--------------------------------------------------------------------------------

9.時としてエラーと間違いやすい紛らわしいコネクションに関する統計情報
Postfixの2.2以降のバージョンで、メール送信後にメールログに出力される統計情報。以下のような統計情報が出力される。


Jan 5 16:37:06 hiro postfix/anvil[16679]: statistics: max connection rate 1/60s for (smtp:xxx.xxx.xxx.xxx) at Jan 5 16:35:42
Jan 5 16:37:06 hiro postfix/anvil[16679]: statistics: max connection count 1 for (smtp:xxx.xxx.xxx.xxx) at Jan 5 16:35:42
Jan 5 16:37:06 hiro postfix/anvil[16679]: statistics: max cache size 1 at Jan 5 16:35:42

これは、以下のようなパラメータをセッティングするための統計情報のようだ。
smtpd_client_connection_count_limit(1つのSMTPクライアントの最大同接続数 デフォルト:50)
smtpd_client_connection_rate_limit(1つのSMTPクライアントの単位時間あたりの最大同接続数 デフォルト:制限なし)
smtpd_client_event_limit_exceptions(接続カウントや接続速度、SMTP要求速度の制限から除外されるクライアントの指定 デフォルト:$mynetwork)

anvil_rate_time_unit(クライアントの接続速度やその他の速度の計算に用いられる単位時間 デフォルト:60s)
このような、パラメータが有ったので、これで上記の統計情報で60sの数値が変化するか試しにmain.cfの中に
anvil_rate_time_unit = 120
みたいに追加してみた。その結果、

Jan 5 17:22:20 hiro postfix/anvil[16763]: statistics: max connection rate 1/120s for (smtp:xxx.xxx.xxx.xxx) at Jan 5 17:17:28
Jan 5 17:22:20 hiro postfix/anvil[16763]: statistics: max connection count 1 for (smtp:xxx.xxx.xxx.xxx) at Jan 5 17:17:28
Jan 5 17:22:20 hiro postfix/anvil[16763]: statistics: max cache size 1 at Jan 5 17:17:28

以上 ネットの巨匠に感謝。

引用:
222
前
凡ミス
カテゴリートップ
vine linux 覚え書き
次
摩訶不思議なiptables


Powered by XOOPS Cube Legacy 2.2 © 2001-2013 The XOOPS Cube Project  .