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.
04 wrz 2025 • 9 min czytania Jak ograniczyć zużycie RAM i CPU na serwerze Linux - praktyczne metody
Każdy serwer prędzej czy później zaczyna mieć problemy z wydajnością. Najczęściej powodem są procesy zużywające za dużo pamięci RAM lub...
Zobacz więcej
06 wrz 2025 • 10 min czytania RAID w praktyce - który poziom wybrać dla serwera produkcyjnego
RAID (Redundant Array of Independent Disks) to technologia łącząca kilka dysków w jedną logiczną jednostkę w celu zwiększenia wydajności...
Zobacz więcej
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
07 wrz 2025 • 10 min czytania TCPdump w praktyce - analiza ruchu sieciowego krok po kroku
TCPdump to jedno z najważniejszych narzędzi administratora Linux. Umożliwia przechwytywanie i analizę pakietów sieciowych w czasie...
Zobacz więcej
15 wrz 2025 • 10 min czytania Praktyczne przykłady reguł Fail2ban do szybkiego wdrożenia
Boty to jedni z najczęstszych „gości” każdego serwera WWW. Część z nich jest pożyteczna, jak roboty wyszukiwarek indeksujące strony...
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