Aynı IP’de SSL’li birden çok alan


Yanıtlar:


28

Sanal ana bilgisayarlar ve SSL / TLS ile sorunun gerçekten ne olduğunu açıklamanın iyi bir fikir olduğunu düşünüyorum.

HTTP üzerinden bir apache sunucusuna bağlandığınızda, birlikte bir dizi http başlığı gönderirsiniz. Buna benziyorlar:

GET /index.html HTTP/1.1
 Host: www.nice-puppies.com

Sanal barındırma apache'niz varsa ana bilgisayarlar alanına bakacak, sonra sizin için doğru index.html dosyasını getirin. Sorun, SSL / TLS eklediğiniz zamandır. Sunucu, http isteğinizi göndermeden önce şifrelemeyi ayarlar. Bunun için sunucu, www.nice-puppies.com veya www.evil-haxxor.com adresine, kimlik doğrulama / şifreleme tamamlanana kadar devam edip edemeyeceğinizi bilmiyor. Sunucu tahmin edemez (yanlış sertifikanın gönderilmesi size kötü bir hata mesajı verir).

Çözümlerden biri * .nice-puppies.com için geçerli olan joker bir sertifikadır (yukarıda belirtildiği gibi). Bu şekilde birden fazla etki alanı için aynı sertifikayı kullanabilirsiniz, ancak bir * .com sertifikasına sahip olamazsınız (tamam, yapabilirsiniz ama herkes için çok kötü olurdu), bu nedenle genel olarak her biri için ayrı bir IP’ye ihtiyacınız olacaktır. HTTPS alanı.


4
İyi bir açıklama, ancak bir sertifikada birden fazla alana izin verecek bir UC sertifikası olabilir
Sam Cogan

1
Evet, Birleşik İletişim Sertifikalarına (UCC / UC sertifikaları) sahip olabilirsiniz. Muhtemelen onlardan bahsetmeliydim. Gördüğüm kadarıyla çoğunlukla Exchange / Office Communication Server ile birlikte kullanılıyorlar. Aynı sertifikayı farklı siteler için kullanıyorsanız, x509 anlamını kötüye kullanırsınız. Ancak çoğu TLS yığınında çalışıyorlar.
pehrs

6
Ayrıca SNI. İfaden artık kesin değil, baylar. Açıklamanız tarihsel olarak doğrudur ancak artık mevcut teknolojileri yansıtmamaktadır.
Warner

4
SNI (henüz?) Windows XP'de IE6 ile çalışmıyor. Pazar payını göz önünde bulundurarak hangi tür değeri sınırlar. Orijinal kullanıcının, etrafta dolaşmak için var olan hack setinden daha fazlasıyla ne olacağına inanıyorum.
pehrs

SHTTP'nin sonundaki yazım hatasını HTTPS'ye düzeltmeye çalıştım, ancak bu düzenleme çok küçük olduğu için reddedildi.
Stuart,

8

Bu sorunun asıl çözümü "Sunucu Adı Göstergesi" dir:

http://en.wikipedia.org/wiki/Server_Name_Indication

Sadece sunuculara ve web istemcilerine yayılmaya başlıyor, bu yüzden şu anda kullanabileceğiniz bir şey değil, umarım birkaç yıl içinde bu bir sorun olmayacaktır.


2

Sorun, SSL sertifikasının ana bilgisayar adına değil IP adresine bağlı olmasıdır. Bağlantı bir HTTPS isteğinin IP adresine girdiğinde ilk eylem, sunucu sertifikası ve / veya müşteri sertifikasını ileterek SSL iletişimini kurmaktır. Bağlantının bu aşaması sırasında Apache sunucusunun gelmek üzere olan isteğin ne için olduğunu bilmenin bir yolu yoktur. Bağlantı kurulduktan sonra HTTP (SSL olmayan) trafik için farklıdır. Apache sunucusu, istemci Hostbaşlığı gönderirse kullanılacak sanal ana bilgisayar yapılandırmasını belirleyebilir veya başka bir şekilde yapılandırılan ilk sanal ana bilgisayara verir.

Aynı etki alanı altında birden fazla sanal ana bilgisayarınız varsa, IP adresine tek bir joker karakter sertifikası kurabilir ve tanımlanmış farklı sunucu adlarına sahip birden fazla sanal ana bilgisayara sahip olabilirsiniz; Ancak, bu sunucu adları aynı etki alanı adı altında değilse, istemci sunucu hataları oluştururlar. Bu, joker karakter sertifikası, bu etki alanı adı altındaki tüm ana bilgisayar adları için geçerli olacağından işe yarar. Etki alanı adları, söz konusu IP adresi için tanımlanan ilk sertifikanın istemcileri bağlamak için sunulanlardan farklı olması durumunda, başka bir IP adresine ihtiyacınız olacaktır.


1

Bu SAN olarak tek bir ssl sertifikasına eklenebilir (Konu Alternatif Adı). Tecrübem dışında bir organizasyon sll sertifikası istemek zorunda kaldım. globalsign kullandım.


1

Aslında, modern yazılımla, 'SNI - Sunucu Adı Göstergesi' adı verilen yeni bir özelliği kullanarak, tek bir IP adresi üzerinden birden fazla HTTPS sitesine hizmet verebilirsiniz.

http://en.wikipedia.org/wiki/Server_Name_Indication

http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI

Bunu kendim kullanmamıştım, ancak dahili ve intranet siteleri için iyi geliyor. Modern tarayıcıların çoğu SNI'yi destekler. IE6 SNI'yi desteklemiyor, ancak IE7 destekliyor.

(Düzeltme: 20100426 - SNI hiç Windows XP'de desteklenmiyor. Windows Vista ve üzeri SNI'yi destekliyor. Bkz. Http://msdn.microsoft.com/en-us/library/dd208005% adresindeki "Bölüm 2.2.3" 28v = PROT.13% 29.aspx # id8 ).


2
IE'de, destek IE sürümünden gelmez, bunun yerine temel işletim sistemi sürümünden gelir. Vista ve üzeri SNI'yi destekler. XP yok, bu yüzden XP'deki IE8 ile bile SNI alamazsınız.
Nasko

1

Aynı konuda çalışıyorum. Testim olarak, IE7 ve üstü (Sadece Win7 ve Vista'da) / Chrome / Firefox / Safari / Opera, "Sunucu Adı Gösterimi" ni destekliyor. Aslında, tarayıcı Tsl 1.0 kullanıyorsa, "Sunucu Adı Gösterimi" ni destekler.


0

OP'nin birçok sanal ana bilgisayarı olan bir IP’ye SSL sertifikası eklerse ne olacağını sorduğunu düşünüyorum. Diğer sanal bilgisayarlardan hiçbiri bir SSL sertifikası kullanmıyorsa, açıkta olması gerekir.


iyi ben soru şaşırdım. Q'nun başlığı siyah, içeriğin beyaz olduğunu söylüyor.
Iraklis

bu beyaz olanı
Iraklis


0

Aynı IP'ye iki sertifika eklemeye çalışırsanız, her yerde sadece ilk okuma sertifikası kullanılır. Bir IP - bir SSL sertifikası.

Aynı IP’de daha fazla SSL sertifikası almak istiyorsanız, birden çok etki alanı (UCC adı verilen - godaddy’ye bakın ) veya joker karakter (daha pahalı) sertifikası almayı düşünün .


Apache conf'e ilk eklenen sertifikanın her ikisi için de kullanılacağını mı kastediyorsunuz?
nitin

1
İki sertifikanız varsa - A ve B sitesi için ve apache A.conf dizisindeki ana bilgisayarlar için yapılandırma yükler, ardından B.conf yüklerse, o zaman A.conf sertifikasını kullanır. Ya da tam tersi.
Andrejs Cainikovs
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.