Файрвол веб-приложений (Web application firewall, WAF)

Межсетевой экран для защиты веб-приложений. Это инструмент для фильтрации трафика, работающий на прикладном уровне (уровень L7 модели OSI).

Что такое файрвол WAF и зачем он нужен?

WAF помогает защищать веб-приложения, фильтруя и отслеживая HTTP-трафик между веб-приложением и Интернетом. WAF работает на 7 уровне модели OSI, его также называют “прикладным” уровнем, поэтому он не предназначен для защиты от всех типов атак. Подобный метод “смягчения” атаки, как правило, является частью набора инструментов, которые вместе образуют целостную защиту.

WAF обычно размещается перед веб-приложением, работая своеобразным щитом между этим приложением и сетью интернет. WAF можно назвать “обратным прокси”, так как он защищает web-сервер, пропуская пользователей обращающихся к вашему ресурсу через себя прежде чем предоставить доступ к данному вашему сайту.

Как работает WAF?

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

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

От каких атак защищает WAF?

Как показала практика WAF - очень полезный инструмент, защищающий от многих типов атак. Среди них такие как:

  • SQL-инъекции - один из самых распространенных типов атак на сайты и программы, работающие с базами данных. Его суть заключается во внедрении произвольного SQL-кода в запрос, что может дать атакующему доступ к просмотру и редактированию базы.
  • XSS (межсайтовый скриптинг) - также весьма распространенный тип атаки. Суть его заключается во внедрении атакующим вредоносного кода. С его помощью злоумышленник может получить доступ к личным данным пользователя, да и вообще, почти все что может JavaScript станет для него доступно.
  • Инъекция локальных или удаленных файлов (LFI/RFI) - использование локальных или удаленных файлов в своих целях.
  • LFI (Local File Inclusion) - позволяет злоумышленнику выполнить локальный файл на сервере. С его помощью удаленный пользователь может получить доступ к произвольным файлам на сервере, в том числе содержащую конфиденциальную информацию.
  • RFI (Remote File Inclusion) - позволяет злоумышленнику выполнить удаленный файл на сервере. RFI возникает, когда входящие данные в коде сайта не проходят должную проверку.
  • RCE (remote code execution) - является максимальной угрозой класса A1 по классификации OWASP. При использовании RCE атакующий удаленно выполняет код на взламываемом компьютере, сервере и т.п.
  • PHP инъекции - один из способов взлома сайтов, работающих на PHP, заключающийся в выполнении стороннего кода на сервере. При успешном проведении подобной атаки злоумышленник сможет выполнить любые PHP-команды от пользователя системы от которого работает web-сервер.

Конечно, этот список неполный, WAF сможет вас защитить от гораздо более широкого спектра типов атак.

Возможны ли ложные срабатывания?

Да, ложные срабатывания возможны, они могут заключаться в том, что WAF будет блокировать легитимные запросы к сайту, которые вебмастер сайта проводит целеноправленно, например используя какой не очень распространенный способ закачки файлов на свой ресурс, или же используя какие то не стандартные пути, например храня PHP скрипты в папке статических CSS файлов.

В этом случае необходимо или переписать логику веб-приложения для сайта, или добавить IP-адрес редактора сайта в список исключений для WAF, либо отключить WAF для сайта на котором происходят ложные срабатывания.

Как включить или отключить WAF?

Для того, чтобы подключить WAF, зайдите в Панель управления → раздел «Сайты». В таблице найдите сайт, на котором вы хотите активировать услугу и нажмите кнопку WAF:

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

Для отключения услуги, нужно проделать те же действия, только вместо кнопки «Подключить» необходимо нажать кнопку «Отключить»:

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