5 советов по обеспечению безопасности SSH на вашем Linux-сервере или настольном компьютере
Secure Shell — один из наиболее безопасных вариантов удаленного входа в систему Linux. Но есть способы сделать эту технологию еще более безопасной.
Я использую Secure Shell (SSH) уже несколько десятилетий. Благодаря этому инструменту удаленного входа я могу быть уверен, что мои удаленные машины принимают входы безопасно и эффективно. В то же время я также понимаю, что ничто не может быть на 100% безопасным на любом устройстве, подключенном к сети, поэтому я всегда уделяю время тому, чтобы лучше защитить SSH на каждом компьютере, который я использую.
Вы можете быть удивлены тем, насколько легко добавить несколько дополнительных «уровней» безопасности. Как я подчеркиваю ниже, есть несколько простых в применении советов, которые помогут вашему настольному компьютеру и серверу Linux быть немного более безопасными, поэтому вы можете быть уверены, что они лучше защищены от нежелательного входа в систему.
Давай приступим к работе.
1. Установите фейл2бан
Одна из первых вещей, которые вам следует сделать (особенно на сервере), — это установить Fail2ban, который предотвращает вредоносные атаки и атаки методом перебора входа в систему, а также может использоваться для мониторинга других сетевых протоколов (таких как HTTP, SSH и FTP).
С помощью Fail2ban вы создаете тюрьмы, которые представляют собой конфигурации, которые сообщают системе, что делать, когда происходят определенные события (например, неудачная попытка входа в систему SSH). Файлы Jail (обычно называемые jail.local) хранятся в /etc/fail2ban/ и могут выглядеть примерно так:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 300
bantime = 28800
ignoreip = 127.0.0.1
Вы можете установить Fail2ban в системе на базе Debian с помощью следующей команды:
sudo apt-get install fail2ban -y
В системе на базе Fedora эта команда будет такой:
sudo dnf install fail2ban -y
2. Измените порт по умолчанию.
По умолчанию SSH использует порт 22 для входящих соединений. Эта связь общеизвестна и может привести к неприятностям. В моих более важных системах я всегда меняю порт на что-то другое, например на 2124. Важно, чтобы вы меняли порт на тот, который не используется другой системой.
Конфигурация порта задается в файле /etc/ssh/sshd_config и в строке #Port 22.
Обязательно удалите символ # и измените 22 на тот порт, который вы хотите использовать. После внесения изменений не забудьте перезапустить SSH с помощью:
sudo systemctl restart ssh
В случае систем на базе Fedora эта команда будет такой:
sudo systemctl restart sshd
3. Блокируйте пользователей с пустыми паролями.
Хотя в вашей системе, вероятно, нет пользователей с пустыми паролями, этот совет подпадает под категорию «лучше перестраховаться, чем потом потом сожалеть». Если у вас есть пользователь с пустым паролем, и злоумышленник обнаружит его, он сможет легко получить доступ к вашей машине. Чтобы предотвратить такую ситуацию, откройте файл /etc/ssh/sshd_config и найдите строку:
#PermitEmptyPasswords no
Измените эту строку на:
PermitEmptyPasswords no
Сохраните и закройте файл, а затем перезапустите SSH.
4. Ограничьте вход в систему определенными IP-адресами.
Еще один очень удобный трюк — ограничить доступ SSH к определенным IP-адресам. Например, если у вас есть только один человек, которому нужен доступ к компьютеру, и его IP-адрес — 192.168.1.11, вы можете ограничить доступ по SSH с помощью файла /etc/hosts.allow . Откройте этот файл в своем любимом текстовом редакторе, например nano, и добавьте внизу следующую строку:
sshd: 192.168.1.62, 192.168.1.11
Если у вас есть несколько IP-адресов, которые вы хотите разрешить, вы можете добавить столько, сколько необходимо, разделяя каждый адрес запятой, например:
sshd: 192.168.1.62, 192.168.1.11, 192.168.1.12, 192.168.1.13, 192.168.1.14
Сохраните и закройте файл.
5. Используйте аутентификацию по ключу SSH.
Важность аутентификации ключа SSH невозможно переоценить. В другой статье я уже показывал, как работает эта техника, поэтому обязательно прочтите эту статью и примените эту тактику. В сочетании с Fail2ban аутентификация по ключу SSH — отличный способ предотвратить нежелательный вход в систему SSH.
И вот оно — пять простых способов защитить SSH как на настольных компьютерах, так и на серверах Linux. Тот факт, что в SSH есть слово безопасный , не означает, что его следует рассматривать как средство достижения безопасной цели. После небольшой дополнительной настройки ваши логины SSH будут лучше защищены от злоумышленников, которые бродят по Интернету в поисках доступа к системам.