
Межсетевые экраны веб-приложений (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, а дополнительную информацию о нем можно получить на портале документации.