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

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

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
  • 2 016
  • 0
Умная защита от атак MIKROTIK
Умная защита от атак MIKROTIK
30-05-2019, 08:27, Сеть и коммутация / Безопасность
Mikrotik CHR на примере Centos 7
Mikrotik CHR на примере Centos 7
6-01-2024, 23:24, Сеть и коммутация
Введение в работу с Proxmox Mail Gateway
Введение в работу с Proxmox Mail Gateway
13-01-2025, 11:19, Linux / Почта/Домены
Как подключить сетевой диск всем пользователям с использованием AD
Как подключить сетевой диск всем пользователям с использованием AD
30-05-2019, 14:19, Windows / Active Directory
spamhaus, rules, blocklist, RouterOS, UFW
  • Windows
  • Linux
  • Виртуализация
  • Скрипты
  • Почта/Домены
  • Сеть и коммутация
  • Программное обеспечение
  • Безопасность
  • Active Directory
  • ▒ IT Новости
AD astra cisco cmd debian Docker Exchange firewall hp interface linux LXC Mail mikrotik network ovirt ProxMox PVE radius raid route router RouterOS s3 vpn windows Россия база данных безопасность виртуализация данные диск защита копирование массив надежность настройка программный райд скрипт файл
Показать все теги

Что такое IT-GIT?

«IT» — это не просто технологии, а целый мир инноваций и решений, направленных на преодоление сложностей. Мы представляем экспертность в области информационных технологий и широкой технологической экосистемы, стремясь к постоянному развитию и совершенствованию.

«Git» — это отсылка к одной из самых популярных систем контроля версий, которая обеспечивает эффективное сотрудничество, быструю итерацию и надежное управление сложными проектами. Мы стремимся объединить и поделиться опытом и идеями специалистов в сфере технологий, создавая пространство для обмена знаниями.

Инновационные технологии + совместный опыт экспертов в области технологий = путь к успеху!


  • ◆ Полезное
  • ▻ Заметки по докеру
  • ▻ Процесс расширения LVM на примере виртуальной машины
  • ▻ Расширение раздела на HDD/SSD
  • ▻ Ремонт файловой системы linux
  • ▻ Коды символов Юникода в UTF-8
  • ▻ Загрузка CHR RouterOS
  • ▻ #mikrotik
  • ▻ #zfs

  • ★ TOP 20
  • ☆ Шпаргалка по ZFS
  • ☆ Robocopy — описание и примеры использования
  • ☆ Настройка сети через командную строку и BAT файл
  • ☆ Для чего нужен протокол STP/RSTP на примере Mikrotik
  • ☆ Мигрируем на Exchange с почты для домена (yandex, mail, google и др.)
  • ☆ Как подключить сетевой диск всем пользователям с использованием AD
  • ☆ НP ProCurve. наиболее часто используемые команды консоли.
  • ☆ Сброс пароля Windows 10 с помощью встроенной учетной записи Администратора
  • ☆ Настройка условной пересылки DNS-запросов в Mikrotik RouterOS
  • ☆ Как создать программный RAID 1 массив (зеркало) средствами Windows 10, 8.1, 8, 7, Vista
  • ☆ Проверить, запущена ли программа
  • ☆ Не работает fetch в netwatch Mikrotik (ROS 7.13)
  • ☆ Как создать RAID 1 из уже заполненного диска на Windows 10, 8.1, 8, 7, Vista
  • ☆ Mikrotik (vpn server) + Windows server 2008r2 (ad, radius server)
  • ☆ Отечественная виртуализация - на чем построена, обзор, сравнение.
  • ☆ Ремонт файловой системы linux
  • ☆ Сравнение решений WireGuard
  • ☆ Увеличение zfs диска (ISCSI FreeNAS)
  • ☆ Mikrotik, 3 провайдера, переключение и разделение трафик
  • ☆ Полезности Mikrotik
Monitorus. Мониторинг сайтов и серверов.
 
  Top.Mail.Ru      © 2019-2025.    www.IT-GIT.ru    ✉ info@it-git.ru