- 1. 概要
- 2. 単一アドレス設定
- 3. CIDR 形式アドレス設定
- 4. チェック
- 5. postfix 設定
- 6. 参考サイト
1. 概要
「smtp」なり「smtpd」なりの方は、向うから来ますから、あまり制限は加えませんが・・・。
国外からのものは、特に特定の「中〇」とか「露〇」とかからの接続は拒否しなければなりません。
以下、「root」ユーザ権限で。
2. 単一アドレス設定
拒否する単一アドレスを記述するファイルを作成します。
vi /usr/local/etc/postfix/ipfilter
下記の形式で、拒否するアドレスを、改行しつつ列挙します。
196.251.92.11 REJECT
逆に、許可するアドレスを記述する場合は。
192.168.1.1 OK
行頭に「#」を記述すると、コメント行になるようです。
途中で、「#」を記述して、それ以降をコメントとすることも可能なようですが、推奨されていないようです。
作成し終わったら、下記のコマンドでハッシュ化します。
postmap /usr/local/etc/postfix/ipfilter
この結果。
/usr/local/etc/postfix/ipfilter.db
というハッシュ化された、データベースができます。
許可するアドレスは、大量になりますので、ハッシュ化しれくれるのは、ありがたいです。
ちなみに、以降も含めて、このようなチェックは、上から行っていって、どこかでひっかかるとその時点で、「REJECT」か「OK」かが決まって、以降の処理をスキップするそうなので。
同一のアドレスが出現してしまうようなことがないように注意しなければならないし。
優先するものは、先に書くようにしなければなりません。
3. CIDR 形式アドレス設定
前項は、単一アドレスを記述する場合で、複数アドレス記述の「CIDR」形式で記述する場合は。
vi /usr/local/etc/postfix/ipfilter.cidr
で、例えば下記のように記述します。
192.3.0.0/16 REJECT
許可の場合や、優先度等は前項と同じですが、この形式は、ハッシュ化しません。
4. チェック
実際に、そのアドレスがどうなるかをチェックするには、下記のように実行します。
postmap -q 221.133.32.1 hash:/usr/local/etc/postfix/ipfilter
postmap -q 221.133.32.1 cidr:/usr/local/etc/postfix/ipfilter.cidr
とします。
許可になる場合は、なにも出力されません。
拒否になる場合は、下記のように出力されます。
REJECT
5. postfix 設定
vi /usr/local/etc/postfix/main.cf
# 接続拒否アドレス設定
smtpd_client_restrictions =
permit_mynetworks,
check_client_access cidr:/usr/local/etc/postfix/ipfilter.cidr,
check_client_access hash:/usr/local/etc/postfix/ipfilter,
permit
編集が終わったら、文法チェックを行っておきます。
postfix check
サーバを再起動します。
service postfix restart
6. 参考サイト
本ページは、「ChatGPT」くんを参考にさせていただきました。
|
|