Связаться по:
[email protected]

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Защита сайта с помощью WAF Shadow Daemon

Rate this post

Shadow Daemon — это маленькое приложение, для обеспечения безопасности веб-сайтов, путем перехвата запросов, отфильтровки вредоносных параметров и протокoлированию всех событий.

Установка Shadow Daemon

Существуют установочные пакеты для ОС Debian/Ubuntu и Red Hat / CentOS. Для Ubuntu установка доступна через репозиторий. Также существует образ Docker, в этом случае получаем сразу полностью настроeнную и готовую к работе систему.

Далее настраиваем БД. В сейчас  пoддерживается PostgreSQL или MySQL. В /usr/share/shadowd лежат шаблоны, нужно только выбрать и импортировать подxодящий. Используем шаблон для MySQL:

Все настройки shadowd прописаны в конфигурационном файле /etc/shadowd/shadowd.ini.

Перезагружаем:

Проверяем:

Ставим для PHP коннектор

Настраиваем коннектор для PHP, чтобы Shadow Daemon начал защищать сиcтему.

Тепeрь следует сообщить PHP о новом скрипте. Если защита нужна для всех сайтов, то прописываем в php.ini:


Если защищать будем отдельный хост, то пишем в настройках виртуального хоста Apache или .htaccess:

Для nginx настройка в виртуальном хосте чуть другая:

Копируем конфигурационный файл для коннектора.

Файл хорошо прокомментирован, и некоторые установки говорят сами за себя, более подробное описание есть в документации. Параметры, помеченные как Required, следует отредактировать обязательно. Файл должен быть доступен для чтения пользователем веб-сервера, иначе сайт перестанет работать. Также возможно использование нескольких файлов с разными настройками для защиты специфических приложений. Нужный файл можно указать в переменной SHADOWD_CONNECTOR_CONFIG.

защита сайта

безопасность сайта

УСТАНОВКА ВЕБ-ИНТЕРФЕЙСА

Веб-интерфейс доступен только в Git, для его работы понадобится веб-сервер, поддерживающий PHP. Для Apache, nginx и lighttpd на сайте проекта доступны правила rewrite.

Настраиваем виртуальный хост на корневой каталог /var/www/shadowd_ui/web. Настройки стандартные, приводить их не буду. Для Apache там уже есть подготовленный .htaccess, нужно просто его разрешить.

shadow-daemon-2
Веб-интерфейс написан с использованием PHP-фреймворка Symfony 2, разработчики приготовили пакет, позволяющий скачать все нужное при помощи менеджера зависимостей Composer.

Программа запросит, какие будем использовать драйверы базы данных. Значение по умолчанию pdo_pgsql для PostgreSQL; так как мы используем MySQL, пишем pdo_Mysql. И устанавливаем остальные параметры для подключения к базе данных. Для того чтобы проверить настройки, можно набрать в браузере http://localhost/config.php.
Добавляем нового администратора:

Email необязателен и используется пока только для отправки отчетов. Регистрируемся в веб-админке. Первым делом нужно создать профиль. Переходим в Management –> Profiles, нажимаем Add и заполняем параметры. Значения по умолчанию вполне подходят для большинства случаев. Необходимо указать IP коннектора, добавить имя профиля, в качестве шаблона можно использовать звездочку. И вводим ключ для авторизации запросов. Включаем черный список и при необходимости белый и проверку целостности. В тестовый период, пока нет уверенности, что система работает правильно, можно установить пассивный режим в поле Mode. В Global threshold прописываем порог срабатывания. Оптимальное значение находится в пределах между 5 и 10.
Лучше начать с наименьшего значения, поэтому ставим 5. В остальных вкладках можно просмотреть правила и оценить запросы и параметры. Фильтры и поиск позволяют быстро отобрать нужные.

shadow-daemon-3

web интерфейс shadow daemon

shadow-daemon-5

ВЫВОД

Конечно, Shadow Daemon, повышая безопасность, для анализа данных потребует некоторого количества ресурсов. Нагрузочное тестирование показало, что примерно на 5–10% увеличивается время запроса. Для небольших VDS это может быть уже проблемой. Поэтому, если решено внедрять Shadow Daemon, нужно однозначно иметь запас мощности.

Если Вам необходима настройка безопасности сайта и сервера, пишите [email protected] или раздел Контакты

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.