Блокировка учётных записей Active Directory
Чтобы настроить блокировку учётных записей Active Directory, укажите блок BanAccountConfiguration:
"BanAccountConfiguration": {
"Enabled": true,
"MaxTotalFailedLoginAttempts": 19,
"ResetFailedLoginAttemptsCounterAfter": "00:15:00",
"UnblockAccountAfter": "00:30:00"
}
Имя параметра | Значение параметра |
---|---|
Enabled |
Настройка блокировки учётных записей в Active Directory. Значение true включает блокировку, false — отключает. Блокировка учётных записей активна при условии, что указаны:
|
MaxTotalFailedLoginAttempts |
Максимальное значение неудачных попыток аутентификации в Active Directory. Возможные значения: от 1 до 999 |
ResetFailedLoginAttemptsCounterAfter |
Параметр определяет количество минут, которое должно пройти после последней неудачной попытки входа в систему. После того как истечёт время, счетчик попыток вернется в изначальное состояние. Например, если параметр установлен на 30 минут, то через 30 минут после последней неудачной попытки входа счетчик попыток сбросится. Важно, что значение ResetFailedLoginAttemptsCounterAfter должно быть меньше или равно значению UnblockAccountAfter. Возможные значения: от 1 до 99 999 минут. Укажите параметр в TimeSpan в формате "hh:mm:ss":
|
UnblockAccountAfter |
Параметр определяет количество минут, которое должно пройти после того, как учётная запись пользователя будет разблокирована. Возможные значения: от 1 до 99 999 минут. Укажите параметр в TimeSpan в формате "hh:mm:ss" |
Настройка параметров
Соответствие параметров конфигураций appsettings.json и Active Directory:
Параметры appsettings.json | Параметры Active Directory |
---|---|
MaxTotalFailedLoginAttempts |
Account Lockout Threshold |
ResetFailedLoginAttemptsCounterAfter |
Reset Account Lock-out Counter After |
UnblockAccountAfter |
Accont Lockout Duration |
Если у вас несколько RADIUS, MaxTotalFailedLoginAttempts можно распределить между ними. Общее количество попыток не должно превышать значение параметра Account Lockout Threshold из Active Directory.
В файле appsettings.json
установите значение параметров в соответствии со значениями из Active Directory:
- MaxTotalFailedLoginAttempts меньше, чем Account Lockout Threshold из Active Directory.
- ResetFailedLoginAttemptsCounterAfter равен Reset Account Lock-out Counter After из Active Directory.
- UnblockAccountAfter равен Accont Lockout Duration Active Directory.
Как настроить
Настроить блокировку учётных записей Active Directory можно одним из способов:
- Если у пользователя настроен глобальный каталог, нужно добавить настройку BanAccountConfiguration в блок GlobalCatalogConfigurations.
- Если у пользователя не настроен глобальный каталог, нужно добавить настройку BanAccountConfiguration в блок DomainConfigurations.
Настройка блокировки для глобального каталога
Чтобы настроить блокировку, укажите в конфигурационном файле appsettings.json
:
- В разделе ActiveDirectoryConfiguration блок BanAccountConfiguration.
-
В разделе AuthenticationConfiguration в FirstFactorSource значение ActiveDirectory.
"GlobalCatalogConfigurations": [
{
"ServerAddress": "1.1.1.3:3268",
"LdapCredentials": {
"UserName": "Login",
"Password": "*********",
"AuthType": "Basic"
}
},
# Если настроен глобальный каталог, необходимо установить бан над глобальным каталогом
"BanAccountConfiguration": {
"Enabled": true,
"MaxTotalFailedLoginAttempts": 3,
"ResetFailedLoginAttemptsCounterAfter": "00:00:30",
"UnblockAccountAfter": "00:00:30"
},
]
"AuthenticationConfiguration": {
"FirstFactorSource": "ActiveDirectory",
...
}
Пример настройки блокировки для глобального каталога:
...,
...,
"AuthenticationConfiguration" : {
...,
"FirstFactorSource": "ActiceDirectory"
},
"ActiveDirectoryConfiguration": {
"DomainConfigurations": [
{
"DomainSettings": {
"Name": "test.ru",
"NetBiosName": "test",
"ServerAddress": "0.0.0.0:389"
}
},
{
"DomainSettings": {
"Name": "first.test.ru",
"NetBiosName": "first.test",
"ServerAddress": "0.0.0.0:389"
},
"LDAPCredentials": {
"UserName": "Login",
"Password": "*********",
"AuthType": "Basic"
},
"UseOnlyStraightGroups": true,
"SessionOptions": {
"ReferralChasing": "None"
}
}
],
"GlobalCatalogConfigurations": [
{
"ServerAddress": "1.1.1.3:3268",
"LdapCredentials": {
"UserName": "Login",
"Password": "*********",
"AuthType": "Basic"
}
},
"BanAccountConfiguration": {
"Enabled": true,
"MaxTotalFailedLoginAttempts": 4,
"ResetFailedLoginAttemptsCounterAfter": "00:05:00",
"UnblockAccountAfter": "00:10:00"
},
]
},
...,
...,
...,
В этом примере для глобального каталога включена блокировка. Пользователь будет заблокирован после 4 неудачных попыток аутентификации. Через 5 минут после последней неудачной попытки входа счетчик попыток сбросится. Когда учётная запись разблокируется, в нашем случае, через 10 минут, пользователь сможет снова войти в систему.
Настройка блокировки для домена
Чтобы настроить блокировку, укажите в конфигурационном файле appsettings.json
:
- В разделе ActiveDirectoryConfiguration.DomainConfigurations блок BanAccountConfiguration.
-
В разделе AuthenticationConfiguration в FirstFactorSource значение ActiveDirectory.
"ActiveDirectoryConfiguration": {
"DomainConfigurations": [
{
"DomainSettings": {...},
"LDAPCredentials": {...},
# Если не настроен глобальный каталог, необходимо установить бан над доменом
"BanAccountConfiguration": {
"Enabled": true,
"MaxTotalFailedLoginAttempts": 19,
"ResetFailedLoginAttemptsCounterAfter": "00:15:00",
"UnblockAccountAfter": "00:30:00"
}
}
]
}
"AuthenticationConfiguration": {
"FirstFactorSource": "ActiveDirectory",
...
}
Пример настройки блокировки для домена:
...,
...,
"AuthenticationConfiguration" : {
...,
"FirstFactorSource": "ActiceDirectory"
},
"ActiveDirectoryConfiguration": {
"DomainConfigurations": [
{
"DomainSettings": {
"Name": "test.ru",
"NetBiosName": "test",
"ServerAddress": "0.0.0.0:389"
}
},
{
"DomainSettings": {
"Name": "first.test.ru",
"NetBiosName": "first.test",
"ServerAddress": "0.0.0.0:389"
},
"LDAPCredentials": {
"UserName": "Login",
"Password": "*********",
"AuthType": "Basic"
},
"BanAccountConfiguration": {
"Enabled": true,
"MaxTotalFailedLoginAttempts": 4,
"ResetFailedLoginAttemptsCounterAfter": "00:05:00",
"UnblockAccountAfter": "00:10:00"
},
"UseOnlyStraightGroups": true,
"SessionOptions": {
"ReferralChasing": "None"
}
}
]
},
...,
...,
...,
В этом примере включена блокировка для домена first.test.ru. Пользователь будет заблокирован после 4 неудачных попыток аутентификации. Через 5 минут после последней неудачной попытки входа счетчик попыток сбросится. Когда учётная запись разблокируется, в нашем случае, через 10 минут, пользователь сможет снова войти в систему.
После внесения изменений в файл appsettings.json перезапустите службу RADIUS.