Ana içeriğe geç

Ubuntu 18.04 Self-Signed Sertifika Rehberi

Bu rehberde Ubuntu 18.04 üzerinde çalışan Apache web sunucusu için self-signed SSL sertifikası oluşturmayı öğreneceksiniz.

Self-signed sertifikalar özellikle şu durumlarda kullanılır:

  • Dahili paneller
  • Test ortamları
  • Domain olmayan sunucular
  • Internal servisler

Self-signed sertifika tarayıcı tarafından doğrulanmaz, ancak bağlantı tamamen şifrelenir.


Self-Signed SSL Nedir?

Self-signed SSL sertifikası, sertifika otoritesi yerine sunucu tarafından oluşturulan bir sertifikadır.

Avantajları

  • Hızlı kurulum
  • Domain gerektirmez
  • Dahili servisler için idealdir

Dezavantajları

  • Tarayıcı güven uyarısı verir
  • Public siteler için önerilmez

Bu Rehberde Ne Öğreneceksiniz

Bu rehberde aşağıdaki işlemleri gerçekleştireceksiniz:

  • OpenSSL ile SSL sertifikası oluşturma
  • Apache HTTPS VirtualHost yapılandırması
  • HTTP → HTTPS yönlendirmesi
  • Güçlü TLS ayarlarını aktif etme
  • Firewall üzerinden HTTPS trafiğini açma

SSL Sertifikası ve Anahtar Oluşturma

Aşağıdaki komut hem özel anahtar hem de sertifika oluşturur.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/apache-selfsigned.key \
-out /etc/ssl/certs/apache-selfsigned.crt

Bu komut:

RSA 2048 bit anahtar
365 gün geçerli sertifika

oluşturur.

Komut sırasında sorulan Common Name kısmına sunucunun:

IP adresini veya Domain adını

yazabilirsiniz.

Apache SSL Güvenlik Ayarları

Apache için güçlü TLS ayarları oluşturalım.

sudo nano /etc/apache2/conf-available/ssl-params.conf

Dosya içine şu ayarları ekleyin:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM
SSLProtocol -all +TLSv1.3 +TLSv1.2
SSLHonorCipherOrder On

Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff

SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
SSLSessionTickets Off

Bu ayarlar:

Eski TLS sürümlerini kapatır Modern şifreleme algoritmalarını kullanır Güvenlik başlıklarını ekler.

HTTPS VirtualHost Yapılandırması

Apache'nin SSL VirtualHost dosyasını açın:

sudo nano /etc/apache2/sites-available/default-ssl.conf

Örnek yapılandırma:

<IfModule mod_ssl.c>

<VirtualHost *:443>

ServerAdmin admin@sunucum.com
ServerName sunucu_IP

DocumentRoot /var/www/html

SSLEngine on

SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

</VirtualHost>

</IfModule>

HTTP Trafiğini HTTPS’e Yönlendirme

HTTP isteklerini otomatik olarak HTTPS'e yönlendirmek için:

sudo nano /etc/apache2/sites-available/000-default.conf

VirtualHost içine ekleyin:

Redirect permanent "/" "https://sunucu_IP/"

Firewall Ayarlarını Güncelleme

HTTPS trafiğine izin verin:

sudo ufw allow "Apache Full"

Firewall durumunu kontrol edin:

sudo ufw status

Apache SSL Modüllerini Etkinleştirme

Gerekli Apache modüllerini aktif hale getirin:

sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite default-ssl
sudo a2enconf ssl-params

Yapılandırmayı Test Etme

Apache yapılandırmasını kontrol edin:

sudo apache2ctl configtest

Sonuç Syntax OK ise Apache'yi yeniden başlatın:

sudo systemctl restart apache2

HTTPS Bağlantısını Test Etme

Tarayıcıdan şu adresi açın:

https://SUNUCU_IP

Tarayıcı güvenlik uyarısı gösterebilir.

Bu normaldir çünkü sertifika self-signed.

Ancak bağlantı şifreli olarak çalışmaktadır.

Sıkça Sorulan Sorular

Self-signed sertifika güvenli mi?

Evet. Veri tamamen şifrelenir. Ancak sertifika doğrulaması olmadığı için tarayıcı uyarı verir.

Public web siteleri için uygun mu?

Hayır.

Public siteler için Let’s Encrypt önerilir.

IP adresi ile SSL çalışır mı?

Evet. Self-signed sertifikalar IP adresi ile kullanılabilir.

Sertifika süresi nasıl değiştirilir?

Komuttaki -days parametresi değiştirilir.

Örnek:

-days 730

Sonuç

Bu rehber ile:

  • Apache üzerinde SSL yapılandırdınız.
  • Self-signed sertifika oluşturmayı öğrendiniz.
  • HTTP → HTTPS yönlendirmesi yaptınız.
  • Güçlü TLS güvenlik ayarlarını etkinleştirdiniz.

Bu yapı özellikle test ortamları, internal paneller ve geliştirme sunucuları için idealdir.

Sunucu altyapınızı hızlı şekilde kurmak için Rabisu Bulut VPS sunucularını kullanabilirsiniz.