HTTPS ve SSL Nedir? Güvenli Web Siteleri Nasıl Çalışır, Sade Anlatım
HTTPS, tarayıcıların web siteleriyle konuşmak için kullandığı protokolün güvenli sürümüdür. Her isteği ve yanıtı TLS (Transport Layer Security) ile şifrelenmiş bir bağlantının içine yerleştirir; böylece ziyaretçiyle site arasında kimse gönderilenleri okuyamaz veya değiştiremez. SSL, aynı fikrin eski adıdır; TLS’in yerini aldığı orijinal protokoldür. Bu yüzden insanlar hâlâ “SSL sertifikası” der.
Yapay zekâyla yapı kurarken HTTPS neden önemli?
Yayımladığınız her uygulama HTTPS üzerinden sunulmalıdır. Bu yalnızca iyi bir uygulama değil:
- Tarayıcılar bunu bekler. Düz HTTP üzerindeki siteler “Güvenli değil” olarak etiketlenir ve konum, kamera, mikrofon veya çevrim dışı uygulamalar için service worker gibi bazı tarayıcı özellikleri genellikle yalnızca güvenli (HTTPS) sayfalarda çalışır.
- Girişler ve formlar. HTTPS olmadan parolalar, oturum çerezleri ve form verileri okunabilir metin halinde gider. Aynı kafe Wi-Fi’sindeki biri bunları ele geçirebilir.
- Ödemeler ve üçüncü taraflar. Ödeme sağlayıcıları, OAuth girişleri ve birçok API, HTTPS yönlendirme ve geri çağırma URL’lerini şart koşar.
- Güven ve arama. Ziyaretçiler uyarıyı fark eder ve Google, HTTPS’i bir sıralama sinyali olarak değerlendirdiğini söylemiştir.
İyi haber şu: çoğu modern barındırma platformunda HTTPS otomatik kurulur. Sizin asıl ihtiyacınız olan, bir özel alan adı ya da karışık içerik uyarısı sorun çıkardığında düzeltebilmek için parçaları yeterince anlamaktır.
Günlük bir benzetme
Verileri düz HTTP ile göndermek bir kartpostal göndermeye benzer: onu taşıyan her postacı okuyabilir, hatta mesajı değiştirebilir.
HTTPS ise mühürlü, kurcalanınca belli olan bir zarf göndermek ve önce alıcının resmi kimliğini kontrol etmek gibidir. Sertifika bu kimlik kartıdır; web sitesinin alan adını gerçekten kontrol ettiğini doğrulayan güvenilir bir kurum (sertifika yetkilisi) tarafından verilir. Şifreleme mühürlü zarftır. Kimlik, doğru adrese yazdığınızı kanıtlar; zarf da içeriğin gizli kalmasını sağlar.
HTTPS nasıl çalışır, sade anlatım
Bir tarayıcı https://shop.example.com adresini açtığında:
- Merhaba. Tarayıcı bağlanır ve desteklediği şifreleme yöntemlerini bildirir.
- Sertifika. Sunucu sertifikasını gönderir. Sertifika, “bu anahtar
shop.example.comalan adına ait” der ve bir sertifika yetkilisi tarafından imzalanmıştır. - Kontrol. Tarayıcı imzayı zaten güvendiği yetkililere göre doğrular, sertifikanın süresinin dolmadığını ve alan adının eşleştiğini kontrol eder.
- Anahtarlar. Tarayıcı ile sunucu, bu oturum için yeni bir gizli anahtarda anlaşır; anahtar hiçbir zaman açık halde gönderilmez.
- Şifreli konuşma. Artık tüm istekler ve yanıtlar (sayfalar, form verileri, çerezler) şifreli olarak gider.
Bu TLS el sıkışması birkaç milisaniye sürer ve otomatik olarak gerçekleşir. Ziyaretçi yalnızca kilit simgesini (ya da bazı tarayıcılarda nötr bir site bilgisi simgesini) görür.
HTTPS neyi korur, neyi korumaz?
| Korur | Korumaz |
|---|---|
| Tarayıcı ile sunucu arasında giden veriler | Sunucunuza ya da veritabanınıza ulaştıktan sonraki veriler |
| Halka açık Wi-Fi’de dinlemeye karşı koruma | Kötü niyetli veya dolandırıcılık amaçlı bir web sitesine karşı koruma |
| Yol üzerinde sayfaların değiştirilmesine karşı koruma | Uygulamanızdaki hatalara karşı koruma, örneğin eksik yetki kontrolleri |
| Gönderilirken çerezler ve parolalar | Zayıf parolalara ya da sızdırılmış API anahtarlarına karşı koruma |
HTTPS, isteklerin içeriğini şifreler; sayfa yolu ve sorgu dizesi de dahildir. Ancak ziyaret ettiğiniz alan adı, yol üzerindeki ağlar tarafından genellikle hâlâ görülebilir. Bu da kişisel verileri hiçbir zaman URL’lere koymamanın bir nedenidir; URL’ler günlüklere ve tarayıcı geçmişine de düşer.
Çalışılmış bir örnek: özel alan adı bağlamak
Diyelim ki bir randevu uygulaması yayımladınız ve onu book.myyogastudio.com adresinde çalıştırmak istiyorsunuz:
-
book.myyogastudio.comadresini barındırma sağlayıcınıza yönlendiren bir DNS kaydı eklersiniz. Bkz. alan adları ve DNS nasıl çalışır. -
Barındırma sağlayıcısı, bu adın kendisine ait olduğunu bir sertifika yetkilisine kanıtlar; genellikle o alan adında bir doğrulama sınamasına yanıt vererek. Sertifikayı alır.
-
Sağlayıcı sertifikayı kurar ve süresi dolmadan otomatik olarak yeniler. Sertifikalar bilerek kısa ömürlü tutulur, bu yüzden otomatik yenileme önemlidir.
-
http://book.myyogastudio.comadresini ziyaret eden kişilerhttps://adresine yönlendirilir. -
adım yanlışsa (kayıt başka bir yeri gösteriyorsa ya da araya bir proxy giriyorsa) 2. adım başarısız olabilir ve ziyaretçiler sertifika hatası görür. Özel alan adı bağlarken insanların karşılaştığı en yaygın HTTPS sorunu budur.
Temel terimler
| Terim | Anlamı |
|---|---|
| TLS | Transport Layer Security; HTTPS’in arkasındaki şifreleme protokolü. |
| SSL | Secure Sockets Layer; TLS’in eskimiş selefi. Ad hâlâ kullanılıyor. |
| Sertifika | Bir alan adını bir açık anahtara bağlayan imzalı bir dosya. |
| Sertifika yetkilisi (CA) | Sertifika düzenleme yetkisi tarayıcılar tarafından güvenilen kuruluş; örneğin Let’s Encrypt. |
| Alan adı doğrulaması (DV) | Alan adının kontrolünü kanıtlayan sertifika türü; neredeyse tüm siteler bunu kullanır. |
| Joker (wildcard) sertifika | Bir seviye derinlikteki tüm alt alan adlarını kapsar, örneğin *.example.com. |
| Karışık içerik | HTTPS bir sayfanın düz HTTP üzerinden bazı kaynaklar yüklemesi. Tarayıcılar bunu engeller veya uyarır. |
| HSTS | Tarayıcılara, sitenizi o andan itibaren her zaman HTTPS ile açmalarını söyleyen bir başlık. |
| Port 443 | HTTPS için standart port (HTTP 80 numaralı portu kullanır). |
Yaygın yanlış anlamalar
- “Kilit simgesi sitenin güvenilir olduğunu gösterir.” Bağlantının özel olduğunu ve alan adının eşleştiğini gösterir. Dolandırıcılar da sertifika alabilir.
- “HTTPS yalnızca ödeme sayfaları için gerekir.” Girişi, formu ya da çerezi olan her sayfa HTTPS ister; bu da neredeyse her uygulama demek. Her yerde kullanın.
- “Sertifikalar pahalıdır.” Ücretsiz ve güvenilir sertifikalar standarttır; çoğu barındırma sağlayıcısı bunları sizin için yönetir.
- “HTTPS uygulamamı güvenli yapar.” Yalnızca bağlantıyı güvenli yapar. Uygulamanızın yine de sunucu tarafında yetki kontrollerine, güvenli gizli bilgi yönetimine ve girdi doğrulamaya ihtiyacı vardır. Bkz. yapay zekâyla yapılmış uygulamalar için güvenlik kontrol listesi.
- “HTTPS siteleri yavaşlatır.” Modern TLS çok az ek yük getirir; sitelerin hızını artıran HTTP/2 gibi özellikler de tarayıcılarda genellikle HTTPS gerektirir.
Yaygın HTTPS sorunlarını çözmek
| Belirti | Olası neden |
|---|---|
| “Bağlantınız gizli değil” | Sertifika bu tam alan adını kapsamıyor, süresi dolmuş ya da henüz verilmemiş |
www. ile çalışıyor ama çıplak alan adı çalışmıyor (ya da tersi) | Yalnızca bir adın DNS kaydı ve sertifikası var |
| Kilit simgesi yok, bazı sayfalarda “Güvenli değil” | Karışık içerik: bir resim, betik ya da yazı tipi http:// ile yükleniyor |
| Alan adı bağladıktan hemen sonra sertifika hatası | DNS hâlâ yayılıyor ya da önde duran bir proxy sertifika kontrolünü engelliyor |
Yapay zekâ oluşturucunuzdan ne isteyin
- “Her resmin, betiğin ve yazı tipinin HTTPS üzerinden ya da göreli bir URL ile yüklendiğinden emin ol;
http://bağlantısı olmasın.” - “Tüm HTTP trafiğini HTTPS’e yönlendir.”
- “Oturum çerezlerini
SecureveHttpOnlybayraklarıyla ayarla.” - “Her OAuth, ödeme ve webhook geri çağırma URL’sinde
https://kullan.” - “Özel alan adım sertifika hatası veriyor; sağlayıcı hangi DNS kaydını bekliyor?”
Mythex’te HTTPS
Mythex’te özel alan adı bağladığınızda (Pro özelliği), Mythex’in gösterdiği slug.mythex.ai hedefine işaret eden bir CNAME kaydı eklersiniz, Doğrula’ya tıklarsınız ve Mythex alan adı için HTTPS’i otomatik olarak düzenler. Dokümanlar iki yaygın sorunu anlatır: DNS’iniz Cloudflare’deyse kaydı “yalnızca DNS” (gri bulut) olarak ayarlayın, proxy’li olmasın ki Mythex sertifikayı düzenleyebilsin; ayrıca DNS, HTTPS tam olarak kurulmadan doğrulanabilir, bu yüzden birkaç dakika bekleyip yeniden doğrulayın. Dokümanlardaki özel alan adları sayfasına ve özel alan adı bağlama rehberimize bakın.
Sorular
HTTP ile HTTPS arasındaki fark nedir?
HTTP, verileri tarayıcı ile web sitesi arasında okunabilir metin olarak gönderir. HTTPS ise aynı HTTP’nin şifreli bir TLS bağlantısı üzerinden gönderilmesidir. Böylece aynı ağdaki ya da yol üzerindeki kişiler gönderilenleri okuyamaz veya değiştiremez, tarayıcı da gerçek siteyle konuştuğunuzu doğrulayabilir.
SSL ile TLS aynı şey mi?
TLS, SSL’in modern halefidir. SSL’in tüm sürümleri eskimiş ve güvensizdir; bugünkü güvenli siteler TLS kullanır. İnsanlar alışkanlıkla hâlâ “SSL sertifikası” der, ama sertifikalar TLS ile birlikte kullanılır.
Kilit simgesi bir sitenin güvenli olduğu anlamına mı gelir?
Hayır. Kilit simgesi, bağlantının şifreli olduğunu ve sertifikanın alan adıyla eşleştiğini gösterir. Dolandırıcılık sitelerinin de geçerli bir sertifikası olabilir. Bağlantıyı kimsenin dinleyemediğini söyler, sitenin sahibinin güvenilir olduğunu söylemez.
SSL sertifikası için ödeme yapmam gerekir mi?
Genellikle hayır. Let’s Encrypt gibi ücretsiz, otomatik sertifika yetkilileri tarayıcıların güvendiği sertifikalar düzenler; çoğu barındırma platformu bunları sizin için alır ve yeniler. Ücretli sertifikalar genellikle destek veya ek kimlik doğrulama kontrolleri ekler.
Sitem neden “Güvenli değil” diyor?
Yaygın nedenler; siteyi https:// yerine http:// ile açmak, süresi dolmuş veya tam bu alan adını kapsamayan bir sertifika, ya da bir sayfanın resim, betik gibi öğelerini düz http:// üzerinden yüklemesidir (karışık içerik).