Windows の hosts ファイルから「127.0.0.1 localhost」が消滅

おとといから会社 PC の Windows Vista の動作が少し変で,自動復元ポイント関連の情報を再び漁ったりしてたんだが,どうやら復元ポイントとはまったく別の問題だったらしい。

🟦 3/10 の Windows Defender 更新で hosts が書き換えられる!?
http://slashdot.jp/articles/09/03/11/0924257.shtml

hosts ファイルを見てみると確かに「127.0.0.1 localhost」の行が消されてた。 コマンドプロンプトで「ping -4 localhost」を実行すると「ping 要求ではホスト localhost が見つかりませんでした」というエラーが出る状態。

ただし IPv6 の「::1 localhost」の行は残ってて,Windows Vista だとデフォルトで IPv6 が有効。 なので,「localhost」というホスト名から IPv4 の「127.0.0.1」が引けないと動かないアプリケーションだけが被害を受ける。

Windows Defender の定義ファイルがこの問題の対応版に更新されてることを確認してから,hosts ファイルに「127.0.0.1 localhost」を追記すれば元に戻る。 UAC が有効な Windows Vista の場合はメモ帳を“管理者として実行”して \Windows\System32\drivers\etc\hosts を編集。

この件って,あまり騒がれてない気がするね。 Windows Defender が標準搭載されてる Windows Vista を使ってる人の割合が低いうえ,ウイルス対策ソフト単体ではなく総合セキュリティ対策ソフトを導入した場合 Windows Defender を無効にするのが一般的だから,被害者が少ないのかな。

今回の件を受けて,Windows Defender がちゃんと動作してるんだってことはわかった。 hosts ファイルを編集しただけでも Windows Defender の履歴に記録されるようだ。 今回は役に立たなかったというかミスをやらかしてくれたけれども。