Я получаю регулярные попытки грубой силы ssh на сервере x86 solaris 11.1. В Linux я использую DenyHosts для блокировки соединений после ряда неправильных попыток входа в систему. Есть ли аналогичный пакет для Solaris 11.1 или какие-либо рекомендации по другим альтернативным способам предотвращения грубой силы ssh?
Есть ли рекомендации по другим альтернативным способам предотвращения грубой силы ssh?
Измените порт, на котором работает SSH. Попытки грубой силы в основном делаются против порта 22.
$ sudo grep ^Port /etc/ssh/sshd_config
Port 10022
Ограничьте пользователей, которые разрешено подключаться, например:
$ sudo grep ^AllowUsers /etc/ssh/sshd_config
AllowUsers dannix
AllowUsers gene@192.168.3.*
AllowUsers bill@172.16.0.100
Отключить вход root:
$ sudo grep ^PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin no
Использовать аутентификация с открытым ключом а не пароли.
Отключите аутентификацию на основе пароля (сделайте это, только если вы используете аутентификацию с открытым ключом):
$ sudo grep ^PasswordAuthentication /etc/ssh/sshd_config
PasswordAuthentication no
Кроме того, вы можете использовать правила брандмауэра, чтобы ограничить, какие удаленные хосты могут получить доступ к SSH в вашей системе.
Решение, предложенное Джином, требует, чтобы вы знали, кто и откуда будет подключаться. Если это соответствует вашим потребностям, вы должны пойти с этим. Это просто. Независимо от того, что вы всегда должны отключать вход в систему с правами root в своем демоне SSH. (в Solaris 11 и далее вход в ящик извне с правами root был бы невозможен (потому что root стал ролью, а не пользователем), поэтому установка этого ограничения в конфигурацию демона SSH на самом деле ничего не меняет, но все же я рекомендую Это).
Если вы уже знакомы с DenyHosts почему нет также используйте его на Solaris?
Во всяком случае, другое решение (для Solaris) подробно описано Вот. Он останавливает атаки методом грубой силы, поддерживая «черный список» в фоновом режиме. Если один и тот же IP-адрес отправляет X попыток подключения в течение Y секунд, он помещается в черный список, и дальнейшие попытки для этого IP-адреса запрещены. Обычно вам нужен комендантский час, скажем, на 1 час, после чего такой черный список для определенного IP-адреса удаляется. Преимущество решения по ссылке заключается в том, что оно не требует дополнительного программного обеспечения. На самом деле это просто сценарий, который запускается при каждой попытке подключения по SSH, а в Solaris 11 он очень ненавязчив, поскольку вам не нужно изменять какие-либо настройки системы, устанавливать дополнительные пакеты или что-то в этом роде.
В этом случае вы можете играть с MaxStartups
и LoginGraceTime
в SunOS sshd_config
. Но лучше всего блокировать эти попытки еще до достижения sshd
с Solaris ipf
.
Здесь вы можете найти довольно часто обновляемый список IP-адресов для блокировки: OpenBL Очень редко вижу попытки в логах, просто используя этот черный список.
Затем вы можете собрать скрипт задания cron для обновления правил FW или, при желании, есть hosts.deny
форматированный файл доступен.