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.
08 wrz 2025 • 12 min czytania PHP Opcache - jak działa i jak go poprawnie skonfigurować
Każde uruchomienie skryptu PHP wiąże się z parsowaniem kodu i kompilacją do kodu pośredniego (opcode), zanim zostanie on wykonany przez...
Zobacz więcej
21 wrz 2025 • 15 min czytania Różnice między chmurą publiczną, prywatną i hybrydową - co wybrać dla biznesu?
Chmura stała się fundamentem nowoczesnej infrastruktury IT. Daje elastyczność, oszczędności i łatwość skalowania, dlatego coraz więcej...
Zobacz więcej
07 wrz 2025 • 8 min czytania Jak działa Load Average w Linux i jak go interpretować
Podczas monitorowania serwera Linux jednym z najczęściej spotykanych wskaźników jest Load Average. Widać go w poleceniu uptime, top czy...
Zobacz więcej
05 wrz 2025 • 8 min czytania Jak monitorować temperaturę i zdrowie dysków (SMART, nvme-cli, hddtemp)
Dyski twarde i nośniki SSD są jednym z najważniejszych elementów infrastruktury serwerowej. Awaria dysku może oznaczać utratę danych i...
Zobacz więcej
07 wrz 2025 • 10 min czytania Jak zabezpieczyć Nginx przed atakami brute force i DDoS
Nginx to jeden z najpopularniejszych serwerów WWW i reverse proxy. Obsługuje miliony stron, ale jak każde oprogramowanie, jest narażony...
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