Блокировка учётных записей с внешним RADIUS‑сервером

Чтобы настроить блокировку учётных записей с внешним RADIUS-сервером, укажите в конфигурационном файле appsettings.json:

  • В разделе RadiusClientConfiguration блок BanAccountConfiguration.
  • В разделе AuthenticationConfiguration в FirstFactorSource значение ExternalRadius.

  • В разделе ActiveDirectoryConfiguration настройки домена.

RadiusClientConfiguration
{
    ...,
    "RadiusClientConfiguration": {
        ...,
        "BanAccountConfiguration": {
            "Enabled": true,
            "MaxTotalFailedLoginAttempts": 19,
            "ResetFailedLoginAttemptsCounterAfter": "00:15:00",
            "UnblockAccountAfter": "00:30:00" 
        }
    }
}

AuthenticationConfiguration
"AuthenticationConfiguration": {
  "FirstFactorSource": "ExternalRadius",
  ...
}

ActiveDirectoryConfiguration 
"ActiveDirectoryConfiguration": {
  "DomainConfigurations": [
    {
      "DomainSettings": {
        "Name": "first.test.ru",
        "NetBiosName": "first.test",
        "ServerAddress": "0.0.0.0:389"
      },
      "LDAPCredentials": {
        "UserName": "Login",
        "Password": "*********",
        "AuthType": "Basic"
      }
    }
  ]
}

"BanAccountConfiguration": {
  "Enabled": true,
  "MaxTotalFailedLoginAttempts": 19,
  "ResetFailedLoginAttemptsCounterAfter": "00:15:00",
  "UnblockAccountAfter": "00:30:00"
}
Имя параметра Значение параметра

Enabled

Настройка блокировки учётных записей для внешнего RADIUS. Значение true включает блокировку, false отключает.

Блокировка учётных записей активна при условии, что указаны:

  • В DomainConfigurations LDAPCredentials.
  • В AuthenticationConfiguration FirstFactorSource: ExternalRadius

MaxTotalFailedLoginAttempts

Максимальное значение неудачных попыток аутентификации.

Возможные значения: от 1 до 999

ResetFailedLoginAttemptsCounterAfter

Параметр определяет количество минут, которое должно пройти после последней неудачной попытки входа в систему. После того как истечёт время, счетчик попыток вернется в изначальное состояние. 

Например, если параметр установлен на 30 минут, то через 30 минут после последней неудачной попытки входа счетчик попыток сбросится.

Важно, что значение ResetFailedLoginAttemptsCounterAfter должно быть меньше или равно значению UnblockAccountAfter.

Возможные значения: от 1 до 99 999 минут.

Укажите параметр в TimeSpan в формате «hh:mm:ss»:

  • «00:02:00» — 2 минуты;
  • «00:30:00» — 30 минут
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.

Пример настройки:

"RadiusClientConfiguration": {
  "ExternalRadiusEndpoint": "10.219.151.54:1812",
  "ClientEndpoint": "0.0.0.0:12345",
  "BanAccountConfiguration": {
    "Enabled": true,
    "MaxTotalFailedLoginAttempts": 4,
    "ResetFailedLoginAttemptsCounterAfter": "00:05:00",
    "UnblockAccountAfter": "00:10:00"
  }
},
"AuthenticationConfiguration": {
	...,
  "FirstFactorSource": "ExternalRadius"
},
"ActiveDirectoryConfiguration": {
  "DomainConfigurations": [
    {
      "DomainSettings": {
        "Name": "first.test.ru",
        "NetBiosName": "first.test",
        "ServerAddress": "0.0.0.0:389"
      },
      "LDAPCredentials": {
        "UserName": "Login",
        "Password": "*********",
        "AuthType": "Basic"
      }
    }
  ]
},
...,
...,
...,

В этом примере включена блокировка для всех доменов организации. Пользователь будет заблокирован после 4 неудачных попыток аутентификации. Через 5 минут после последней неудачной попытки входа счетчик попыток сбросится. Когда учётная запись разблокируется, в нашем случае, через 10 минут, пользователь сможет снова войти в систему. 

После внесения изменений в файл appsettings.json перезапустите службу RADIUS.


Двухфакторная аутентификация на ваши ресурсы

Протестируй функциональность бесплатно в течении 2х недель

База знаний