ModSecurity w Nginx - jak wdrożyć WAF na serwerze
WAF (Web Application Firewall) to dodatkowa warstwa ochrony aplikacji webowych. Filtruje i monitoruje ruch HTTP w celu blokowania ataków takich jak SQL Injection, XSS czy brute force. Jednym z najpopularniejszych WAF jest ModSecurity, który można zintegrować z Nginx. W tym artykule pokazujemy, jak go wdrożyć krok po kroku.Czym jest ModSecurity
open source Web Application Firewall
chroni aplikacje przed znanymi atakami OWASP Top 10
pozwala tworzyć własne reguły filtrujące
działa jako moduł dla Apache, Nginx i IIS
Instalacja ModSecurity dla Nginx
Na Debian/Ubuntu:
sudo apt update
sudo apt install libnginx-mod-security2 -y
Sprawdzenie, czy moduł jest dostępny:
nginx -V 2>&1 | grep --color -o security
Włączenie ModSecurity w konfiguracji Nginx
Edytujemy plik /etc/nginx/nginx.conf i dodajemy:
load_module modules/ngx_http_modsecurity_module.so;
Przykładowa konfiguracja Nginx z SSL i ModSecurity
Plik: /etc/nginx/sites-enabled/example.conf
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Konfiguracja ModSecurity
Plik: /etc/nginx/modsec/main.conf
SecRuleEngine On
SecAuditEngine RelevantOnly
SecAuditLog /var/log/nginx/modsec_audit.log
Dodanie reguł OWASP CRS
cd /etc/nginx/modsec
git clone https://github.com/coreruleset/coreruleset.git
mv coreruleset owasp-crs
cp owasp-crs/crs-setup.conf.example owasp-crs/crs-setup.conf
echo "Include /etc/nginx/modsec/owasp-crs/crs-setup.conf" >> main.conf
echo "Include /etc/nginx/modsec/owasp-crs/rules/*.conf" >> main.conf
Testowanie działania
Restartujemy Nginx i sprawdzamy logi:
sudo systemctl restart nginx
tail -f /var/log/nginx/modsec_audit.log
Przykładowe testy:
wpisanie w URL fragmentu SQL np. ?id=1' OR '1'='1
wywołanie pliku xmlrpc.php w WordPress
Tworzenie własnych reguł
Blokada dostępu do pliku xmlrpc.php:
SecRule REQUEST_URI "@streq /xmlrpc.php" "id:1001,deny,status:403,msg:'Blocked XMLRPC access'"
Najlepsze praktyki
zacznij od trybu detekcji (SecRuleEngine DetectionOnly), aby sprawdzić reguły
regularnie aktualizuj OWASP CRS
dostosuj reguły do swojej aplikacji, aby uniknąć false positive
integruj logi ModSecurity z ELK Stack lub SIEM
Podsumowanie
ModSecurity zintegrowane z Nginx na porcie 443 pozwala na bezpieczne szyfrowanie ruchu i aktywną ochronę aplikacji webowych. Wdrożenie OWASP CRS i własnych reguł daje pełną kontrolę nad ruchem i skutecznie zabezpiecza przed popularnymi atakami.
07 wrz 2025 • 10 min czytania Fail2Ban i Nginx - pełna konfiguracja blokowania ataków
Nginx sam w sobie oferuje mechanizmy ograniczania liczby żądań i filtrowania adresów IP, ale nie zawsze wystarcza to przy bardziej...
Zobacz więcej
07 wrz 2025 • 9 min czytania Jak skonfigurować monitoring dysków SMART w Linux
Dyski twarde i SSD to jeden z najważniejszych elementów serwera. Ich awaria może oznaczać utratę danych i przestoje w działaniu usług....
Zobacz więcej
01 wrz 2025 • 7 min czytania Nginx dla WordPress - jak przyspieszyć swoją stronę?
WordPress to najpopularniejszy system CMS na świecie, ale jednocześnie wymagający, jeśli chodzi o wydajność. Przy większym ruchu i...
Zobacz więcej
06 wrz 2025 • 10 min czytania Podstawy hardeningu systemu Linux - lista kontrolna administratora
Hardening systemu Linux polega na wzmacnianiu jego bezpieczeństwa poprzez ograniczanie zbędnych usług, stosowanie właściwych uprawnień...
Zobacz więcej
06 wrz 2025 • 9 min czytania Redis vs Memcached - które rozwiązanie cache wybrać dla aplikacji webowe
Cache to jeden z najprostszych i najskuteczniejszych sposobów na przyspieszenie aplikacji webowych. Dzięki niemu dane są przechowywane w...
Zobacz więcejTutaj znajdziesz odpowiedzi na najważniejsze pytania dotyczące naszych usług i wsparcia.
FAQ
Jakie usługi administracji serwerami oferujecie?
Świadczymy kompleksową obsługę - od konfiguracji i monitoringu, przez optymalizację wydajności, aż po pełne wsparcie techniczne 24/7.
Czy zajmujecie się migracją danych i systemów?
Tak, wykonujemy bezpieczne migracje plików, baz danych i aplikacji - bez przestojów i bez dodatkowych kosztów.
Czym różni się serwer dedykowany od VPS?
Serwer dedykowany to pełna maszyna tylko dla Ciebie, a VPS to jej podział na wirtualne środowiska - tańsze, ale współdzielone.
Czy mogę liczyć na pomoc przy awarii?
Tak, monitorujemy serwery całodobowo i natychmiast reagujemy w przypadku awarii, minimalizując ryzyko przestoju.
Czy Wasze rozwiązania są skalowalne?
Oferujemy infrastrukturę, która rośnie razem z Twoim biznesem - łatwo zwiększysz zasoby wtedy, gdy tego potrzebujesz.
Czy oferujecie wsparcie przy budowie infrastruktury?
Tak, projektujemy i wdrażamy środowiska IT dopasowane do potrzeb – od małych firm po duże, złożone systemy.
Jak zabezpieczacie serwery przed atakami i utratą danych?
Stosujemy firewalle, systemy anty-DDoS, regularne backupy i aktualizacje, aby zapewnić maksymalne bezpieczeństwo.
Jakie gwarancje SLA zapewniacie?
Oferujemy SLA na poziomie 99.99% dostępności, co oznacza niezawodne działanie infrastruktury i szybki czas reakcji przy ewentualnych problemach.
Chcesz dowiedzieć się więcej o naszej ofercie?
Wyślij zapytanie