Чат PHP-разработчиков
Логические задачи
Как защитить SSH от взлома

Методы защиты SSH от взлома

SSH – безопасный протокол для передачи данных (команд, файлов, видеосигнала и т.д.) между компьютерами.

По умолчанию он включен на VPS и выделенных серверах большинства хостинг-провайдеров, так как с его помощью возможно легко и безопасно управлять удаленной машиной. К слову, на сервисе Велл-Веб можно недорого арендовать сервер VPS. Так как SSH поднят на всех VPS, Чтобы при использовании Secure Shell не возникло проблем, необходима правильная защита SSH.

Отключаем доступ от рута

В первую очередь рекомендуется деактивировать возможность удаленного подключения к машине под учетной записью суперпользователя (root). Для этого нужно найти файл sshd_config, который обычно (но не всегда) находится в каталоге /etc/ssh/, и открыть его.

В нем потребуется отыскать пункт PermitRootLogin и заменить его значение на "no", то есть должна получиться такая запись:

PermitRootLogin no

Естественно, это не предотвратит взлом, но все же несколько его затруднит.

Чтобы свести к минимуму возможность взлома, рекомендуется вместо авторизации по логину и паролю использовать авторизацию при помощи ключей. Это можно сделать несколькими способами. Подобное, к слову, еще и неплохая SSH защита от брутфорса.

Смена порта по умолчанию

Так как взлом сервера по SSH обычно происходит через перебор паролей (брутфорс), то рационально будет изменить стандартный 22-й порт на какой-нибудь другой. Сделать это очень легко. В первую очередь нужно открыть уже упомянутый файл sshd_config, и добавить там одну строчку:

Port номер_порта

Запись будет выглядеть, например, следующим образом:

Port 3048

Это позволит значительно уменьшить количество желающих несанкционированно проникнуть на сервер. Перед изменением номера порта обязательно следует убедиться, что это не навредит работе других приложений. Также нужно выбрать тот порт, который еще не используется, чтобы программы не конфликтовали из-за него.

Ограничение доступа по IP

Еще один способ защиты, который практически до нуля снизит вероятность несанкционированного подключения – это установка ограничений на авторизацию. SSH можно настроить таким способом, чтобы авторизоваться на сервере можно было только с удаленных машин с определенными IP-адресами. Для этого в файле sshd_config в строке AllowUser к имени каждого пользователя нужно дописать @номер_IP. Запись может иметь, например, такой вид:

AllowUsers admin@192.168.0.11, user1@192.168.0.25

Перед тем, как использовать этот способ, рекомендуется убедиться, что не возникнет ситуаций, при которых может потребоваться зайти на сервер с машины, IP-адрес которой не предусмотрен конфигурацией.

Безопасный пароль

Ну и конечно же стоит использовать стойкий к перебору пароль. Длинный и с как можно более разнообразными символами, желательно с кракозябрами. Это must have.

Заключение

Все эти способы позволят защитить доступ к вашему серверу по SSH. Также советую прочесть статью о том, как выбрать VPS сервер.

Присоединяйтесь к нам в ВКонтакте и в Facebook, чтобы не пропустить новые уроки. А также вступайте в наш чат PHP-разработчиков в Telegram.
Об авторе
Generic placeholder image
Артём Ивашкевич
Занимаюсь программированием более трех лет, работаю над проектами с миллионной посещаемостью. В свободное время обучаю программированию на PHP других людей, потому что мне это нравится. Если вы интересуетесь темой IT и хотели бы стать разработчиком, рекомендую прочитать статью о том, как я стал программистом.
Читайте также
Комментарии (0)