Файл, который упоминается в статье будет добавлен в комментарии.
Погнали 👇
Хотел писать про другое в ssh, но без блока Match ну никак не получается.
Для начала лирическое отступление. Вы установили ключи, отключили парольную аутентификацию, но вас все равно брутят.
Плохие парни, что, дебилы? Не видят, что у вас ключи стоят? Все они видят. Просто есть блок Match, с помощью которого можно задавать различные настройки разным пользователям.
PasswordAuthentication no
PubkeyAuthentication yes
Match User bashdays
MaxSessions 10
MaxAuthTries 10
PasswordAuthentication yes
В этом примере парольная аутентификация запрещена для всех, кроме пользователя bashdays.
Скажу по секрету, я тоже делаю настройки для пользователя последнего шанса.
У меня на флэшке есть ключи и putty. Потому что не знаешь, когда и откуда понадобится порулить. Но я допускаю, что и флэшки может не оказаться.
Вот тогда пригодится такой пользователь. Только чтобы пользователя быстро не нашли, я беру логин, сложнее, чем admin, Root student или pi.
Ну и парольную фразу задаю больше 20 символов. К статейке должен быть прикреплен архив с логинами реальных простукиваний.
В первой колонке - количество стуков для данного пароля. Реальная база, собранная с одной машины, с системой защиты от переборов за пару лет.
Если вы нашли свой логин в этой базе - повод задуматься. Логин
"_" в базе - замена пользователя пробел.Да, раньше можно было и такое. Благо сейчас эту дыру закрыли.
Что-то я отвлекся.
В блоке MATCH доступны ключевые слова User, Group, Host, Address, LocalAddress, LocalPort, RDomain.
Первые четыре применяются наиболее часто. Если в блоке MATCH несколько ключевых слов, они объединяются по AND.
Также возможно использование шаблонов.
Например:
Match User *bashdays*, guest*
Address 192.168.0.0/24,!192.168.0.27
Перечисления идут через запятую БЕЗ ПРОБЕЛОВ. Допускается несколько блоков MATCH.
Ну, и последний вопрос. Раз конфиг у нас с условием, как его проверять?
sudo sshd -T -C user=bashdays,addr=192.168.0.27
Выдаст на stdout конфиг для указанного пользователя с указанного адреса.
Обратите внимание. здесь ключевые слова немного отличаются:
«addr», «user», «host», «laddr», «lport», «rdomain» и отсутствует группа.
man sshd
man sshd_config
продолжение следует...
tags: #linux
—
🔔 @bashdays