waf-nasil-calisir
İnternet dünyasında her gün binlerce web sitesi saldırıya uğruyor. SQL injection, XSS (Cross-Site Scripting), DDoS gibi saldırılar, güvenlik önlemleri alınmamış bir web sitesini kolaylıkla çökertip veri kaybına neden olabilir. Bu nedenle web sitesi güvenliği büyük bir öneme sahiptir. Bu yazıda, Web Application Firewall (WAF), ModSecurity ve sunucu güvenliği gibi kritik güvenlik önlemlerini detaylıca ele alacağız.
Web Application Firewall (WAF), web uygulamalarını zararlı trafiklerden ve siber saldırılardan koruyan bir güvenlik katmanıdır. WAF, gelen HTTP/HTTPS isteklerini analiz ederek zararlı olabilecek istekleri engeller.
Öneri: Eğer kendi sunucunuzda çalıştıracağınız bir WAF arıyorsanız ModSecurity en iyi çözümlerden biridir. Eğer bulut tabanlı bir WAF tercih edecekseniz Cloudflare WAF veya Sucuri WAF gibi çözümler daha az bakım gerektirir.
ModSecurity, özellikle Apache, Nginx ve LiteSpeed gibi popüler web sunucularıyla çalışabilen bir WAF çözümüdür. OWASP tarafından hazırlanan Core Rule Set (CRS) kurallarını kullanarak web sitenizi saldırılara karşı korur.
1. ModSecurity modülünü yükleyin:
sudo apt update
sudo apt install libapache2-mod-security2 -y
2. OWASP Core Rule Set (CRS) Kurulumu:
sudo git clone https://github.com/coreruleset/coreruleset /etc/modsecurity/crs
cd /etc/modsecurity/crs
sudo mv crs-setup.conf.example crs-setup.conf
3. ModSecurity’yi etkinleştirin:
sudo nano /etc/apache2/mods-available/security2.conf
Aşağıdaki satırı ekleyin:
IncludeOptional /etc/modsecurity/crs/*.conf
4. Apache’yi yeniden başlatın:
sudo systemctl restart apache2
Gereksiz kuralları devre dışı bırakma:
Bazı ModSecurity kuralları, yanlış pozitiflere neden olabilir. Örneğin, WordPress’in REST API’sini kullanıyorsanız, aşağıdaki kuralı devre dışı bırakmalısınız:
SecRuleRemoveById 949110
Performansı artırma:
SecRequestBodyLimit 13107200
SecResponseBodyLimit 524288
SecRequestBodyNoFilesLimit 102400
SecPcreMatchLimit 250000
SecPcreMatchLimitRecursion 250000
Bir web sunucusunun güvenli olabilmesi için aşağıdaki adımları uygulamak şarttır:
sudo nano /etc/ssh/sshd_config
Port 2222
gibi farklı bir port belirleyin.
PermitRootLogin no
sudo ufw allow from 192.168.1.100 to any port 2222
sudo apt install fail2ban -y
UFW kullanarak gereksiz portları kapatın:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo apt update && sudo apt upgrade -y
Sistem güncellemeleri, bilinen güvenlik açıklarını kapatmak için gereklidir.
Eğer kendi sunucunuzu yönetmiyorsanız ve bir hosting firması kullanıyorsanız, aşağıdaki kriterlere dikkat etmelisiniz:
🔹 DDoS Koruması: Cloudflare, Imperva gibi DDoS koruma çözümleri sunuyor mu?
🔹 WAF Desteği: Hosting sağlayıcı, ModSecurity, Cloudflare WAF gibi güvenlik önlemlerine sahip mi?
🔹 Yedekleme Politikası: Haftalık veya günlük yedekleme yapılıyor mu?
🔹 Güvenlik Duvarı (Firewall): Sunucu seviyesinde güvenlik önlemleri var mı?
🔹 Güncellenmiş PHP ve MySQL Desteği: PHP ve MySQL’in en son sürümlerini kullanabiliyor musunuz?
🔹 7/24 Destek: Teknik destek hızlı ve etkili mi?
Web sitenizi saldırılara karşı korumak için ModSecurity veya Cloudflare WAF gibi bir güvenlik duvarı kullanmanız büyük önem taşır. Ayrıca, güçlü şifreler, güvenlik duvarı (UFW), Fail2Ban ve düzenli sistem güncellemeleriyle sunucunuzu güvenli hale getirebilirsiniz. Eğer bir hosting firması tercih ediyorsanız, DDoS koruması, WAF, yedekleme hizmetleri ve güvenlik duvarı gibi özellikleri barındıran bir sağlayıcıyı seçmeniz gerekmektedir.
Web sitesi güvenliği, önceden alınan önlemlerle saldırılara karşı korunarak sağlanır. Önlemleri ne kadar erken alırsanız, siteniz o kadar güvende olur.
Laravel’de Real-Time (Gerçek Zamanlı) Bildirimler Laravel, modern web uygulamalarında gerçek zamanlı bildirimler oluşturmak için güçlü…
Laravel’de Mail Gönderme ve Bildirimler Laravel, modern web uygulamaları geliştirirken e-posta gönderimi ve bildirim sistemleri…
Laravel, dosya yükleme ve depolama işlemleri için güçlü bir Storage (Dosya Depolama) mekanizması sunar. Bu mekanizma, yerel…
Laravel’de Çoklu Dil (Localization) Kullanımı: Uygulamanızı Küresel Hale Getirin 🌍 Laravel, modern web uygulamaları için…
Laravel’de Test Driven Development (TDD) ve Test Yazımı: Güvenilir ve Sürdürülebilir Kod Geliştirme Laravel, modern…
Laravel’de Scheduler (Zamanlanmış Görevler) Kullanımı: Otomatik İşlemler ve Zaman Yönetimi Laravel, modern web uygulamalarında belirli…