
Web sunucuları, siber saldırganların en çok hedef aldığı sistemlerden biridir. Nginx ve Apache, dünyanın en popüler web sunucuları arasında yer alırken, bu sistemlerin güvenliğini sağlamak büyük önem taşır. Yanlış yapılandırılmış bir web sunucusu, DDoS saldırılarına, yetkisiz erişimlere ve veri sızıntılarına yol açabilir.
Aşağıdaki ayarları ekleyin veya düzenleyin:
Yapılandırma değişikliklerini kaydettikten sonra Apache’yi yeniden başlatın:
Aşağıdaki satırları ekleyin veya güncelleyin:
Nginx’i yeniden başlatın:
Şu satırları ekleyin:
Bu ayar, yalnızca 192.168.1.100 IP adresinin /admin dizinine erişmesine izin verecektir.
Apache’yi yeniden başlatın:
Nginx’i yeniden başlatın:
/etc/apache2/mods-available/evasive.conf dosyasına şu satırları ekleyin:
Apache’yi yeniden başlatın:
Nginx’i yeniden başlatın:
1. Varsayılan Ayarları Güçlendirme
Varsayılan web sunucu yapılandırmaları genellikle güvenlik açısından eksik olabilir. İlk adım, temel yapılandırmaları güçlendirmek olmalıdır.1.1. Apache İçin Varsayılan Ayarları Güçlendirme
Apache’nin güvenliğini artırmak için /etc/apache2/apache2.conf veya /etc/httpd/conf/httpd.conf dosyasını düzenleyin:
BASH
sudo nano /etc/apache2/apache2.conf
INI
ServerTokens Prod # Sunucu hakkında minimum bilgi gösterir
ServerSignature Off # Hata sayfalarında Apache bilgilerini gizler
TraceEnable Off # TRACE HTTP metodunu devre dışı bırakır
Options -Indexes # Dizin listelemeyi devre dışı bırakır
Header always unset X-Powered-By # PHP ve Apache sürüm bilgisini gizler
BASH
sudo systemctl restart apache2
1.2. Nginx İçin Varsayılan Ayarları Güçlendirme
Nginx için /etc/nginx/nginx.conf dosyasını düzenleyin:
BASH
sudo nano /etc/nginx/nginx.conf
INI
server_tokens off; # Nginx sürüm bilgisini gizler
add_header X-Frame-Options SAMEORIGIN; # Clickjacking saldırılarını önler
add_header X-XSS-Protection '1; mode=block'; # XSS saldırılarına karşı koruma sağlar
add_header X-Content-Type-Options nosniff; # MIME tipi sahtekarlığını önler
BASH
sudo systemctl restart nginx
2. Yetkisiz Erişimi Önleme
Yetkisiz erişim, saldırganların sunucuya giriş yapmasını ve hassas verileri ele geçirmesini sağlayabilir.2.1. Apache İçin Yetkisiz Erişimi Kısıtlama
Önemli dizinlere yetkisiz erişimi engellemek için .htaccess dosyasını kullanabilirsiniz:
BASH
sudo nano /var/www/html/.htaccess
INI
Order Deny,Allow
Deny from all
Allow from 192.168.1.100 # Sadece belirli IP adreslerine izin ver
2.2. Nginx İçin Yetkisiz Erişimi Kısıtlama
Özel bir IP adresine erişimi sınırlandırmak için server bloğuna aşağıdaki satırları ekleyin:
INI
location /admin {
allow 192.168.1.100;
deny all;
}
3. Güçlü SSL/TLS Yapılandırması
HTTPS kullanımı, web sunucularının güvenliğini artırmanın en önemli yollarından biridir.3.1. Apache İçin SSL/TLS Güçlendirme
SSL kullanımını zorunlu hale getirmek için /etc/apache2/sites-available/default-ssl.conf dosyasını düzenleyin:
BASH
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
SSLHonorCipherOrder on
BASH
sudo systemctl restart apache2
3.2. Nginx İçin SSL/TLS Güçlendirme
/etc/nginx/sites-available/default dosyasına aşağıdaki satırları ekleyin:
INI
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
BASH
sudo systemctl restart nginx
4. Güvenlik Duvarı ile Web Sunucusunu Koruma
Nginx ve Apache, güvenlik duvarı kurallarıyla daha güvenli hale getirilebilir.4.1. UFW Kullanarak Web Sunucusunu Koruma
Ubuntu/Debian sistemlerinde UFW kullanarak yalnızca belirli portları açabilirsiniz:
BASH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
4.2. iptables Kullanarak Web Sunucusunu Koruma
Alternatif olarak iptables kullanarak yalnızca HTTP ve HTTPS bağlantılarını kabul edebilirsiniz:
BASH
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -j DROP # Diğer tüm trafiği engeller
5. DDoS Saldırılarına Karşı Koruma
Web sunucunuzu DDoS saldırılarından korumak için rate limiting (hız sınırlandırma) kuralları ekleyebilirsiniz.5.1. Apache İçin DDoS Koruma
mod_evasive modülüyle Apache’ye hız sınırlama ekleyebilirsiniz:
BASH
sudo apt install libapache2-mod-evasive -y
INI
DOSHashTableSize 2048
DOSPageCount 10
DOSSiteCount 50
DOSBlockingPeriod 600
BASH
sudo systemctl restart apache2
5.2. Nginx İçin DDoS Koruma
Nginx’in limit_req_zone modülüyle hız sınırlandırma ekleyebilirsiniz:
INI
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
}
server {
location / {
limit_req zone=one burst=10 nodelay;
}
}
BASH
sudo systemctl restart nginx
- 💡 Unutmayın: Web sunucularını düzenli olarak güncellemek ve güvenlik açıklarını taramak, en iyi güvenlik uygulamalarından biridir!
Benzer Yazılar

Linux’ta Güncelleme ve Yama Yönetimi
0 Yorumlar

Fail2Ban Kullanımı
0 Yorumlar
Yorumlar ()
Henüz yorum yok. İlk yorum yapan sen ol!