web-dev-qa-db-ja.com

ログイン試行がN回失敗した後にSQLログインをロックする方法

Sql_loginというログインがあるとします。ロックできますかsql_loginログイン後5ログインに失敗しました。

ログインを作成すると、 パスワードポリシー というオプションが表示され、画像を確認できます。しかし、パスワードのロックについては何も言及されていません

enter image description here

Nログインに失敗した後でログインをロックするオプションがSQL Serverにありますか

6

はい、できますが、すべてを設定する必要があります。

SQL Server(SQL)ログイン

SQL ServerログインウィンドウでEnforce password policyオプションを有効にすると、基本的に、SQL Serverにローカルセキュリティポリシーまたはドメインで定義されたポリシーのいずれかに従うように指示します。

パスワードポリシーの適用は、SQL Serverログインごとに個別に構成できます。 ALTER LOGIN(Transact-SQL)を使用して、SQL Serverログインのパスワードポリシーオプションを構成します。次のルールがパスワードポリシー実施の設定に適用されます。

  • CHECK_POLICYをONに変更すると、次の動作が発生します。
    • CHECK_EXPIRATIONも、明示的にOFFに設定されていない限り、ONに設定されます。
    • パスワード履歴は、現在のパスワードハッシュの値で初期化されます。
    • アカウントロックアウト期間、アカウントロックアウトしきい値、およびアカウントロックアウトカウンターのリセットも有効になります。

そしてまた:

セキュリティポリシーはWindowsで設定されるか、ドメインから受信される場合があります。コンピューターのパスワードポリシーを表示するには、ローカルセキュリティポリシーMMCスナップイン(secpol.msc))を使用します。

参照: パスワードポリシー (MSDN/SQL Server 2012)

ポリシーの設定(ローカル)

したがって、3回の試行の失敗後にアカウントをロックアウトする必要がある場合は、secpol.mscを使用してローカルポリシーを定義するか、アカウントロックアウトのドメインポリシーを定義する必要があります。

Secpol.mscの例

local secpol.msc window displaying lockout policy settings

Enforce password policyオプションがオンの場合、SQL Serverはこのポリシーを使用します。

アカウントロックアウトポリシーの技術概要は、次の場所にあります。

参照: アカウントロックアウトポリシーの技術概要 (MSDN)
参照: アカウントロックアウトのしきい値 (MSDN)

ロックされたSQLログイン

これは、設定された量の不正なログイン(私の場合はドメインポリシーとして15)の後にSQLログインがロックアウトされた後に何が起こるかです。 Login is locked outが設定されていることがわかります。これを設定解除して、アカウントのブロックを解除できます。

SQL Login with locked out status after 15 attempts

10