KernelPunk

root
Forum yöneticisi
Güvenli bir internet deneyimi sağlamak ve veri trafiğini şifrelemek için SSL (Secure Sockets Layer) sertifikaları, Linux sunucularında kritik bir rol oynar. Özellikle web siteleri ve API servisleri için HTTPS protokolüne geçiş, SEO performansını artırırken kullanıcı güvenliğini de maksimize eder.

1. SSL Sertifikası Nedir?

SSL sertifikası, istemci ve sunucu arasındaki veri iletişimini şifreleyen bir güvenlik protokolüdür. Bir web sitesinin HTTPS protokolünü kullanmasını sağlayarak:
  • Kullanıcı bilgilerinin korunmasını sağlar.
  • Arama motoru sıralamalarında avantaj sağlar.
  • Tarayıcılar tarafından güvenilir olarak işaretlenmesini sağlar.
SSL sertifikaları, Let’s Encrypt gibi ücretsiz sağlayıcılardan veya DigiCert, GlobalSign, Comodo gibi ticari sağlayıcılardan temin edilebilir.

2. SSL Sertifikası Türleri

Kurulum sürecine geçmeden önce, ihtiyaçlara göre farklı SSL sertifikası türlerini bilmek faydalı olacaktır:
  • Tek Alan Adı SSL: Sadece bir alan adı için geçerlidir.
  • Wildcard SSL: Alt alan adlarını da kapsayan genişletilmiş sertifikadır.
  • Genişletilmiş Doğrulama (EV) SSL: Şirket doğrulaması gerektiren yüksek güvenlikli sertifikadır.

3. Linux Sunucusunda SSL Sertifikası Kurulumu

SSL sertifikasının Linux sunucusuna kurulumu için iki farklı yöntem vardır:
  • Let’s Encrypt kullanarak ücretsiz SSL yükleme
  • Manuel SSL sertifikası yükleme (Özel sağlayıcıdan alınan sertifika)

3.1. Let’s Encrypt ile Otomatik SSL Sertifikası Kurulumu

Let’s Encrypt, ücretsiz ve açık kaynaklı bir SSL sertifika otoritesidir. Certbot aracı ile kolayca kurulabilir.

Adım 1: Certbot’u Yükleyin

Öncelikle sisteminizi güncelleyin ve Certbot’u yükleyin:

Ubuntu/Debian için:
Bash:
sudo apt update && sudo apt install certbot python3-certbot-apache -y
CentOS/RHEL için:
Bash:
sudo yum install epel-release -y
sudo yum install certbot python3-certbot-apache -y

Adım 2: SSL Sertifikasını Alın

Aşağıdaki komutla SSL sertifikasını alabilirsiniz:
Bash:
sudo certbot --apache
Nginx kullanıyorsanız:
Bash:
sudo certbot --nginx

Adım 3: SSL Sertifikasının Yenilenmesini Otomatikleştirme

Let’s Encrypt sertifikaları 90 gün geçerlidir. Yenileme işlemi için aşağıdaki komut cron job’a eklenebilir:
Bash:
sudo certbot renew --dry-run

3.2. Özel Sağlayıcıdan Alınan SSL Sertifikasının Kurulumu

Eğer DigiCert, Comodo, GlobalSign gibi sağlayıcılardan ücretli SSL sertifikası aldıysanız, manuel yükleme yapmanız gerekir.

Adım 1: Sertifika Dosyalarını Sunucuya Kopyalayın

SSL sağlayıcınızdan aldığınız .crt ve .key dosyalarını sunucuya yükleyin:
Bash:
scp mydomain.crt mydomain.key user@sunucu_ip:/etc/ssl/

Adım 2: Apache için SSL Yapılandırması

Apache kullananlar default-ssl.conf dosyasını düzenlemelidir:
Bash:
sudo nano /etc/apache2/sites-available/default-ssl.conf
İçeriği şu şekilde düzenleyin:
Bash:
<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName domain.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/mydomain.crt
    SSLCertificateKeyFile /etc/ssl/mydomain.key
</VirtualHost>
Ardından yapılandırmayı etkinleştirin ve Apache’yi yeniden başlatın:
Bash:
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2

Adım 3: Nginx için SSL Yapılandırması

Nginx kullananlar default.conf dosyasını düzenlemelidir:
Bash:
sudo nano /etc/nginx/sites-available/default
İçeriği şu şekilde düzenleyin:
Bash:
server {
    listen 443 ssl;
    server_name domain.com;
    ssl_certificate /etc/ssl/mydomain.crt;
    ssl_certificate_key /etc/ssl/mydomain.key;
}
Değişiklikleri kaydettikten sonra Nginx’i yeniden başlatın:
Bash:
sudo systemctl restart nginx

4. SSL Sertifikası Kurulum Sonrası Test ve Doğrulama

Kurulum tamamlandıktan sonra SSL’in düzgün çalıştığını doğrulamak için aşağıdaki yöntemleri kullanabilirsiniz:
  1. Tarayıcı Testi: Web sitenizi https:// ile açarak güvenli olup olmadığını kontrol edin.
  2. SSL Checker Kullanımı:
    • SSL Labs üzerinden test yapabilirsiniz.
  3. OpenSSL ile Manuel Test:
    Bash:
    openssl s_client -connect domain.com:443

5. SSL Sertifikası Sorun Giderme

Eğer SSL kurulumu sonrası sorun yaşarsanız, aşağıdaki adımları takip edebilirsiniz:
  • Port 443’ün açık olduğundan emin olun:
    Bash:
    sudo ufw allow 443/tcp
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
  • Apache veya Nginx yapılandırma hatalarını kontrol edin:
    Bash:
    sudo apachectl configtest
    sudo nginx -t
  • Log dosyalarını inceleyin:
    Bash:
    sudo tail -f /var/log/apache2/error.log
    sudo tail -f /var/log/nginx/error.log
Linux sunucularında SSL sertifikası yüklemek ve yapılandırmak, hem güvenlik hem de SEO açısından önemli bir adımdır. Let’s Encrypt gibi ücretsiz sertifika sağlayıcıları ile kolayca SSL kurulumu yapabilir veya özel sağlayıcılardan alınan sertifikaları manuel olarak yükleyebilirsiniz. Bu rehberde anlatılan adımları takip ederek, Linux sunucunuzda güvenli HTTPS bağlantısını etkinleştirebilir ve web sitenizin güvenliğini artırabilirsiniz.
 
Back
Top