check_client_access of postfix

 

main.cfにて「check_client_access 」設定をする時、regexpとhashというのがある

regexp 設定例:check_client_access regexp:/etc/postfix/bad_clients,
正規表現が反映されるという意味.dbファイル作る必要ない。
設定反映させるためにはpostfix再起動が必要
hash 設定例:check_client_access hash:/etc/postfix/bad_clients,
postmap hash:bad_clientsを利用してbad_clients.dbを作る必要がある

hashの方が速度が早い
ネットワーク段では拒否できないのでIPが膨大になる

cidr ネットワーク段で拒否設定ができる
参考ページ:http://blog.livedoor.jp/stock_value/archives/50312973.html

Postfix 検索テーブルの種類

http://www.postfix-jp.info/trans-2.1/jhtml/DATABASE_README.html

 

僕はregexpを利用してテストを行った

main.cf

smtpd_client_restrictions =
        check_client_access regexp:/etc/postfix/bad_clients,
        permit_mynetworks,
        reject_unauth_destination

 

/etc/postfix/bad_clientsの設定内容テスト

テスト1

順番に関係なく /./ REJECTがあると、221.153.41.210からメールは送信できない

#/./            REJECT
/221.253.41.210/        OK
/115.146.24.223/        OK
#/./            REJECT

 

テスト2

115.146.24.223ではメール送信ができるが、221.253.41.210からは送信できないことを確認した

/221.253.41.210/       REJECT
/115.146.24.223/       OK

動作確認:

[root@vps01442 ~]# telnet 157.7.198.205 25
Trying 157.7.198.205...
Connected to 157.7.198.205.
Escape character is '^]'.
220 mail.negabaro.com ESMTP Postfix
MAIL FROM:kaka@negabaro.com
250 2.1.0 Ok
RCPT TO:kaka@negabaro.com
250 2.1.5 Ok

テスト3

221.253.41.210ではメール送信ができるが、115.146.24.223からは送信できないことを確認した

 

/221.253.41.210/        OK
/115.146.24.223/        REJECT

動作確認:

[root@vps01442 ~]# telnet 157.7.198.205 25
Trying 157.7.198.205...

ここで止まっちゃう

 

#/221.253.41.210/       OK
/115.146.24.223/        REJECT

REJECTだけ書いても 221.253.41.210ではメール送信できた。(つまり最終行にREJECTが省略されていたりしてないということ=入れた設定だけ反映される)

 

上司に聞いたところ、postfix restartしなくても定期的変更された内容が反映されるということだった

 

11:57分にこの設定に変更

/221.253.41.210/        REJECT
#/115.146.24.223/       OK

#/221.253.41.210/       OK
#/115.146.24.223/       REJECT

 

12:11..送信できてしまう。。自動反映されないじゃないか!

12:32分。。送信できる。。

30分以上待っても反映されないというのはダメみたい。(もしかしてhashならできるかも)

 

とりあえず諦めて

service postfix reload

したらメールは送信できなくなった

 

ということでhashに変更して試してみた

12:50分以下の設定を

vim /etc/postfix/main.cf

smtpd_client_restrictions =
# check_client_access regexp:/etc/postfix/bad_clients,
check_client_access hash:/etc/postfix/bad_clients,
vim /etc/postfix/bad_clients
/221.253.41.210/ REJECT

 

postmap hash:bad_clients

 

12:53分送信できる。。(自動反映はされない気がするね)

 

なんだろうな。。と思ったが、

/ xxx.xxx /   <<<このスラッシュを消したらreloadしなくてもうまくいった

/etc/postfix/bad_clients
221.253.41.210 REJECT
postmap hash:bad_clients

すぐ反映された!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です