玄関の鍵をかけただけでは足りない?Windowsの「隠れた防犯」を極める
こんにちは。セキュリティの現場で長年、泥棒(攻撃者)たちの手口を見てきた身として、今日は皆さんに「Windowsの要塞化」という少し硬いけれど、とても大切な話をします。
「OSの設定なんて、インストール時のままでいいんじゃない?」そう思っていませんか?
実は、Windowsのデフォルト設定は「誰でも使いやすいように」作られており、セキュリティの観点から見ると、家の玄関に「鍵はかかっているけれど、窓の鍵が空いている」ような状態なんです。
今日は、特に攻撃者が大好物とする「認証情報」を守るための、レジストリ操作による防御策を紐解いていきましょう。
—
1. なぜ「レジストリ」をいじる必要があるの?
Windowsのレジストリとは、例えるなら「家の設計図や、全ての家具の配置ルールが書かれた分厚いマニュアル」のようなものです。
普段、設定画面(GUI)から変更できる項目はごく一部です。しかし、攻撃者はこのマニュアルの裏側(レジストリ)を書き換えて、OSの弱点を突いてきます。だからこそ、私たちもここを直接守る必要があるのです。
—
2. 泥棒が狙う「LMHash」を無効化する
どんな脅威?
Windowsには、昔の古いシステムとの互換性を保つために「LMHash」という古いパスワード保存方式が残っています。これが厄介なんです。現代のPCなら1秒もかからずに解読できてしまうほど脆弱なため、泥棒(攻撃者)は「とりあえず古い鍵(LMHash)がないか」を探します。
対策:レジストリで封印する
この古い鍵の生成を禁止しましょう。
# レジストリキー:NoLMHash を作成し、値を 1 に設定して無効化します
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "NoLMHash" -Value 1 -PropertyType DWord -Force
# これで、弱い鍵を生成するのをOSに禁止させました!
—
3. LSA保護:金庫の守り神を強化する
どんな脅威?
「LSA(Local Security Authority)」というプロセスは、Windowsのパスワードや認証情報を管理する、いわば「家の金庫」です。
通常、攻撃者はこの金庫をこじ開けようと、別のソフトになりすましてメモリに侵入します。これを防ぐのが「LSA保護」です。
対策:金庫に厳重な警備員を配置する
LSAプロセスが信頼できないプログラムからアクセスされるのを防ぎます。
# RunAsPPL を設定して、LSAプロセスを保護モードにします
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RunAsPPL" -Value 1 -PropertyType DWord -Force
# これで、金庫に「認証された鍵屋以外は入るな!」という警備員を配置したことになります
—
4. 運用上の注意点:いきなり本番環境でやらないこと!
ここまで読んで「よし、明日から全部の設定を変えよう!」と思った方、ちょっと待ってください!
セキュリティ対策は、「やりすぎて今の業務が止まる」のが一番の失敗です。例えば、古い社内システムがこのLMHashの廃止に対応しておらず、ログインできなくなる可能性があります。
1. まずは検証機で試す: いきなり本番のサーバーで設定せず、テスト環境で「業務に影響がないか」を確認しましょう。
2. バックアップを取る: レジストリを触る前は、必ず「システムの復元ポイント」を作るか、バックアップを取る癖をつけてください。
3. ドキュメントを残す: 「なぜこの設定をしたのか」という理由を残しておかないと、半年後の自分が困ることになります。
—
最後に:セキュリティは「積み重ね」です
「これさえやれば絶対安全」という銀の弾丸は、残念ながらセキュリティの世界にはありません。しかし、今日紹介したような「見えない防犯」を一つずつ積み重ねることで、攻撃者は「あ、この家は面倒くさそうだな」と感じてターゲットから外してくれるようになります。
セキュリティは、難しい技術を並べることではなく、「自分の守るべきものを理解し、一つずつ鍵をかけていくこと」です。
まずは、自分のPCのレジストリを眺めるところから、一歩ずつ進んでいきましょう!応援していますよ。
コメント