Anasayfa Makale İnternet Sitenize Nasıl HTTPS Desteği Sağlarsınız?

İnternet Sitenize Nasıl HTTPS Desteği Sağlarsınız?

İnternet sitenizde HTTPS desteğini kolaylıkla nasıl sağlayacağınızı, buna neden ihtiyaç olduğunu bu yazımızda bulabilirsiniz.

İlk olarak neden sitenize HTTPS desteği eklemeniz gerektiğinden bahsedelim. Google bu ay Chrome 68’i kararlı sürüm olarak dağıtmaya başlayacak. Chrome 68 ile birlikte tüm HTTP internet adresleri “Güvenli değil” olarak görüntülenecek. Özellikle bu yüzden web dünyası şifrelemeyi varsayılan hale getirmek için çaba yürütüyor.

HTTPS’nin onlarca faydasına rağmen halen bazı site sahipleri bunun öneminin farkına varamamış durumda. Örneğin basit bir blog için neden HTTPS desteğine ihtiyacı olduğunu sorguluyorlar. Öncelikle HTTPS’ni ne olduğundan ve faydalarından bahsedelim.

HTTPS Nedir ve Faydaları Nelerdir ?

HTTPS, HTTP’nin güvenli halidir. Sunucu aracılığıyla aktarılan verinin bütünlüğünü ve güvenliğini, kullanıcı ve sunucu arasındaki istek ve cevapları şifreleyip, daha sonra bunların şifrelerini çözerek sağlar. Bu şifreleme TLS (Transport Layer Security) ya da SSL (Secure Sockets Layer) üzerinden yapılır. SSL güvenlik açıkları nedeniyle artık tavsiye edilmiyor.

HTTPS, sunucu ile kullanıcılar arasındaki iletişimin Man In The Middle (MITM) saldırıları aracılığıyla açığa çıkarılmasını engeller. Bu saldırılar üçüncü bir kişinin, birbirleriyle iletişim halinde olan iki kaynağın bağlantısını değiştirerek gizlice izlemesiyle gerçekleşiyor. HTTP ile yüklenen ya da gönderilen her istek, bu saldırılar ile ele geçirilme potansiyeli taşıyor.

HTTPS’nin yalnızca alışveriş siteleri, sosyal medya siteleri ve kullanıcı girişi gerektiren sitelerde gerekli olduğu tamamen yanlış bir düşüncedir. Bu yanlış algı yakın zamanda değişti ve çok sayıda internet sayfası bu desteği sundu, ancak bazı site sahipleri halen bu şekilde düşünüyor.

Ayrıca birçok tarayıcı özelliği sadece HTTPS ile çalışıyor. Çünkü bu özellikler HTTP ile kullanıldığında güvenlik açığına sebep olabiliyor.

Ayrıca HTTPS’li internet sayfaları daha yüksek Google SEO puanına sahip oluyor. Yani siteniz, HTTP kullanan rakip sitelere göre daha ön planda yer alacak.

Yalnızca Chrome değil Firefox’da da HTTP kullanan sayfalarla ilgili uyarılar çıkıyor. Firefox’da HTTP bağlantı üzerinden parola girmeye çalıştığınızda bir uyarı karşınıza çıkıyor.

Eğer sitenize giren kullanıcıların güvenli değil uyarılarıyla karşılaşmasını istemiyorsanız, tek yapmanız gereken geçerli bir SSL sertifikası almak. Bunu almak da eskisi kadar zor ve pahalı değil. Cloudflare aracılığıyla sitenize HTTPS desteği sağlamak oldukça kolay.

Neden Cloudflare?

CloudFlare, hangi sunucuya sahip olursanız olun ücretsiz olarak SSL sertifikası almanızı sağlıyor. Sunucu erişimi sağlamayan GitHub sayfaları için bile bu destek sağlanıyor.

Herhangi bir şey yüklemenize ya da kod kullanmanıza gerek yok. 10 dakikadan daha az sürede sitenize HTTPS desteği sağlama imkanı bulacaksınız. Ayrıca siteniz diğer güvenlik ve performans faydalarından yararlanacak.

Cloudflare Nasıl Çalışıyor?

Cloudflare, kullanıcılarla internet sayfanız arasındaki trafiğin ortasında duruyor. Ziyaretçileriniz normal insanlar, botlar ya da hackerlar olabilir. Cloudflare bu iletişimin ortasında durarak zararlı iletişimin süzülmesini ve yalnızca iyi niyetli kişilerin sitenize bağlanabilmesini sağlıyor.

Bu durumun sitenizin hızı üzerine olumsuz etkisi olacağını düşünebilirsiniz, ancak durum tam tersidir. Cloudflare tüm dünyada veri merkezlerine sahiptir. Ziyaretçinize en yakın veri merkezini kullanır ve daha hızlı bağlanmasını sağlar. Aşağıdaki resimde Cloudflare sunucularının yerlerini görebilirsiniz.

Cloudflare aracılığıyla ücretsiz olarak nasıl HTTPS desteğini sağlayacağınızı ise bir sonraki adımda anlatıyoruz.

Sitenizi Kayıt Ettirmek

Cloudflare’e bu bağlantıdan kayıt olun. Kayıt olduktan sonra ilk olarak internet sitenizin adresini girmeniz gerekiyor.

Sitenizin adresini girip ekledikten sonra Cloudflare sizin için DNS kayıtlarını elde edecek. Daha sonra bir plan seçmenizi isteyecek. Ücretsiz planı seçebilirsiniz. Eğer ek özellikleri istiyorsanız diğer planlara da göz atabilirsiniz.

Planı seçtikten sonra DNS kayıtları listelenecek. Tüm alt domainleriniz de burada görülecek. Bu aşamada Cloudflare kullanacağınız ya da kullanmayacağınız domainlerinizi seçebilirsiniz. Eklemek istediğiniz başka domain varsa bunu da girebilirsiniz. Her şeyi gözden geçirdikten sonra Continue ile devam edin.

Son aşamada ise alan adı sorgulamasında kullanılan sunucunuzu, Cloudflare tarafından sağlanan alan adı sunucusu ile değiştireceksiniz. Size verilen alan adı sunucularını bir yere not edin ve domain sağlayıcınızın ayarlarına girip orada alan adlarını bu adresle değiştirin.

Daha sonra alan adı sunucusu değişikliğinin tamamlanması için beklemeniz gerekiyor. Sitenizde Cloudflare’in aktif olup olmadığını görmek için Recheck Nameservers diyerek yeniden sorgulama yapabilirsiniz. Bu beklemenin 24 saate kadar sürebileceği belirtilse de 5-10 dakika içinde sonuçlanması da mümkün.

Alan sunucu değişikliğiniz Cloudflare tarafından da doğrulandıktan sonra siteniz hizmeti aktif olarak kullanmaya başlayacak.

Eğer DNS ayarlarınızın her yerde geçerli olduğundan emin olmak için What’s My DNS‘in sunmuş olduğu faklı konumlardan domaininizin hangi IP adresi ile çözüldüğünü anlama hizmetini kullanabilirsiniz.

SSL Sertifikasını Ücretsiz Olarak Almak

SSL sertifikası her yerden ücretsiz olarak alabileceğiniz bir hizmet değil. Artık satın almak daha kolay olsa da, yıllık ücretler 100$ civarından başlıyor. Ancak Cloudflare internet trafiğinizin tam ortasında olduğu için domaininiz için otomatik olarak SSL sertifikası almanız mümkün oluyor. Sertifikanın aktif hale gelmesi için yine 24 saate kadar beklemeniz gerekebilir ancak genellikle daha kısa sürecektir.

Sitenizin sertifika durumunu Crypto setting menüsü altından görebilirsiniz. Sertifikanız aktif hale geldiği zaman siteyi tarayıcıdan yüklemeye çalışın. Tarayıcınızda yeşil kilitli simgeyi görüp güvenli bağlantı sağlandığına dair mesajı görüntüleyebilirsiniz.

Eğer sertifikanız ile ilgili bilgileri görüntülemek istiyorsanız tarayıcıda internet sayfanızın detaylarına ulaşın. Hangi firma tarafından doğrulandığını, sona erme tarihini görüntüleyebilirsiniz. Cloudflare ile ilgili bir diğer güzel şey ise, sertifika yenilemesinin otomatik olarak yapılması. Böylelikle bununla ilgili bir endişeniz olmayacak.

Esnek, Tam, Tam (Zorunlu) SSL Arasındaki Farklar

Cloudflare, herhangi bir ayar yapma endişesi olmadan SSL sertifikanızı siteniz için almanızı sağladı. Ancak Cloudflare’in SSL sertifikasıyla ilgili çeşitli seçenekler mevcut.

İlk varsayılan olarak gelen Flexible (Esnek) SSL seçeneğini kullanabilirsiniz. Bu durumda ziyaretçileriniz ile Cloudflare arasındaki iletişim şifrelenecek, ancak Cloudflare ile internet sayfasındaki iletişim HTTP üzerinden gerçekleşecek.

Bu durum Cloudflare ile internet sayfanız arasındaki trafiği saldırıya açık hale bırakır. Eğer sitenizde hassas bilgiler topluyorsanız bu seçeneği kullanmamanızı tavsiye ederiz.

Sunucuza kadar olan tüm yolun şifrelenmesini istiyorsanız Full ya da Full (Strict) ayarlarını kullanmanız gerekir. Full ayarını kullanırsanız sunucunuza geçerli bir sertifika yüklemeniz gerekiyor. Ancak sertifikanın doğruluğu kontrol edilmeyecek yani kendiniz tarafından imzalanmış bir sertifikayı kullanabilirsiniz.

Full (Strict) ayarı ise güvenli bir sertifika sağlayıcı tarafından imzalanmış geçerli bir SSL sertifikası gerektirir. Eğer Comodo ya da başka bir sağlayıcı tarafından SSL sertifikası satın almak istemiyorsanız, Cloudflare’in Origin CA sertifikalarını ücretsiz olarak alabilirsiniz. Bu sertifikaları Full ya da Full (Strict) ayarlar için kullanabilirsiniz. Bu sertifikaların sadece Cloudflare tarafından güvenilir olarak kabul edildiğini ve sitenizi Cloudflare desteğinden çıkardığınız zaman çalışmayacaklarını da hatırlatmak gerekiyor

Eğer sunucu üzerinde erişiminiz yoksa, yani GitHub ve benzeri platformlarda bir siteniz varsa Full ya da Full (Strict) ayarlarını kullanamayacaksınız. Ancak yine de standart HTTP bağlantısından daha güvenli bir bağlantı sağlayacaksınız.

SSL Ayarlarını Güçlendirmek

Hangi SSL ayarını kullanırsanız kullanın, güvenliği güçlendirmenin çeşitli yolları mevcut. Örneğin kullanıcıların sitenize HTTP üzerinden erişmesini engelleyebilirsiniz. Cloudflare üzerinden alabileceğiniz ek önlemler mevcut. Örneğin Crypto ayarları altında yer alan “Always use HTTPS” seçeneğini aktif hale getirerek Cloudflare’in tüm HTTP trafiğini HTTPS’ye yönlendirmesini sağlayabilirsiniz.

HTTP bağlantılarının HTTPS’ye yönlendirilmesini sağlamak güvenliği artırsa da tam olarak sağlamıyor. Başlangıçta HTTP üzerinden yürütülen güvensiz istek, saldırılara açık kalmaya devam ediyor.

HSTS özelliğini kullanarak bu sorunu çözebilir ve tarayıcıların internet sitenize belirli bir zaman aralığı içinde güvensiz istek yollamasını önleyebilirsiniz. Tarayıcı, internet sitenizin header (giriş) bölgesindeki buna uygun veriyi okuyarak tüm HTTP isteklerinin ağ üzerine gönderilmeden önce HTTPS’ye dönüştürülmesini sağlayacak.

strict-transport-security: max-age=31536000

Bu header örneğinde olduğu gibi 31.536.000 saniye (1 yıl) için bu özelliği tarayıcıların okumasını sağlayabilirsiniz. Eğer tüm alt domainleriniz için de bu ayarın geçerli olmasını istiyorsanız includeSubdomains kısmını ekleyebilirsiniz. Ayrıca preload seçeneğini de ekleyerek tarayıcıların sitenizin kendisini HTTPS ile getirmesini sağlayabilirsiniz.

strict-transport-security: max-age=31536000; includeSubdomains; preload

HSTS özelliğini domaininiz için aktif hale getirmek için Cloudflare ayarlarından ilgili seçeneği aktif hale getirmeniz gerekiyor. Crypto ayarlarına girdikten sonra aşağıda HTTP Strict Transport Security (HSTS) bölümünü göreceksiniz. Change HSTS Settings seçeneğine tıklayın ve resimdeki gibi tüm seçenekleri etkinleştirip Save seçeneğine tıklayın.

Birçok tarayıcı HSTS desteğine sahip. Aşağıdaki resimde HSTS destekli tarayıcıları görebilirsiniz.

Eğer sitenizde güvensiz bağlantılardan gelen kaynakları, örneğin resimleri kullanırsanız içerik yüklenecek, ancak güvensiz bağlantı uyarısıyla karşılaşacaksınız. Cloudflare bunun için de bir çözüm sunuyor. Yine Crypto ayarlarından Automatic HTTPS Rewrites özelliğini bulun ve bunu aktif hale getirin.

Cloudflare Alternatifleri

Eğer Cloudflare’i bir sebepten dolayı kullanmak istemiyorsanız, ücretsiz HTTPS desteği sağlayabileceğiniz başka alternatifler de mevcut.

Let’s Encrypt ücretsiz 3 aylık SSL sertifikası sunuyor ve bu otomatik olarak yenilenebiliyor. Sunucuya erişiminiz varsa bu yolu kullanabilirsiniz.

Amazon da Amazon Web Services (AWS) çatısı altındaki müşterileri için SSL sertifikaları sunuyor ve bunları otomatik olarak yeniliyor. Örneğin Cloudfront gibi AWS kaynaklarını kullanıyorsanız HTTPS özelliğini siteniz için kullanabilirsiniz.