企業や組織において、Windows Serverを利用したリモートデスクトップサービス(RDS)環境を構築していると、思わぬセキュリティ上の懸念に直面することがあります。特に、不明ユーザーによる連続的なログイン試行が発生すると、攻撃経路の追跡やブロック方法に頭を悩ませるケースも少なくありません。ここでは、RDSサーバー上での継続的なログイン失敗をどのように対処するか、その具体的な方法や設定例をご紹介します。
RDSサーバーでの継続的なログイン失敗の概要
実際にWindows Serverを使ったRDS環境では、RDWeb経由で外部からのアクセスを許可しているケースがよくあります。しかし、その利便性ゆえに総当たり攻撃(ブルートフォースアタック)や辞書攻撃などに狙われる可能性が高くなるのです。ここで問題となるのは、イベントログに「発信元IPアドレス」が残っていなかったり、RDWebを経由しているために追跡が難しくなったりする点です。加えて、Duo認証など多要素認証を導入している場合でも、ログイン試行そのものが減るわけではないため、不明なユーザー名で失敗が山ほど記録される状況に陥ることがあります。
不明ユーザーのログイン失敗が繰り返されるリスク
ログイン失敗が継続的に起こると、以下のようなリスクが考えられます。
- アカウントロックアウト頻発
ポリシーでアカウントロックアウトを設定している場合、意図せず正規ユーザーまでロックされることがある。 - サーバーリソースの消費
大量の認証試行はCPUやメモリを消費し、他のサービスに影響する可能性がある。 - 潜在的な脆弱性の露呈
認証関連のログを仔細に見ると、環境によっては攻撃者に有用な情報が漏れるリスクがある。 - 不正アクセスの成功確率向上
総当たりや辞書攻撃を継続的に行われると、強度の低いパスワードである場合に突破される恐れがある。
発信元IPが分からない場合の困難さ
一般的に、Windowsのイベントログ(特にセキュリティログの4625番など)では、ログイン失敗時に元となるIPアドレスが記録されます。しかし、RDWebやその他の経路を通っている場合、ログの内容が限定的になり「-」や「::1」などの情報しか残らないことがあります。また、プロキシ経由であれば、最終的なクライアントのIPアドレスがわからないケースもあります。そのため単純にイベントログを見ても攻撃元IPを突き止めるのは難しく、ブロックする作業が困難になるのです。
DUO認証を入れていても安心できない理由
多要素認証は確かに強力なセキュリティ対策ですが、「認証を強固にする」ことであって「攻撃の試行回数を減らす」ものではありません。攻撃者はDUO認証の有無にかかわらず、まずは有効なアカウントとパスワードの組み合わせを探るために総当たりや辞書攻撃を続けることがあります。その結果、イベントログには失敗が延々と溜まることになるのです。もちろん多要素認証があるため、簡単に突破されることはないものの、無駄なログイン試行を放置するのはサーバー負荷やセキュリティ上の懸念を拭いきれません。
対策1:詳細監査ログの有効化
ログイン失敗の詳細を把握し、攻撃元を追跡するためには、イベントログで可能な限り多くの情報を取得する必要があります。Windows Serverでは「詳細な監査ポリシー(Advanced Audit Policy)」を有効化することで、より豊富なログ情報(例えばLogon TypeやIPアドレスなど)を入手できる可能性が高まります。
グループポリシーを使った設定手順
- 「サーバーマネージャー」や「グループ ポリシー管理コンソール(GPMC)」を開く。
- [コンピューターの構成] → [ポリシー] → [Windowsの設定] → [セキュリティの設定] → [詳細監査ポリシーの構成] → [監査ポリシー] → [ログオン/ログオフ] を選択。
- 「監査ログオン(またはAudit Logon)」をダブルクリックして、「成功」と「失敗」の両方にチェックを入れ有効化する。
ログがどのように変わるか
この設定を有効にすると、イベントビューアのセキュリティログ(Event ID:4624(成功)、4625(失敗))におけるユーザー名、ドメイン名、Logon Type、呼び出し元のIPアドレス、プロセス情報などが詳細に記録されるようになります。ただし、すべてのケースで必ずIPアドレスが取得できるわけではありません。RDWebやゲートウェイを挟んでいる場合には、間に挟まっているサーバーのIPが記録されるなど、状況によっては本来の元IPが見えないこともあるので要注意です。
対策2:イベントビューアでのログ分析
監査ポリシーを適切に設定したら、次にイベントビューアで実際のログを確認します。ログに何が表示されるかをしっかりと把握し、どのアカウント名やどのIPがどれほどの頻度で失敗を繰り返しているか把握することが重要です。
イベントビューアの基本操作
- [Win + R] キーで「eventvwr」を起動する。
- 左メニューから [Windowsログ] → [セキュリティ] を選択する。
- 右ペインの「現在のログのフィルター」をクリックし、イベントID「4624」(成功)・「4625」(失敗)を入力してフィルターをかける。
具体的な分析ポイント
- Logon Type
例えばLogon Typeが「10」であればリモートデスクトップ(RDP)からのログオンを示し、「3」であればネットワーク経由のログオンを示すなど、アタックの種類を推定する手がかりになる。 - Caller Process Name
どのプロセス経由でログオンが呼び出されているかを確認する。 - Source IP Address
攻撃元が直接反映されている場合はブロック対象とする。 - Account Name / Domain Name
不明ユーザー(例:「recepsto」のような文字列)が大量に失敗していないかチェックする。
対策3:IPアドレスの特定とブロック
もしもイベントログから攻撃元IPアドレスが判明すれば、ファイアウォールやネットワーク機器(UTMなど)でブロックするのが最も単純かつ効果的な方法です。しかし、状況によってはログにIPアドレスが記録されないこともあり得ます。その場合には別の手段を講じましょう。
ネットワークモニタリングツールの活用
Windows環境であれば、Microsoft純正の「Network Monitor」や「Message Analyzer」、あるいはオープンソースの「Wireshark」を使用して、実際のパケットをキャプチャし、どのIPアドレスからRDPポート(通常TCP 3389)やHTTP(S)ポート(RDWebで使う443など)へのアクセスが繰り返されているのかを分析できます。
キャプチャ手順例(Wiresharkの場合)
- Wiresharkをインストールし、監視対象となるネットワークインターフェースを選択する。
- フィルターを設定して特定ポート(例:tcp.port == 3389)だけをキャプチャする。
- 攻撃が発生しているタイミングに合わせてキャプチャを実施し、どのIPアドレスとのセッションが大量に確立されようとしているかを分析する。
これによって、イベントビューアでは拾えなかったアドレスを特定できるケースがあります。そのIPがわかったら、以下のようにWindowsファイアウォールで即座にブロックすることが可能です。
netsh advfirewall firewall add rule name="Block_Attacker_IP" dir=in action=block remoteip=XXX.XXX.XXX.XXX enable=yes
複数IPをブロックする際はカンマ区切りで指定できますし、サブネットごとブロックも可能です。
対策4:不要なアクセス経路の見直し
RDSサーバーが外部に直接公開されているケースでは、そもそも必要なユーザーや接続元のみアクセス可能なように制限をかけることが大切です。DUO認証が導入されているからといって、無制限に外部公開している状況は決して安心とはいえません。
IIS設定やRDWeb設定の再点検
- RDWebのアクセス制御
IISマネージャーでRDWebの仮想ディレクトリを確認し、特定のIP範囲のみアクセスを許可する、あるいは基本認証をさらに厳格化する方法を検討。 - URL Rewriting や IP制限機能
IISのURL Rewrite機能を使い、特定のIPアドレス以外のアクセスをブロックする方法もある。
ネットワークセグメントの分離
リモートデスクトップゲートウェイやVPNを併用して、本当に必要なユーザーだけが事前にVPNで接続しなければRDSに到達できないようにする構成は、セキュリティレベルを大幅に向上させます。DMZや専用のセグメントを準備し、RDWebサーバーと内部ネットワークを分離しておくことで、不正アクセスの被害を最小限に抑えられます。
対策5:アカウントロックアウトポリシーの見直し
ログイン失敗を繰り返すユーザーがいるとき、アカウントロックアウトポリシーの設定を再確認しておくのも重要です。ロックアウト閾値を低くしすぎると、攻撃者の少数回の試行だけで正規ユーザーがロックされるリスクがあります。逆に高くしすぎれば不正アクセスを許す可能性が高くなります。
アカウントポリシーでの設定ポイント
- ロックアウト閾値
失敗回数を何回まで許容するか。一般的には5回前後が多い。 - ロックアウト時間
ロックされてから何分後に自動解除されるか。または手動解除のみとするか。 - リセット時間
ログイン失敗回数をどのタイミングでリセットするかを設定する。
これらのパラメータを適切に設定することで、大規模な辞書攻撃や総当たり攻撃をある程度抑制できます。ただし、あまりにも厳しく設定すると、現場のヘルプデスクでロックアウト解除依頼が頻発し、業務に支障が出ることもあるため、運用とバランスを考慮する必要があります。
対策6:基本的なセキュリティ対策の徹底
RDS環境に限らず、Windows Serverを運用する上では以下のような基本的な対策を怠らないことが肝要です。
定期的なパッチ適用
Windows UpdateによるOSやアプリケーションのセキュリティパッチを計画的に適用し、既知の脆弱性を可能な限り排除する。RDP関連やIIS関連の脆弱性が報告されることもあるため、更新プログラムをサボらずに適用することが重要です。
ウイルス対策ソフトの導入
サーバーでもウイルス対策やEDR(Endpoint Detection and Response)を導入し、マルウェア感染や標的型攻撃から守る。リモートアクセスが狙われる場合、標的型攻撃が含まれるケースもあり得ます。
管理者権限の最小化
RDSサーバーを含むWindows Server環境では、管理者権限でログインする必要があるユーザーを最小限に抑えるのが基本です。不要なローカルアドミニストレーターアカウントやドメイン管理者アカウントが存在していると、仮にパスワードが見破られた場合の被害が大きくなります。
補足:Duo認証との併用時に気をつけたいこと
Duo認証など多要素認証を導入している場合でも、先述のようにログイン試行を根本的に止められないことがあります。攻撃者から見れば、「とりあえずアカウントとパスワードを当ててみる」段階で止まってしまい、Duo認証があるかどうかは関係ありません。よって、実際のアクセス試行そのものを減らすには、以下のようなネットワーク制限やアカウントロックアウト、IPブロックなどの手段を組み合わせる必要があります。
具体的な対策例:表形式でまとめ
以下に、RDSサーバーにおける不明ユーザーのログイン失敗を減らすための対策を表にまとめます。
対策項目 | 内容概要 | メリット | 注意点 |
---|---|---|---|
詳細監査ログの有効化 | Advanced Audit PolicyでIPやLogon Typeなどの詳細を取得 | 攻撃元の特定やログ分析が容易になる | 常に大量のログが生成されるため保管方法に注意 |
イベントビューアでのログ分析 | イベントID 4624・4625を中心にフィルタして攻撃のパターンを把握 | リアルタイムで攻撃状況を把握できる | RDWeb経由などでIPが不明になるケースもある |
ネットワークモニタリングツール | Wireshark等でパケットキャプチャし、正確な発信元IPを割り出す | ログにないIPも特定可能 | 運用に慣れが必要で、分析には時間がかかることがある |
IPアドレスブロック | WindowsファイアウォールやUTMで直接特定IPをブロック | 最も手軽に攻撃を遮断可能 | 攻撃者が異なるIPアドレスを使い続けると効果が限定的 |
RDWeb/IIS設定の見直し | URL Rewriteやアクセス制限を追加し、特定のアクセス元のみ許可する | 不要なアクセス経路を遮断し、攻撃対象を絞れる | 既存のユーザー環境に影響する場合がある |
VPN/ゲートウェイ利用 | 直接RDSを外部公開せず、一度VPN接続を経由してからアクセスさせる構成 | セキュリティレベルが格段に向上する | VPN導入コストや運用コストがかかる |
アカウントロックアウトポリシー | 失敗回数やロックアウト時間を設定し、総当たり攻撃を抑制 | 攻撃を一定数で強制的に止めることが可能 | 設定が厳しすぎると正規ユーザーのロックが増える |
多要素認証(Duo等) | パスワード突破だけではログインできない環境を構築 | セキュリティ強度が高まり、不正ログインを阻止 | 試行回数自体を減らすわけではない |
パッチ適用・ウイルス対策 | Windows Updateやウイルス対策ソフト、EDRによる基本的な防御策 | 攻撃者の利用する既知の脆弱性を封じられる | 最新パッチ適用にはシステムへの影響確認が不可欠 |
まとめ:総合的な対策を行い、RDSサーバーを安全に運用する
RDSサーバーで不審なユーザーによるログイン失敗が続くと、不安やリスクが高まります。しかし、詳細監査ログの活用、イベントビューアやパケットキャプチャによる正体調査、ファイアウォールやIIS設定でのIP制限、VPNゲートウェイの利用といった複数の対策を組み合わせることで、ほとんどの攻撃を水際で防ぐことが可能です。また、アカウントロックアウトポリシーの適切な設定や、常にOSやセキュリティソフトを最新の状態に保つ基本的な運用管理を徹底することが重要となります。
何よりも「不審なログイン試行をどのように早期発見し、迅速にブロックするか」という観点で体制を整えておくことが肝要です。万一、外部の攻撃に対しRDSサーバーが踏み台にされるなどの事態を避けるためにも、今回ご紹介した方法を参考に、定期的に自社のセキュリティ施策を見直していただければと思います。
コメント