Rehberler

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:

  1. Merhaba. Tarayıcı bağlanır ve desteklediği şifreleme yöntemlerini bildirir.
  2. Sertifika. Sunucu sertifikasını gönderir. Sertifika, “bu anahtar shop.example.com alan adına ait” der ve bir sertifika yetkilisi tarafından imzalanmıştır.
  3. 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.
  4. Anahtarlar. Tarayıcı ile sunucu, bu oturum için yeni bir gizli anahtarda anlaşır; anahtar hiçbir zaman açık halde gönderilmez.
  5. Ş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?

KorurKorumaz
Tarayıcı ile sunucu arasında giden verilerSunucunuza ya da veritabanınıza ulaştıktan sonraki veriler
Halka açık Wi-Fi’de dinlemeye karşı korumaKötü niyetli veya dolandırıcılık amaçlı bir web sitesine karşı koruma
Yol üzerinde sayfaların değiştirilmesine karşı korumaUygulamanızdaki hatalara karşı koruma, örneğin eksik yetki kontrolleri
Gönderilirken çerezler ve parolalarZayı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:

  1. book.myyogastudio.com adresini barındırma sağlayıcınıza yönlendiren bir DNS kaydı eklersiniz. Bkz. alan adları ve DNS nasıl çalışır.

  2. 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.

  3. 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.

  4. http://book.myyogastudio.com adresini ziyaret eden kişiler https:// adresine yönlendirilir.

  5. 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

TerimAnlamı
TLSTransport Layer Security; HTTPS’in arkasındaki şifreleme protokolü.
SSLSecure Sockets Layer; TLS’in eskimiş selefi. Ad hâlâ kullanılıyor.
SertifikaBir 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) sertifikaBir seviye derinlikteki tüm alt alan adlarını kapsar, örneğin *.example.com.
Karışık içerikHTTPS bir sayfanın düz HTTP üzerinden bazı kaynaklar yüklemesi. Tarayıcılar bunu engeller veya uyarır.
HSTSTarayıcılara, sitenizi o andan itibaren her zaman HTTPS ile açmalarını söyleyen bir başlık.
Port 443HTTPS 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

BelirtiOlası 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 Secure ve HttpOnly bayrakları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).

Mythex · Pricing · Yapay zekayla her şeyi yapın · Web sitesi ve uygulama şablonları · Mythex karşılaştırmaları · Yapay zekayla uygulama geliştirme sözlüğü · Yapay zekayla uygulama geliştirme için ücretsiz araçlar · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)