Жаль что подобные графики справедливы для рядовых айтишников. А нам инженерам приходится держать оборону 24/7/365. Но в этом есть и свои плюсы.
Теперь по делу. Иногда клиент очень хочет оставить авторизацию на Linux сервера по ssh по паролю.
Я таких никогда не уговариваю использовать ключи, ну хочет человек, ради бога.
Возможно когда его забрутфорсят, мозги встанут на место.
Ладно. Как жить с паролями? Обычно! Я выполняю 3 действия:
1. При первом логине запрашиваем смену пароля
2. Пароль должен отвечать заданному шаблону
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-passwordpassword 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 по мануалам из гугла или ютуба и радуешься.
Но вообще не рекомендую подобной херней заниматься и делать сразу всё на ключах + по возможности настраивать iptables.
✔️ Стоит ли менять 22 порт на другой?
А зачем? Если у тебя логин по ключам и fail2ban, да ради бога, пусть стучатся головой об стенку. Единственное забьюся логи, да похер, логи надо сразу в лог сервер заворачивать.
Как отключить логи я писал в этом посте.
А вообще всегда помни, если твою инфраструктуру захотят поиметь, а еще и денег за это кому-то заплатят, то ничего не поможет. Максимум можешь перевести свой сервер в оффлайн и то не факт что это как-то тебя защитит. Лично знаю много подобных случаев, да и ты всяко про такое слышал.
Ну и для прикола можешь Port knocking настроить, если уж совсем делать нехуй.
Всем котиков и бородатых мужиков! 🥳😲
tags: #linux
@ВАSНDАYS | BАSHDАYS.CОM