it-git.ru
  • Windows
  • Linux
  • Виртуализация
  • Active Directory
  • Почта/Домены
  • Сеть и коммутация
  • Программное обеспечение
  • Безопасность

Пример работы с автоматически обновляемым списком блокировки (спамеров)

Linux / Сеть и коммутация / Безопасность

Рассмотрим вариант блокировки спама с использованием автоматически генерируемого и обновляемого списка блокировки IP адресов.
В качестве основы возьмем генерируемый нашим сервисом (it-git.ru) файл содержащий IP адреса спамеров
Мы генерируем данный файл, в автоматическом режиме раз в сутки на основе данных с сервисов:
https://www.projecthoneypot.org/
https://check.torproject.org/
https://www.maxmind.com/
http://danger.rulez.sk/
https://www.spamhaus.org/
https://cinsscore.com/
https://lists.blocklist.de/
https://blocklist.greensnow.co/
https://github.com/firehol/blocklist-ipsets/

Полный объеденный список

Настройка на примере UFW:

За основу настройки будет взят дефолтный файл before.rules (/etc/ufw/before.rules)
Далее создаем каталог:
mkdir /tmp/ufw_rules
Для удобства работы мы так-же генерируем адаптированый список для фаервола ufw, его можно загрузить в созданный каталог:
wget -P /tmp/ufw_rules/ http://it-git.ru/dst/ufw_before.rules
Далее для простоты условно разобем исходный файл before.rules на два:
для примера tmp1_before.rules (верхняя часть файла) и tmp2_before.rules (нижняя часть файла)
Загрузим подготовленные шаблоны (можно взять у нас):
wget -P /tmp/ufw_rules/ http://it-git.ru/dst/tmp1_before.rules
wget -P /tmp/ufw_rules/ http://it-git.ru/dst/tmp2_before.rules

Далее остается создать простенький скрипт и поместить его в crontab:
#!/bin/bash
cd /tmp/ufw_rules/
rm ufw_before.rules
wget http://it-git.ru/dst/ufw_before.rules
cat /dev/null > /etc/ufw/before.rules
cat tmp1_before.rules ufw_before.rules tmp2_before.rules >> /etc/ufw/before.rules
service ufw restart

Готово!
Не забываем сделать скрипт исполняемым (chmod +x имя_скрипта)

Настройка на примере Mikrotik RouterOS:

Вариант 1.

Для RouterOS мы так-же подготовили RSC скрипт, но для других вариантов можно использовать не адаптированный список
Заходим привычным способом в System -> Script и создаем скрипт следующего содержания:
/file/remove blacklist_mikrotik.rsc
/ip/firewall/address-list/remove [find list=blacklist comment=IT-GIT]
/tool fetch url="http://it-git.ru/dst/blacklist_mikrotik.rsc" mode=http;
/import file-name=blacklist_mikrotik.rsc
Перед выполнение данного скрипта, желательно сначала загрузить через консоль:
/tool fetch url="http://it-git.ru/dst/blacklist_mikrotik.rsc" mode=http;

Вариант 2.

Скрипт который сам обработает все строчки с IP адресами и добавит их в Blacklist
ip firewall address-list
:local update do={
:do {
:local data ([:tool fetch url=$url output=user as-value]->"data")
remove [find list=blacklist comment=$description]
:while ([:len $data]!=0) do={
:if ([:pick $data 0 [:find $data "\n"]]~"^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}") do={
:do {add list=blacklist address=([:pick $data 0 [:find $data $delimiter]].$cidr) comment=$description timeout=1d} on-error={}
}
:set data [:pick $data ([:find $data "\n"]+1) [:len $data]]
}
} on-error={:log warning "Address list <$description> update failed"}
}
$update url=http://it-git.ru/dst/spamers.list description="Spamer ip IT-GIT" delimiter=("\n")


После чего в System -> Sheduler создаем задание на запуск скрипта
/system script run ИМЯ_Скрипта

Не забываем создать правило блокировки в фаерволе, например так:
/ip firewall raw
add action=drop chain=prerouting in-interface=ether1 src-address-list=blacklist

Готово!

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

  • 16.01.2023
  • 225
  • 0
Xcopy
Xcopy
30-05-2019, 12:45, Windows / Программное обеспечение
Умная защита от атак MIKROTIK
Умная защита от атак MIKROTIK
30-05-2019, 08:27, Сеть и коммутация / Безопасность
УМНАЯ ЗАЩИТА ОТ АТАК MIKROTIK
УМНАЯ ЗАЩИТА ОТ АТАК MIKROTIK
29-05-2019, 16:34, Сеть и коммутация
Краткая справка по командам коммутаторов Hewlett Packard
Краткая справка по командам коммутаторов Hewlett Packard
29-05-2019, 12:21, Сеть и коммутация
  • Windows
  • Linux
  • Виртуализация
  • Active Directory
  • Почта/Домены
  • Сеть и коммутация
  • Программное обеспечение
  • Безопасность
Active Directory AD blocklist cisco cmd default Exchange Exchange 2010 firewall freenas hp interface ISP linux mailbox mdadm mikrotik network ntp radius raid resize speedtest vpn winbox windows ZFS Атаки Безопасность Жесткий диск Линукс база данных диск защита копирование массив настройка программный райд скрипт файл
Показать все теги
     © 2019. IT-GIT.ru    ✉ info@it-git.ru