Office365のメール宛てでメールサーバがスパム扱いされる

自VPSのメールサーバから、Office365のメールサーバにあるアドレス向けにメールを送るにあたって、Google for Education のアドレスをfromにしたところ、VPSのIPが「Office 365 スパム対策 IP」で「送信元のIPがスパムリスト」に入れられた。

Office365の「除外ポータル」からVPSのIPアドレスを除外しようとしたところ、届いたメールにはURLが記述されていて、そこにアクセスするように指示されていた。VPSはコンソールだけで、グラフィックシステムを入れていないので、どうしようか迷った。

結果的には、テキストベースのブラウザ「Lynx」をインストールして、これを使ってサーバのコンソールから指定されたURLにアクセスし、何とかVPSのIPアドレスをスパムリストから除外できた。

授業用WebをSSL化

最近のWebやブログは、SSLにしてサーバと閲覧者の間を暗号化することが一般化してきました。授業で使っているChromeブラウザでも、非SSLだと「保護されていない通信」と表示されてしまいます。

そこで、昨日から授業用WebをSSL化する作業をはじめました。SSLの設定は以前もしたことがあったので、流れはわかっていましたが、授業用Webを運用しているVPSはバーチャルホスト設定して複数のドメインが動いているので、その中の一つにSSLを設定するのはチョット骨が折れましたが、何とか設定できました。

これで嫌なメッセージも出ず、授業でWebを使えるようになりました。あとは、非常勤先の授業用Webが別ドメインを使っているので、もう一つSSL化するのはもったいないので、ドメインの統一を図ろうかと考えています。

久しぶりにプログラミング

10年以上前に作成して保守しているPHPで書いたMySQLやPostfixを操作するシステムに、1年ぶりくらいに新しい機能を追加しました。やりたい事は簡単なのですが、前回の処理追加から時間が空いてしまったので、忘れている事が多くて、少々手間取ってしまいました。時々はいじっていないといけないですね。

fail2banがiptablesに反映されないので、設定を変更する

自分用のメールサーバを某VPSで運用していますが、サブミッションポートを叩きにくる輩が多いので、fail2banを導入しました。ところが、fail2banで捕捉してbanしたにも係わらず、maillogを見ると 同じIPから相変わらず悪戯してくるので、悩んでいました。

サブミッションポート(587番)でエラーを3回出したらbanする設定にしていたのですが、本当にiptablesにそのIPをdropするようにしているか 確認してみます。

[root@hogehoge fail2ban]# iptables -nv –list f2b-postfix-sasl
Chain f2b-postfix-sasl (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all — * * 185.156.173.124 0.0.0.0/0
0 0 DROP all — * * 181.214.206.189 0.0.0.0/0
2774 2821K RETURN all — * * 0.0.0.0/0 0.0.0.0/0

のようにチェインが出来ています。でもそのIPをDROPしていません。

それで、このチェインが /etc/sysconfig/iptables での設定とどう関係しているか見てみたところ、

[root@hogehoge tmp]# iptables -nv -L > ipt.txt
[root@hogehoge tmp]# head -5 ipt.txt
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
12780 10M f2b-postfix-sasl tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
11509 10M f2b-dovecot tcp — * * 0.0.0.0/0 0.0.0.0/0 multiport dports 25,465,587,110,995,143,993
34897 20M ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ありゃりゃ、f2b-postfix-sasl のチェインへ smtp(25番)しか渡していない!
/etc/fail2ban/jail.conf内の設定を見ると、

action = iptables[name=postfix-sasl, port=smtp, protocol=tcp]
sendmail-whois[name=postfix-sasl, dest=root, sender=fail2ban]

とマルチポートになっていませんでした。慌てて

action = iptables-multiport[name=postfix-sasl, port=”smtp,submission”, protocol=tcp]
以下は同じ

に変更したところ、

[root@hogehoge tmp]# iptables -nv -L > ipt.txt
[root@hogehoge tmp]# head -5 ipt.txt
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
4 240 f2b-postfix-sasl tcp — * * 0.0.0.0/0 0.0.0.0/0 multiport dports 25,587
3 180 f2b-dovecot tcp — * * 0.0.0.0/0 0.0.0.0/0 multiport dports 25,465,587,110,995,143,993
510 56739 ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

となり、同一IPから3回悪戯されるとbanされるようになりました。
ほぼ解決!

ただ、入力パケットの destination port を表示するシェルスクリプトで見てみると、サブミッションポートを悪戯しているパケットのdestinationが 25番 になってしまっている(マルチポートの設定をする前は587番だったのに)のが気になります。

やっと論文完成しました

短大の教員といえども、研究者の末席をけがしているので、年に1本は論文を書こうと考えています。短大の研究論集は4月の中旬に発行されるので、何とかつい先ほど完成させて担当者に送信しました。

今回の論文の内容は、短大で使ってもらっている「学生宛てメール送信システムへの機能追加」です。昨年の7月にシステムを学内に置いていたサーバから安定して運用できるレンタルサーバに移動した際に、いろいろ機能を追加しました。それについての技術的な内容を論文にしたのですが、書いていくうちに「折角だからこんな機能も付けておこう」ということがたくさん出てきて、論文を書き終えるギリギリまで、システムを修正しながら論文を書いていました。この論文を書いたおかげで、システムをそれなりにブラッシュアップされてよかったと思います。

とりあえず今年も短大教員として、何とか年貢を納めることができました!