Web uygulamaları her geçen gün daha fazla siber saldırı tehdidi altında kalmakta ve bu durum, güvenliğin en üst düzeye çıkarılmasını gerekli kılmaktadır. Özellikle SQL Injection, Cross-Site Scripting (XSS), DDoS gibi yaygın saldırılar, uygulama katmanına yönelik saldırılar arasında yer alır. Nginx, yüksek performanslı bir web sunucusu olarak yaygın şekilde kullanılmakta, ancak bu sunucunun güvenliğini artırmak için ek güvenlik katmanlarına ihtiyaç duyulmaktadır. Bu noktada ModSecurity, Nginx gibi web sunucularına entegre edilerek uygulama güvenliğini artıran bir çözüm olarak devreye girer.
Bu makalede, Nginx ModSecurity entegrasyonunun ne olduğu, nasıl çalıştığı ve neden kullanılması gerektiği konularını ele alacağız.
Nginx nedir?AMP yüksek performanslı, açık kaynaklı bir web sunucusu ve ters proxy çözümüdür. 2004 yılında Igor Sysoev tarafından geliştirilen Nginx, düşük bellek kullanımı ve yüksek paralel bağlantı kapasitesi nedeniyle popülerlik kazanmıştır. Özellikle dinamik içeriklerin hızla sunulması, ters proxy olarak kullanılması ve DDoS saldırılarını hafifletebilmesi gibi özellikleri, Nginx’in tercih edilme sebeplerinden bazılarıdır. Ancak, Nginx doğrudan uygulama katmanındaki güvenlik tehditlerine karşı tam bir koruma sunmaz. Bu yüzden, ModSecurity gibi bir Web Uygulama Güvenlik Duvarı (WAF) kullanmak oldukça önemlidir.
ModSecurity nedirAMP dediğinizde, açık kaynak kodlu bir Web Application Firewall (WAF) yazılımıdır. İlk olarak 2002 yılında geliştirilen bu araç, web uygulamalarına yönelik saldırıları tespit eder ve engeller. ModSecurity, HTTP trafiğini analiz ederek saldırı girişimlerini algılar ve uygulama katmanındaki güvenlik açıklarına karşı koruma sağlar. Bu koruma, önceden tanımlanmış güvenlik kurallarıyla (örneğin, OWASP Core Rule Set) gerçekleştirilir.
ModSecurity, ilk başlarda yalnızca Apache web sunucusu ile kullanılmak üzere tasarlanmıştı. Ancak, gelişen ihtiyaçlarla birlikte Nginx ve IIS gibi diğer web sunucularına da entegre edilebilen bir modül haline geldi. Modsecurity Nginx ile entegre edildiğinde, uygulama güvenliğini önemli ölçüde artıran bir güvenlik katmanı oluşturur.
Nginx, kendi başına yüksek performanslı ve güvenilir bir web sunucusu olsa da, bazı güvenlik tehditlerine karşı yetersiz kalabilir. Özellikle web uygulamalarına yönelik saldırılar, sadece temel güvenlik önlemleri ile önlenemeyebilir. İşte bu noktada ModSecurity devreye girer. ModSecurity’nin Nginx ile entegre edilmesi, aşağıdaki avantajları sağlar:
Öncelikle Nginx’in Ubuntu 20.04 üzerine kurulu olduğundan emin olun:
sudo apt update
sudo apt install nginx
ModSecurity’yi yükleyip Nginx ile entegre etmek için aşağıdaki adımları izleyin:
sudo apt install libapache2-mod-security2
sudo apt install nginx-mod-security
SecRuleEngine direktifini On olarak ayarlayın:sudo nano /etc/nginx/modsec/modsecurity.conf
SecRuleEngine On
OWASP CRS kuralları, yaygın saldırılara karşı hazır güvenlik kurallarını içerir. Bu kuralları etkinleştirmek için:
sudo apt install modsecurity-crs
sudo ln -s /usr/share/modsecurity-crs /etc/nginx/modsec/
sudo nano /etc/nginx/modsec/modsecurity.conf
Dosyanın sonuna şu satırları ekleyin:
Include /usr/share/modsecurity-crs/crs-setup.conf
Include /usr/share/modsecurity-crs/rules/*.conf
Son olarak, bu noktada, Nginx yapılandırmasına ModSecurity’yi ekleyin:
sudo nano /etc/nginx/nginx.conf
http bloğunun içine şu satırları ekleyin:
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/modsecurity.conf;
sudo systemctl restart nginx
Nginx ModSecurity entegrasyonu, uygulama katmanı güvenliğiniAMP artırmanın en etkili yollarından biridir. ModSecurity’nin sunduğu gelişmiş güvenlik özellikleri ile SQL Injection, XSS gibi yaygın saldırı türlerine karşı koruma sağlar. Nginx’in performansı ve esnekliği korunur. OWASP Core Rule Set’in entegrasyonu ile ModSecurity, Nginx’i daha güvenli bir hale getirir. Ve siber tehditlere karşı güçlü bir kalkan oluşturur.