Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

VPNのアカウント・ロックアウトを有効にする

解説をスキップして設定方法を読む

デジタルアドバンテージ
2003/03/15
 
対象OS
Windows 2000 Server
Windows 2000 Advanced Server
Windows 2000 Serverは、標準でVPNサーバ機能を持っている。
しかしデフォルトでは、何度パスワード認証に失敗してもリトライできる設定になっており、ブルート・フォース攻撃対策は十分ではない。
リモート・アクセスのアカウント・ロックアウトを設定することで、一定回数以上パスワード認証を間違えたら、一定時間、アカウントをロックアウト(無効化)させることができる。
 
解説

 出張先や自宅などから、社内のLANに接続する方法として、インターネットVPNを活用する例が増えている。Virtual Private Networkという名前のとおり、VPNでは、トンネリングと呼ばれる技術を使ってオープンなインターネット上に仮想的な通信路を作り、エンド・ツー・エンドの安全な接続を可能にする。従来は時間従量で課金されるダイヤルアップによるRAS(Remote Access Service)接続や、高価な専用線接続が必要だったのだが、VPNなら安価で手軽なインターネットを利用して接続できるというメリットがある。

 Windows 2000 Serverには、VPNサーバの機能が標準で用意されており、これを利用すれば、特殊な機器を用意しなくても、VPNサービスを提供することが可能だ。

 いくら暗号化技術によって安全性が確保されているとはいえ、VPNの接続ポイントを設けるということは、誰もが利用できるインターネットから社内LANに接続するポイントを用意するということであり、安全性の確保には最大限の配慮が必要だ。接続時のユーザー認証を突破されると、社内LANへの侵入を許すことになってしまう。

 ユーザー/パスワード認証を突破するために、攻撃者が使う常套手段は、適当なユーザー名やパスワードを次々と試すというものだ(このような攻撃は「ブルート・フォース攻撃」と呼ばれる)。残念ながら、Windows 2000 ServerのVPNのデフォルト設定では、何度ユーザー/パスワード認証に失敗しても、再度何回でもリトライできる設定になっている。こうした攻撃からVPNを守るためには、一定回数だけユーザー/パスワード認証に失敗したら、アカウントを一定時間ロックアウト(無効化)してしまうのが有効だ。こうすれば、特定のユーザー名に対して、何度もパスワードを試すことができなくなる。

 これを設定するには、VPNサーバでレジストリの設定値を変更する。具体的には、リモート・アクセス・クライアント用の設定項目を変更する。リモート・アクセス以外の通常のアカウント・ロックアウトとは別に管理されているので注意が必要だ。これはリモート・アクセス・クライアントの設定なので、VPN接続だけでなく、RASなどのダイヤルアップ接続に対しても同様に機能する。


設定方法

リモート・アクセス・クライアントのアカウント・ロックアウト設定を変更する

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。

 設定を変更するには、レジストリ・エディタ(regedit.exe)を起動し、以下のレジストリ・キーを表示する。このキーは、リモート接続機能が有効な場合にのみ存在する。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\RemoteAccess\Parameters\AccountLockout

 このキーの中にある次の2つの値により、アカウント・ロックアウトの設定を行う。

内容
MaxDenials REG_DWORD アカウントをロックアウトするまでに許される失敗の回数を設定する。デフォルトは0で、そのままでは何度認証に失敗してもアカウントはロックアウトされない
ResetTime (mins) REG_DWORD MaxDenials以上、認証に失敗したときに、アカウントをロックアウトする時間を分単位で指定する。デフォルト値は0xb40で、これは2880分=2日間である

 例えばMaxDenialsを3にすれば、ユーザー/パスワード認証に4回連続して失敗すると、そのアカウントはロックアウト(無効化)され、ユーザー認証が通らなくなる。この数値を小さくすればするほど、辞書攻撃で許される試行回数は減るので安全性は高まるが、悪意のないユーザーが、パスワードを間違えた場合もアカウントがロックアウトされてしまうので注意が必要だ。

 ひとたびアカウントがロックアウトされると、ResetTime (mins)で指定した時間(分単位)の間、アカウントはロックアウトされ続ける(ログオンが受け付けられなくなる)。例えばデフォルトの0xb40(10進数では2880)のままなら、いったんアカウントがロックアウトされると、そのアカウントは2880分、つまり2日間使えなくなる。この時間が過ぎると、再度アカウントは有効になり、ログオンが受け付けられるようになる。

 VPNクライアントからのユーザー/パスワード認証に失敗すると、次のようなダイアログが表示される。これは再認証を行うためのもので、この段階ではまだアカウントはロックされていない。

VPNクライアントでユーザー/パスワード認証に失敗したときに表示されるダイアログ
ユーザー/パスワード認証に失敗すると、このダイアログが表示され、再認証が促される。この段階では、まだアカウントはロックされていない。

 しかし、MaxDenialsの設定値以上に間違えると、表示されるダイアログは次のようになる。

アカウントのロックアウト時に表示されるダイアログ
アカウントがロックアウトされると、このような警告ダイアログに切り替わる。これは、そのユーザーに対して、ダイヤルインのアクセス許可が与えられていないという警告メッセージ。

 こうしてアカウントがロックアウトされると、前挙のレジストリ・キー、

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\RemoteAccess\Parameters\AccountLockout

に対し、ロックアウトされたユーザーの情報がサブ・キーとして追加される。

ロックアウトされたユーザー情報がレジストリ・キーとして追加される
アカウントがロックアウトされると、前出のレジストリ・キーに対し、ロックされたユーザー情報がサブ・キーとして追加される。
  追加されたサブ・キー。ロックアウトを解除するには、このサブ・キーを削除すればよい。

 アカウントのロックアウトをすぐにでも解除したければ、こうして追加されたサブ・キーを削除すればよい。

 アカウントのロックアウトを有効にすることで、ブルートフォース攻撃のリスクを低減させることができる。しかし逆に、わざとユーザー/パスワード認証を間違えることで、アカウントをロックアウトさせるサービス拒否攻撃(DoS攻撃)が可能になってしまうという点は覚えておく必要があるだろう。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間