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, по правде говоря, был им нужен ещё вчера.
Вот что я сделал за один вечер:
- Установил Fail2ban на оба сервера через
apt install fail2ban. - Создал базовый конфиг
/etc/fail2ban/jail.localс белым списком офисных IP и адресов мониторинга. - Включил защиту для SSH, Postfix SMTP-AUTH, Dovecot IMAP, веб-публикации 1С через nginx.
- Настроил «тюрьму»
recidive— для тех, кто после разблокировки приходит снова. Им — бан на месяц. - Подключил 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. Принцип работы у него ровно тот же самый:
- Скрипт раз в минуту читает Windows Event Log (Security, ID 4625 — неудачный вход).
- Считает, сколько неудач с каждого IP за последние 10 минут.
- Если больше 5 — добавляет блокирующее правило в Windows Firewall.
- Через сутки автоматически снимает блокировку.
- Параллельно отправляет уведомление в Telegram.
Моё решение, которое я активно использую, — это связка из PowerShell-скрипта, scheduled task и целой цепочки правил для Windows Firewall. У меня есть готовый шаблон, который я внедряю клиентам за 6 000 руб. на каждый сервер. Да, это не Fail2ban в его классическом виде, но функция абсолютно та же, и что важно — работает оно невероятно надёжно: на 14 Windows-серверах моих клиентов эта система крутится без единого сбоя уже целых три года.
Есть и другой вариант, более сложный, но очень эффективный: можно поставить перед RDP-шлюзом reverse proxy, например, HAProxy или Nginx, и уже на него «повесить» Fail2ban. Это, конечно, посложнее в реализации, зато даёт вам дополнительный слой защиты: атакующий попросту не видит сам RDP-сервер, ему доступен только прокси.
Главные ошибки, которые я вижу у клиентов
Знаете, когда меня просят «починить» уже кем-то настроенный Fail2ban, я почти в 100% случаев сталкиваюсь с одной из пяти типичных ошибок:
- Только SSH защищён, остальное забыли. Самая частая ситуация. Админ ставил Fail2ban один раз, для SSH, и забыл. А почту, веб и FTP оставил голыми.
- Слишком мягкие пороги. 5 попыток за 10 минут — это разрешение на 720 попыток в сутки с одного IP. Современный бот через прокси-сеть подберёт типичный пароль за неделю.
- Нет recidive. Без этой «тюрьмы» Fail2ban банит IP на час, потом разблокирует, и тот же бот возвращается. Цикл бесконечный.
- IP офиса не в whitelist. Бухгалтер забыла пароль — весь офис заблокирован. Звонит злая, кричит на админа. Админ снимает блокировку, через два часа всё повторяется.
- Нет уведомлений. Fail2ban работает молча. Без Telegram или email вы не знаете, что вас ломают, пока не произойдёт что-то серьёзное.
Сколько стоит сделать это правильно
Я вот, например, совсем не верю в эту сказку про «бесплатное решение, которое любой админ настроит за 5 минут». Да, в теории, это, конечно, бесплатно. Но на практике для корректной настройки нужно глубоко знать дистрибутив клиента, все версии сервисов, специфику логов, актуальные паттерны атак, все нюансы работы с Cloudflare и SAN-сертификатами, а также тонкости nftables против iptables. Без должного опыта инженер запросто потратит на правильную настройку 8-12 часов — и, скорее всего, всё равно оставит критические дыры.
Мои актуальные тарифы на внедрение Fail2ban (апрель 2026):
| Объём работы | Что входит | Стоимость |
|---|---|---|
| Один Linux-сервер | SSH + один сервис (web/почта/FTP), Telegram, recidive, обучение | 8 000 ₽ |
| Один Windows-сервер с RDP | PowerShell-скрипт, 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 — это, конечно, не панацея от всех бед. Он надёжно закрывает один, но очень конкретный класс атак — это подбор пароля через какой-либо известный сервис. Но вот от чего он вас, увы, не спасёт:
- Уязвимостей в самом приложении (SQL-инъекции, RCE, XSS) — для этого нужен WAF, например ModSecurity или CrowdSec.
- Внутреннего нарушителя (увольняющийся сотрудник, обиженный сисадмин) — для этого нужен журналируемый VPN, MFA и регулярная ротация ключей.
- DDoS-атак с десятков тысяч IP — Fail2ban захлебнётся, нужен Cloudflare или DDoS-Guard на входе.
- Фишинга — пользователь сам отдаёт пароль на поддельной странице, 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% обращений в техподдержку.
