Active Directoryドメインのパスワードポリシー構成ガイド
Active Directoryドメインにおけるユーザーアカウントのセキュリティを高レベルに維持するためには、管理者がドメインのパスワードポリシーを適切に構成・運用することが不可欠です。パスワードポリシーでは、十分な複雑性、パスワードの長さ、ユーザーアカウントやサービスアカウントのパスワード変更頻度などを定義します。これにより、攻撃者によるブルートフォース攻撃や、ネットワーク上で送信されるパスワードの盗聴を困難にすることができます。
デフォルトドメインポリシーでのパスワードポリシー設定
ADドメイン内のユーザーパスワードに共通の要件を設定するには、既定ではグループポリシー(GPO)を使用します。ドメインユーザーアカウントのパスワードポリシーは、Default Domain Policy(デフォルトドメインポリシー)で構成します。このポリシーはドメインのルートにリンクされており、PDCエミュレーターの役割を持つドメインコントローラーに適用される必要があります。
- ADアカウントのパスワードポリシーを構成するには、グループポリシー管理コンソール(
gpmc.msc)を開きます。 - ドメインを展開し、Default Domain Policyという名前のGPOを見つけます。右クリックして編集を選択します。

- パスワードポリシーは、GPOの次のセクションにあります:コンピューターの構成 → ポリシー → Windowsの設定 → セキュリティの設定 → アカウントポリシー → パスワードポリシー
- 編集したいポリシー設定をダブルクリックします。特定のポリシー設定を有効にするには、「このポリシーの設定を定義する」にチェックを入れ、必要な値を指定します(下のスクリーンショットでは、最小パスワード長を8文字に設定しています)。その後、変更を保存します。

- 新しいパスワードポリシーの設定は、バックグラウンドで一定時間後(約90分)またはコンピューターの起動時に、すべてのドメインコンピューターへ自動的に適用されます。即座に適用したい場合は、
gpupdate /forceコマンドを実行してください。
パスワードポリシーの設定は、GPO管理コンソールからだけでなく、PowerShellコマンドレットのSet-ADDefaultDomainPasswordPolicyを使って変更することもできます。
Set-ADDefaultDomainPasswordPolicy -Identity woshub.com -MinPasswordLength 10 -LockoutThreshold 3
Windowsの基本的なパスワードポリシー設定
ここで、Windowsで利用可能なすべてのパスワード設定を確認しましょう。GPOには6つのパスワード設定項目があります。
- パスワードの履歴を記録する(Enforce password history) – ADに保存される過去のパスワードの数を決定し、ユーザーが以前使用したパスワードを再利用できないようにします。ただし、ドメイン管理者や、ADでパスワードリセット権限を委任されたユーザーは、手動で古いパスワードをアカウントに設定できる点に注意が必要です。
- パスワードの有効期限(Maximum password age) – パスワードの有効期限を日数で設定します。期限が切れると、Windowsはユーザーにパスワードの変更を求めます。ユーザーによる定期的なパスワード変更を保証する設定です。特定のユーザーのパスワード有効期限は、次のPowerShellコマンドで確認できます:
Get-ADUser -Identity j.werder -Properties msDS-UserPasswordExpiryTimeComputed | select-object @{Name="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed") }} - パスワードの長さ(Minimum password length) – パスワードは8文字以上にすることを推奨します(0を指定すると、パスワード自体が不要になります)。
- 最小パスワード期間(Minimum password age) – ユーザーがパスワードを変更できる頻度を設定します。この設定により、ユーザーが短期間に何度もパスワードを変更して、履歴から消える前に好みの古いパスワードに戻ることを防げます。通常は1日に設定しておくと、パスワードが漏洩した場合にユーザー自身ですぐ変更できます(設定しない場合は管理者が変更する必要があります)。
- 複雑さの要件を満たす必要がある(Password must meet complexity requirements) – このポリシーを有効にすると、ユーザーはアカウント名をパスワードに使用できなくなり(
usernameやFirstnameの連続2文字まで許容)、パスワードには数字(0~9)、大文字、小文字、特殊文字($、#、%など)のうち3種類以上を使用する必要があります。また、弱いパスワード(辞書に載っているようなパスワード)の使用を防ぐため、ADドメインのユーザーパスワードを定期的に監査することを推奨します。 - 可逆的な暗号化を使用してパスワードを保存する(Store passwords using reversible encryption) – 通常、ユーザーパスワードはADデータベースに暗号化されて保存されますが、一部のアプリケーションにユーザーパスワードへのアクセスを許可する必要がある場合があります。このポリシー設定を有効にすると、パスワードの保護レベルが大幅に低下します(ほぼ平文と同等)。これは安全ではないため注意してください(DCが侵害されると、攻撃者がパスワードデータベースへアクセスできる可能性があります。読み取り専用ドメインコントローラー(RODC)の活用は、保護対策の一つとして有効です)。
ユーザーがドメインのパスワードポリシーに適合しないパスワードへ変更しようとすると、次のエラーメッセージが表示されます。
Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain.

さらに、GPOのアカウントロックアウトポリシー(Account Lockout Policy)セクションで、以下の設定を構成する必要があります。
- アカウントロックアウトのしきい値(Account Lockout Threshold) – 誤ったパスワードでのサインイン失敗を何回許すか。この回数を超えるとアカウントがロックされます。
- アカウントロックアウトの期間(Account Lockout Duration) – 誤ったパスワードを複数回入力した場合に、アカウントがロックされ続ける時間。
- 次の時間後にアカウントロックアウトカウンターをリセットする(Reset account lockout counter after) – アカウントロックアウトのしきい値カウンターがリセットされるまでの時間(分)。
特定のドメインアカウントが頻繁にロックされる場合は、専用の手順でアカウントロックアウトの発生源を特定できます。
ADドメインのパスワードポリシーの既定値は、以下の表の通りです。
| ポリシー | 既定値 |
| パスワードの履歴を記録する | 24個のパスワード |
| パスワードの有効期限 | 42日 |
| 最小パスワード期間 | 1日 |
| パスワードの長さ | 7 |
| 複雑さの要件を満たす必要がある | 有効 |
| 可逆的な暗号化を使用してパスワードを保存する | 無効 |
| アカウントロックアウトの期間 | 未設定 |
| アカウントロックアウトのしきい値 | 0 |
| 次の時間後にアカウントロックアウトカウンターをリセットする | 未設定 |
MicrosoftのSecurity Compliance Toolkitでは、以下のパスワードポリシー設定が推奨されています。
- パスワードの履歴を記録する:24
- パスワードの有効期限:未設定
- 最小パスワード期間:未設定
- パスワードの長さ:14
- 複雑さの要件:有効
- 可逆的な暗号化を使用してパスワードを保存する:無効
なお、比較的最近のSecurity Baseline 1903の推奨事項において、Microsoftはユーザーに対してパスワード有効期限ポリシーを有効にする必要はないとしています。パスワードの有効期限はセキュリティを高めるどころか、不必要な問題を引き起こすだけだからです。
ADドメインで現在のパスワードポリシーを確認する方法
現在のパスワードポリシー設定は、gpmc.mscコンソールでDefault Domain Policyの「設定」タブを開くことで確認できます。

また、PowerShellを使用してパスワードポリシー情報を表示することもできます(コンピューターにAD PowerShellモジュールがインストールされている必要があります)。
Get-ADDefaultDomainPasswordPolicy

ComplexityEnabled: True
DistinguishedName: DC=woshub,DC=com
LockoutDuration: 00:20:00
LockoutObservationWindow: 00:30:00
LockoutThreshold: 0
MaxPasswordAge: 60.00:00:00
MinPasswordAge: 1.00:00:00
MinPasswordLength: 8
objectClas : {domainDNS}
PasswordHistoryCount: 24
ReversibleEncryptionEnabled: False
さらに、gpresultコマンドを使用すれば、任意のドメインコンピューター上で現在のADパスワードポリシー設定を確認することも可能です。
Active Directoryドメインでの複数のパスワードポリシー
PDCエミュレーターFSMO役割を所有するドメインコントローラーが、ドメインパスワードポリシーの管理を担います。Default Domain Policyの設定を編集するには、ドメイン管理者権限が必要です。
当初、ドメインには1つのパスワードポリシーしか存在できず、それはドメインルートに適用され、例外なくすべてのユーザーに影響を与えていました(細かい例外はありますが、後述します)。仮に異なるパスワード設定を持つ新しいGPOを作成し、「強制(Enforced)」や「継承のブロック(Block Inheritance)」パラメーターを使って特定のOUに適用しても、ユーザーには適用されません。
ドメインパスワードポリシーは、ユーザーADオブジェクトにのみ影響します。ドメイントラスト関係を提供するコンピューターのパスワードには、独自のGPO設定が存在します。
Windows Server 2008のActive Directoryより前は、1つのドメインにつき1つのパスワードポリシーしか構成できませんでした。それ以降のバージョンのADでは、きめ細かなパスワードポリシー(Fine-Grained Password Policies、FGPP)を使用して、異なるユーザーやグループに対して複数のパスワードポリシーを作成できます。FGPPにより、さまざまなパスワード設定オブジェクト(PSO)を作成して適用できます。例えば、ドメイン管理者アカウント向けにパスワード長や複雑さを強化したPSOを作成したり(ADドメインの管理者アカウント保護に関する記事を参照)、一部のアカウントのパスワード要件を緩めたり、完全に無効化したりすることも可能です。

なお、ワークグループ環境の場合は、ローカルGPOエディター(gpedit.msc)を使用して各コンピューターごとにパスワードポリシーを構成する必要があります。または、専用の手法を使ってローカルGPOの設定をコンピューター間で転送することもできます。
-
Active Directory ドメイン サービスが現在利用できない問題を修正する
一連の Active Directory ドメイン サービスによって、PC のコマンドと指示を承認し、有効にすることができます。管理者権限を必要とするプログラムやアプリケーションにアクセスしようとすると、パスワードが要求されます。このアクティビティは、Active Directory によって維持および管理されています .また、PC が次のような外部デバイスに接続するのにも役立ちます。 プリンターとルーター .この最新のテクノロジにより、ユーザーは、ワイヤレス プリンターや類似のデバイスを介して、快適な場所からドキュメントを収集できるようになりました。このモダン テクノの世界のすべての利点とは
-
Windows Server 2012/2016 ドメインでパスワードの有効期限を変更・無効化する方法
「パスワードの有効期限ポリシー」とは、ユーザーが同じパスワードを使用できる日数を定義するものです。ドメイン環境では、既定のパスワード有効期限は42日に設定されており、この期間を過ぎると、ユーザーは引き続きコンピューターを使用したりネットワークリソースへアクセスしたりするために、パスワードの変更が必要になります。 本ガイドでは、Active Directory ドメイン(Windows Server 2012/2016)において、既定の「パスワードの有効期限」を変更する方法、またはパスワードの有効期限ポリシー自体を無効化する方法を、手順を追って詳しく解説します。 ※ 注意: Windows 10