Защита Mikrotik от подбора паролей, за минуту
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами произвели базовую настройку роутера Mikrotik, тем самым наладив работу малого офиса. Изучая журналы логов на оборудовании вы можете увидеть события "login failure for user via ssh, telnet, web", означающие, что на роутер идет атака брутфорса, по подбору пароля по определенным портам. Это означает, что нам нужно защитить наше оборудование от таких попыток, чем мы и займемся ниже, самое приятно, что все это делается буквально за минуту.
Как ограничить доступ к службам Mikrotik
Когда ваш роутер, в моем примере MikroTik RB4011iGS, получает внешний IP-адрес от провайдера, который вы настраиваете на WAN порту, то боты (Это такие роботизированные программы) завидев новое устройство с внешним адресом, сразу начинаю подбирать логин с паролем, чтобы получив к нему доступ начать рассылку спама или еще чего-нибудь. Данная практика касается абсолютно всех устройств. виртуальных машин, сайтов и многое другое, что имеет доступ в интернет, все это потенциальная цель для взлома и дальнейшего паразитического использования, поэтому вы как сетевой администратор или просто ответственный пользователь должны периодически просматривать события в журналах вашего устройства, чтобы идентифицировать попытки его компрометации.
Существует три метода позволяющие вам задать IP-фильтрацию, позволяющей вам ограничить доступ к службам роутера Mikrotik, только с определенных IP-адресов.
Как видим у нас есть три потенциальные точки проникновения на ваш роутер микротик. Как я и писал выше, зайдя на устройство, в разделе Log, я увидел вот такой подбор паролей по разным службам:
login failure for user root from 177.185.35.216 via telnet
Как видим идет постоянная подборка учетных данных, раз в три секунды, для самого роутера эти события имеют статус "system, error, critical" и их генерирование, плохо сказывается на работе оборудования, создавая лишнюю нагрузку.
Фильтрация и отключение служб через Services
Как я и писал выше, все что вы не используете вы должны отключить, в моем случае, мне для управления моим MikroTik RB4011iGS достаточно веб интерфейса, поэтому я отключу: ftp, ssh, telnet. Для этого слева есть столбец с кнопкой "D".
В итоге на против нужной вам службы появился крестик и сама надпись стала прозрачной.
Пробуем проверить доступность порта из Германии, как видим 22 порт SSH закрыт, это хорошо, значит его больше не будут брутфорсить.
Если вы используете, например SSH, но хотите его оградить от перебора паролей, то вы можете пойти на хитрость и разрешить обращение к нему, только с определенной сети или IP-адреса. Для этого на включенной службе, щелкните два раза. В результате чего у вас откроется редактор правила фильтрации, где вам в поле "Port" необходимо указать по какому порту будет работать служба, для большей безопасности советую менять стандартные значения, на диапазон после 1024 и в поле "Avaliable From" указать сеть или IP-адрес, кому будет разрешено. Сохраняем правило.
В итоге у меня получилось вот так, пробуем проверить с другого IP доступ до служб.
Самое интересное, что порт при SSH при проверке с внешнего сервера показывал статус "Open", что слегка обескураживало
Но если вы попытаетесь подключиться через клиента Putty или его аналоги, то увидите ошибку подключения "Network error: Software caused connection abort", что доказывает, что созданное правило фильтрации на уровне службы работает.
Пробовал настроить фильтрацию служб и через WinBox, но результат тот же
Поэтапная блокировка IP откуда идет перебор паролей на Mikrotik
Предположим, что вы все же привыкли работать в терминале, но ограничиваться одним IP-адресом или подсеткой на уровне фильтрации на службе вы не хотите, тут у вас есть два выхода:
- Во первых, вы можете отключить SSH и Telnet, оставив только веб-интерфейс, в котором есть тот же терминал. Попасть в него можно, выбрав на роутере Mikrotik соответствующую кнопку в правом, верхнем углу. Как видите тут есть все команды.
- Второе, это настроить правила фильтрации и бана через SSH/Терминал, на этом я и остановлюсь. Лично я напоминаю, что я всегда стараюсь изменять стандартные значения портов на нестандартные, для большей безопасности.
Создание правил:
Первым делом перейдем в раздел /ip firewall filter
Когда кто-то первый раз обращается по SSH на порт 2233, то мы его идентифицируем для себя и помещаем к себе в список IP адресов под названием "ssh_round1" на 2 минуты
Далее наш роутер Mikrotik начинает наблюдать за новым IP-адресом, который был помещен в "ssh_round1". Если он еще раз в течении 2-х минут попытается произвести подключение на порт SSH 2233 (В моем случае), то мы его помещаем во второй список "ssh_round2", но уже на 2 минуты.
Далее если кто-либо из второго списка "ssh_round2" вновь попытается подключиться по SSH 2233, то мы его в третий раз заносим в новый список "ssh_round3", но уже на минуту, так как это уже подозрительно.
Если мы выявляем, что из третьего списка к нам опять обратился данный IP-адрес, то заносим его в черный лист запрета и баним на 7 дней, неделю не меньше, как говорил кролик из Винни Пуха.
Если хотите, чтобы все кто попал в ваш блэклист были забанены на вечно, то для этого можно использовать правило:
А вот так выглядят наши созданные правила в WinBox, раздел "Firewall".
Следуя таким конструкциям, вы можете создавать подобные правила и для других служб при необходимости. Надеюсь, что было интересно и вы смогли более надежно защитить ваш роутер Mikrotik.
А можно показывать ни только через команды, но и наглядно через winbox, где и что нужно заносить
Спасибо, добрейший человек. а то ведь жизни не давали, паразиты
Добрый день! Рад, что смог вам помочь.
Спасибо, адаптировал под себя!
Не совсем понятно «в третий раз заносим в новый список «ssh_round3″, но уже на минуту, так как это уже подозрительно.» Почему на минуту? Может наоборот надо больше дать времени нахождения в списке, чтобы его подольше мониторить? Или по истечении минуты, даже если не стукнулся по SSH, то автоматом попадет в черный список?
Спасибо, хороший человек
Спасибо Иван, всё коротко и понятно. Будьте счастливы!
По этим фильтрам сразу в семидневный бан адрес попадет, так как сработают сразу все условия и IP проедет по всем спискам.