Привет друзья. Готовы поработать в субботу и потом отдохнуть 4 дня?
Жаль что подобные графики справедливы для рядовых айтишников. А нам инженерам приходится держать оборону 24/7/365. Но в этом есть и свои плюсы.
Теперь по делу. Иногда клиент очень хочет оставить авторизацию на Linux сервера по ssh по паролю.
Я таких никогда не уговариваю использовать ключи, ну хочет человек, ради бога.
Возможно когда его забрутфорсят, мозги встанут на место.
Ладно. Как жить с паролями? Обычно! Я выполняю 3 действия:
- При первом логине запрашиваем смену пароля
- Пароль должен отвечать заданному шаблону
- Ну и естественно втыкаю fail2ban
Давай теперь по каждому пункту.
Чтобы при первом логине был запрос на смену пароля, делаем так:
adduser newuser
chage -d0 newuser
Сначала заводим пользователя, а потом ставим на него черную метку. Через ключ -d говорим через сколько дней запросить смену пароля. У меня это 0, то есть поменять при первом логине.
В chage есть еще много гибких штук для наложения ограничений. Ознакомься на досуге с его хелпом. Иногда бывает полезно нарулить запретов и насовать палок в ноздри.
Теперь как сделать шаблон пароля.
Шаблон это штука, которая запретит использовать пароли если они не соответствуют ожидаемому результату. Потребует от тебя ввести спецсимволы и прочие непотребности.
Тут посложнее. Будем использовать модуль libpam-pwquality.
apt install libpam-pwquality
Открываем файл /etc/security/pwquality.conf и настраиваем под свои хотелки:
minlen = 16
dcredit = -1
ucredit = -1
lcredit = -1
ocredit = -1
Длина пароля, маленькие и большие буковки, спецсимволы и т.п.
Да, нужно включить этот модуль в файле /etc/pam.d/common-password
password requisite pam_pwquality.so retry=3
Теперь при смене паролей, будут ошибки:
The password contains less than 1 uppercase letters
The password contains less than 1 non-alphanumeric characters
The password is shorter than 16 characters
Пока пароль не будет соответствовать заданному шаблону.
Ну а дальше настраиваешь fail2ban по мануалам из гугла или ютуба и радуешься.
Стоит ли менять 22 порт на другой?
А зачем? Если у тебя логин по ключам и fail2ban, да ради бога, пусть стучатся головой об стенку. Единственное забьются логи, да похер, логи надо сразу в лог-сервер заворачивать.
Как отключить логи я писал в этом посте.
Ну и для прикола можешь Port knocking настроить, если уж совсем делать нехуй.
Всем котиков и бородатых мужиков!








Комментарии
Виджет комментариев загружается с серверов Telegram и может использовать cookies. Разрешите внешние сервисы, чтобы открыть обсуждение.