WAF: Налаштування в Nginx, Apache та Litespeed

WAF (Web Application Firewall) є невід’ємною частиною захисту веб-додатків. Він використовується для виявлення та блокування спроб атак на веб-додатки, які можуть призвести до компрометації конфіденційної інформації. У цій статті ми розглянемо способи реалізації WAF , яке програмне забезпечення використовувати для його реалізації та приклади конфігурацій ВАФ для Nginx, Apache та Litespeed.

Способи реалізації Web Application Firewall

Програмне забезпечення на сервері. Цей спосіб реалізації WAF являє собою програмне забезпечення, яке встановлюється на сервері веб-додатка. Воно може працювати як модуль для веб-сервера або як окремий процес. Програмне забезпечення на сервері має хорошу продуктивність, але вимагає налаштування для кожного сервера веб-додатків.

  1. Програмне забезпечення на сервері. Цей спосіб реалізації WAF являє собою програмне забезпечення, яке встановлюється на сервері веб-додатка. Воно може працювати як модуль для веб-сервера або як окремий процес. Програмне забезпечення на сервері має хорошу продуктивність, але вимагає налаштування для кожного сервера веб-додатків.
  2. Апаратне забезпечення. Апаратне забезпечення Web Application Firewall встановлюється між клієнтом та сервером веб-додатка. Цей тип фаєрволу має високу продуктивність та може обробляти великі обсяги трафіку. Проте, апаратне забезпечення вимагає значних витрат на придбання та налаштування.
  3. Хмарний сервіс. Хмарний сервіс фаєрволу являє собою сервіс, який надається провайдерами хмарних послуг. Цей тип Web Application Firewall має високу гнучкість і не потребує налаштування. Проте, його продуктивність залежить від якості мережевого з’єднання.

Програмне забезпечення для ВАФ

Існує безліч програмних забезпечень, які можуть бути використані для реалізації ВАФ. Деякі з них включають:

  1. ModSecurity. Це програмне забезпечення Web Application Firewall, яке працює як модуль для Apache та Nginx. Воно дозволяє створювати користувацькі правила та має потужний механізм логування.
  2. NAXSI. Це програмне забезпечення Web Application Firewall, яке працює як модуль для Nginx. Воно використовує метод фільтрації за шаблонами та дозволяє створювати користувацькі правила.
  3. Mod_evasive. Це програмне забезпечення Web Application Firewall, яке працює як модуль для Apache. Воно забезпечує захист від DDoS-атак та має простий інтерфейс налаштування.
  4. OWASP ModSecurity Core Rule Set (CRS). Це набір правил для ModSecurity, який розроблений командою OWASP (Open Web Application Security Project). Він містить понад 100 правил, які дозволяють виявляти та блокувати різні види атак.
  5. Cloudflare WAF. Це хмарний сервіс ВАФ, який надається провайдером хмарних послуг Cloudflare. Він забезпечує захист від безлічі видів атак і не потребує налаштування.

Реалізація WAF в Nginx, Apache та Litespeed

Для реалізації Web Application Firewall за допомогою Nginx, Apache та Litespeed необхідно встановити відповідні модулі та налаштувати правила для виявлення та блокування атак. Розглянемо приклади конфігурацій WAF для кожного з цих веб-серверів.

Налаштування WAF в Nginx

Для реалізації Web Application Firewall за допомогою Nginx необхідно встановити модуль ModSecurity та налаштувати правила для виявлення атак. Нижче наведено приклад конфігурації для Nginx:

server {
    listen 80;
    server_name example.com;
 
    location / {
        ModSecurityEnabled on;
        ModSecurityConfig modsecurity.conf;
        ModSecurityRuleset /usr/local/owasp-modsecurity-crs/rules/;
 
        proxy_pass http://backend;
    }
}

Рекомендуємо ознайомитися зі статтею “WAF для Nginx: Захист від атак за допомогою NAXSI, ModSecurity та Lua WAF“, в якій детально описані різні модулі ВАФ, а також їх установка та налаштування для Nginx. 

Налаштування WAF в Apache

Для реалізації Web Application Firewall за допомогою Apache необхідно встановити модуль ModSecurity та налаштувати правила для виявлення атак. Нижче наведено приклад конфігурації для Apache:

<IfModule mod_security2.c>
    SecRuleEngine On
    SecRequestBodyAccess On
    SecDataDir /var/cache/mod_security
    SecAuditLog /var/log/httpd/modsec_audit.log
    SecDebugLog /var/log/httpd/modsec_debug.log
    SecAuditEngine RelevantOnly
    SecAuditLogParts ABIFHZ
    SecRule REQUEST_HEADERS:User-Agent "libwww-perl" "deny,status:403,log,id:101"
</IfModule>

Налаштування WAF в LiteSpeed

Для реалізації Web Application Firewall за допомогою LiteSpeed (оф. сайт: https://www.litespeedtech.com/) та OpenLiteSpeed необхідно встановити модуль LiteSpeed ModSecurity та налаштувати правила для виявлення атак. Нижче наведено приклад конфігурації для LiteSpeed:

Load Module mod_security
Modsecurity on

<Files ~ ".(php|cgi)$">
SecFilterEngine Off
SecFilterScanPOST Off
</Files>

<Location />
SecFilterEngine On
SecFilterDefaultAction "deny,log,status:403"
SecFilterSelective ARGS "select" chain
SecFilterSelective ARGS "update" chain
SecFilterSelective ARGS "delete" chain
SecFilterSelective ARGS "insert" chain
SecFilterSelective ARGS "drop" chain
SecFilterSelective ARGS "truncate" chain
SecFilterSelective ARGS "alter" chain
SecFilterSelective ARGS "create" chain
</Location>

Цей приклад конфігурації блокує запити, що містять певні SQL-запити, такі як SELECT, UPDATE, DELETE, INSERT, DROP, TRUNCATE, ALTER та CREATE.

Висновок

На завершення, використання Web Application Firewall є важливим кроком у забезпеченні безпеки веб-додатків. Існує безліч програмних рішень, які можуть бути використані для реалізації фаєрволу, таких як NAXSI, Mod_evasive, OWASP ModSecurity CRS та Cloudflare WAF. Конфігурація фаєрволу за допомогою Nginx, Apache та LiteSpeed вимагає встановлення відповідних модулів та правил для виявлення атак. Рекомендується регулярно оновлювати правила та стежити за актуальністю програмного забезпечення Web Application Firewall.

Оцініть статтю