久しぶりに、自宅サーバの設定をいじってみた。
最近、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
・・・なんとも、まとまりのない、覚え書きになってしまいました。
・・・スパム対策は、他にもいろいろな方法があるようなので、気が向いたら、また試したいと思います。