Python скрипт для генерации правил для Mikrotik
17 июня 2022 г.

Предлагаем Вашему внимаю полезный скрипт для генерации правил на базе python.
Суть в чем на границе периметра сети стоит firewall на базе Mikrotik на каждом локальном сервере установлен Fail2Ban в связке с IPtables.
Но зная что БД Fail2Ban не рассчитана на большое количество записей, то логичней будет экспортировать правила в формат Mikrotik.
Данный скрипт был сделан как дополнение к статье.
#!/usr/bin/python3
»»»
Python конвертер текстового файла в формат mikrotik
»»»
__author__ = 'Andrey Garkin'
import re
import sys
import os
# Делаем экспорт в файл
os.system ( «iptables -S fail2ban-FTP | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -u > banned.txt»)
# Перенаправляем выхлоп в файл
sys.stdout = open ('mikrotik.rsc', 'w')
# Чтение файла не интересно ниже показано как читать в массив и работать с ним # получим объект файла
file_banned = open ( «banned.txt», «r»)
# Считываем все строки
lines = file_banned.readlines ()
print (»/ip firewall address-list»)
# Итерация по строкам с добавлением в начало и конец строк нужных данных
for line in lines:
data1 = ( «add list=FTP-DROP address=» + line.strip () +» comment=FTPBlackList»)
print (data1)
# Закрываем файл
file_banned.close
# Закрываем соединение с конослью
sys.stdout.close ()
В скрипте указан пример цепочки правила fail2ban-FTP где стоит REJECT.
Если будут вопросы можете обратиться к нашим специалистам за консультацией через форму обратной связи.
Благодарность за статью 100 рублей.