Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (8)
  • Как создать fail2ban regex выражение?

    @Fess
    Моя версия fail2ban
    #fail2ban-server -V
    Fail2Ban v0.9.3

    в файл /etc/fail2ban/jail.local добавить:
    [minecraft]
    filter   = minecraft
    enabled  = true
    logpath  = full_path_to_minecraft_logs
    bantime  = 3600
    findtime  = 60
    maxretry = 3

    [minecraft] - название файла-фильтра (minecraft.conf), либо (если назвали секцию как-нибудь произвольно), используем директиву filter;
    filter - указывает название файла-фильтра( в нашем случае minecraft.conf) без расширения;
    findtime и bantime в секундах;
    maxretry - количество вхождений строки в лог;
    logpath - полный путь к файлам логов. Можно использовать * и ? как знаки-подстановки.

    В файле-фильтре /etc/fail2ban/filter.d/minecraft.conf пишем следующее:
    [Definition]
    failregex = \[INFO\] \[\/<HOST>:\d+\] <-> InitialHandler has connected$
    ignoreregex =

    -----------------------------------------------
    Правила, используемые вашей версией fail2ban зависят от версии питона, используемого на системе.
    #python -V
    Python 2.6.6

    Документация на модуль регулярных выражений python 2.7: https://docs.python.org/2/library/re.html
    Учитывайте, что флаг re.MULTILINE уже используется в fail2ban. Т.е. знаки ^ и $ матчат начало и конец строки.

    Нюансы написания фильтров для fail2ban: www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters

    Инструменты для проверки регулярный выражений:
    https://regex101.com/#python
    https://www.debuggex.com/
    Рекомендую первую ссылку.

    Принцип простой:
    • Указали язык регулярок python
    • Текст для примера (логи), который хотим разобрать регулярками
    • В поле для регулярных выражений пишем регулярку и, по мере набора регулярки, смотрим, как матчится регулярка на наш текст.


    Для примера(на первом ресурсе):
    • в поле текста забейте свои логи
    • в поле gmixsu напишите gm (это аналог служебных флагов для выражения, вроде re.MULTILINE в python'е)
    • в поле регулярки забиваем [0-9] - выделит все цифры как отдельные элементы. Значения элементов выражения смотрим в подсказках.
    • Добиваем регулярку до вида: [0-9]+ - имеем 4 цифры как отдельные элементы: т.е. ip 192.168.0.1 разбивается на элементы 192, 168, 0 и 1
    • Точка в регулярках - спец. символ. Мапится в любой один знак. Экранируем его, ибо ищем точку, а не любой символ, иначе символ _ в строке 192_ так же попадёт под выражение.
    • Итого, приведём выражение к виду [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+. Сразу понятно будет, что этим выражением выделим все ip адреса в логах.

    Снимите флаг g в примере(поле gmixsu ;)) и напишите регулярное выражение заново. По мере набора, будет понятно, зачем конструкция [0-9]+\. повторяется несколько раз в итоговой регулярке.

    Данное выражение можно построить и более изящно, но на первом этапе важно понимание работы регулярок. Потом можно будет строить и более сложные выражения.
    Ответ написан
    7 комментариев
  • Каким образом можно считать статистику использования канала в микротике?

    @Fess
    Сложное для новичка, но очень мощное решение:
    wiki.mikrotik.com/wiki/Manual:IP/Traffic_Flow
    Это только механизм сбора статистики со стороны железа. Из статьи видно, что микротик поддерживает 3 версии: 1, 5, 9. 9-я самая "тяжёлая" в плане объёма собираемой информации, но и самая подробная, само собой. Если народу за микротиком сидит не много, то есть смысл пощупать 9-ю версию со всеми полями, что она предоставляет.
    После отгрузки flow'сов, вам понадобится пакет для анализа этой статистики. Пакетов-анализаторов полно. Вот пример использования одного из них: mikrotik.axiom-pro.ru/articles/netflowanalyzer.php
    Могу сказать, что многие провайдеры пользуются этой технологией для детализации трафика. На железках разных производителей.
    https://ru.wikipedia.org/wiki/Netflow
    Ответ написан
    5 комментариев
  • Что нужно для организации публичного Hotspot-a?

    @Fess
    Для примера, настройки на одном из порталов-аутсорсеров, занимающихся такой авторизацией:
    https://saiwifi.ru/page/osnovnye-nastroyki
    Обратите внимание на ФЗ:
    https://saiwifi.ru/sites/default/files/postanovlen...
    https://saiwifi.ru/sites/default/files/postanovlen...
    Вообще, поиск по фразе wifi авторизация выдаст кучу информации и различных контор. У многих будут подробности по выбору и настройке оборудования.

    Можете попробовать разобраться сами:
    wiki.mikrotik.com/wiki/Manual:IP/Hotspot
    У mikrotik, в этом плане, очень гибкое решение.
    Ответ написан
    Комментировать
  • Как сделать export address-list -а так, чтобы экспортировались только нужные подсети?

    @Fess
    экспорт без скрипта не нашёл, есть такой вариант:
    [mkt@Tatyana] > /ip firewall address-list print detail 
    Flags: X - disabled, D - dynamic 
     0   list=parents address=10.3.4.4 dynamic=no 
    
     1   list=parents address=192.168.5.1 dynamic=no 
    
     2   list=test_list address=192.168.5.2 dynamic=no 
    
     3   list=test_list address=192.168.5.3 dynamic=no 
    
     4   list=test_list address=192.168.5.4 dynamic=no 
    
     5   list=test_list address=192.168.4.4 dynamic=no 
    [mkt@Tatyana] > /ip firewall address-list print detail where address~"192.168.5" list~"test"
    Flags: X - disabled, D - dynamic 
     0   list=test_list address=192.168.5.2 dynamic=no 
    
     1   list=test_list address=192.168.5.3 dynamic=no 
    
     2   list=test_list address=192.168.5.4 dynamic=no 
    [mkt@Tatyana] >


    В последней команде меняем вывод в файл, соответственно:
    [mkt@Tatyana] > /ip firewall address-list print detail file=prefixes.txt where address~"192.168.5" list~"test"
    Ответ написан
    Комментировать