blog posts

Sunucu Adı Göstergesi (SNI) nedir?

Diyelim ki bir kişiye bir paket göndereceksiniz ama alıcının adresini bina adına kadar giriyorsunuz ve istediğiniz birimin plakasına dair bir bilgi yok. Bu durumda paketinizin istediğiniz kişiye ulaşacağından ne kadar eminsiniz? Aynı şey, paylaşılan bir IP adresine sahip bir sunucuda uygulanan siteler için SSL veya TLS sertifikaları için de geçerlidir. Bir kullanıcı bir web sitesi sayfasındaki bir bağlantıya tıkladığında, sunucunun IP adresi tek başına kullanıcının hangi etki alanına erişmeye çalıştığını gösteremez. SNI eklentisi bu şekilde devreye girdi.

 

SNI (Sunucu adı göstergesi), kullanıcıyı paylaşılan bir sunucuda bulunan web siteleri arasından istenen web sitesine bağlama sorununu çözmekten sorumlu olan SSL veya TLS sertifikaları için yaygın olarak kullanılan eklentilerden biridir.

Bu eklentiyi tamamen tanımak ve nasıl etkinleştireceğinizi öğrenmek istiyorsanız, aşağıdaki makaleyi kaçırmayın:

 

SNI nedir?

Web sitesi güvenliği denilince akla ilk gelen faktörlerden biri SSL sertifikasıdır. Bu sertifika, her web sitesinin öncelikli ihtiyaçlarından biridir çünkü kullanıcı ile web sitesi arasında güvenli bir bağlantı kurulması, web sitesinin güvenlik seviyesini artırır ve kullanıcı memnuniyeti ve SEO açısından olumlu bir sinyal olarak kabul edilir.

Ancak paylaşılan bir ana bilgisayar kullanmak istediğimizde veya bir sunucuda SSL sertifikalı birkaç web sitesi çalıştırmak istediğimizde durum biraz karmaşıklaşıyor. İstediği siteye bağlanmak isteyen kullanıcının sunucunun IP adresine ihtiyacı vardır ve paylaşımlı host üzerindeki web sitelerinin SSL sertifikası aktif olduğunda tüm web sitelerinin IP adresi aynı hale gelir. Kullanıcının tarayıcısının hedefi tanıması zorlaşır.

 

SNI burada devreye giriyor.

SNI eklentisi, ilk bağlantı mesajını ve ana bilgisayar adını, kullanıcı ve web sitesi arasında bir TLC anlaşması olarak birleştirerek, kullanıcının varış yerinin tanınmasını mümkün kılar.

bir apartmana paket göndermek gibidir. Birinin evine, sokak adresine, plakasına koli gönderirken rakamlar yeterlidir. Ancak paketi bir apartmana gönderirken apartman birim numarasına ve sokak adresine ihtiyacınız vardır. Aksi takdirde paket istenilen kişiye ulaşmayabilir.

Her web sitesi kendi SSL’sine sahip olduğunda ve paylaşılan bir IP kullandığında, sertifika kontrol işlemi web sitesine bağlanmadan önce yapıldığından, kullanıcı istediğinde sunucu hangi etki alanını göstereceğini bilemeyebilir.

Elbette IPv6’nın geliştirilmesinden önce, IPv4 IP adreslerinin olmaması SNI kullanmak için başka bir nedendi. Genel olarak, bu eklenti, web sitesi sahiplerinin istedikleri kadar çok alan ve alt alan oluşturmasına ve bunları bir SSL sertifikası ile güvence altına almasına olanak tanır.

Paylaşımlı barındırma güçlüklerinden kaçınmak ve web sitelerinizi daha verimli yönetmek için SNI kullanmak istiyorsanız, sanal bir sunucu satın almaya öncelik vermenizi öneririz çünkü bu durumda her şeyden siz sorumlusunuz. Kontrol sizde ve sunucunun donanım ve yazılım gücünü yalnızca daha düşük bir maliyetle kullanıyorsunuz.

 

 

SNI eklentisi nasıl çalışır?

SNI, TLS el sıkışma işlemiyle ilgilenen bir eklentidir. Genel olarak, bu el sıkışma işlemi, HTTPS bağlantılarını güvenli hale getirmek ve şifrelemek için dahil edilir ve istek alışverişi yapılmadan önce bir el sıkışma gerçekleştirilir. Burada SNI devreye giriyor ve sayfayı görüntülemeden önce el sıkışma bağlantısıyla birlikte istenen ana bilgisayar adını da belirtiyor.

Bu nedenle SNI kullandığınızda, istemcinin ilk mesajıyla (Merhaba) birlikte ana bilgisayar adı da gönderilir.

Bu, bir sunucudaki HTTPS web sitelerinin benzersiz sertifikalara sahip olmasını sağlar ve paylaşılan IP’nin neden olduğu sınırlama kaldırılır.

bilgiler TLS üzerinden gönderildiğinden ve tüm tarayıcılar ve cihazlar otomatik olarak desteklediğinden, sistemi güncellemeye veya değiştirmeye gerek olmadığını belirtmekte fayda var.

Elbette, daha da fazla güvenlik arıyorsanız ESNI yardımcı olabilir. Bu eklenti, el sıkışma mesajını da şifreleyen genişletilmiş bir SNI sürümüdür. Bu, istenen sertifika bilgilerini bilgisayar korsanları tarafından algılanamaz hale getirir ve bağlantıların güvenlik düzeyini artırır. Ancak şimdiye kadar (02/05/1402), yalnızca Firefox bu uzantıyı desteklemektedir.

HTTP bağlantılarına ne olduğunu sorabilirsiniz.

SSL sertifikası olmayan web sitelerinin bu eklentiye ihtiyacı yoktur çünkü kullanıcı istediğinde tarayıcı alan adını web sunucusuna da gönderir. İstemci, bir TCP bağlantısı açılır açılmaz HTTP bağlantısında istenen web sitesini belirtir.

 

SNI kullanma nedenleri

Genel olarak, SNI kullanmanın işletmeniz için faydalı olmasının birçok nedeni vardır:

SNI ile artık sunucunuzdaki her domain ve subdomain için SSL sertifikası eklemenize gerek yok çünkü tek SSL sertifikası ile çalışabilirsiniz. Bunu yaparak paradan da tasarruf edersiniz ve artık tüm alan adları için SSL yükleyip etkinleştirmenize gerek kalmaz, böylece zaman kazanırsınız.

Güvenlik açısından bakacak olursak Let’s Encrypt gibi SSL sertifikası veren bir otoriteden SNI kullanabilirsiniz. Bu şekilde birkaç farklı kaynaktan tüm web sitelerinin sertifikasını almaya çalışırsanız güvenlik sızıntısı olasılığı artar.

Elbette SNI eklentisini kullanmanın en çok ziyaret edilen web sitelerinin performansını ve hızını düşürmeyeceğini belirtmekte fayda var çünkü TLS el sıkışma işlemi yalnızca SSL oturumunun başında gerçekleşir ve SNI hafif bir teknolojidir.

Sonuç olarak, her IP tipik olarak yalnızca bir HTTPS etki alanını barındırabildiğinden, SNI, özellikle web barındırıcıları olmak üzere birçok işletme için işleri kolaylaştırır.

 

 

SNI eklentisini kullanmanın faydaları
Paylaşılan bir IP’ye sahip bir sunucuda birden fazla alan adının güvenliğini sağlama
Birden fazla alan veya alt alan için tek bir SSL sertifikası kullanın
Zamandan ve paradan tasarruf edin
Hafiftir ve web sitesi performansını ve hızını etkilemez
Daha fazla IP adresine gerek yok
Birden çok web sitesini yapılandırma ve yönetme sürecini basitleştirin
Paylaşılan IP’ye sahip web sitelerinin güvenlik düzeyini artırma

IPv4 adreslerinin tükenme riskiyle başa çıkmak (elbette IPv6’nın icadı bu riski de ortadan kaldırdı)

Hangi tarayıcılar veya platformlar SNI’yi destekler?
Internet Explorer, sürüm 7 veya üzeri
Firefox, sürüm 2 veya üzeri
Google Chrome, sürüm 6 veya üzeri
Chromium sürüm 11 ve sonrası
Microsoft Kenarı
Safari sürüm 2.1 veya üzeri
Opera mobile, sürüm 10.1 ve sonrası
Konqueror/KDE sürüm 4.7 veya üstü
MobileSafari sürüm 4 veya üstü
Android varsayılan tarayıcıları sürüm 3 ve sonrası
Windows Phone 7

uç! Windows XP’deki Internet Explorer sürümlerinin hiçbiri SNI’yi desteklemez.

 

SNI kullanmanın herhangi bir dezavantajı var mı?

Bu eklenti, paylaşılan bir IP ile ilgili web sitelerini sınırlamak için mükemmel bir çözüm olsa da, eski tarayıcılara veya işletim sistemlerine sahip kullanıcıların küçük bir bölümünü etkileyen küçük bir hataya sahiptir.

Bildiğiniz gibi SNI eklentisi eski tarayıcıları ve web sunucularını desteklemiyor. Örneğin, Internet Explorer kullanan Windows XP kullanıcıları veya Android sürümleri 3’ten düşük olan mobil kullanıcılar SNI ile uyumlu değildir. Bu nedenle Handshake, varsayılan bir sertifika seçerek ad çakışmaları gibi sorunlara yol açabilir.

Genel olarak, web siteniz bir sunucuda bulunan HTTPS web sitelerinden biriyse, web sitenizi açmak için eski tarayıcıları kullanan kullanıcı büyük olasılıkla “Bağlantınız gizli değil” hatasıyla karşılaşacaktır.

Dolayısıyla, kullanıcılar daha yeni tarayıcılara ve platformlara geçerse, bu SNI sorunu da ortadan kalkacaktır.

 

CPanel’de SNI nasıl etkinleştirilir?

Aktivasyona başlamadan önce cpanel hakkında daha fazla bilgiye ihtiyacınız varsa cpanel nedir makalesini kaçırmayın.

Bu eklenti cPanel’de varsayılan olarak etkindir. Yine de, herhangi bir nedenle bu alanda sorunlarla karşılaşırsanız, özellikle birkaç web sitesini barındırmak için özel bir sunucu veya sanal bir sunucu kullanıyorsanız, bunu manuel olarak etkinleştirmek daha iyidir.

 

Sadece WHM bölümüne gidin ve Tweak Ayarlarını açın:

Arama bölümünde, cPanel’e İzin Ver yazın ve ardından cPanel kullanıcılarının SSL Ana Bilgisayarlarını kurmasına izin ver seçeneğini etkinleştirin:

 

Son olarak, değişiklikleri kaydetmek için Kaydet’e tıklayın.

 

Direct Admin’de SNI nasıl etkinleştirilir?

Direct Admin, çoğu kullanıcının tercih ettiği en popüler kontrol panellerinden biridir. SNI’yi etkinleştirmeden önce, SSL etkinleştirme konusunda yardıma ihtiyacınız varsa, Direct Admin’deki SSL yükleme ve etkinleştirme makalesinden yardım alabilirsiniz.

 

İçinde SNI’yi etkinleştirmek için aşağıdaki adımları izleyin:

DirectAdmin yapılandırma dosyasını favori düzenleyicinizle açın:

 

vi /usr/local/directadmin/conf/directadmin.conf

 

enable_ssl_sni değerini 0’dan 1’e değiştirin.

Bu değişikliği kaydettikten sonra DirectAdmin’i yeniden başlatın:

 

service directadmin restart

 

Plesk’te SNI nasıl etkinleştirilir

CPanel gibi, Plesk’te de varsayılan olarak bu özellik vardır, ancak bunu sağlamak için aşağıdaki adımları izlemek daha iyidir:

Araçlar ve Ayarlar bölümünden Sunucu Ayarları’na tıklayın.
SNI Desteğini arayın ve aşağıdaki seçeneği etkinleştirin:

 

Turn on SNI support, which allow using individual SSL/TLS certificates on websites with the same IP address

 

Ardından, bu değişikliği kaydedin.

Elbette, işletim sisteminiz Linux ise, SNI’yi etkinleştirmek için aşağıdaki yöntemi kullanabilirsiniz:

SSH ile sunucuya bağlanın.
Yapılandırma dosyasını aşağıdaki komutla açın:

 

vi /etc/psa/psa.conf

 

SNI_SUPPORT değerini true olarak değiştirin:

 

SNI_SUPPORT true

 

Son olarak, bu değişiklikleri kaydettikten sonra PSA hizmetini yeniden başlatın:

 

service psa restart

 

Artık SNI eklentisini nasıl etkinleştireceğinizi bildiğinize göre, başlamanın ve web sitenize erişim kısıtlamalarını kaldırmak için bu aracın gücünü kullanmanın zamanı geldi.

 

Çözüm

Paylaşılan barındırma kullanan veya paylaşılan bir sunucuda birkaç web sitesi başlatmayı planlayan kullanıcılar, IP adresleri paylaşıldığı için SSL sertifikasını etkinleştirdikten sonra sorunlarla karşılaşır. Bu nedenle, ilk istek mesajına ek olarak, Handshake sırasında etki alanını veya ana bilgisayar adını sunucuya göndermek için SNI kullanırsanız, kullanıcının hedefini tanımak kolay olacaktır.

Yazının sonuna kadar bizimle kaldığınız için teşekkür ederiz. Umarız bu makaleyi okumanız sizin için yararlı olmuştur. Herhangi bir sorunuz veya talebiniz varsa ve yönlendirmeye ihtiyacınız varsa, size en kısa sürede cevap verebilmemiz için görüşünüzü kaydederek bizimle iletişime geçebilirsiniz.