Linux

084 – NGINX ile SSL/TLS Sertifikası Kurulumu ve Güvenli Web Sunucusu Yapılandırması

Nginx Nedir ve Nasıl Kurulur?
Share

Web sitenizin güvenliği, kullanıcılarınızın verilerini korumak ve arama motorlarında daha yüksek sıralamalar elde etmek için kritik öneme sahiptir. NGINX kullanarak SSL/TLS sertifikası kurmak ve güvenli bir web sunucusu yapılandırmak, bu hedeflere ulaşmanın etkili bir yoludur. Bu makalede, NGINX ile SSL/TLS sertifikasının nasıl kurulacağını ve güvenli bir web sunucusunun nasıl yapılandırılacağını adım adım anlatacağız.

SSL/TLS Nedir?

SSL (Secure Sockets Layer) ve TLS (Transport Layer Security), internet üzerinden iletilen verilerin güvenliğini sağlamak için kullanılan kriptografik protokollerdir. Bu protokoller, web sunucusu ile istemci arasındaki verilerin şifrelenmesini sağlar, böylece veriler yetkisiz kişiler tarafından okunamaz.

Neden SSL/TLS Sertifikası Kullanmalısınız?

  1. Güvenlik: SSL/TLS sertifikaları, kullanıcı verilerini korur ve güvenli bir iletişim sağlar.
  2. SEO: Google ve diğer arama motorları, HTTPS kullanan siteleri ödüllendirir ve arama sonuçlarında daha üst sıralarda gösterir.
  3. Güvenilirlik: HTTPS, kullanıcılarınıza web sitenizin güvenli olduğunu gösterir ve güven oluşturur.

NGINX ile SSL/TLS Sertifikası Kurulumu

1. SSL/TLS Sertifikası Alma

Öncelikle, bir SSL/TLS sertifikası almanız gerekmektedir. Sertifikayı sağlayan birçok yetkili sertifika otoritesi (CA) bulunmaktadır, örneğin Let’s Encrypt, Comodo, Digicert. Ücretsiz bir sertifika için Let’s Encrypt iyi bir tercihtir.

2. Sertifikayı Sunucuya Yükleme

Aldığınız sertifikayı ve özel anahtarı sunucunuza yükleyin. Genellikle bu dosyalar şunlardır:

  • Sertifika dosyası: sunucucozumleri.com.crt
  • Özel anahtar dosyası: sunucucozumleri.com.key

Bu dosyaları NGINX konfigürasyon dizinine (genellikle /etc/nginx/) yükleyin.

3. NGINX Konfigürasyonu

NGINX yapılandırma dosyasını (genellikle /etc/nginx/sites-available/default veya /etc/nginx/nginx.conf) açın ve aşağıdaki ayarları ekleyin veya düzenleyin:

server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name example.com www.example.com;

ssl_certificate /etc/nginx/example.com.crt;
ssl_certificate_key /etc/nginx/example.com.key;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ‘ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384’;

root /var/www/html;
index index.html index.htm index.nginx-debian.html;

location / {
try_files $uri $uri/ =404;
}
}

Bu konfigürasyon, HTTP üzerinden gelen tüm istekleri HTTPS’e yönlendirir ve SSL/TLS sertifikasını kullanarak güvenli bağlantılar sağlar.

4. NGINX’i Yeniden Başlatma

Yapılandırma dosyasını kaydettikten sonra, NGINX‘i yeniden başlatın:

sudo systemctl restart nginx

Yapılandırma dosyasındaki hataları kontrol etmek için şu komutu kullanabilirsiniz:

sudo nginx -t

Güvenli Web Sunucusu Yapılandırması

1. HTTP/2 Etkinleştirme

HTTP/2, web performansını artıran ve güvenliği iyileştiren bir protokoldür. NGINX yapılandırmasına aşağıdaki satırı ekleyerek HTTP/2’yi etkinleştirin:

listen 443 ssl http2;

2. Güvenli SSL/TLS Ayarları

Güvenli bir SSL/TLS yapılandırması için en iyi uygulamaları takip edin:

  • Eski protokolleri devre dışı bırakın (ssl_protocols TLSv1.2 TLSv1.3;).
  • Güçlü şifreleme yöntemlerini kullanın (ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';).
  • HSTS (HTTP Strict Transport Security) kullanarak HTTPS kullanımını zorunlu kılın:

 

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

3. DDoS Koruması

NGINX ile temel DDoS koruması sağlamak için bağlantı sınırlama ve hız sınırlama özelliklerini kullanın:

http {
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_conn conn_limit_per_ip 10;

limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
limit_req zone=req_limit_per_ip burst=10 nodelay;


}

Sonuç

NGINX ile SSL/TLS sertifikası kurmak ve güvenli bir web sunucusu yapılandırmak, web sitenizin güvenliğini artırır, kullanıcılarınızın verilerini korur ve arama motoru sıralamalarınızı iyileştirir. Bu adımları izleyerek, güvenli ve performanslı bir web sunucusu oluşturabilirsiniz.

Güvenli bir web sitesi, başarılı bir çevrimiçi varlık için kritik öneme sahiptir. NGINX ve SSL/TLS sertifikaları kullanarak web sitenizi güvence altına alın ve kullanıcılarınıza güvenli bir deneyim sunun.