NO IMAGE

Postfixのスパムメール対策

久しぶりに、自宅サーバの設定をいじってみた。

最近、zip形式等のファイルが添付されたスパムメールが来る。

英文で、知らない差出人なので、即削除しているが、だんだん面倒になってきた。

何か良い方法はないものかとネット検索。以下のサイトを参照。

Postfixでメールサーバー構築 システム奮闘記:その32

メールサーバ「Postfix」の設定ファイル「/etc/postfix/main.cf」を開き、「header_checks」の行を検索。

regexp:の先に設定ファイルのパスとファイル名を指定します。

 header_checks = regexp:/etc/postfix/header_checks

(regexpが使えるかは、postconf -m で、リスト中に存在するかで判断できるらしい。)
(ちなみに、postconf | grep mail_version とすると、Postfix のバージョンがわかる。)

上記で指定している「/etc/postfix/header_checks」ファイルを開き、最下部にでも以下の設定を追加します。

# nano /etc/postfix/header_checks

/^content-type:.*name=\”.*\.exe\”/ REJECT
/^content-type:.*name=\”.*\.com\”/ REJECT
/^content-type:.*name=\”.*\.src\”/ REJECT
/^content-type:.*name=\”.*\.pif\”/ REJECT
/^content-type:.*name=\”.*\.zip\”/ REJECT
/^[ 	]*(name|filename)=\”.*\.exe\”/ REJECT
/^[ 	]*(name|filename)=\”.*\.com\”/ REJECT
/^[ 	]*(name|filename)=\”.*\.src\”/ REJECT
/^[ 	]*(name|filename)=\”.*\.pif\”/ REJECT
/^[ 	]*(name|filename)=\”.*\.zip\”/ REJECT

※[]内のスペースは、半角スペース1個とタブ1個とします。

# service postfix reload
で設定を読み込みます。

# tailf /var/log/maillog でログ最後尾を監視してみましょう。

拡張子「.exe」「.com」「.src」「.pif」「.zip」のファイルが添付されているメールを破棄します。

SSH接続して、エディタnano(・・・・どうもviは馴染めなくて・・・)で編集してたのですが、
同じような内容の行が続くため、コピー&ペーストのやり方も検索。以下のサイトを参照。
端末で使うテキストエディタ nano
カーソルがある行で「Alt」+「6」を押すと一行コピー。(押した瞬間次の行にカーソル移動。)
カーソルがある行をカットしたい(削除して内容をクリップボードに入れる)場合は、「Ctrl」+「K」。
カーソルを移動して「Ctrl」+「U」で貼り付け。
・・・ちょっと覚えにくいですね。
・・・複数行に対して行いたい場合はどうやればいいのかな?・・・

結果、添付ファイル付きメール(上記で指定した拡張子のファイルのみ対象)は、メーラーに届かなくなりました。

しかし、添付ファイル(=ウィルス)無しだが、あやしいURLに誘導しようとするロシア語と思われるメールが、届いてしまいます。
maillogを見ていると執拗に接続を試みてくる(スパムロボットか?)IPアドレスがあり、それがメール本文記載のドメインのIPに近い(・・・nslookupで確認・・・)ので、これらを拒否するために、以下の設定も追加しました。

再度、「/etc/postfix/main.cf」ファイルを開き、最下部に下記を追加。

disable_vrfy_command = yes

smtp_helo_required = yes

smtpd_client_restrictions =
	permit_mynetworks,
	check_client_access hash:/etc/postfix/access,
	permit

smtpd_sender_restrictions =
	permit_mynetworks,
	check_client_access hash:/etc/postfix/access,
	reject_unknown_sender_domain,
	permit

その後、check_client_access hash:で指定しているアクセス設定ファイル「/etc/postfix/access」を開き、下記の記述を最下部に追加。

ちなみに、nanoは、テンキーが標準では有効になっていません。
以下の様に「−K」オプションを付けて起動すると、テンキーでの数字入力が可能になりました。

# nano -K /etc/postfix/access

# IP Address Rule OK
192.168.1.***	OK

# IP Address Rule REJECT (update 2016/06/28)
76.165.14.133	REJECT
112.53.70.179	REJECT
116.55.245.45	REJECT
123.30.145.199	REJECT
180.178.133.82	REJECT
195.22.127.85	REJECT
195.42.183.107	REJECT
220.7.213.154	REJECT
220.135.220.150	REJECT

ファイルを保存したら、以下のコマンドを実行。

# postmap /etc/postfix/access

# service postfix reload

これで、あやしいURL付きのスパムメールも届かなくなり、とりあえずはスパムは一掃できました。

新たなスパムが来た時は、「/etc/log/maillog」を確認して、拒否したいIPアドレスをaccessファイルの最下部に追加し、上記コマンドを実行する必要があります。

また、ログファイルが肥大化した為、「# rm /etc/log/maillog*」コマンドで削除したところ、その後ログファイルを生成しなくなる現象がありました。

その場合は、以下のコマンドを実行すると良いようです。

# service rsyslog restart

・・・なんとも、まとまりのない、覚え書きになってしまいました。

・・・スパム対策は、他にもいろいろな方法があるようなので、気が向いたら、また試したいと思います。