SSL Sertifikası Nedir?
SSL (Secure Sockets Layer) sertifikası, web sunucusu ile istemci (kullanıcı) arasında güvenli bir bağlantı sağlamak için kullanılan bir dijital sertifikadır. Veri iletimi esnasında şifreleme işlemi sağlayarak, gönderilen bilgilerin güvenliğini artırır. Genelde web sunucularında HTTP protokolünün güvenli versiyonu olan HTTPS üzerinden çalışır. SSL sertifikaları, web sitelerini koruyarak kullanıcının güvenliğini artırır ve arama motorlarında güvenilirlik sağlar.
SSL Sertifikasının Kurulumu
SSL sertifikası, genellikle 443 numaralı port üzerinden HTTPS bağlantısı için kullanılır. Ancak, farklı bir port üzerinden SSL sertifikası kullanmak gerekebilir. Bu, belirli durumlarda veya özel uygulamalar için faydalı olabilir. Örneğin, bir uygulama sunucu üzerinde çalışırken 8443 veya başka bir portu kullanabilir.
Adım 1: SSL Sertifikası Edinme
Bir SSL sertifikası edinmek için öncelikle bir sertifika otoritesine (CA) başvurmak gereklidir. Birkaç farklı türde SSL sertifikası bulunmaktadır:
1. Domain Validated (DV): Alan adı sahibinin doğrulanması ile verilen en temel seviyedeki sertifikadır.
2. Organization Validated (OV): Alan adı sahibi ile birlikte kuruluş bilgilerini de doğrulayan sertifika türüdür.
3. Extended Validation (EV): En yüksek güvenlik seviyesi sunan, işletme kimliğinin doğrulandığı sertifikadır.
Sertifikanızı aldıktan sonra, gerekli dosyalar genellikle `.crt` (sertifika dosyası) ve `.key` (özel anahtar dosyası) formatında olacaktır.
Adım 2: Web Sunucu Ayarları
SSL sertifikasının farklı bir portta çalışması için, web sunucusunun konfigürasyon dosyasında bazı değişiklikler yapmak gereklidir. Kullanılan web sunucusuna göre bu ayarlar farklılık gösterebilir.
Apache Web Sunucusu için Ayar
Apache sunucusunda, SSL için genellikle `httpd.conf` veya `sites-available/default-ssl.conf` dosyası içinde ayarlar yapılır. Aşağıdaki şekilde ilgili satırları eklemek veya düzenlemek mümkündür:
“`apache
Listen 8443
ServerName www.ornekdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /path/to/your/certificate.crt
SSLCertificateKeyFile /path/to/your/private.key
SSLCertificateChainFile /path/to/your/chainfile.pem
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
“`
Bu ayarlamalardan sonra Apache sunucusu yeniden başlatılmalıdır:
“`bash
sudo systemctl restart apache2
“`
Nginx Web Sunucusu için Ayar
Nginx sunucusunda genellikle `nginx.conf` veya sitenizin konfigürasyon dosyasında değişiklik yapılacaktır:
“`nginx
server {
listen 8443 ssl;
server_name www.ornekdomain.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html index.htm;
}
}
“`
Nginx sunucusu da daha sonra yeniden başlatılmalıdır:
“`bash
sudo systemctl restart nginx
“`
Adım 3: Güvenlik Duvarı Ayarları
Sunucu, 8443 veya kullanılan diğer portların üzerinden bağlantıya izin vermek için güvenlik duvarı ayarlamaları yapılmalıdır. UFW (Uncomplicated Firewall) veya iptables gibi yukarıda bahsedilen portları açmak için kullanılır. Örneğin:
“`bash
sudo ufw allow 8443
“`
Iptables kullanıyorsanız aşağıdaki komutla portu açabilirsiniz:
“`bash
sudo iptables -A INPUT -p tcp –dport 8443 -j ACCEPT
“`
Adım 4: Bağlantının Test Edilmesi
SSL sertifikası ve port ayarları tamamlandıktan sonra, bağlantının doğru şekilde çalıştığını test etmek önemlidir. Tarayıcı üzerinden `https://www.ornekdomain.com:8443` adresine giderek SSL’in aktif olup olmadığını kontrol etmek mümkündür. Hata mesajı alınmadığı takdirde bağlantı başarılı olmuştur.
SSL Sertifikasının Sürekliliği
SSL sertifikalarının son kullanma tarihleri vardır ve belirli periyotlarla yenilenmesi gerekmektedir. Sertifika yenileme işlemleri, ilk sertifikada olduğu gibi, aynı yöntemler kullanılarak yapılabilir. Ayrıca, web sunucusunun güncel güvenlik standartlarına uygun olarak yapılandırıldığından emin olunmalıdır.