Поиск по сайту:

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 будут лучше защищены от злоумышленников, которые бродят по Интернету в поисках доступа к системам.

Статьи по данной тематике