587

自宅のPCでVPSのサーバにPOP3アクセスしてメールを受信することはできているが、送信できないことに気付いた。 VPSとはいえ自分で管理するサーバを持ったときに一番注意しなければならないのは不正アクセスである。 特にSPAMの踏み台になることは絶対に避けねばならない。 だから、少なくとも誰も彼もが私のVPSサーバにSMTPアクセスできるようになっていないことは確認できた。しかし自分のPCからはアクセスしたいので、いろいろ設定しているのだがどうもうまくいかない。

そのうち、/var/log/secure に大量の不審なアクセスのログが記録されているのに気付いた。 1秒おきにユーザ名を変えてsshアクセスしているログだ。アクセス元のアドレスは数個しかなかったのでwhoisでしらべてそれらを含むブロックをrejectした。 アドレスは中国、台湾、アメリカ、タイとバラバラである。 おそらく踏み台にされているのだろう。また、アクセスの仕方が非常に乱暴なのでごく単純なスクリプトを、興味本位で試しているようなものかもしれない。

whoisといえばいつもブラウザでANSIのwhoisを使っていたが、まてよと思ってcentosのコマンドでやってみたら検索できた。

どうしてもSMTPアクセスできない。 telnet 25 もできない。 PCでキャプチャしたら synを送ったきり応答がない。 サーバ側でtcpdumpしても何もこない。 ポートが開いていないのか、と、iptablesを見ると開いている。 でも、やっぱり25が開いていないとしか思えない、googleで探すとVPSの試用期間は25番が開かない、とある、 もしかして試用期間が終わったのに設定が解除されていないのか・・・?と思う。 nmapでスキャンしてみたら、やっぱり25は開いていなかった・・・

「さくら VPS sendmail 25 」などで検索してみると、どうやら「試用期間がすぎても25番が開かない」ということがあるようだ。 再起動したら直った、再起動してもダメだからポート番号変えた、などの情報があった。 再起動は何度かしたけどもう一辺やってみる・・・ダメ。 ポートを587に変える。 以前コメントにした DAEMON_OPTIONSで使用ポートを変更できる。 Addr=127.0.0.1 は削る。

DAEMON_OPTIONS(`Port=587,Name=MTA')dnl


iptables で 587をあけてiptablesをrestart。m4をやって、sendmailをrestartする。

送信できた・・・

この野郎~ッ!

しかしお陰様で sendmailやiptablesやnmapの使い方を勉強できたよ。