再びSpamhausのブラックリスト入り
以前下記の記事で、outlookにメールが届かない場合の対策について書きましたが、
ti-tomo-knowledge.hatenablog.com
Spamhausでブラックリストに入れられてしまうと、一度申請をして解除されても再びリストに入れられてしまうことがあります。
この現象めちゃめちゃ迷惑ですね。
クライアントから苦情来るのは我々なのでほんとにちゃんとした精度でやってほしいものです。
確かにスパムメールを防ぐ必要はあるんですけどね・・・
cronでチェックするためのスクリプト
そこで今回はcronを使って定期的にブラックリストに入っていないかチェックする仕組みを入れました。
どうやらdigコマンドでリストに入っているかどうか調べることができるようなので。
調べる対象のIPがAAA.BBB.CCC.DDDの場合に、
dig +short DDD.CCC.BBB.AAA.zen.spamhaus.org
とすれば、もしリストに入っていれば「127.X.X.X」などのような値が返ってきます。
digコマンドの結果が「空ではない」時にメールを飛ばすように以下のようなスクリプトを作りました。
超簡易的なスクリプトです。
mkdir /var/www/cron cd /var/www/cron vim check_spamhaus.sh
a=`dig +short DDD.CCC.BBB.AAA.zen.spamhaus.org` if [ -n "$a" ]; then echo "https://www.spamhaus.org/query/ip/AAA.BBB.CCC.DDD" | mail -s "spamhaus" -r 送信元メールアドレス 送信先メールアドレス fi
今回はメールの本文にspamhausとしか書いていませんが、本文にspamhausの解除申請をするURLを貼っておけば、メールを受信した時に出先からでもすぐにSpamhausに飛べるようになって便利です。
cronの設定
最後にcronの設定です。
何分おきに起動させるか、といったところですが、今回は15分おきに設定するようにしています。
まずはcronが起動しているか確認しましょう。
service crond status
ここで実行中となっていなければcronを起動させてください。
service crond start
そしてcronの登録です。
crontab -e
以下の記述をして保存してください。
*/15 * * * * /bin/sh /var/www/cron/check_spamhaus.sh
最後にcronが反映されていることを確認しましょう。
crontab -l
多くても2、3回解除申請をしておけばブラックリストに入れられる可能性は減りますが、念のためにcronはずっと実行しておくことをおすすめします。
- 作者: 三宅英明,大角祐介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/06/08
- メディア: Kindle版
- この商品を含むブログを見る
入門者のLinux 素朴な疑問を解消しながら学ぶ (ブルーバックス)
- 作者: 奈佐原顕郎
- 出版社/メーカー: 講談社
- 発売日: 2016/10/19
- メディア: 新書
- この商品を含むブログを見る
[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
- 作者: 武内覚
- 出版社/メーカー: 技術評論社
- 発売日: 2018/02/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る