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 • 11 min czytania Zaawansowana optymalizacja WordPress na VPS - Redis, PHP-FPM i FastCGI cach
WordPress to najpopularniejszy CMS, ale przy większym ruchu potrafi być wymagający dla serwera. Na zwykłym hostingu szybko pojawiają się...
Zobacz więcej
02 wrz 2025 • 7 min czytania Cache na serwerze - jak przyspieszyć aplikacje i zmniejszyć obciążenie?
Szybkość działania aplikacji i stron internetowych to jeden z najważniejszych czynników sukcesu w biznesie online. Użytkownicy oczekują...
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
07 wrz 2025 • 9 min czytania Jak monitorować zużycie zasobów I/O i sieci (iostat, iftop, nload)
Sprawne monitorowanie serwera to nie tylko obserwacja CPU i RAM. Równie istotne są wskaźniki I/O dysków oraz obciążenie sieci. Wysokie...
Zobacz więcej
10 wrz 2025 • 12 min czytania Alerty w Zabbix - jak wysyłać powiadomienia do Slack i Telegram?
Samo monitorowanie serwerów i aplikacji nie wystarczy, jeśli administrator nie dostanie natychmiast informacji o problemie. Zabbix...
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