---
title: Современная защита домашней лаборатории
slug: homelab-security-bunkerweb
canonical: https://shady2k.ru/posts/homelab-security-bunkerweb/
date: 2025-05-10
kind: article
author: human
lang: ru
summary: Что лучше защищает открытые наружу сервисы домашней лаборатории,
  CrowdSec, OpenAppSec или BunkerWeb, и почему я остановился на BunkerWeb с
  CrowdSec.
tags:
  - homelab
  - security
---

Сегодня хочется поговорить о безопасности. Стоит только открыть какой-нибудь порт в интернет, вы тут же заметите, что вас уже сканируют на предмет общеизвестных уязвимостей. Защита серверов и веб-приложений становится приоритетом для каждого, кто управляет инфраструктурой. В этой статье я расскажу о трёх современных решениях, которые помогают обеспечить безопасность: **CrowdSec**, **OpenAppSec** и **BunkerWeb**. Все они работаю в Kubernetes и помогут защитить вашу домашнюю лабораторию.

## ? CrowdSec — современный аналог Fail2Ban

[CrowdSec](https://www.crowdsec.net/) — это бесплатный open-source инструмент для выявления и блокировки вредоносных IP-адресов на основе шаблонов их поведения. Он анализирует логи системных сервисов и при обнаружении подозрительной активности принимает меры, такие как блокировка IP-адреса или добавление его в глобальную базу данных репутации.

**Как работает CrowdSec:**

- **Агент** отслеживает логи системных сервисов, указанных в настройке
- **Баунсеры (bouncers)** — это отдельные программные компоненты, отвечающие за выполнение решений, принятых агентом. Например, блокировка IP-адреса

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

## ? OpenAppSec — WAF нового поколения от Check Point

[OpenAppSec](https://www.openappsec.io/) — это Web Application Firewall (WAF), использующий машинное обучение для защиты приложений от OWASP Top 10 и других атак без необходимости постоянного обучения или настройки сигнатур. ([openappsec.io](https://www.openappsec.io/?utm_source=chatgpt.com))

**Преимущества:**

- **Защита без сигнатур.** Использует ML-модель, адаптирующуюся к поведению пользователей.
- **Интеграция с NGINX и Envoy.** Легко внедряется в существующую инфраструктуру.
- **Работа в Kubernetes.** Поддерживает современные облачные среды.
- **Интеграция с CrowdSec.** Усиливает защиту за счёт дополнительных инструментов.
- **Open-source и бесплатный.** Доступен для широкого круга пользователей.

OpenAppSec делает ставку на интеллектуальную защиту: он не просто ищет "запрещённые шаблоны", а анализирует поведение в реальном времени.

## ? BunkerWeb — безопасный веб-сервер и реверс-прокси

[BunkerWeb](https://bunkerweb.io/) — это веб-сервер и реверс-прокси с акцентом на безопасность из коробки. Он работает поверх популярных HTTP-серверов (NGINX, Apache) и автоматически включает защиту от распространённых угроз. ([docs.bunkerweb.io](https://docs.bunkerweb.io/latest/?utm_source=chatgpt.com))

**Ключевые особенности:**

- **Поддержка OWASP Core Ruleset (через ModSecurity).** Обеспечивает защиту от распространённых атак.
- **Интеграция с CrowdSec.** Усиливает защиту за счёт дополнительных инструментов.
- **Автоматическая настройка.** Упрощает процесс обеспечения безопасного соединения.
- **Контроль запросов, rate limiting, защита от ботов.** Предотвращает злоупотребления и атаки.
- **Совместим с Docker, Kubernetes и стандартными серверами.** Легко внедряется в различные среды.

BunkerWeb идеально подходит для DevOps и тех, кто хочет "поставил и забыл" в плане базовой безопасности.

## ? Сравнение решений

| Решение | Основная задача | Подходит для... |
| --- | --- | --- |
| CrowdSec | Анализ логов, защита от ботов | Серверов, API, SSH, DNS и т.д. |
| OpenAppSec | WAF с ML-защитой | Веб-приложений, Kubernetes, API |
| BunkerWeb | Реверс-прокси + WAF | Простых и безопасных развёртываний |

CrowdSec отлично подходит для любого сервиса, по логам которого можно определить наличие угроз. Но он не защитит от инъекций, XSS и прочих атак. Для этих целей лучше подходит OpenAppSec или BunkerWeb.

На практике, эти решения можно и нужно **комбинировать**: например, использовать BunkerWeb с интеграцией CrowdSec, аналогично OpenAppSec в Kubernetes-кластере для ML-защиты приложений с интеграцией CrowdSec.

## ? Мой выбор: BunkerWeb + CrowdSec для домашней лаборатории

Для своей домашней лаборатории я выбрал связку **BunkerWeb** с интеграцией **CrowdSec**. Это решение обеспечивает надёжную защиту с минимальными усилиями по настройке и обслуживанию. BunkerWeb обеспечивает базовую защиту и удобный интерфейс, а CrowdSec добавляет слой интеллектуального анализа и блокировки вредоносных IP-адресов.

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

### OpenAppSec

OpenAppSec мне очень понравился, процесс выглядит так: OpenAppSec регистрируется как новый ingressClass, затем вы просто меняется класс для тех ресурсов, которые должны быть доступны из Интернет — и готово! Он полностью совместим и поддерживает имеющиеся аннотации. Я использовал web ui консоль, которую предоставляет продукт бесплатно. Создаете ресурсы, включаете режим обучения и модель начинает обучаться, периодически спрашивая вас о верности принятых решений, там же вы можете задавать свои правила. Как только модель обучилась — можно включать режим защиты. Интеграция с CrowdSec отбивает запросы с "плохих" IP сразу же без анализа.

![](/images/homelab-security-bunkerweb/01.webp)

Огромное преимущество ML модели в том, что WAF не содержит предопределнных сигнатур, модель обнаруживает даже самые новые угрозы в реальном времени.

Из минусов:

- Web UI очень медленно работает
- Поды постоянно потребляют около 0.3 VCPU, даже когда нет ни одного запроса
- Периодически падают контроллеры с ошибкой "Error: Watchdog exited abnormally", причину которой я так и не понял
- Периодически запросы, проходящие через ingress выполняются очень долго

Видимо подожду следующую версию, возможно там эти проблемы исправят. Я тестировал версию 1.1.25.

```bash
helm upgrade --install open-appsec ./open-appsec/open-appsec-k8s-nginx-ingress-1.1.25.tgz \
  --kubeconfig ./kubeconfig \
  --namespace appsec \
  --create-namespace \
  --values ./open-appsec/values.yaml
```

### BunkerWeb

Знакомство с ним у меня не задалось. Мне вообще не очень нравится настройка через конфигурационные файлы. У BunkerWeb тоже есть интеграция с Kubernetes и я точно так же настроил его как отдельный ingressClass. Меняем класс на ресурсах, которые хотим защитить и затем срабаывает автоконфигурация, которая сама для вас создаст сервисы. Но создаст она их плохо. По умолчанию в BunkerWeb очень жесткие правила. Например, список разрешенных методов: GET|POST|HEAD. Хотите вебсокеты? Настраивайте отдельно. Rate limit — 2 запроса в секунду. Ах, нужно поменять? Иди конфигурируй. А если вы вдруг хотите настроить Authentik, то несколько часов жарких сражений вам обеспечены, потому как автоконфигурация не понимает стандарных аннотаций nginx-ingress.

![](/images/homelab-security-bunkerweb/02.webp)

Отлично работает плагин "Bad behavior". Он как раз предназначен для вот этих товарищей, которую пытаются перебирать адреса и искать уязвимости. Уже после нескольких попыток он отправит такой IP в бан.

Также рекомендую вот эту веб-админку оставить только во внутренней сети, так вы сможете сами себя разбанить.

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

```bash
helm upgrade bunkerweb bunkerweb/bunkerweb \
  --install \
  --create-namespace \
  --kubeconfig ./kubeconfig \
  --namespace bunkerweb \
  --version 0.0.7 \
  --values ./bunkerweb/values.yaml
```

> Крайне рекомендую разделить внутренние ресурсы, доступные только из лаборатории и внешние, доступные из Интернет, это позволит сузить возможные вектора атак.

## ? Заключение

Современные угрозы требуют современных решений. Open-source проекты вроде CrowdSec, OpenAppSec и BunkerWeb дают нам инструменты для защиты инфраструктуры без денежных затрат и сложных настроек.

Если у вас есть открытые порты в Интернет и вы всё ещё полагаетесь на удачу — самое время пересмотреть свою стратегию безопасности.

## Источники

[BunkerWeb - the open-source Web Application Firewall (WAF)](https://www.bunkerweb.io/)

[open-appsec | Automatic Open Source WAF & API Security](https://www.openappsec.io/)

[Curated Threat Intelligence Powered by the Crowd | CrowdSec](https://www.crowdsec.net/)
