Наименование:
Сайт проекта: Shieldon
Разработчик WAF: Terry Lin
Адаптация под Rukovoditel: Руслан Плетнев
Тестирование и адаптация настроек: Александр Михалкин
Описание:
Брандмауэр веб-приложений с легкой настройкой. Данная версия адаптирована под Rukovoditel.
Основные возможности:
- Защита от DDOS-атак направленные на HTTP(s) протокол.
- Anti-scraping.
- Ограничивает количество онлайн-пользователей.
- Защита от межсайтового скриптинга (XSS).
- Защита от сканирования уязвимостей.
- Предотвращение атак грубой силы.
- IP-менеджер.
- Защита страниц через WWW-аутентификацию.
- Подробная статистика и графики.
- Отправка уведомлений сторонним сервисам.
- Веб-интерфейс для управления iptables, системным брандмауэром (только Linux).
Linux
Apache, Nginx
PHP 7.1 или выше (Тестировалось на версии 7.4.26)
Базы: файловая, MySQL(MariaDB), Redis, SQLite
Установка(для тестирования):
- Извлеките архив в корень вашей crm. Рядом с index.php должна появится папка vendor.
- Отредактируйте index.php и добавьте строки:
Код: Выделить всё
require_once __DIR__ . '/vendor/autoload.php'; if (isset($_SERVER['REQUEST_URI'])) { // This directory must be writable. $storage = __DIR__ . '/storage/shieldon'; $firewall = new \Shieldon\Firewall\Firewall(); $firewall->configure($storage); // The base url for the control panel. $firewall->controlPanel('/firewall/panel/'); $response = $firewall->run(); if ($response->getStatusCode() !== 200) { $httpResolver = new \Shieldon\Firewall\HttpResolver(); $httpResolver($response); } } if (false !== strpos($_SERVER['REQUEST_URI'] ?? '', '/firewall/panel/')) { $panel = new \Shieldon\Firewall\Panel(); $panel->entry(); exit; }
- Панель будет доступна по ссылка: /firewall/panel/
По умолчанию логин: shieldon_user
Пароль: shieldon_pass
- Извлеките архив ниже уровня доступности рабочего каталога для вашей crm. Пример: Ваша CRM находится по следующему пути: /var/data/www/user1/www/crm.primer.ru. Вам лучше выложить ее по следующему пути для безопасности:/var/data/www/user1/
- Отредактируйте index.php и добавьте строки:
Код: Выделить всё
require_once '/vendor/autoload.php'; // перед /vendor/ нужно добавить путь if (isset($_SERVER['REQUEST_URI'])) { // This directory must be writable. $storage = '/storage/shieldon'; // перед /storage/ нужно добавить путь $firewall = new \Shieldon\Firewall\Firewall(); $firewall->configure($storage); // The base url for the control panel. $firewall->controlPanel('/firewall/panel/'); $response = $firewall->run(); if ($response->getStatusCode() !== 200) { $httpResolver = new \Shieldon\Firewall\HttpResolver(); $httpResolver($response); } } if (false !== strpos($_SERVER['REQUEST_URI'] ?? '', '/firewall/panel/')) { $panel = new \Shieldon\Firewall\Panel(); $panel->entry(); exit; }
- Панель будет доступна по ссылка: /firewall/panel/
По умолчанию логин: shieldon_user
Пароль: shieldon_pass
- Зайдите в панель, Firewall, Setting, Daemon и нажмите на тумблер On Off. При этом On станет синим и нажмите кнопку Save.
- Для смены логина и пароля, вам нужно в панели зайти в Firewall, Setting, Admin Login.
- В разделе Firewall, Setting, Filters нужно заменить некоторые значения, для корректной работы Rukovoditel:
Secondly Limit поставить 10
Minutely Limit поставить 60
Hourly Limit поставить 300
Daily Limit поставить 500
Добавлен пример index.php для версии 3.0.