Служба SSH есть почти на каждом сервере: виртуальном или железном. Доступ по SSH - это основа администрирования. В идеале его стоит закрывать от публичной сети, но на практике это не всегда возможно.
Основные параметры настраиваются в
/etc/ssh/sshd_config. Ниже указаны моменты, на которые стоит обратить внимание.1️⃣ Парольная аутентификация. Каждый решает сам:
PasswordAuthentication yes
Можно оставить ее включенной как резервный вариант. Если пароль сложный и несловарный - реального риска перебора нет.
Но если отключить парольную аутентификацию, почти весь бот-скан исчезает из логов.
2️⃣ Аутентификация по ключам. По умолчанию включена:
PubkeyAuthentication yes
Лучше использовать ключи ed25519 - они короче, быстрее и безопаснее RSA в большинстве практических сценариев.
3️⃣ Доступ root. Разрешать или нет - зависит от модели работы:
PermitRootLogin no
Если вы администрируете сервер один - работа напрямую под root упрощает жизнь.
Если команда, то лучше отдельные пользователи + sudo + аудит действий.
Если сомневаетесь, лучше временно отключите вход root и работайте через sudo.
4️⃣ Ограничение пользователей и групп. Можно явно задать, кто имеет право подключаться:
AllowGroups sshgroup
AllowUsers user01 user02
Я чаще применяю это для SFTP-доступа, создавая отдельную группу под файловый обмен.
5️⃣ Порт. Стандарт - 22:
Port 22
Смена порта - это не защита, а лишь снижение шума. Боты все равно найдут сервис, особенно если порт открыт публично и индексируется сканерами. Но хуже от смены обычно не становится.
6️⃣ Количество попыток входа. Ограничиваем перебор в рамках одной сессии:
MaxAuthTries 3
Три неверных ввода - соединение рвется.
7️⃣ Количество сессий внутри подключения. Не путать с числом параллельных подключений:
MaxSessions 1
Для обычного администрирования одной сессии достаточно.
8️⃣ Принудительная команда и SFTP-изоляция. Можно запускать не shell, а конкретную команду, например, логирующую обертку или SFTP.
Пример для группы sftpusers с chroot:
Subsystem sftp internal-sftp -u 002
Match User sftpusers
ChrootDirectory /var/www
ForceCommand internal-sftp -u 002
Пользователи группы будут ограничены SFTP-доступом к
/var/www с umask 002.Главное - это осознанная настройка, а не конфиг по умолчанию.
#linux #ssh
🧑💻 NetworkAdmin