そのままじゃ危険だらけ:リモートデスクトップの安全対策

近年、世間を騒がせているランサムウェアの被害は、VPN 装置の脆弱性を突いた所から始まりますが、その起点から、侵入したネットワークの中の、 Windows Remote Desktop (RDP) を踏み台に次々とシステムを則っていくパターンが多いようです。

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_20452573.png

そこで、ここでは RDP を使ううえでの安全対策について説明してみます。


大病院で起きた大規模サイバーテロ:閉塞網が作る慢心が産んだ惨事




ポート番号の変更


Windows のリモートデスクトップを使う場合、必ずデフォルトのポートを変えておくことです。これで第一の被害は避けることができます。次のレジストリの PortNumber の値を10進数、3389 から、大胆に変更しておきます。小手先で一つ動かすのではなく、全然違う値にしておくことです。

C:¥ > regedit
 
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_19454534.png


ポートを変更したら、リモートデスクトップで Server_IP : Port_nam で接続します。

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_19464139.png



ビルトインアカウント:Administrator は使うな!無効化してリモートデスクトップ専用アカウントを作る


スタート(田)ボタン > 右クリック > コンピュータの管理、から、ローカルユーザグループで、ユーザを作成し、Administrator グループに所属させ、るとリモートデスクトップは利用できてしまいます。。

使わない Administrator ビルトインアカウントは必ず無効化してあることを確認してください。Guest アカウントも無効化しておきます。Windows サーバの場合はデフォルトで利用可能状態なので、破ってくれ、と言わんばかりの抜け穴です。

多くのランサムウェアインシデントでは、ビルトイン Administrator に対してパスワードアタック仕掛けて、この Administrator アカウントとパスワードで水平攻撃によって幾つもの Windows Server が被害を受けたようです。Administraot は共通ですから、パスワード攻撃だけであっさりと落城します。

Administrator : ******** で単純に辞書攻撃すれば破られてしまいますが、Administrator を利用禁止にしておけば、UID+++++ : ****** でかなり複雑な攻撃をしなければならないので安全です。

管理者として RDP 接続する場合は、root や Admin と言った、「いかにも管理者」アカウント名を使わない事です。これらのアカウント名も、攻撃者の辞書にはありそうなログイン名のリストに入っています。


そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_19564365.png

その代わり、リモートデスクトップの専用ユーザを作成します。ここでは大人しくアルファベット英数字アカウントではなく、日本語の2バイト文字のユーザを使ってリモートデスクトップユーザとしてしまいましょう。それもアイディアです。



日本語のアカウントを作る


性善説を述べているわけではないのですが、悪意とヤル気のある連中は、まず日本国内の日本人ではなく、多くは足跡が残らない追跡が困難な海外からチャレンジして挑んできます。ここで日本語のユーザ ID を使うと、かなり彼らの「ヤル気」を削げるはず。使い勝手はいろいろ問題ありそうですが、こういう対策も効果がありそうです。

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_19575372.png


Administrator の無効化



なお、Windows11 Pro 系OSでは、Administrartor グループに所属するユーザは自動的にリモートデスクトップが利用できるようになり、リモートデスクトップ機能を有効にすると管理者アカウントは自動的にセキュリティホールになってしまいます。排除することはできません。例えば、パワーユーザを作ってリモートデスクトップは使えるけれど、Administrator グループは、直接端末にログインしないとイケナイ、というルールが作れないのです。

本当に、この仕様はなんとかしてほしい。Windows がセキュリティに弱いと言われる一面です。

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_19581616.png


理想を言うと、リモートデスクトップユーザは、パワーユーザー(PowerUsers)のみとして、Administrators はリモートアクセスできないようにしたいのですが、Windows では Administrator に RDP 接続を禁止する方法は無いようです。知っている方が居ればコメント下さい。

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_19591338.png


サーバーへの接続キーを保存させない



万が一、悪意のある熱心な人々の侵入を受けても、被害をその PC だけに留めて置くには、端末にログインできても、その他のサーバーにはシングルサインオンできないようにするのが良いでしょう。

そのためには、PC とファイルサーバー、NAS、Web システムなどには、別々な ID/ パスワードで接続するようにして、重要なシステムやバックアップ装置などは、同じドメインで運用しないことです。

Windows には、接続した時のサービスのIDとパスワードを暗記してくれる実に脆弱な機能があるので、この「資格情報」の保存を拒否して、他のサービス、例えばファイルサーバーなどに接続する場合には、ログインダイアログを出すようにすると良いでしょう。

これにより一台の端末がハックされても、LAN 内部の共有システムの読み書き可能なデータを被害から守ることができます。最悪なのは、Administraotr でログインできてしまって、同じ Administraot で同じパスワードを使いまわしているケースです。

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_20004458.png

コントロールパネル > ユーザアカウント > 資格情報マネージャー > ”Windows 資格情報の管理” から、記憶されている接続サービスを選び「削除」

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_20013171.png


これで、記憶している資格情報は削除できます。



資格情報はコマンドラインでも削除できます。

C:¥ > net use ¥¥Target_name¥share /delete

でセッションを削除したら

C:¥ > cmdkey /delete:Target_name

でキーを削除します。

資格情報自体を保存させたくない。PC にログインしたら、LAN 内のサービスに接続するためには必ず ID / パスワードを求めるにはグループポリシーを修正しておきます。

C:\> gpedit

ローカルコンピュータ > コンピューター構成 > Windowsの設定 > セキュリティの設定 > ローカルセキュリティ > セキュリティオプション > 「ネットワーク アクセス: ネットワーク認証のためにパスワードおよび資格情報を保存することを許可しない」を有効にします。

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_20032555.png


これで、ユーザは何かネットワークのリソースを利用するためには ID とパスワードが必要になります。

ログオフなしでファイルサーバーとのセッションを切断するには-資格情報の削除



リモートデスクトップのパスワードを必ず求める


重要なシステムに関わらず、リモートデスクトップが利用できるサーバー側は、パスワードなしで、キャッシュされたセッション情報で接続されないように設定します。いったんどこかのリモートデスクトップターミナルが乗っ取られたらそこから芋蔓方式で乗っ取られるわけですから、被害を拡大させないよう、RDP接続を受ける端末は、全てのセッションごとにパスワードを求めるべきです。


C:¥> gpedit
ローカルコンピューターポリシー
+コンピューターの構成
+管理用テンプレート
+WIndows コンポーネント
+リモートデスクトップサービス
+リモートデスクトップセッションホスト
+セキュリティ

接続するたびにパスワードを要求する 有効

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_11363945.png





Windows のパスワード管理は根性で(セキュリティのアリバイ程度の機能しかない)


Windows のパスワード管理は

「複雑さの要件を満たすパスワード」

で大文字小文字混じりの英数字を指定できますが、一文字だけ変えた、「ほぼ使いまわしパスワード」や、ユーザ ID と同じパスワード、同じ文字の繰り返し、qwerty パスワードなど、ほぼ「使ってはイケナイパスワード」をノーチェックで受け付けてしまいます。Linux など UNIX 系 OS ならば、使える文字種、同じアルファベットや数字の繰り返し、前回と少なくとも数文字は変えなければならない、などの厳密なパスワードポリシーで厳しくパスワードを制御できますが、Windows にはこの機能がありません。

こうなったらやっぱり、Windows のセキュリティは「セキュリティ根性論」でユーザが自ら守るしかありません。システム管理者には手が届かない機能なのです。「複雑な要件を満たすパスワード」とは、は所詮 「Windows のセキュリティ上のアリバイ機能」「一応はね、あるよ〜」程度の貧弱なもので、非常に機能が劣ります。

それでも最低限、「複雑さの要件を満たすパスワード」だけはグループポリシーでチェックしておくことです。もっとも、ドメイン上のグループポリシーの問題で、非ドメインユーザの場合は、ユーザ根性を鍛えるしかありません。実際の Administrator グループに所属するエンドユーザは無邪気にこの機能をオフにできるわけです。やっぱりパワーユーザに制限したほうがいい。


C:¥ > gpedit

そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_20061794.png

パスワードを間違えた場合のロックアウトポリシーを設定します。例えば「3度パスワードを間違えたら1分間ログインできない」というルールです。

辞書をつかった総当たり攻撃や、類推できるパスワード、数文字変えただけの、「準・使い回しパスワード」などの攻撃が連続するとアカウントがロックアウトされます。これはオフラインアタックには効きませんが、オンラインアタックには強力な防御手段になります。
そのままじゃ危険だらけ:リモートデスクトップの安全対策_a0056607_15480612.png


ただし、よく「あなたのパスワードの強度をチェック!」などのサイトで試そうとしないことです。悪意とその気があるサイトでは、

「へぇ〜、そういうパスワード使っているんだ」

と教えているようなもので、それを収集してアタック用の辞書に登録しているのかもしれません。信用しないことです。CrockLib-Check の Windows 版の様なスタンドアローンのものがあるといいのですが、フリーウェアでも怖いですね。


パスワードポリシー強化各種設定のいろいろ、文字数、文字種を指定



Windows Server についてはこちらをご参考ください。

今すぐできる Windows リモートデスクトップの脆弱対策




Windows11po 23H2 ローカルアカウントのパスワードを変更できない

by islandcenter | 2023-09-25 20:35 | システム管理 | Comments(0)