· 13 мин чтения

Fail2ban для бизнеса: как защитить сервер 1С, почту и сайт от брутфорса

Fail2ban для бизнеса: как защитить сервер 1С, почту и сайт от брутфорса

Меня зовут Семёнов Евгений Сергеевич, и я директор IT-аутсорсера АйТи Фреш. За 15 лет работы я насмотрелся на десятки взломов корпоративных серверов — и, вы знаете, в девяти случаях из десяти никакой хитрой уязвимости злоумышленник и не думал использовать. Они просто подбирали пароли. И что самое интересное, в тех же девяти случаях из десяти эту проблему решала одна-единственная, причём совершенно бесплатная, утилита — Fail2ban. Сегодня я расскажу, как мы её настраиваем нашим клиентам и почему она, без преувеличения, каждый месяц спасает кому-то целые состояния.

Почему пароль — это самое слабое место

Когда я приезжаю на аудит к новому клиенту, моя рука первым делом тянется открыть логи аутентификации — будь то сервер 1С, RDP-шлюз или корпоративная почта. И что я там вижу? Почти всегда одно и то же: тысячи и тысячи неудачных попыток входа, причём каждый час! Откуда только не пытаются — Китай, Бразилия, Нигерия, Украина... география впечатляет. Круглосуточно боты снуют по интернету и, словно пылесосы, собирают и подбирают пароли «admin», «1234», «password», «администратор» и ещё миллионов тридцать комбинаций из утечек.

Вспоминаю одного клиента — это была небольшая транспортная компания, всего 18 человек в офисе. Там бухгалтер, как это часто бывает, годами пользовалась паролем «Любовь1985» (имя и год рождения, всё как у людей). И вот однажды утром сотрудники приходят на работу, а что видят? В 1С — требование выкупа в биткоинах, вся база зашифрована. И что самое обидное, бэкап за полгода тоже — ведь он лежал ровно на той же сетевой шаре, куда добрался взломщик! В итоге, восстановление обошлось им в 380 000 руб. за услуги 1С-программистов и целую неделю простоя бизнеса. Представляете? А ведь эту лазейку Fail2ban закрыл бы буквально за пять минут настройки.

Подбор паролей — это, пожалуй, самая банальная, но при этом и самая распространённая атака в интернете. На каждый ваш сервер, который хоть чуть-чуть «торчит» наружу, ежедневно обрушивается от 5 000 до 50 000 попыток подбора. Вдумайтесь в эти цифры! Пароль «Иванов1980» подберут за 12 часов. «Q1w2e3r4» — за 2 часа. «P@ssw0rd2025» — за неделю. И что же делает Fail2ban? Всё гениальное просто: после всего трёх-пяти неудачных попыток входа он блокирует IP-адрес атакующего на целые сутки. Боту, естественно, приходится менять адрес, а у среднестатистического бота таких адресов обычно всего 1-3 штуки. В итоге, атака просто захлёбывается.

Что такое Fail2ban простыми словами

Если объяснять совсем «на пальцах», Fail2ban — это такой умный сторож. Он постоянно читает журналы вашего сервера и скрупулёзно считает, сколько раз с одного и того же IP-адреса не удалось войти. Как только порог превышен, он тут же добавляет в фаервол специальное правило, которое моментально блокирует этот «подозрительный» адрес. А вот через час, день или, скажем, неделю, он может снять эту блокировку. Но если IP-адрес уже попал в наш чёрный список «рецидивистов», то тут уж извините — блокировка не снимается вовсе.

С технической точки зрения, Fail2ban прекрасно себя чувствует на любой Linux-системе: Ubuntu Server, Debian, CentOS, Astra Linux, Rosa, Альт. Установка? Всего лишь одна команда:

apt install fail2ban
systemctl enable --now fail2ban

После этого он сразу начинает следить за SSH с настройками по умолчанию. Но настройки по умолчанию у Fail2ban в дистрибутивах ленивые — 5 попыток за 10 минут, бан на 10 минут. Для боевого сервера этого мало. Я настраиваю по-другому: 3 попытки за 5 минут, бан на 12 часов. Атакующий теряет смысл долбиться в этот сервер.

Какие сервисы малого бизнеса нужно защитить в первую очередь

Я для вас собрал список сервисов, которые в 99% случаев есть практически у всех моих корпоративных клиентов здесь, в Москве. И поверьте, на каждом из них регулярно и очень активно идёт брутфорс. Расставлю их по приоритету, чтобы было понятнее:

СервисЧто атакуютПоследствия взлома
SSH (Linux-серверы)Пароли пользователей и rootПолный контроль над сервером, шифрование данных
RDP-шлюз / RD GatewayПароли учётных записей ADДоступ к терминалу, к файловой шаре, к 1С
1С через веб (публикация на Apache/IIS)Пароли пользователей 1СКража базы данных, фальсификация документов
OWA / Exchange / PostfixПароли почтовых ящиковКража переписки, рассылка спама с вашего домена
WordPress / Битрикс / админки сайтовПароль администратораДефейс сайта, заражение посетителей
VPN-шлюзы (OpenVPN, IPSec, L2TP)Пароли VPN-учётокДоступ во внутреннюю сеть офиса
FTP / SFTPПароли учётокПодмена файлов на сайте, утечка данных

Что приятно, из этого внушительного списка Fail2ban закрывает целых 6 пунктов из 7, причём «из коробки»! (Про RDP — это уже совсем отдельная история, о ней я расскажу чуть позже). Только представьте: всего одна утилита и пара часов работы грамотного инженера — и вы снимаете самую массовую угрозу для вашего бизнеса.

Реальный кейс: как мы настроили Fail2ban для торговой компании

В январе 2026 года мне позвонила одна оптовая компания — они торгуют электротоварами, у них 24 рабочих места, два сервера на Ubuntu — один для 1С через web, другой почтовик на Postfix, и, конечно, белый IP. До того, как мы пришли, у них был приходящий админ, и, увы, Fail2ban он почему-то не поставил. Всего за месяц до моего приезда им взломали аккаунт sales-менеджера. Представьте, какой-то бот просто подобрал пароль sales2024, влез в почту и тут же разослал всем контрагентам письма с поддельными реквизитами. В итоге, двое из них, к сожалению, перевели деньги мошенникам — суммарно 1,4 млн руб. И что самое обидное, эти деньги так и не вернулись.

Приезжаю к ним, открываю /var/log/auth.log на почтовом сервере, и что я вижу? Целых 47 000 неудачных попыток за сутки! Просто ужас! Очевидно, что по серверу прошлась какая-то база ботов, и, увы, один из паролей оказался слишком слаб. Fail2ban, по правде говоря, был им нужен ещё вчера.

Вот что я сделал за один вечер:

  1. Установил Fail2ban на оба сервера через apt install fail2ban.
  2. Создал базовый конфиг /etc/fail2ban/jail.local с белым списком офисных IP и адресов мониторинга.
  3. Включил защиту для SSH, Postfix SMTP-AUTH, Dovecot IMAP, веб-публикации 1С через nginx.
  4. Настроил «тюрьму» recidive — для тех, кто после разблокировки приходит снова. Им — бан на месяц.
  5. Подключил Telegram-бот, который уведомляет директора о каждом крупном инциденте (более 100 банов в час).

Какой же итог мы получили за первые две недели? 3 700 заблокированных IP-адресов, ноль успешных взломов, а нагрузка на почтовик упала сразу на 23%! И всё это потому, что боты просто перестали к ним ломиться. Сама работа обошлась им всего в 14 000 руб. на оба сервера. Согласитесь, на фоне потерянных 1,4 млн — это просто копейки. Теперь у этого клиента Fail2ban — обязательный пункт в нашей абонентке, мы его всегда держим под контролем.

Базовая настройка, которую я ставлю каждому клиенту

Перепечатывать сюда официальный мануал не буду — он есть на сайте Fail2ban. Покажу свой рабочий шаблон, который кладу в /etc/fail2ban/jail.local на каждый сервер клиента.

[DEFAULT]
# Бан на 12 часов
bantime = 43200

# Окно наблюдения 10 минут
findtime = 600

# 3 неудачи за окно — бан
maxretry = 3

# Белый список: офис, мониторинг, VPN
ignoreip = 127.0.0.1/8 ::1 95.165.XXX.XXX/32 10.10.0.0/24

# Способ блокировки: nftables (или iptables на старых системах)
banaction = nftables-multiport

[sshd]
enabled = true
mode = aggressive
bantime = 86400

[recidive]
enabled = true
bantime = 2419200    # 4 недели
findtime = 604800    # неделя
maxretry = 3

Это пять минут работы. Дальше я добавляю «тюрьмы» для конкретных сервисов клиента — почты, веб-1С, WordPress. На каждую — отдельный фильтр и свои пороги. Например, для входа в админку Битрикса я ставлю всего 5 попыток за 2 минуты — потому что нормальный администратор пароль не забывает.

Есть одна очень важная, но часто упускаемая мелочь, на которой новички постоянно спотыкаются: обязательно, прямо вот обязательно, добавьте IP-адрес офиса в список ignoreip. Иначе представьте: в один не самый прекрасный день бухгалтер трижды ошибётся с паролем от RDP — и что? Весь офис улетит в бан на целые сутки! Лично я всегда вношу туда статический IP офиса, адрес сервера мониторинга Zabbix и, конечно, подсеть VPN-шлюза.

А что с RDP на Windows-серверах?

Очень часто клиенты задают мне такой вопрос: «Евгений, а у нас не Linux, у нас 1С на Windows-сервере с RDP — что нам делать в таком случае?» Сам Fail2ban, к сожалению, под Windows не работает. Но я не растерялся и собираю для таких случаев функциональный аналог на PowerShell. Принцип работы у него ровно тот же самый:

  1. Скрипт раз в минуту читает Windows Event Log (Security, ID 4625 — неудачный вход).
  2. Считает, сколько неудач с каждого IP за последние 10 минут.
  3. Если больше 5 — добавляет блокирующее правило в Windows Firewall.
  4. Через сутки автоматически снимает блокировку.
  5. Параллельно отправляет уведомление в Telegram.

Моё решение, которое я активно использую, — это связка из PowerShell-скрипта, scheduled task и целой цепочки правил для Windows Firewall. У меня есть готовый шаблон, который я внедряю клиентам за 6 000 руб. на каждый сервер. Да, это не Fail2ban в его классическом виде, но функция абсолютно та же, и что важно — работает оно невероятно надёжно: на 14 Windows-серверах моих клиентов эта система крутится без единого сбоя уже целых три года.

Есть и другой вариант, более сложный, но очень эффективный: можно поставить перед RDP-шлюзом reverse proxy, например, HAProxy или Nginx, и уже на него «повесить» Fail2ban. Это, конечно, посложнее в реализации, зато даёт вам дополнительный слой защиты: атакующий попросту не видит сам RDP-сервер, ему доступен только прокси.

Главные ошибки, которые я вижу у клиентов

Знаете, когда меня просят «починить» уже кем-то настроенный Fail2ban, я почти в 100% случаев сталкиваюсь с одной из пяти типичных ошибок:

Сколько стоит сделать это правильно

Я вот, например, совсем не верю в эту сказку про «бесплатное решение, которое любой админ настроит за 5 минут». Да, в теории, это, конечно, бесплатно. Но на практике для корректной настройки нужно глубоко знать дистрибутив клиента, все версии сервисов, специфику логов, актуальные паттерны атак, все нюансы работы с Cloudflare и SAN-сертификатами, а также тонкости nftables против iptables. Без должного опыта инженер запросто потратит на правильную настройку 8-12 часов — и, скорее всего, всё равно оставит критические дыры.

Мои актуальные тарифы на внедрение Fail2ban (апрель 2026):

Объём работыЧто входитСтоимость
Один Linux-серверSSH + один сервис (web/почта/FTP), Telegram, recidive, обучение8 000 ₽
Один Windows-сервер с RDPPowerShell-скрипт, Firewall-правила, Telegram, документация6 000 ₽
Офис из 3-5 серверовПакетный деплой через Ansible, единый whitelist, общий мониторингот 18 000 ₽
Сложная инсталляция (10+ серверов)Centralized fail2ban + Wazuh, дашборд в Grafana, SLAот 45 000 ₽

Что же конкретно входит в мою работу? Это jail-конфиги под ваши сервисы, фильтры под нестандартные приложения, white-list, recidive, deploy-хуки для перезапуска сервисов, Telegram-уведомления, полноценное обучение вашего админа и, конечно, документация на русском с примерами разблокировки. Вы один раз платите — и можете забыть про брутфорс на долгие годы.

Что Fail2ban не может

И давайте будем честны: Fail2ban — это, конечно, не панацея от всех бед. Он надёжно закрывает один, но очень конкретный класс атак — это подбор пароля через какой-либо известный сервис. Но вот от чего он вас, увы, не спасёт:

Именно поэтому в нашей абонентке Fail2ban — это лишь такой базовый «кирпичик», поверх которого мы уже выстраиваем по-настоящему многоуровневую защиту: фаервол, VPN с двухфакторкой, обучение сотрудников, регулярные пентесты. Но если у вас пока вообще нет никакой защиты, то начинать нужно именно с него, это моё твёрдое убеждение. Он даёт вам 70% защиты от самых распространённых типовых атак за очень и очень скромные деньги.

Нужна защита корпоративных серверов от брутфорса?

На аудит безопасности серверов я, кстати, выезжаю лично сам — как по всей Москве, так и в радиусе 50 км от МКАД. Всего за один день я настрою Fail2ban на всех ваших Linux-серверах, а также его аналог на Windows, подключу удобные Telegram-уведомления и, конечно, обучу вашего администратора всем нюансам. При этом аудит логов я провожу абсолютно бесплатно — за 1-2 рабочих дня я буквально покажу вам, сколько попыток брутфорса «летит» на ваши сервера прямо сейчас.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — частые вопросы клиентов про Fail2ban

Зачем малому офису Fail2ban, если есть пароль и фаервол?
Пароль ломается перебором, если он короткий или есть в утечках. Фаервол пропускает легитимные подключения к SSH, RDP-шлюзу, OWA, веб-1С — именно туда и идёт брутфорс. Fail2ban банит IP после 3-5 неудачных попыток и останавливает атаку до того, как пароль будет угадан.
Сколько стоит внедрение Fail2ban в АйТи Фреш?
Базовая настройка для одного Linux-сервера с SSH, веб-сервером и Telegram-уведомлениями — 8 000 руб. одноразово. Для офиса с 3-5 серверами с пакетным деплоем через Ansible — от 18 000 руб. Включено: jail-конфиги, фильтры, recidive, мониторинг и обучение администратора клиента.
А если случайно забанить директора с домашним IP?
В каждой настройке мы прописываем whitelist (ignoreip) для статических IP офиса, серверов мониторинга и VPN-шлюза. Динамические домашние IP добавляем через VPN — у директора подключение идёт со статического адреса VPN-сервера, и Fail2ban его не трогает.
Работает ли Fail2ban на Windows-сервере с RDP?
Сам Fail2ban — Linux-инструмент, но его аналог на Windows реализуется через PowerShell-скрипт + Windows Event Log + Windows Firewall. Мы делаем такие связки для клиентов с RDP-шлюзом или RemoteApp. Принцип тот же: 5 неудач за 10 минут — IP в блок на сутки.
Что делать, если Fail2ban забанил клиента и тот звонит злой?
Разблокировка занимает 10 секунд: fail2ban-client set sshd unbanip 1.2.3.4. Параллельно мы настраиваем Telegram-бот, в котором клиент сам может проверить, забанен ли его IP, и попросить разблокировку — без звонка. На больших инсталляциях это снимает 80% обращений в техподдержку.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.