Об этом проекте

Barbacana представляет собой open-source веб-приложений фаервол (WAF) и шлюз безопасности API, спроектированный для обеспечения безопасности по умолчанию и простоты эксплуатации. Он располагается между публичным интернетом и приложениями пользователей, проверяя все входящие HTTP-запросы на наличие известных шаблонов атак, включая SQL-инъекции, межсайтовый скриптинг (XSS), инъекции команд, обход путей и множество других распространённых векторов веб-угроз, блокируя вредоносные запросы ещё до того, как они достигнут кода бэкенд-приложения. В первую очередь инструмент ориентирован на безопасность без настройки: все более чем 500 защитных правил из набора OWASP Core Rule Set (CRS) версии 4 активируются сразу после первого развёртывания, без необходимости ручного скачивания правил, написания политик или привлечения специализированных знаний в области безопасности. Конфигурация выполняется посредством простых человекочитаемых YAML-файлов, и сложные веб-интерфейсы не требуются. Пользователи могут определять правила маршрутизации, ограничения по типам содержимого и HTTP-методам, правила переписывания запросов, проверку спецификаций OpenAPI для API-маршрутов, ограничения на загрузку multipart-файлов, а также исключения правил для отдельных маршрутов для устранения ложных срабатываний — всё это достигается через straightforward config entries. Barbacana спроектирована для минимальных операционных накладных расходов: он запускается в виде единого автономного контейнера, не требуя внешних зависимостей, таких как отдельные базы данных, мониторинговые панели, платные облачные сервисы или связанные учётные записи. Встроенная автоматическая provisioning HTTPS через Let's Encrypt обрабатывает перенаправления HTTP-to-HTTPS и обновление сертификатов без необходимости ручной настройки при указании hostname. Набор правил по умолчанию настроен с учётом баланса между безопасностью и низким уровнем ложных срабатываний: пропускаются излишне агрессивные правила, которые могли бы нарушить нормальный трафик приложений, однако пользователи могут при необходимости изменять настройки правил для отдельных маршрутов в зависимости от конкретных use cases. По состоянию на версию 0.5.0 Barbacana набрал 93,65% в бенчмарке GoTestWAF для open-source WAF, блокируя 84% атакующего трафика и пропуская 91% легитимного нормального трафика, а также проходит 99,75% официального теста OWASP CRS go-ftw. Barbacana создан на основе трёх зрелых open-source компонентов: Caddy для HTTP-сервера, TLS, HTTP/2/3 и reverse proxy; Coraza как pure Go WAF engine без зависимостей CGO; и поддерживаемый сообществом набор правил OWASP CRS v4 для обнаружения атак. Абстрагируется сложность этих нижележащих компонентов так, чтобы пользователям не приходилось изучать или настраивать их напрямую. Следует отметить, что Barbacana, как и любые WAF, не способен останавливать угрозы, работающие за пределами области его проверки, включая volumetric DDoS-атаки, злоупотребление скомпрометированными учётными данными и уязвимости логики приложения. Его ключевая ценность заключается в предоставлении всесторонней, всегда актуальной защиты от шаблонов атак между интернетом и приложениями пользователей. Проект распространяется под лицензией Apache 2.0.