Mikrotik защита от хакеров и спамеров

Как оградить MikroTik от спамеров.

взято из инета.

  Наткнулся на сайт joshaven.com, где Joshaven Potter уже это все реализовал, и любезно поделился со всеми. Мало того, даже создал собственную платформу для преобразования IP-листов, и дал доступ к этим спискам. За что ему огромное человеческое спасибо!

Итак, разберем что-же нам предлагают. Предлагается вариант с добавлением «черных IP» с сервисов:

  • OpenBL — сервис, ранее известен как SSH blacklist, выявляет различные виды угроз в Интернет. Сервис содержит ряд хостов, в которых мониторятся разные порты: 21 (FTP), 22 (SSH), 23 (TELNET), 25 (SMTP), 110 (POP3), 143 (IMAP), 587 (Submission), 993 (IMAPS) и 995 (POP3S) на наличие брутфорс атак, а также анализирует запросы на порты 80 (HTTP) и 443 (HTTPS) для «левых», явно представляющих угрозу, подключений (атака на PHPMyAdmin и другие веб-сервисы).
  • Spamhaus — сервис предоставляющий списки адресов, которые используются известными спамерами и хакер-группировками. Так же сюда попадают списки адресов и автономных систем которых «хакнули» и с помощью их распространяют вредоносное ПО или производят атаки.
  • dshield.org — сервис предоставляет топ 20 IP класса C (/24) подсетей, с которых были атаки, за последние 3-е суток.
  • malc0de.com — блэклист обновляется ежедневно. Туда заносятся опасные IP, с которых были документированные атаки (или распространение вредоносного ПО) за последние 30 дней.

Далее нужно добавить эти IP в drop правило Mikrotik. Создаем правило:

/ip firewall filter
add action=drop chain=input comment=»Drop new connections from blacklisted IP’s to this router» connection-state=new in-interface=ether1-niknet src-address-list=blacklist

Как видим все соединения с адрес-листа blacklist — блокируем. Joshaven Potter взял на себя сортировку IP в нужный нам формат, нам же остается только скачать готовый скрипт в формате .rsc с его сайта. Данные блэк-листов на сайте обновляются ежедневно. Файл-скрипт имеет вид:

OpenBL

Скрипт для вставки в терминал:

# Script which will download the OpenBL list as a text file & Script which will Remove old OpenBL records and add new one
/system script add name=»DownloadOpenBL_ReplaceOpenBL» source={
/tool fetch url=»http://joshaven.com/openbl.rsc» mode=http;
:log info «Downloaded openbl.rsc from Joshaven.com»;
:delay 40;
/ip firewall address-list remove [find where comment=»OpenBL»];
/import file-name=openbl.rsc;
:log info «Removed old OpenBL records and imported new list»;
}

Правило в Scheduler.

/system scheduler add comment=»Download openbl list_Apply openbl List» interval=3d name=»Download and Apply OpenBL_List» on-event=DownloadOpenBL_ReplaceOpenBL start-date=jan/01/1970 start-time=00:35:04

Фактически мы создаем скрипт, который закачает файл с сайта joshaven.com со списком IP, и добавит или заменит его в адрес-листе blacklist с комментарием каждой записи «OpenBL». И этот скрипт «обновления записей» поместим на выполнение каждые 3 дня.

Spamhaus

  Скрипт

# Script which will download the drop list as a text file & Script which will Remove old Spamhaus list and add new one
/system script add name=»DownloadSpamhaus_ReplaceSpamhaus» source={
/tool fetch url=»http://joshaven.com/spamhaus.rsc» mode=http;
:log info «Downloaded spamhaus.rsc from Joshaven.com»;
:delay 40;
/ip firewall address-list remove [find where comment=»SpamHaus»];
/import file-name=spamhaus.rsc;
:log info «Removed old Spamhaus records and imported new list»;
}

  Scheduler

# Schedule the download and application of the spamhaus list
/system scheduler add comment=»Download spamhaus list_Apply spamhaus List» interval=3d name=»DownloadSpamhausList and ApplySpamhausList» on-event=DownloadSpamhaus_ReplaceSpamhaus start-date=jan/01/1970 start-time=00:40:04

dshield.org

  Скрипт

# Script which will download the drop list as a text file & Script which will Remove old dshield list and add new one
/system script add name=»Download_dshield_Replace_dshield» source={
/tool fetch url=»http://joshaven.com/dshield.rsc» mode=http;
:log info «Downloaded dshield.rsc from Joshaven.com»;
:delay 40;
/ip firewall address-list remove [find where comment=»DShield»];
/import file-name=dshield.rsc;
:log info «Removed old dshield records and imported new list»;
}

  Scheduler

/system scheduler add comment=»DownloadDShieldList_InstallDShieldList» interval=3d name=»Download and Apply dshield_List» on-event=Download_dshield_Replace_dshield start-date=jan/01/1970 start-time=00:45:04

 malc0de.com

Скрипт

# Script which will download the malc0de list as a text file & Script which will Remove old malc0de list and add new one
/system script add name=»Download_malc0de_Replace_malc0de» source={
/tool fetch url=»http://joshaven.com/malc0de.rsc» mode=http;
:log info «Downloaded malc0de.rsc from Joshaven.com»;
:delay 40;
/ip firewall address-list remove [find where comment=»malc0de»];
/import file-name=malc0de.rsc;
:log info «Removed old malc0de records and imported new list»;
}

Scheduler

# Schedule the download and application of the malc0de list
/system scheduler add comment=»Download and Apply malc0de list» interval=3d name=»Downloadmalc0deList_Installmalc0deList» on-event=Download_malc0de_Replace_malc0de start-date=jan/01/1970 start-time=00:50:04

————————————-
Автор и владелец joshaven.com уверяет, что его сервер работает с высокой степенью доступности, имеет распределение нагрузки и резервирование каналов, поэтому списки с его серверов всегда доступны. Так же, если вы захотите формировать списки сами, он приводит скрипт, который вы можете поместить в cron у себя на сервере linux и выполнять по регламенту, а ваш микротик будет забирать эти списки локально:

Note: Please only use the following update scripts sparingly because the source sites don’t need a bunch of unnecessary traffic. Anyway, the following script will run on a Linux server (requires gawk & wget). I placed it in a file with 755 permissions in my /etc/cron.daily/ folder to be run daily.

#!/bin/sh
saveTo=/var/www
now=$(date);
echo «# Generated by Joshaven Potter on $now» > $saveTo/dshield.rsc
echo «/ip firewall address-list» >> $saveTo/dshield.rsc
wget -q -O — http://feeds.dshield.org/block.txt | awk —posix ‘/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.0\t/ { print «add list=blacklist address=» $1 «/24 comment=DShield»;}’ >> $saveTo/dshield.rsc
echo «# Generated by Joshaven Potter on $now» > $saveTo/spamhaus.rsc
echo «/ip firewall address-list» >> $saveTo/spamhaus.rsc
wget -q -O — http://www.spamhaus.org/drop/drop.lasso | awk —posix ‘/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\// { print «add list=blacklist address=» $1 » comment=SpamHaus»;}’ >> $saveTo/spamhaus.rsc
echo «# Generated by Joshaven Potter on $now» > $saveTo/openbl.rsc
echo «/ip firewall address-list» >> $saveTo/openbl.rsc
wget -q -O — http://www.openbl.org/lists/base_30days.txt.gz | gunzip | awk —posix ‘/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/ { print «add list=blacklist address=» $1 » comment=OpenBL»;}’ >> $saveTo/openbl.rsc
echo «# Generated by Joshaven Potter on $now» > $saveTo/malc0de.rsc
echo «/ip firewall address-list» >> $saveTo/malc0de.rsc
wget -q -O — http://malc0de.com/bl/IP_Blacklist.txt | awk —posix ‘/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/ { print «add list=blacklist address=» $1 » comment=malc0de»;}’ >> $saveTo/malc0de.rsc

  Напоследок хочу предостеречь, скачивая и выполняя .rsc файл с стороннего ресурса вы можете получить уязвимость в своей сети, поэтому принимайте взвешенные решения!
Запись опубликована в рубрике Mikrotik. Добавьте в закладки постоянную ссылку.

Добавить комментарий