В роутерах Keenetic реализована защита интернет-центра от роботов, перебирающих пароли (защита от брутфорса, англ. brute force). Защита работает для внешних интерфейсов устройства по протоколам HTTP (TCP/80), HTTPS (TCP/443), Telnet (TCP/23), SSHv2, FTP и со стороны интернет-облака службы KeenDNS.
По умолчанию данная защита включена в интернет-центре. В случае, если кто-то в течение 3-х минут 5 раз неверно введет учетные данные для входа в интернет-центр, его IP-адрес будет заблокирован на 15 минут.
Внешне это выглядит следующим образом:
1. Злоумышленник обращается к веб-интерфейсу интернет-центра со стороны внешнего WAN-интерфейса.
2. Вводит неверные логин и пароль. После срабатывания защиты веб-интерфейс интернет-центра перестает отвечать на запросы с IP-адреса, с которого выполнялись попытки доступа.
3. В системном журнале интернет-центра появляются соответствующие записи вида:
Июн 26 14:30:39 ndm
Core::Scgi::Auth: authentication failed for user admin.
Июн 26 14:30:43 ndm
Core::Scgi::Auth: authentication failed for user test.
Июн 26 14:30:47 ndm
Core::Scgi::Auth: authentication failed for user user1.
Июн 26 14:30:51 ndm
Core::Scgi::Auth: authentication failed for user admin.
Июн 26 14:30:52 ndm
Netfilter::Util::Conntrack: flushed 7 IPv4 connections for 109.252.x.x.
Июн 26 14:30:52 ndm
Netfilter::Util::BfdManager: "Http": ban remote host 109.252.x.x for 15 minutes.
Июн 26 14:45:52 ndm
Netfilter::Util::BfdManager: "Http": unban remote host 109.252.x.x.
Управлять данной функцией можно через интерфейс командной строки (CLI) интернет-центра. Синтаксис команд следующий:
ip http lockout-policy {threshold} [{duration} [{observation-window}]]
ip telnet lockout-policy {threshold} [{duration} [{observation-window}]]
ip ssh lockout-policy {threshold} [{duration} [{observation-window}]]
vpn-server lockout-policy {threshold} [{duration} [{observation-window}]]
где
threshold — количество попыток ввести неверный пароль, возможные значения от 4 до 20 попыток (по умолчанию 5);
duration — время в минутах, на которое блокируется IP-адрес злоумышленника, возможные значения от 1 до 60 минут (по умолчанию 15 минут);
observation-window — период времени в минутах, за который должны произойти неверные попытки, после чего счетчик сбрасывается, возможные значения от 1 до 10 минут (по умолчанию 3 минуты).
Для моделей с поддержкой работы USB-накопителей, дополнительно присутствует команда, для защиты от вторжения путем перебора паролей встроенного FTP-сервера:
ip ftp lockout-policy {threshold} [{duration} [{observation-window}]]
В KeeneticOS по умолчанию выключена возможность логирования попыток авторизации в системе по протоколу HTTP. Включить её можно специальной командой. После этого в системном журнале будут фиксироваться события о попытках подключения к веб-интерфейсу роутера по протоколу HTTP. В интерфейсе командной строки (CLI) интернет-центра выполните команды:
ip http log auth
system configuration save
Вот пример сообщений в системном журнале о попытках подключения к вебу (в нашем примере показано первое сообщение о неудачной попытке подключения, а во втором сообщении информация об удачном подключении к вебу):
Апр 18 10:42:43 ndm Core::Scgi::Auth: authentication failed for user "admin" from "172.16.187.33".
Апр 18 10:43:11 ndm Core::Scgi::Auth: opened session "OIZROUQRLNJEMZTZ" for user "admin" from "172.16.187.33".
TIP: Примечание
1. Начиная с версии KeeneticOS 3.7.1 реализована защита от перебора паролей для удаленного доступа к устройству через доменное имя KeenDNS при работе в режиме "Через облако".
2. Начиная с версии KeeneticOS 2.12 появилась возможность задать параметры отслеживания попыток вторжения путем перебора паролей SSHv2 и FTP-сервера для публичных интерфейсов (по умолчанию функция включена). Для этого соответственно используются команды:
ip ssh lockout-policy
ip ftp lockout-policy
3. Начиная с версии KeeneticOS 3.1 добавлена возможность задать параметры отслеживания попыток вторжения путем перебора паролей VPN-сервера PPTP (по умолчанию функция включена). Для настройки используется команда:
vpn-server lockout-policy
Полную информацию, по синтаксису указанных в статье команд, вы найдете в справочнике командного интерфейса в Центре загрузки.