1. SSL Sertifikası ile HTTPS'ye Geçiş Yapın
Bugün, internet kullanıcıları güvenli olmayan bir siteyi ziyaret etmekten kaçınıyor. Google bile, HTTPS'yi kullanmayan sitelere karşı daha düşük sıralama veriyor. Nginx üzerinden SSL sertifikası kurarak, sitenizi HTTPS’ye taşıyın. Bu, sadece kullanıcı verilerini şifrelemekle kalmaz, aynı zamanda sitenizin güvenilirliğini de artırır.
SSL sertifikası kurulumu için Nginx konfigürasyon dosyanıza şu satırları ekleyebilirsiniz:
server {
listen 443 ssl;
server_name ornek.com;
ssl_certificate /etc/nginx/ssl/ornek_com.crt;
ssl_certificate_key /etc/nginx/ssl/ornek_com.key;
}
2. DDoS Saldırılarına Karşı Koruma Sağlayın
Distributed Denial of Service (DDoS) saldırıları, web sitenizi çevrimdışı hale getirebilir. Nginx, DDoS saldırılarından korunmak için bazı harika önlemler sunar. Rate limiting (trafik sınırlama) ve IP adresi bloklama gibi özelliklerle sitenizi koruyabilirsiniz.
Örneğin, belirli bir süre içinde çok fazla istek gönderen IP adreslerini engellemek için şu yapılandırmayı kullanabilirsiniz:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location / {
limit_req zone=one burst=5 nodelay;
}
}
3. HTTP/2’yi Etkinleştirerek Performans ve Güvenliği Artırın
HTTP/2, web sayfalarının daha hızlı yüklenmesini sağlar ve güvenlik açısından da faydalıdır. Nginx ile HTTP/2'yi etkinleştirerek, SSL ile birlikte daha verimli bir bağlantı kurabilirsiniz. Bu, hem sitenizin hızını artırır hem de verilerin şifreli bir şekilde iletilmesini sağlar.
server {
listen 443 ssl http2;
server_name ornek.com;
# SSL ayarları ve diğer konfigürasyonlar burada...
}
4. Dosya Yükleme Sınırlarını Kısıtlayın
Dosya yükleme özelliklerini sunan bir web siteniz varsa, kötü niyetli kullanıcıların büyük dosyalar yüklemesini engellemek önemlidir. Nginx üzerinden yükleme sınırlarını belirleyerek, sitenizin kötüye kullanımını engelleyebilirsiniz. Bu, hem güvenlik hem de performans için kritik bir adımdır.
client_max_body_size 10M;
5. Güvenli Başlıklar Ekleyin
Web sitenizin güvenliğini artırmanın bir başka önemli yolu, doğru HTTP başlıklarını kullanmaktır. Nginx, çeşitli güvenlik başlıkları eklemenize olanak tanır. X-Frame-Options, X-XSS-Protection gibi başlıklarla, sitenizi clickjacking ve XSS saldırılarına karşı koruyabilirsiniz.
Güvenli başlıkları eklemek için şu satırları Nginx konfigürasyon dosyanıza ekleyin:
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
6. Web Uygulamanızı Güçlü Parolalarla Koruyun
Web uygulamanıza erişim sağlayan kullanıcılar için güçlü parola gereksinimlerini zorunlu kılın. Parola güvenliği, sitenizin korunmasında önemli bir rol oynar. Ayrıca, Nginx üzerinde IP tabanlı erişim kısıtlamaları ekleyerek yalnızca belirli IP’lerden gelen bağlantılara izin verebilirsiniz.
7. Nginx Loglarını Düzenli Olarak İzleyin
Web sitenizin güvenliğini sağlamak için, log dosyalarını düzenli olarak izlemek büyük önem taşır. Nginx, sunucu loglarını detaylı bir şekilde tutar, bu sayede şüpheli faaliyetleri hızla fark edebilirsiniz. Ayrıca, logları merkezi bir sisteme yönlendirerek analiz etmeniz daha kolay olacaktır.
Logları kaydetmek için Nginx konfigürasyonunda şu satırları ekleyebilirsiniz:
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
Sonuç
Web güvenliği, sadece teknik bir mesele değil, aynı zamanda kullanıcı güvenini kazandığınız önemli bir alandır. Nginx ile sitenizin güvenliğini artırmak, sadece kötü niyetli saldırılardan korunmanızı sağlamakla kalmaz, aynı zamanda kullanıcılarınızın güvenli bir ortamda gezinmelerine olanak tanır. Bu 7 adımı izleyerek, sitenizi daha güvenli hale getirebilirsiniz.