SSL (Secure Sockets Layer), internet üzerindeki iletişimi şifreleyerek veri güvenliğini sağlamak için kullanılan bir teknoloji standardıdır. Bir SSL sertifikası, iki temel amacı yerine getirir:
- Veri Şifreleme: SSL, kullanıcının cihazı ile sunucu arasında gerçekleşen veriyi şifreler ve bu sayede üçüncü kişilerin bu veriyi okumasını veya değiştirmesini engeller.
- Kimlik Doğrulama: SSL sertifikası, web sitesinin sahipliğini doğrulayan bir dijital kimlik kartı gibidir. Bir SSL sertifikasına sahip web siteleri, tarayıcılarda “https://” ve yeşil bir kilit simgesi ile gösterilir. Bu, kullanıcıya siteyle güvenli bir bağlantı kurduğunu belirtir.
SSL Sertifikasının Tarihçesi ve Gelişimi
1. Tarayıcı (Client) ile Sunucu Arasında İletişim Başlatılması
SSL teknolojisi ilk olarak 1990’lı yıllarda Netscape tarafından geliştirildi. Ancak, ilk versiyonlar olan SSL 1.0 ve SSL 2.0, güvenlik açıkları barındırıyordu. Bu sebeple, SSL 3.0 versiyonu, yaygın olarak kullanılmaya başlandı. 1999 yılında ise SSL’in yerini TLS (Transport Layer Security) aldı. Günümüzde, “SSL” hala yaygın bir terim olarak kullanılmasına rağmen, aslında kullanılan protokol genellikle TLS’dir.
SSL Sertifikasının Nasıl Çalışır ?
1. Tarayıcı (Client) ile Sunucu Arasında İletişim Başlatılması
Tarayıcı, bir web sitesine “https://” protokolü üzerinden bağlanmak istediğinde, sunucudan SSL sertifikası talep eder.
Aşamalar:
- Kullanıcı tarayıcıya bir URL yazar ve bu bağlantının SSL üzerinden kurulması gerektiğini belirtir (https://).
- Tarayıcı, bağlantıyı başlatır ve sunucuya SSL sertifikasını sormak için bir “ClientHello” mesajı gönderir.
2. Sunucunun SSL Sertifikasını Göndermesi
Sunucu, tarayıcıdan gelen isteği aldıktan sonra SSL sertifikasını gönderir. Bu sertifika, sunucunun kimlik bilgilerini ve açık anahtarını içerir.
Aşamalar:
- Sunucu, SSL sertifikasını tarayıcıya iletir. Bu sertifika; sunucu hakkında bilgiler, geçerlilik süresi, sertifikayı veren Sertifika Otoritesi (CA) ve açık anahtarı içerir.
- Tarayıcı, bu sertifikayı kontrol eder. Eğer sertifika geçerli bir otorite tarafından imzalanmışsa ve geçerliliği dolmamışsa, tarayıcı sunucunun kimliğini doğrular.
3. Tarayıcının Sertifikayı Doğrulaması
Tarayıcı, aldığı SSL sertifikasını kontrol ederek şu doğrulamaları yapar:
- Sertifika, tanınmış bir Sertifika Otoritesi (CA) tarafından mı imzalandı?
- Sertifikanın geçerlilik süresi dolmuş mu?
- Sertifika, gerçekten bağlanılan siteye mi ait?
Eğer bu doğrulamalar başarılı olursa, tarayıcı sunucu ile güvenli bir bağlantı kurmak için devam eder.
Aşamalar:
- Tarayıcı, sunucunun sertifikasının geçerli olduğunu doğrular ve güvenli bağlantı için bir oturum anahtarı oluşturmaya hazırlanır.
4. Oturum Anahtarının Oluşturulması (Şifreleme Başlangıcı)
Tarayıcı, sunucunun gönderdiği açık anahtarı kullanarak bir simetrik oturum anahtarı oluşturur. Bu anahtar, verilerin şifrelenmiş bir şekilde iletilmesi için kullanılacak olan anahtardır.
Aşamalar:
- Tarayıcı, sunucunun açık anahtarı ile oturum anahtarını şifreler ve sunucuya gönderir.
- Sunucu, kendi özel anahtarı ile bu şifreyi çözer ve tarayıcı ile sunucu arasında simetrik şifreleme ile güvenli bir iletişim kanalı oluşturulur.
5. Güvenli Veri İletişimi (Şifreli İletişim)
Oturum anahtarı oluşturulduktan sonra, tarayıcı ve sunucu arasındaki tüm veri iletişimi şifrelenir. Bu aşamada, veri her iki tarafta da simetrik anahtarla şifrelenip çözülür.
Aşamalar:
- Tarayıcı ve sunucu, oturum anahtarı sayesinde şifrelenmiş verileri güvenli bir şekilde iletmeye başlar. Bu veriler, yalnızca doğru şifreleme anahtarına sahip olan taraflarca çözülebilir.
- Bu süreç, kullanıcının web sitesindeki işlemleri sırasında devam eder.
Bu adımlar, SSL/TLS bağlantısının nasıl çalıştığını gösterir. Her bir adım, güvenliği artırmak için tasarlanmıştır ve özellikle de veri şifrelemesi sayesinde verilerin gizliliği korunur. Tarayıcı ve sunucu arasındaki bu şifreli iletişim, kötü niyetli kişilerin araya girmesini ve bilgileri ele geçirmesini önler.
Özetle:
· Adım 1: Tarayıcı, sunucudan SSL sertifikasını talep eder.
· Adım 2: Sunucu, SSL sertifikasını tarayıcıya gönderir.
· Adım 3: Tarayıcı, sertifikayı doğrular.
· Adım 4: Tarayıcı, oturum anahtarını sunucunun açık anahtarı ile şifreler.
· Adım 5: Tarayıcı ve sunucu arasında şifreli iletişim başlar.
Bu süreç, modern internet güvenliğinin temelini oluşturur ve kullanıcıların kişisel verilerini, ödeme bilgilerini ve diğer hassas bilgilerini güvende tutar.
SSL Sertifikası Türleri
SSL sertifikaları, sağladıkları doğrulama düzeyi ve kullanılma amaçlarına göre farklı türlere ayrılır. İşte en yaygın SSL sertifikası türleri:
- Domain Validation (DV) SSL Sertifikası: En temel sertifika türüdür. Bu sertifika, yalnızca domainin sahibi olduğunu doğrular. Genellikle küçük işletmeler ve bloglar için tercih edilir.
- Organization Validation (OV) SSL Sertifikası: DV sertifikasına ek olarak, kuruluşun kimliğini de doğrular. Şirketler ve organizasyonlar için uygundur.
- Extended Validation (EV) SSL Sertifikası: En yüksek doğrulama seviyesini sağlar. Bu sertifikaya sahip web sitelerinde tarayıcı çubuğunda şirket adı yeşil renkte görünür. Özellikle finansal kurumlar ve büyük e-ticaret siteleri tarafından tercih edilir.
- Wildcard SSL Sertifikası: Birden fazla alt alan adını (subdomain) korumak için kullanılan bir sertifikadır. Örneğin, “*.ornekdomain.com” şeklinde bir wildcard sertifikası, “shop.ornekdomain.com” ve “blog.ornekdomain.com” gibi tüm alt alan adlarını kapsar.
- Multi-Domain (SAN) SSL Sertifikası: Birden fazla alan adını koruma altına alır. Özellikle birden fazla web sitesi yöneten şirketler için idealdir.
SSL Sertifikasının Avantajları
SSL sertifikaları, güvenlik açısından büyük faydalar sağlarken, kullanıcı güveni ve web sitesi performansı üzerinde de olumlu etkiler yaratır:
- Veri Güvenliği: SSL, iletilen verilerin şifrelenmesi sayesinde kullanıcı bilgilerini korur. Bu da kredi kartı bilgileri, şifreler ve kişisel verilerin üçüncü kişiler tarafından ele geçirilmesini engeller.
- SEO Avantajı: Google, HTTPS kullanan sitelere daha fazla değer verir ve bu siteleri arama sonuçlarında üst sıralara yerleştirir. Bu yüzden SSL sertifikası SEO (Arama Motoru Optimizasyonu) açısından da fayda sağlar.
- Kullanıcı Güveni: Bir SSL sertifikası, kullanıcıların web sitesine güvenle girebileceği mesajını verir. HTTPS protokolü ve yeşil kilit simgesi, kullanıcıların kendilerini güvende hissetmesini sağlar.
- Yasal Uyumluluk: GDPR (Genel Veri Koruma Yönetmeliği) gibi veri koruma yasaları, web sitelerinin kullanıcı verilerini korumasını gerektirir. SSL sertifikaları, bu tür düzenlemelere uygun bir web sitesi yönetimi için önemli bir adımdır.
SSL Sertifikası Nasıl Alınır?
SSL sertifikası almak oldukça basittir ve genellikle birkaç adımdan oluşur:
- Sertifika Otoritesi Seçimi: Bir SSL sertifikası sağlayıcısı seçmelisiniz. En popüler SSL sağlayıcıları arasında Comodo, Symantec, GlobalSign, DigiCert ve Let’s Encrypt bulunmaktadır. Let’s Encrypt, ücretsiz SSL sertifikaları sunan bir projedir.
- CSR (Certificate Signing Request) Oluşturma: Sunucunuzda bir CSR dosyası oluşturmalısınız. CSR, sertifika otoritesine sunucunuz hakkında bilgi verir ve sertifikanın oluşturulması için gereklidir.
- Sertifikanın Yüklenmesi: Sertifika sağlayıcısından aldığınız SSL sertifikasını web sunucunuza yüklemelisiniz. Bu işlem, web sunucusu yazılımına bağlı olarak farklılık gösterebilir.
- Doğrulama: Sertifika otoritesi, başvurunuzu doğrulamak için gerekli adımları atar. Bu adım, seçtiğiniz sertifika türüne göre değişebilir. Örneğin, DV sertifikasında yalnızca domain sahibi olduğunuz doğrulanırken, EV sertifikasında şirket belgelerinizin incelenmesi gerekebilir.
SSL Sertifikası ile İlgili Güvenlik Zafiyetleri
Her ne kadar SSL/TLS protokolleri güçlü bir şifreleme sağlar olsa da, bazı güvenlik tehditleri mevcuttur. Bu tehditlerden bazıları şunlardır:
- Man-in-the-Middle (MitM) Saldırıları: Güvenli olmayan ağlar üzerinden yapılan saldırılarla, iki taraf arasındaki şifreli bağlantı çözülebilir. Ancak, güçlü bir SSL sertifikası ve güncel yazılımlar bu saldırıları büyük ölçüde önler.
- Heartbleed Zafiyeti: 2014 yılında OpenSSL kütüphanesinde keşfedilen Heartbleed, kullanıcıların gizli verilerine erişim sağlayan bir güvenlik açığıydı. Bu zafiyet, güncellenmiş OpenSSL sürümleri ile giderilmiştir.
- SSLv2 ve SSLv3 Güvenlik Açıkları: SSL’in eski sürümleri (SSLv2 ve SSLv3), günümüzde güvensiz kabul edilir. Bu yüzden modern web sunucuları yalnızca TLS 1.2 ve 1.3 versiyonlarını desteklemelidir.