Многие специалисты по информационной безопасности интересуются, как правильно задавать политики сложности и устаревания паролей консольной ОС для VMware ESX Server. Сегодня мы расскажем о том, как нужно обращаться с командой esxcfg-auth для управления аутентификацией пользователей на ESX, и как сделать безопасным логин в Service Console.
Аутентификация в VMware ESX реализуется с помощью Подключаемых модулей аутентификации (Pluggable Authentication Modules, PAM), которые обладают различными возможностями, такими как интерграция с Active Directory, большая устойчивость к подбору пароля и дополнительные возможности (например, задание сложности пароля для различных классов символов).
Если вам требуется подключить аутентификацию Active Directory для VMware ESX, необходимо ознакомиться со статьей: "Active Directory и серверы VMware ESX". Для аутентификации в Active Directory используется модуль (PAM) - pam_krb5 (протокол Kerberos версии 5).
Начнем с политик устаревания пароля Service Console для VMware ESX. Задаются они с использованием дефолтной библиотеки pam_cracklib и настраиваются так:
1. Максимальное число дней для пользования паролем для пользователя VMware ESX.
esxcfg-auth --passmaxdays=<число дней>
Здесь в качестве параметра <число дней> можно указать, например, значение 30.
2. Минимальное число дней для пользования паролем для пользователя VMware ESX.
esxcfg-auth --passmindays=<число дней>
Здесь в качестве параметра <число дней> можно указать, например, значение: 7.
3. Число дней с предупреждением о смене пароля для пользователя VMware ESX.
esxcfg-auth --passwarnage=<число дней>
Здесь в качестве параметра <число дней> можно указать, например, значение: 5.
Модуль pam_cracklib является небезопасным, поскольку он не проверяет политику пароля пользователя root (хотя и с помощью него можно задать сложность пароля). Поэтому политику сложности паролей мы будем задавать с использованием библиотеки pam_passwdqc, которую подключим с помощью команды esxcfg-auth. Сложность пароля на VMware ESX задается так:
N1 - это минимальная длина пароля, который имеет только символы из класса 1 (это символы букв в нижнем регистре - например, abc).
N2 - это минимальная длина пароля, который обязательно имеет символы из классов 1 и 2 (это символы букв в нижнем и верхнем регистре - например, abcABC).
N3 - это минимальное количество слов во фразе пароля.
N4 - это минимальная длина пароля, который обязательно имеет символы из класса 1, 2 и 3 (это буквы в нижнем и верхнем регистрах, а также цифры - например, abcABC123).
N5 - это минимальная длина пароля, который обязательно имеет символы класса 4 (это классы 1,2,3 плюс спецсимволы - например, !@#).
<match> - число, начиная с которого считается недопустимым повторение символов (например, значение 4 сделает недопустимым пароль aabbccdd).
Если в качестве данных параметров задать значение -1 - это отключит требование по данному набору классов. Рассмотрим пример:
esxcfg-auth --usepamqc=-1 -1 -1 12 8 4
Здесь мы определяем, что длина пароля будет минимум 12 символов, если в нем будут символы из 3 классов (буквы в разных регистрах и цирфры), и минимум 8 символов, если в нем будут символы из 4 классов. При этом не допускается 4 и более повторений символов в классах. При необходимости пользователя сменить пароль ему будет выдана вот такая подсказка (видим, что первая заглавная буква в пароле и последняя цифра - не засчитываются как использование класса):
You can now choose the new password.
A valid password should be a mix of upper and lower case letters,
digits, and other characters. You can use a 12 character long
password with characters from at least 3 of these 4 classes, or
an 8 character long password containing characters from all the
classes. An upper case letter that begins the password and a
digit that ends it do not count towards the number of character
classes used.
Для установки предельно допустимого числа логинов в сервисную консоль используется команда:
esxcfg-auth --maxfailedlogins=3
После 3-х неудачных попыток входа в Service Consle - учетная запись пользователя будет заблокирована.
Чтобы посмотреть количество неудачных попыток входа пользователя user в сервисную консоль VMware ESX нужно выполнить команду:
faillog -u user
Чтобы сбросить счетчик неудачных логинов для пользователя VMware ESX, нужно выполнить команду: