2006年10月28日
このエントリーをはてなブックマークに追加
2006年02月11日あたりの記事で書きましたが、僕の管理するサーバーへの SSH はiptables で日本からのみの接続を許可しました。

また、特定の国からのアクセスを「拒否」することも可能であり、krfilter - deny accesses from .kr あたりに詳しく記述されています。

#パフォーマンスへの影響はよくわかりません。

その設定で僕はとても満足していました。iptables であれば接続に関して柔軟に設定ができますし、パケットが飛んでこないというのは精神的にもいいものです。

最近 VPS サーバーを借りました。そこのサーバーでは、iptables が操作できないというのです。その状態でメールサーバーを運用していると、spam メールがとんでもないことになってしまいます。

そこでスパムメールをよく配信してくる国で、なおかつビジネスに支障がでない範囲で特定の国からの smtp アクセスを遮断することにしました。今回は仕方なく postfix ですが本当は iptables の方がいいような気がします・・。

------------------------------------------------
■特定のIPアドレスからのメールを拒否・許可する
smtpd_client_restrictions の設定

・/etc/postfix/main.cf に以下を追加
smtpd_client_restrictions =
permit_mynetworks
check_client_access cidr:/etc/postfix/reject_client.cidr
# [cidr:]に注意[hash:]とか[regexp:]じゃないよ。

・/etc/postfix/reject_client.cidr ファイルを作成
-------------
x.x.x.x/32 OK

x.x.x.x/24 REJECT
x.x.x.x/16 REJECT
-------------
# 上から参照されるらしい
#postmap は必要ありません。

・postfix のリロード
/etc/init.d/postfix reload
------------------------------------------------

で、悩んだところ。
他のサイトなどで案内されている check_client_access は hash 形式が多いようです。それだとネットワークアドレスで指定することができず、ファイルが膨大になってしまいます。

192.168.0.0 〜 192.168.255.255 からのアクセスを拒否するのに、
-----------
192.168.0. REJECT
192.168.1. REJECT
192.168.2. REJECT
- 略 -
-----------
こう書いていたのでは大変なことです。

CIDR 形式だと、192.168.0.0/16 と指定すればいいので楽です。ただ、hash の場合と同じように postmap してたので、エラーが出ていました。そのままでよかったんですね。


あとはIPアドレスのリストなどを入手。
アトランティス堂:IP2HOST PLUS
このソフトを使用して、delegated-apnic-latest.txt やら、delegated-ripencc-latest.txt やらを取得します。

続いて
一網打尽
というソフトをダウンロードし、apnic などのIPアドレスファイルを解析します。これによって、特定の地域のIPアドレスを加工しやすくなります。


今回は、韓国と中国とロシアについて拒否の設定を行いました。今後調整していきたいと思います。

ロシアのIPアドレスの一部を登録すると、maillog にエラーが。結構量が多くて面倒なんでエラーの出てるあたりはごっそり削除してしまいました。まあ韓国と中国だけでも拒否できればいいかな。

あとはパフォーマンスが心配です。そのため、日本のアドレスをOKと言う形で登録しちゃいました。


stock_value at 11:51│Comments(0)TrackBack(0)技術:04〜08年 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔