OpenWrt: защита sshd от брутфорс-атак

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

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

Основных идей две:
1. Закрыть доступ к порту 22, перенаправить на него какой-либо другой произвольный номер порта.
2. Ограничить количество подключений к перенаправленному порту.

Первое защитит от сканеров, рыскающих в поисках открытых стандартных SSH-портов. Второе – предотвратит возможность брутфорс-атаки с подбором паролей. И поможет нам в этом файрвол iptables.

В терминологии OpenWrt для реализации изложенного достаточно добавить всего лишь три правила /etc/firewall.user:

# redirect ssh masked listening port to real one
iptables -t nat -A prerouting_wan -p tcp --dport 39054 -j DNAT --to 172.16.0.1:22

# set restrictions on port 22 from WAN side
iptables -A input_wan -d 172.16.0.1 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 3 --name ATTACKER_SSH --rsource -j DROP
iptables -A input_wan -d 172.16.0.1 -p tcp --dport 22 -m state --state NEW -m recent --set --name ATTACKER_SSH --rsource -j ACCEPT

Что происходит в данном примере:
1. Порт 39054 со стороны WAN перенаправляется на порт 22 на локальный IP-адрес роутера 172.16.0.1.
2. На перенаправленные таким образом новые подключения накладывается следующее ограничение: за 180 секунд будет принято не более трех коннектов.

Так, за три минуты злоумышленник не сможет сделать более трех попыток подобрать пароль. Следовательно, на широкий перебор вариантов времени у него должно уйти куда как больше. Кроме того, злоумышленнику придется еще потратить некоторое время на поиски порта 39054, ведь на стандартный порт 22 со стороны WAN роутер откликаться не станет.

This entry was posted in Сеть и интернет and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>