+7 (927) 984-30-02

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

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

Предлагаем Вашему внимаю полезный скрипт для генерации правил на базе 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 рублей.