- Konu sahibi
- #1
SSL/TLS, uygulama protokollerinin verisini güvenli hâle getirerek taşıma mekanizması üzerinden iletir. OSI modeliyle bire bir eşleştirmek mümkün değildir; genellikle oturum ve sunum katmanlarıyla ilişkilendirilse de pratikte HTTP ile TCP arasında çalışan bir güvenlik protokolü olarak anlatılır. HTTPS ise HTTP’nin TLS üzerinden taşınmış hâlidir.
Güncel web trafiğinde kullanılan teknoloji TLS’tir. SSL, TLS’in önceki nesli olan ve artık kullanılmaması gereken protokollerin genel adıdır. Buna rağmen günlük kullanımda “SSL sertifikası” denildiğinde çoğu zaman TLS bağlantısında kullanılan dijital sertifika kastedilir.
TLS’in temel görevleri şunlardır:
TLS, HTTP’nin yerine geçmez. HTTP isteği ve yanıtı yine vardır; TLS bu verinin istemci ile sunucu arasındaki bağlantıda güvenli şekilde taşınmasını sağlar.
HTTP/1.1 veya HTTP/2 için TCP ve TLS kullanan bir bağlantının basitleştirilmiş akışı şöyledir:
Bu nedenle “TLS kesin olarak 5. katmandadır” veya “TLS yalnızca 7. katmandadır” demek doğru değildir. OSI katmanları açıklama amacıyla kullanılan bir modeldir; TLS’in konumu kullanılan protokol ve taşıma yöntemine göre değişebilir. Örneğin HTTPS çoğunlukla TLS üzerinden TCP ile çalışırken, HTTP/3’te TLS işlevleri QUIC ile birlikte kullanılır.
Katmanları numaraya indirgemek yerine aşağıdaki iş bölümü daha kullanışlıdır:
Tablodaki TLS satırı bağımsız bir OSI katmanı anlamına gelmez. Amaç, uygulama verisinin ağ üzerinde güvenli hâle getirilmesinin taşıma işinden ayrı olduğunu göstermektir.
HTTPS kurulumu yalnızca sertifika dosyasını sunucuya yüklemekten ibaret değildir. Uygulanabilir kontrol sırası şöyledir:
Hayır. HTTPS bağlantısını koruması, DNS sorgusunun da otomatik olarak şifrelendiği anlamına gelmez. DNS için ayrıca DNS over HTTPS veya DNS over TLS gibi yöntemler gerekir.
Hayır. TLS, uygulama içeriğini korur; bağlantının yapıldığı IP adresi, port ve bazı trafik özellikleri ağdaki gözlemciler tarafından görülebilir.
Hayır. TLS aktarım sırasındaki gizlilik, bütünlük ve sunucu doğrulamasını sağlar. Uygulama açıkları, zayıf parolalar, kötü sunucu izinleri ve güncel olmayan yazılımlar ayrıca ele alınmalıdır.
SSL/TLS ne işe yarar?
Güncel web trafiğinde kullanılan teknoloji TLS’tir. SSL, TLS’in önceki nesli olan ve artık kullanılmaması gereken protokollerin genel adıdır. Buna rağmen günlük kullanımda “SSL sertifikası” denildiğinde çoğu zaman TLS bağlantısında kullanılan dijital sertifika kastedilir.
TLS’in temel görevleri şunlardır:
- Veriyi ağ üzerinde okunamayacak şekilde şifrelemek.
- Verinin aktarım sırasında değiştirilip değiştirilmediğini tespit etmek.
- Sunucunun, sertifika ve güven zinciri üzerinden alan adıyla ilişkilendirildiğini doğrulamak.
TLS, HTTP’nin yerine geçmez. HTTP isteği ve yanıtı yine vardır; TLS bu verinin istemci ile sunucu arasındaki bağlantıda güvenli şekilde taşınmasını sağlar.
Katmanlar birlikte nasıl çalışır?
HTTP/1.1 veya HTTP/2 için TCP ve TLS kullanan bir bağlantının basitleştirilmiş akışı şöyledir:
- Tarayıcı, HTTP üzerinden hangi kaynağı istediğini belirler; örneğin
GET /isteği hazırlanır. - İstemci ve sunucu TLS el sıkışması yapar. Kullanılacak TLS sürümü, şifreleme parametreleri ve oturum anahtarları belirlenir.
- Sunucu sertifikası incelenir. Tarayıcı sertifikanın alan adıyla ve güvendiği sertifika otoriteleriyle uyumlu olup olmadığını kontrol eder.
- HTTP başlıkları, çerezler ve gövde verisi TLS kayıtları içinde şifrelenir ve bütünlük korumasıyla gönderilir.
- Bu TLS verileri TCP üzerinden taşınır; TCP de IP paketleri aracılığıyla ağda iletilir.
- Sunucu tarafında işlem tersine çevrilir: IP, TCP, TLS ve son olarak HTTP verisi işlenir.
Bu nedenle “TLS kesin olarak 5. katmandadır” veya “TLS yalnızca 7. katmandadır” demek doğru değildir. OSI katmanları açıklama amacıyla kullanılan bir modeldir; TLS’in konumu kullanılan protokol ve taşıma yöntemine göre değişebilir. Örneğin HTTPS çoğunlukla TLS üzerinden TCP ile çalışırken, HTTP/3’te TLS işlevleri QUIC ile birlikte kullanılır.
OSI ve TCP/IP açısından pratik karşılaştırma
Katmanları numaraya indirgemek yerine aşağıdaki iş bölümü daha kullanışlıdır:
| Bileşen | Temel görev | Örnek |
|---|---|---|
| Uygulama | İstek ve yanıtların anlamını belirler | HTTP |
| TLS güvenlik katmanı | Şifreleme, bütünlük ve sunucu kimlik doğrulaması sağlar | TLS 1.2 veya TLS 1.3 |
| Taşıma | Verinin uçlar arasında taşınmasını sağlar | TCP veya UDP üzerinde QUIC |
| Ağ | Paketlerin adreslenmesini ve yönlendirilmesini sağlar | IP |
Tablodaki TLS satırı bağımsız bir OSI katmanı anlamına gelmez. Amaç, uygulama verisinin ağ üzerinde güvenli hâle getirilmesinin taşıma işinden ayrı olduğunu göstermektir.
Site yöneticisi açısından sonuçları
HTTPS kurulumu yalnızca sertifika dosyasını sunucuya yüklemekten ibaret değildir. Uygulanabilir kontrol sırası şöyledir:
- Sertifikanın kapsadığı alan adlarını kontrol edin. Sertifika ile ziyaret edilen alan adı eşleşmiyorsa tarayıcı sertifika hatası gösterir.
- Web sunucusunda HTTPS bağlantısını etkinleştirin ve TLS yapılandırmasını güncel, güvenli sürümlerle sınırlayın.
- HTTP isteklerini aynı host ve aynı yolun HTTPS karşılığına yönlendirin. Örneğin
http://example.com/pageisteğihttps://example.com/pageadresine gitmelidir. - HTML, CSS, JavaScript, yazı tipi, görsel ve API kaynaklarının da HTTPS üzerinden yüklendiğini kontrol edin. HTTPS sayfada HTTP kaynak kullanılması karma içerik sorunlarına yol açabilir.
- TLS Cloudflare gibi bir aracıda sonlanıyorsa ziyaretçi-aracı ve aracı-origin bağlantılarını ayrı ayrı değerlendirin. Origin sunucunun da HTTPS yapılandırması, sertifika eşleşmesi ve doğrulama ayarları kontrol edilmelidir.
- HTTPS bağlantısının sorunsuz çalıştığı doğrulanmadan HSTS etkinleştirmeyin. HSTS sonrasında tarayıcılar HTTP’ye dönmeyi ve bazı sertifika uyarılarını atlamayı engeller; hatalı yapılandırma erişim sorununa dönüşebilir.
Sık sorulan sorular
TLS, DNS sorgularını da otomatik olarak şifreler mi?
Hayır. HTTPS bağlantısını koruması, DNS sorgusunun da otomatik olarak şifrelendiği anlamına gelmez. DNS için ayrıca DNS over HTTPS veya DNS over TLS gibi yöntemler gerekir.
TLS kullanıldığında IP adresi tamamen gizlenir mi?
Hayır. TLS, uygulama içeriğini korur; bağlantının yapıldığı IP adresi, port ve bazı trafik özellikleri ağdaki gözlemciler tarafından görülebilir.
TLS sertifikası sunucudaki tüm güvenlik açıklarını kapatır mı?
Hayır. TLS aktarım sırasındaki gizlilik, bütünlük ve sunucu doğrulamasını sağlar. Uygulama açıkları, zayıf parolalar, kötü sunucu izinleri ve güncel olmayan yazılımlar ayrıca ele alınmalıdır.