SafeLine - прекрасный WAF с открытым исходным кодом для ваших веб-приложений

Межсетевые экраны веб-приложений (WAF) – это важные программные средства, которые стоят между приложением и внешним Интернетом. Тем самым они защищают его от хакеров и других злоумышленников, пытающихся взломать приложение и получить доступ к пользовательским данным.

Как и в любой другой категории программного обеспечения: Есть проприетарные SaaS-программы, предоставляющие свои услуги за определенную платную подписку в месяц, а есть бесплатные программы с открытым исходным кодом, которые можно устанавливать самостоятельно без каких-либо дополнительных условий.

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

Особенности SafeLine

Итак, прежде всего, что делает это программное обеспечение SafeLine особенным по сравнению с другими его альтернативами с открытым исходным кодом на рынке?

  • Работает как обратный прокси-сервер nginx, который может стоять между любым веб-приложением и остальным интернетом.
  • Возможность защиты от таких веб-атак, как XSS, SQL-инъекции, CRLF-инъекции, XXE и многих других.
  • Возможность защиты от DoS-атак (Denial of Service) с помощью механизма ограничения скорости, который отслеживает все входящие запросы с IP-адресов.
  • Встроенный вызов CAPTCHA, который может быть запрошен у посетителей по желанию.
  • Поддержка шифрования JS и HTML кода динамически для посещающих пользователей.
  • Красивая панель управления со статистикой в реальном времени.

Эффективность брандмауэра

По результатам собственных тестов, разработчики SafeLine утверждают, что точность обнаружения вредоносных атак на веб-приложения достигает 99%, в то время как у других конкурентов на рынке этот показатель ниже:

Установка

Установка SafeLine в качестве брандмауэра – это простой процесс, не требующий особых усилий.

Системные требования

Официальная документация программы рекомендует 1 ГБ оперативной памяти и 1 ядро процессора минимум для работы программы, но, конечно, это зависит от вашего приложения и пользовательского трафика, который оно получает.

SafeLine написан на языке Go и старается потреблять как можно меньше оперативной памяти и процессора, но вы можете попробовать оптимизировать производительность позже, после установки.

Способ установки

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

bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/manager.sh)" -- --en

После этого вы увидите, что программное обеспечение запущено по адресу https://:9443/ на вашем сервере. Откройте этот адрес с помощью браузера, чтобы получить доступ к панели управления:

Выполните следующую команду, чтобы получить имя пользователя и пароль для экземпляра SafeLine:

docker exec safeline-mgt resetadmin

И тогда вы сможете войти в систему без проблем!

Обратитесь к разделу «Ручная установка» в документации, если вы хотите настроить свою установку еще больше.

SafeLine Tour

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

Приборная панель

Как только вы войдете в панель управления брандмауэром, и если у вас уже есть веб-приложение, вас встретит информативная приборная панель, на которой подробно описано все о текущем состоянии:

Если вы спуститесь еще ниже, то увидите еще и еще:

Эта статистика включает в себя:

  • Количество текущих запросов, посетителей и заблокированных IP за последний период (24 часа, 7 дней или 30 дней).
  • Страну наибольшего количества запросов или наибольшего количества заблокированных запросов, красиво отображаемую в виде движущегося глобуса (при желании можно переключить 2D или 3D вид).
  • Запросы в секунду, которые ваш брандмауэр обслуживает в данный момент.
  • Другие интересные показатели о посещающих вас пользователях.

Скрытая функция, которая, возможно, не привлекла вашего внимания, – это панели данных:

Если вы нажмете на эту кнопку, то сможете запустить интерактивную панель, показывающую, что происходит внутри вашего брандмауэра в режиме реального времени:

И вот как это выглядит:

Это поможет вам понять, как происходят некоторые флуд-атаки на ваш сервер – если они вообще происходят – и кто их совершает.

Это также поможет вам отладить веб-приложение и протестировать его в реальном времени.

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

Добавление веб-приложений

На вкладке «Приложения» панели управления вы можете добавить свои веб-приложения, чтобы они находились под защитой SafeLines.

Просто добавьте новое приложение, выберите адрес и порт, под которым оно работает на вашем сервере, и SafeLine начнет его защищать:

После добавления вы увидите его в списке приложений:

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

В этом окне вы можете включить или отключить любой механизм защиты в SafeLine WAF для вашего веб-приложения:

Вы также можете перейти к расширенному просмотру, если хотите настроить эти параметры более глубоко, чем раньше:

Эти параметры включают настройки SSL-сертификата, сжатие Gzip, политику заголовков, источник анализа IP-адресов и многое другое.

Вы можете либо выбрать переключение этих опций независимо для каждого приложения, как мы видели ранее, либо использовать глобальный просмотр опций для ВСЕХ ваших веб-приложений, которые в настоящее время защищены SafeLine WAF:

Это довольно удобная функция для многих случаев использования.

80 % наших читателей блокируют рекламу. Подумайте о том, чтобы оставить небольшое пожертвование для поддержания сайта или стать одним из наших сторонников на Patreon, чтобы получить множество преимуществ и аккаунт 0 без рекламы на нашем сайте!

Предотвращение атак безопасности

Вы можете перейти на вкладку «Атаки», чтобы просмотреть журналы текущих событий атак на ваш сервер:

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

Эти варианты возможны для правил:

После добавления WAF начнет защищать определенные конечные точки приложений в соответствии с введенными правилами.

На вкладке «Семантический анализ» можно просмотреть все поддерживаемые механизмы защиты от атак в SafeLine, а также применяемые политики для каждого типа атак:

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

Защита от наводнений

SafeLine также включает в себя антифлуд-брандмауэр, который может ограничивать скорость доступа в соответствии с вашими пожеланиями:

В его настройках можно установить любой лимит:

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

Оповещения

В настройках SafeLine есть небольшая полезная функция, позволяющая настроить оповещения о необычных действиях на вашем сервере, например о большом количестве атак. Вы можете подключить ботов Discord или Telegram, чтобы получать мгновенные уведомления о таких событиях:

80% наших читателей блокируют рекламу. Подумайте о том, чтобы оставить небольшое пожертвование для поддержания работы сайта или стать одним из наших сторонников на Patreon, чтобы получить множество преимуществ и 0 аккаунт без рекламы на нашем сайте!

Заключение

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

SafeLine WAF доступен в виде отдельной версии с открытым исходным ко дом, которую можно настроить и установить, и расширенной версии, на которую можно подписаться за $10 и $100 в месяц с дополнительными функциями. Видимо, таким образом они могут поддерживать себя и обеспечивать расходы на разработку для своей команды.

SafeLine распространяется под лицензией GPLv3, а дополнительную информацию о нем можно получить на портале документации.