Аналог fail2ban для windows

Обновлено: 07.07.2024

Ресурсы для изучения электроники на официальном веб-сайте Arduino

Arduino, WordPress, репозиторий Debian apt, OS X Homebrew — все это выглядит очень просто с внешнего интерфейса. Культура свободного программного обеспечения пытается дать свободу пользователям так, как описал Ричард Столлман. Как и любой проект F/OSS, Arduino также не подходит новичкам для поиска ресурсов. Причина неорганизованной структуры документации заключается в том, что на самом деле никто не зарабатывает огромные деньги на каком-либо проекте F/OSS. Там… [Читать далее. ]

Что такое TTL? – Транзисторно-транзисторная логика

В наших предыдущих статьях в контексте Arduino для начинающих мы обсуждали последовательное соединение, UART, SPI, протокол I2C. Еще одна часто слышимая фраза — TTL. Что такое ТТЛ? Транзисторно-транзисторная логика или TTL — это семейство логических схем, используемых в электронике, изобретенных в 1960-х годах. Мы постараемся сделать статью максимально краткой и легкой. Что это… [Читать далее. ]

IBM продолжает уменьшать масштабы мейнфреймов

Новые модели от IBM могут устанавливаться в 19-дюймовые стойки и эффективно создавать облачную инфраструктуру нового поколения. IBM представила две новые модели из своей текущей линейки мэйнфреймов z14, выпущенной в прошлом году. IBM продолжает уменьшать масштабы мэйнфреймов, как мы и предсказывали ранее. Самой яркой особенностью этих новинок является их небольшой размер. Эти компактные модели z14 ZR1 и LinuxONE Rockhopper II были… [Читать далее. ]

Интеграция Apache Nutch с Apache Solr на сервере Ubuntu

В наших предыдущих руководствах мы описали шаги по установке Apache Nutch на Ubuntu Server, а также инструкции по установке Apache Solr на Ubuntu Server. Интеграция Apache Nutch с Apache Solr предложит веб-интерфейс, возможности визуального поиска и использование расширенных функций Apache Nutch. В нашем руководстве по установке Apache Solr используется старая версия Solr (в настоящее время). Мы используем Apache Nutch 1.x — в предыдущих… [Подробнее. ]

Arduino Audio Spectrum Analyzer: основы БПФ и I²S

На самом деле создание анализатора звукового спектра Arduino лучше, чем то, что мы делали раньше в нашем проекте Arduino Simple Music Analyzer VU Meter From Stereo Input требует немного более высоких знаний. Для создания лучшего анализатора звукового спектра нам нужны некоторые теоретические представления о БПФ, I²S, библиотеке БПФ и знании того, как работает аппаратное обеспечение I²S. Лучше в смысле - не просто 3-5-канальный анализатор спектра с 5-8 светодиодами для … [Читать далее. ]

Что такое SPI? – Последовательный периферийный интерфейс

Для прототипирования Arduino и связанной с ней электроники нам необходимо знать некоторые основные теории, благодаря которым они работают. В наших предыдущих статьях мы обсуждали протокол I²C, некоторые основы UART и обсуждали некоторые основы последовательной связи. Еще одна фраза, которую вы часто будете замечать, это SPI. Что такое СПИ? Полная форма SPI — последовательный периферийный интерфейс. Последовательный периферийный интерфейс — это шина,… [Читать далее. ]

Установите Apache Nutch (веб-краулер) на сервер Ubuntu

Aache Nutch – это готовый к использованию веб-краулер. Nutch можно расширить с помощью Apache Tika, Apache Solr, Elastic Search, SolrCloud и т. д. Вот как установить Apache Nutch на сервер Ubuntu. Nutch использует структуру данных Apache Hadoop. Apache Lucene похож на Apache Nutch. Apache Lucene играет важную роль, помогая Nutch индексировать и искать. Мы используем Apache Tika для парсинга, Apache Solr,… [Читать далее. ]

Arduino: включите светодиоды по одному с помощью потенциометра

Мы можем использовать встроенный АЦП для преобразования числа от 0 до 1023 вращающегося вала. Вот как включить светодиоды по одному с помощью потенциометра с Arduino. Это означает, что когда мы будем поворачивать вал потенциометра, светодиоды будут включаться в зависимости от положения. На самом деле перед этим проектом следует ознакомиться с двумя базовыми примерами на официальном сайте Arduino… [Читать далее. ]

Сбои и сбои в работе службы облачных вычислений

Облачные вычисления получили широкое распространение. Особенно крупные компании полагаются на облако. Многие местные предприятия используют услуги облачных вычислений. Хотя, с аналитической точки зрения, по сравнению с предыдущими годами доля пользователей облачных сервисов не изменилась. Облачные вычисления помогают организациям любого размера справляться с проблемами цифровой трансформации. Будь то микропредприятие или крупный… [Читать далее. ]

Что такое протокол I²C? Актуальность I²C в Arduino

Ранее мы обсуждали UART. Что такое протокол I²C? I Squared C (также произносится как I-two-C) или I²C — это протокол последовательной связи шины, разработанный Philips для приложений домашней автоматизации и бытовой электроники. С 2006 года для реализации протокола I²C не требуется лицензионных сборов. Сборы, необходимые для получения подчиненных адресов I²C, выделенных NXP. I²C может подключать микропроцессор и различные … [Читать далее. ]

Как установить Apache Gora на сервер Ubuntu

Apache Gora обеспечивает модель данных в памяти и постоянство для больших данных.Он поддерживает сохранение в хранилищах столбцов, хранилищах ключей/значений, хранилищах документов и РСУБД, а также анализ данных. Он поддерживает поддержку Apache Hadoop MapReduce. Вот как установить Apache Gora на сервер Ubuntu. Gora — это программное обеспечение, примеры работы которого прояснят нашу статью о том, как MySQL используется в больших данных… [Читать далее. ]

Подпишитесь на нашу бесплатную рассылку новостей

Пожалуйста, подтвердите подписку, когда электронное письмо с подтверждением придет на ваш почтовый ящик в качестве второго шага.

Не намного прошел тест,?futurize или 2to3.

Но если сопровождающие захотят, я могу это сделать.

Не знаю, что вы имеете в виду под шаткостью, но fail2ban уже давно работает под Python 3. (См., например, fail2ban в Ubuntu 16.04 в зависимости от python3[0].) Люди определенно заметили бы это.

Я видел вашу проблему[1] на GitHub, и это просто неправильное понимание того, как fail2ban был перенесен на Python 3. fail2ban использует функцию use_2to3 файла setuptools.setup для автоматического перевода при установке.[2] Хотя я бы хотел, чтобы код работал под Python 3 как есть, на самом деле пользователи запускают полностью рабочий код.

Но он не был написан чисто, как могли бы подтвердить многие инструменты.

Эти инструменты сообщают вам, соответствуете ли вы выбранному стилю некоторых людей, и, возможно, обнаруживают несколько потенциальных проблем. Это почти ничего не говорит о чистоте или правильности. Они предназначены для внутреннего использования, а не для внешних измерений кода.

Многие просили о поддержке fail2ban для Caddy, но с тех пор, как Caddy v2 перешел на структурированное ведение журналов, это оказалось не так просто.

Мне бы хотелось увидеть здесь интеграцию с Caddy, я уверен, что многие люди оценят подключаемый модуль Caddy, который может делать то, для чего они обычно используют fail2ban.

Привет, ребята, спасибо за все ваши отзывы. (Я работаю в команде CS) Я постараюсь ответить на несколько вопросов.

1/ Вам не нужно общаться. Если вы этого не сделаете, вы получите современный, быстрый, несвязанный fail2ban с множеством различных исправлений (вместо простого удаления) и наблюдаемостью. Чего вы не получите, так это IP-адресов, замеченных толпой и курируемых нами. Вы не вносите свой вклад, вы не получаете их, честно. Если вы вносите свой вклад, только оскорбительный IP-адрес, временная метка или запущенный сценарий отправляются нам обратно для установления так называемого консенсуса (чтобы избежать ложных срабатываний и отравления)

2/ Мы очень бдительны и внимательны в отношении конфиденциальности. Мы сделали архитектуру и многие другие важные моменты совместимыми с GDPR (законодательная база ЕС в отношении обработки личных данных)

3/ IP-адрес отправлен: мы могли бы его хэшировать, но его очень легко отменить. Возможно, у вас есть шифрование с открытым/закрытым ключом, неплохой момент, я скажу команде, спасибо.

5/ Коллективный иммунитет — это то, что мы действительно хотим создать. Мы попытались объяснить сочетание Поведение + Репутация, используя аналогию с Waze. Это сработало, но менее точно. Я предпочитаю вариант с иммунной системой.

Можно ли пролить свет на вашу «платформу курирования» (есть ли у этой части открытый исходный код или где-то задокументирована)? Как он защищает, скажем, от отравления атак со стороны кого-то, кто контролирует большое количество, казалось бы, авторитетных узлов, которые не попадают в единый IP-блок?

Конечно. Короче говоря, мы даем каждому пользователю рейтинг доверия. Он меняется сверхурочно. Если вы постоянно и в течение длительного времени сообщали об атаках, которые могут быть связаны с другими и нашим собственным ботнетом, вы продвигаетесь вперед, пока не достигнете ранга доверия 1. Другие выслушиваются, но нуждаются в двойной проверке со стороны TR1 и/или нашего собственного ботнета. . У нас также есть список канари, который содержит не слишком стрелять IP. (Бот Google, обновление Microsoft, DNS и т. д.) и, наконец, не в списке, ИИ перемалывает журналы для извлечения более крупных шаблонов. В этой «консенсусной» камере проводится взвешенное голосование, после чего IP-адрес включается в БД. (Мы всегда на более консервативной стороне, если сомневаемся.) Если вы когда-нибудь скармливаете плохую информацию, ваш TR регрессирует. Если вы стреляете в канари, мы либо решим, что вы пытаетесь отравить, либо ваш сценарий слишком нервный. Если вы скармливаете плохую информацию, ваш TR мгновенно регрессирует, и ваш голос теряет вес в консенсусе (на самом деле ничего). IP свежие, раньше они делали хрень максимум 72 часа. За пределами этого порога мы считаем их более неактуальными и ждем обновления. Поэтому, если вы делаете «выстрелы в голову», только в стиле 0 дней, системе будет трудно вас поймать. Но если вы портируете/веб-сканируете, выполняете брутфорс, выполняете подстановку учетных данных или CC или что-то еще, система вас ловит довольно быстро.

Как легко реверсировать хэш IP-адреса? Вы говорите, потому что существует всего 4 миллиарда ipv4? Хэш должен подойти для ipv6, верно?

Хеширование (обычно) является симметричной функцией, и мы работаем с открытым исходным кодом. Это означает, что вы можете восстановить ключ в коде (или перехватить его во время передачи). Я думаю, что закрытый/открытый ключ - это более простой подход, который можно повторно использовать в другом месте кода, и он, как известно, безопасен. Но я и не технический директор, могу ошибаться.

BlueKeep и DejaBlue возобновили интерес к полному сканированию уязвимых систем, что негативно влияет на производительность Windows Server. У Cameyo есть решения для защиты вашего сервера виртуальных рабочих столов.

Протокол удаленного рабочего стола (RDP), к разочарованию специалистов по безопасности, крайне небезопасен и незаменим в корпоративных вычислениях. Сентябрьский раунд исправлений во вторник закрыл две ошибки удаленного выполнения кода в RDP, в то время как громкие уязвимости BlueKeep и DejaBlue, обнаруженные ранее в этом году, вызвали безумие ИТ-специалистов. Поскольку ботнеты взламывают более 1,5 миллиона RDP-серверов по всему миру, для защиты корпоративных сетей от нарушений безопасности требуется специальный инструмент безопасности RDP.

В среду Cameyo выпустила инструмент мониторинга RDP с открытым исходным кодом под соответствующим названием RDPmon, позволяющий предприятиям выявлять RDP-атаки и защищаться от них в своей среде. Инструмент обеспечивает визуализацию общего количества попыток RDP-подключений к серверам, а также представление запущенных в данный момент приложений, количество пользователей RDP и программы, запущенные этими пользователями, а также дает представление о существовании неутвержденного программного обеспечения. . RDPmon работает исключительно локально, данные программы недоступны для Cameyo.

Клиенты платной платформы Cameyo также могут использовать функцию RDP Port Shield, также выпущенную в среду, которая открывает порты RDP для пользователей, прошедших проверку подлинности, путем настройки белых списков IP-адресов в брандмауэре Windows, когда пользователям необходимо подключиться.

RDP был разработан для работы в частных сетях, недоступных через Интернет. Несмотря на это, корпоративное использование RDP через Интернет достаточно широко распространено, поэтому RDP-серверы являются привлекательной целью для хакеров.

Нетворкинг: обязательно к прочтению

Во время разработки компания Cameyo обнаружила, что общедоступные облачные машины Windows с настройками по умолчанию, то есть с открытым портом 3389, совершают более 150 000 попыток входа в неделю. «Интенсивность вначале низкая, а затем, как только IP-адрес обнаруживается все большим количеством RDP-ботов, количество попыток растет в геометрической прогрессии», — сказал TechRepublic Эяль Дотен, основатель и технический директор Cameyo. «Помимо очевидных проблем с безопасностью, большое количество атак грубой силы также влияет на производительность процессора и машины».

Хотя может быть привлекательным просто установить правила брандмауэра для блокировки IP-адресов для стран, из которых происходит высокая частота сканирования, или разрешить только страны, из которых авторизованные пользователи могут подключиться, или внедрить аналог fail2ban для RDP. , у этих стратегий есть недостатки.

«[Это относится] только к массовым атакам грубой силы, но не к медленным атакам. В настоящее время существует множество ботов, которые предназначены для попыток установления меньшего количества соединений в течение более длительного периода времени, чтобы они не помечали это общее правило внесения в черный список», — сказал TechRepublic Роб Хеншоу, директор по маркетингу в Cameyo. «Он не касается горизонтальных атак. Бот может работать с разных хостов, выполняя рабочие нагрузки грубой силы в нескольких местах. Это не решается стандартным подходом к блокировке брандмауэром. Стандартные подходы к отслеживанию или предотвращению атак методом грубой силы не учитывают общее влияние, которое они оказывают на ЦП и ОЗУ».

Несмотря на рост количества веб-предложений «программное обеспечение как услуга» (SaaS), Cameyo рассчитывает на долгую жизнь RDP на предприятии. «RDP кажется все более и более похожим на стандарт де-факто. Microsoft понимает это и вкладывает значительные средства в этот протокол. Кажется, что каждая крупная сборка Windows каким-то образом улучшает RDP. Предстоящий Windows Virtual Desktop от Microsoft также построен на RDP», — сказал Дотен, добавив: «Если вы возьмете Windows 2019 Server и посмотрите на его реализацию RDP, то и сервер, и клиенты будут работать лучше, чем когда-либо, с точки зрения производительности, стабильности, функций и графики. . Microsoft продолжает разрабатывать новые возможности, такие как GPU-P, чтобы помочь центрам обработки данных и гиперскейлерам совершенствоваться на уровне гипервизора».

Я искал инструмент для блокировки IP-адресов после определенного количества неудачных попыток входа в RDP, что-то вроде fail2ban, но для Windows. Наткнулся на IPBan. Называя IPBan «fail2ban для Windows», несправедливо преуменьшаете его возможности, но он вполне справляется с этой задачей.

В качестве теста я установил его на сервер Windows 2019, работающий в Azure, используя предоставленные инструкции по установке из файла README:

Вы же не хотите вслепую запускать скрипт, который загружает и устанавливает что-то на ваш компьютер, не просмотрев его сначала, не так ли? Конечно, нет. Сначала взгляните на код:

По сути, скрипт делает следующее:

  1. Загружает ZIP-файл
  2. Извлекает файлы
  3. Настраивает службу Windows
  4. Предполагает, что вы можете отредактировать конфигурацию, открыв файл конфигурации в Блокноте.

Я просмотрел файл конфигурации и для начала сделал только одно изменение: я добавил подсеть CenturyLink в список разрешенных. CenturyLink — мой интернет-провайдер, и я не хотел случайно заблокировать себя. Обычно вы не хотели бы добавлять весь /12 вашего домашнего интернет-провайдера, но это был просто тест на временном и одноразовом сервере:

Я заметил еще несколько интересных вещей в файле конфигурации:

  1. Он также может проверять журналы Linux (IPBan может работать в Windows или Linux)
  2. Он блокирует неудачные попытки входа в систему RDP, но также блокирует неудачные попытки входа в другие службы Windows, такие как MSSQL и Exchange.
  3. По умолчанию IP-адрес блокируется после 5 неудачных попыток, но количество неудачных попыток можно настроить
  4. Продолжительность бана по умолчанию составляет 1 день, но ее можно настроить.
  5. Длительность блокировки по умолчанию может учитывать рецидив, поэтому во второй или третий раз, когда адрес блокируется, его продолжительность может быть больше.
  6. Он также может использовать список разрешений на основе имени пользователя (белый список), так что при попытке входа в систему с именами пользователей, не включенными в список, IP-адрес будет немедленно заблокирован.
  7. Он может добавлять блоки на основе внешних каналов информации об угрозах и по умолчанию использует черный список возникающих угроз.
  8. Он может получить файл конфигурации из URL-адреса, что позволит вам управлять конфигурацией многих серверов из одного места.

После просмотра файла конфигурации ( C:\Program Files\IPBan\ipban.config ) я перезапустил службу IPBAN через графический интерфейс служб. Вы также можете перезапустить его через Powershell:

Теперь, когда он заработал, какие изменения он внес? Я открыл брандмауэр Защитника Windows и открыл дополнительные настройки. Просматривая правила входящего трафика, я обнаружил 4 правила с префиксом IPBAN_ , три правила Запретить и одно правило Разрешить:

  1. [Отклонить] IPBan_Block_0
  2. [Отклонить] IPBan_EmergingThreats_0
  3. [Отклонить] IPBan_EmergingThreats_1000
  4. [Разрешить] IPBan_GlobalWhitelist_0

Я просмотрел свойства IPBan_Block_0 . Уже один IP-адрес был забанен! (Я проверил несколько часов спустя, и только 2 дополнительных IP-адреса были заблокированы, так что, возможно, мне повезло увидеть один в течение нескольких минут.)

Мне потребовалось некоторое время, чтобы понять, в чем разница между IPBan_EmergingThreats_0 и IPBan_EmergingThreats_1000 . IPBan создает новое правило брандмауэра после 999 записей, поэтому 1000-й IP-адрес или подсеть из канала Emerging Threats был добавлен в IPBan_EmergingThreats_1000. Я видел в Интернете некоторые споры о том, существует ли ограничение на количество адресов или подсетей, которые могут быть включены в область действия правила брандмауэра Защитника Windows, и некоторые источники указывают, что существует ограничение в 1000 (и я Я совершенно уверен, что автор IPBan является одним из тех, кто утверждает, что существует ограничение).

IPBan_GlobalWhitelist_0 содержал подсеть CenturyLink, которую я явно разрешил.

Теоретически это приведет к немедленной блокировке любого IP-адреса, если он использует такой адрес, как admin или guest. Он использует настраиваемое расстояние Левенштейна, чтобы попытаться избежать блокировки IP-адреса из-за опечатки (например, chros вместо chris), что является разумным подходом

Затем я добавил URL-адрес в файл конфигурации на самом сервере:

После очередного перезапуска службы я хотел проверить, приведет ли попытка входа с неверным именем пользователя к немедленной блокировке. Я открыл соединение RDP, используя учетные данные admin:admin и с IP-адреса VPN, который находился бы за пределами разрешенной подсети CenturyLink.

Я не сразу увидел IP-адрес VPN в правиле запрета IPBAN_Block_0. Я проверил журналы ( C:\Program Files\IPBan\logfile.txt ):

Просто была задержка с добавлением. Я снова проверил правило запрета IPBan_Block_0 в брандмауэре Защитника Windows, и IP-адрес был там. Должно быть, я был очень быстр, так как время цикла по умолчанию равно 15 секундам:

Еще одно изменение, которое я внес в свою конфигурацию: я установил для этого параметра значение false, чтобы любые будущие тесты не отправляли мой IP-адрес VPN в «глобальную базу данных ipban»:

Обычно оставить для этого параметра значение true должно быть нормально, но во время тестирования было бы неплохо не добавлять свой собственный IP-адрес в черный список. Я еще не обнаружил, общедоступна ли глобальная база данных IPBan.

Еще несколько вещей, которые я отметил:

Файл ipban.config был полностью перезаписан версией GetUrlConfig , включая значение GetUrlConfig! В следующий раз, когда я перезапустил службу IPBAN, она не взяла конфигурацию с этого URL-адреса, так как параметр GetUrlConfig теперь был пуст. Я обновил значение GetUrlConfig в файле ipban.config локально и в удаленном файле ipban.example.config, чтобы включить URL-адрес в себя, чтобы он сохранялся после перезапуска.

Параметр конфигурации FirewallRules имеет несколько запутанный синтаксис, по крайней мере, для правил Запретить.Я добавил следующее правило, которое затем появилось в моих правилах блокировки брандмауэра Защитника Windows как IPBan_EXTRA_GoogleDNS_0 :

Это правило разрешает входящий трафик на порт 53/tcp от 8.8.4.4 и блокирует его от всех остальных портов (0-52/tcp и 54-65535/tcp) . Я до сих пор не знаю, как указать, что я хочу заблокировать все порты или заблокировать как TCP, так и UDP-трафик, используя этот параметр конфигурации.

У IPBan есть много других параметров конфигурации, которые я с удовольствием протестирую. Для меня этот инструмент заполняет большой пробел для серверов Windows!

2 мысли о «IPBan: fail2ban для Windows»

Пожалуйста, рассмотрите возможность перехода на профессиональную версию, чтобы получить более продвинутые функции, общие списки блокировки и многое другое.

Самый грустный кит

wail2ban — это порт Windows, базовый функционал fail2ban и сочетание элементов ts_block.

wail2ban – это система, которая принимает входящие события неудачного доступа для настраиваемого набора известных идентификаторов событий и при достаточном количестве неудачных атак за определенный период времени создает временные правила брандмауэра для блокировки доступа.

Установка wail2ban — это случай просмотра простых задач:

  • скопируйте все файлы репозитория в папку на клиентском компьютере, например C:\scripts\wail2ban
  • С помощью планировщика заданий импортируйте стартовый файл wail2ban onstartup.xml, чтобы автоматически создать запланированное задание для запуска сценария при загрузке компьютера.
  • Запустите сценарий, запустив стартовый файл wail2ban.bat. Это то, с чего начинается запланированная задача.

В wail2ban есть функции записи и отладки, просто раскомментируйте строку $DebugPreference, чтобы включить ее. Это выведет приятные вещи в CMD, если работает ad-hoc.

Существует также ряд опций, которые можно использовать для управления скриптом:

  • -config : выводит проанализированный вывод файла конфигурации в стандартный формат вывода, включая настройки времени и белого списка.
  • -jail : показывает текущий набор заблокированных IP-адресов на машине
  • -jailbreak : разблокирует каждый IP-адрес, заблокированный скриптом в данный момент.

Журналы событий для различных программных пакетов настроены таким образом, чтобы в случае неудачных подключений выводились сообщения. Содержимое событий обычно содержит IP-адрес и сообщение типа «Этому IP-адресу не удалось подключиться к вашему серверу».

Типичные примеры этого включают:

  • Идентификатор события безопасности 4625, "Аудит безопасности Windows".
  • Не удалось войти в учетную запись. . Адрес исходной сети: 11.22.33.44

Продукты базы данных также включают такие события, как:

  • Идентификатор события приложения 18456, "Microsoft SQL Server".
  • Не удалось войти в систему для пользователя 'sa'. Причина: Пароль не соответствует указанному логину. [КЛИЕНТ: 11.22.33.44]

Эти события генерируются всякий раз, когда кто-то ошибается при вводе пароля и т. п.

Проблема возникает, когда автоматизированные системы грубой силы пытаются получить доступ к системам несколько раз в секунду.

что делает wail2ban

wail2ban — это приемник событий в реальном времени для этих сообщений. По мере поступления сообщений wail2ban отмечает время попытки и IP-адрес, использованный при попытке. При достаточном количестве попыток за определенный период времени wail2ban сгенерирует правило брандмауэра, чтобы заблокировать любой доступ к клиентскому компьютеру на определенный период времени.

При настройке по умолчанию, если IP-адрес пять раз пытается ввести неверный пароль в течение двух минут, ему запрещается повторная попытка ввода пароля на определенный период времени.

Как долго? Ну, это зависит от того, сколько раз их уже банили!

Существует файл BannnedIPLog.ini, в котором будет подсчитываться, сколько раз IP-адрес был заблокирован.

Время наказания основано на функции y=5^x , где x — количество раз, когда оно было заблокировано, а y — количество минут, на которое оно было заблокировано.

Это позволяет масштабировать баны, но предотвращает постоянные баны, которые могут вызвать проблемы в будущем, когда IP-адреса будут переназначаться в благосфере.

Также существует $MAX_BANDURATION, что означает, что IP-адрес не может быть забанен более чем на 3 месяца. Учитывая, что функция длительности бана дает значения в годах с шагом 10, лучше ограничиться ограничением.

Как и во всех автоматизированных системах, могут быть ложные срабатывания.

Белые списки — этот скрипт можно настроить с помощью белого списка IP-адресов, которые он никогда не будет блокировать, например, блокировку IP-адресов компании.

Самостоятельный список — сценарий автоматически добавляет в белый список набор IP-адресов, которые он не запрещает блокировать, на основе настроенных статических IP-адресов на хост-компьютере. То есть он будет игнорировать попытки от самого себя (или журналы событий, в которых в сообщении указан его собственный IP-адрес).

Тайм-ауты. IP-адреса блокируются только на определенный период времени. По истечении этого времени они удаляются скриптом из брандмауэра.Тайм-ауты анализируются после того, как система фиксирует новую неудачную попытку. Это может означать, что IP-адреса разблокируются после их точного времени разблокировки, но для достаточно атакованных систем эта разница не является серьезной проблемой.

Побег из тюрьмы — конфигурация под названием -jailbreak может быть запущена для скрипта в любое время, чтобы немедленно удалить все запрещенные IP-адреса. Все их счетчики сброшены, и IP как будто никогда не пытался атаковать машину.

Я добавил скрипт, который выполнит поиск лог-файла wail2ban, сгенерирует хорошую статистику и покажет самые забаненные IP-адреса по странам. Образец отчета

Если вы хотите включить это, откройте основной скрипт wail2ban.ps1 для вызова wail2ban_htmlgen.ps1 и включите его (удалите комментарий)

Возможны улучшения, связанные с сервисным выполнением этого скрипта, поэтому он всегда работает. Этого можно добиться с помощью чего-то вроде неотсасывающего сервис-менеджера, но это остается в качестве упражнения для читателя.

Обновление 2020: в репозиториях и за их пределами было несколько сообщений о том, что этот код по-прежнему полезен! У меня нет возможности проверить следующее, но, надеюсь, следующее может помочь:

Читайте также: