1

Существует ли «пошаговый» или консервированный пакет для блокировки входящих попыток ssh из любой точки США?

Никто, кроме меня или нескольких коллег не должен пытаться проникнуть в мой рабочий стол дома; Конечно, жизнь не так хороша, и мой /var/log/auth.log полон попыток входа в систему root со всего мира ...

Сложным решением было бы каким-то образом захватить IP-адрес, найти его в Интернете с помощью поиска по сценарию HTTP, а затем принять решение о действии ... существует ли консервативный сценарий или пакет, который блокируется по стране?

(примечание: я установил denyhosts, хорошо работает для блокировки после попытки, но есть очень много попыток с широкого диапазона IP-адресов!)

связанный вопрос:игровой сервер - как я могу заблокировать соединения из других стран?

4 ответа4

2

Если у вас или ваших коллег будут статические IP-адреса, вы можете использовать файлы /etc/hosts.allow и /etc/hosts.deny.

Например, в /etc/hosts.allow вы можете поместить ...

SSHD: 13.45.75.78

И для /etc/hosts.deny ...

SSHD: ALL

Это запрещает доступ по SSH, кроме 13.45.74.78. Вы также можете использовать шаблоны, если это необходимо.

1

Я согласен с yanokwa, но хочу добавить немного.

Я согласен как с использованием альтернативного порта SSH, так и с использованием белого списка IP-адресов. Минимальные усилия, но значительный выигрыш.

Проблема, с которой вы столкнулись, заключается в том, что у домашних пользователей нет статических IP-адресов, которые не предоставляются большинством интернет-провайдеров. Альтернативой будет гибридный подход. Вы можете оставить порт 22 в качестве стандартного IP-адреса порта и белого списка для этого порта, такого как что-либо в вашей собственной подсети и несколько "доверенных" IP-адресов (которые, возможно, могут быть подделаны, если они действительно заботятся). Затем используйте iptables для использования другого порта (выше 1024) для прослушивания и внутренней переадресации на порт 22.

Таким образом, порт 22 имеет значительно меньшую поверхность атаки, и вы все равно можете подключиться с любого IP, например, если вам необходимо подключиться с локальной точки доступа Wi-Fi.

1

одна простая вещь, чтобы предотвратить атаки SSH, это изменить ваш порт SSH. Вы также можете внести в белый список определенные ips, используя denyhost или authfail.

0

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

Установите хороший брандмауэр. (Я использую Shorewall, чтобы построить мой.)

Подумайте об использовании стука портов, чтобы порт оставался закрытым, если это не требуется. Откройте ssh по адресам, которые, как вы знаете, нужно использовать. Для пользователей с динамическими адресами вы можете использовать whois для определения вероятного размера блока, в котором они находятся. Открытые правила должны идти до правил стука порта.

Попробуйте использовать fail2ban для блокировки адресов, которые сканируют вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .