僕が!
ラブコメだと「もう、バカバカバカ!」とかになるのかw
1年以上、このサーバのファイアウォール(正確にはパケットフィルタ)に大穴があった。去年、IPv6を有効にした時のチェックが不充分だったため、v6には全く制限が掛かっていなかった。
幸い、ほとんどのソフトは外部からの接続を許可していなかったので、OSに入りはするものの接続相手がないので、おそらく実害はなさそうだ。けれど、OSの穴を突く攻撃に対してどうだったかは分からない。
突かれた穴で分かっているものは(メールの外部送信用に使っている)SMTPだ。それが気付いた切っ掛けになった。たまたま見たログに、なぜか(v6での)外部からの接続が記録されていたので気付いた。幸い、SMTPのソフトの設定のおかげで、スパムの踏み台にはならなかったようだ。
もちろん、そのソフトの穴を突く攻撃をされた可能性は0ではない。だから、SMTPを使うのを止めたいと思っている。ただ、自分(自宅)にメールを転送するのに使っているので、簡単ではない。
失敗した原因は、ファイアウォールに使っているソフトiptablesの設定はIPv4とIPv6に共通ではなく、別々だったことだ。調べてそれが分かり、急いで対処した。
おぼろげに思い出す(気がする)のは、v6に対応した時、外部からのポートスキャンの結果がv4とv6で違っていた気がすることだ(記録を調べれば分かるが、余り意味がないのでしない)。その時にもう少し深追いすれば良かったが、後の祭りだ。
今は、とりあえず、意図したとおりにファイアウォールは動いている。が、それで完全かは分からない。それをチェックするには外部のチェック(ペネトレーションテスト)サービスなどを使う必要があるが、無料ではないのでしていない。
もちろん、無料のツールはあるが、それら(一つだけでは済まないだろう)をちゃんと使えないことには完全なテストはできず意味がないので、手軽ではない。
PS. iptablesをIPv6用に設定する時、最初はICMPv6を通さないとv6で接続できなくなるのが分からなくて、ちょっと手間取った。
PS2. ファイアウォールの設定のチェックのためにncコマンドでポートスキャンしたのだが、時間が掛かるので、実行しているのを忘れて結果がどっかに行ってしまい、何度も再実行した。
PS3. その後、もう少しログを調べたら、外部からの接続は、今月中旬にSMTPのソフトの設定を修正してから始まっていたことが分かった。その修正は、いつからか、設定は変えていないのに致命的なエラーが出続けて居た(そのソフトの更新の影響と思われる)ことに(たまたま)気付いたためにした。
なので、v6を有効にしてから最近までは、たまたま設定に問題がなかった(エラーが出る前)・不備だった(エラーが出てから)ために外部から接続できない状態になっていて、ひどい攻撃を受けていなかった可能性が高い。
致命的なエラーが出る状態でも問題なく使えていたのが不思議だし、できれば動かないで欲しかった。でも、それを早期に修正していたら、外部からの接続が可能なことに気付かなかった可能性もある。
まったく、怪我の功名だ。そして、やっぱり記録は重要だと再認識した。 (12/22 5:29)
(12/23 8:15 わずかに加飾)