Apache httpd neden ad tabanlı sanal ana bilgisayarlarımın yalnızca SNI özellikli tarayıcılarla çalıştığını söylüyor (RFC 4366)


9

Apache neden günlüklerimde bu hata mesajını veriyor? Yanlış bir pozitif mi?

[warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)

Son zamanlarda Centos 5.7'den 6.3'e ve daha yeni bir httpd sürümüne geçtim. Her zaman ssl sanal ana bilgisayar yapılandırmalarımı aşağıdaki gibi yaptım. Aynı sertifikayı paylaşan tüm alan adlarının (çoğunlukla / her zaman joker karakterler) aynı IP'yi paylaştığı yerlerde. Ama bu hata mesajını daha önce hiç almadım (ya da ben, belki de günlüklerimde yeterince bakmadım mı?)

İşte httpd.conf dosyamın ilgili bölümleri. Bu VirtualHost olmadan hata mesajı almıyorum.

NameVirtualHost 10.101.0.135:443

<VirtualHost 10.101.0.135:443>
  ServerName sub1.domain.com

  SSLEngine on
  SSLProtocol -all +SSLv3 +TLSv1
  SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
  SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
  SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
  SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>

<VirtualHost 10.101.0.135:443>
  ServerName sub2.domain.com

  SSLEngine on
  SSLProtocol -all +SSLv3 +TLSv1
  SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
  SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
  SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
  SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>

Yanıtlar:


7

Bunun nedeni, VirtualHost yönergesinin ServerName yönergeniz ve / veya sertifikanın CN'si ile eşleşmemesi. Wild olmayan bölümlerin aynı olması gereken bir joker karakter sertifikanız yoksa, üçünün de aynı olması gerekir.


Yani buradaki cevap, <VirtualHost 10.101.0.135:443>çizgiyi değiştirmektir <VirtualHost sub2.domain.com:443>? Potansiyel?
MichaelJones

@MichaelJones bu sorunu çözdü mü?
Fernando Santiago

@FernandoSantiago SNI'nin yeterince güvenilir olmadığını bulduğum için şimdi sanal ana bilgisayarlarım için farklı IP adresleri ödüyorum. Ve VirtualHostbeyanlarımda bu IP adresi var .
MichaelJones

1
Bu benim problemimi mükemmel bir şekilde çözdü. VirtualHostJoker bir kart kullanıyordum, ancak ServerNamedirektif CN sertifikasıyla eşleşiyor. Tüm 3 eşleşen ve viyola! Not: Bu cevap serverfault.com/questions/578061/… size RSA sertifikanıza
koyduğunuz CN'yi

3

Bu bir hata değil, bir uyarı mesajı.

Ve bunu elde edersiniz çünkü 1) Apache sürümünüzü güncellediniz ve 2) aynı IP adresini (2 IP kullanmak yerine) kullanan 2 SSL VirtualHost'unuz var.

IP'yi paylaştığınız için, SNI desteği olmayan tarayıcılar sadece ilk web sitesini alır ve asla ikinci web sitesini alır.


SNI içermeyen tarayıcılar ilk web sitesi için yapılandırılmış sertifikayı alacaktır - ancak bunları isteği sunmak için bir hayaletle eşleştirmek için Hostbaşlık normal olarak kontrol edilir.
Shane Madden

@ShaneMadden, SSL bağlantısı kurulmadan ÖNCE Host: başlığı kontrol edilmediğinden bunun doğru olduğuna inanmıyorum. Ve bu SNI desteğine sahip olmanın tüm noktası. Ya da aksi takdirde SSL VH başına 1 IP gerekir. SNI olmadan, Apache varsayılan olarak bu IP adresiyle bulunan ilk VH'ye ayarlanır, Host: üstbilgisi neredeyse yok sayılır.
rightstuff

... Aksi takdirde, tek bir IP adresinde 100'lü SSL NameBasedVirtualHosts yapabilirsiniz ve bunun doğru olmadığını biliyoruz (sunucu ve istemci tarafından SNI desteği olmadan).
rightstuff

4
Otherwise you could do 100s of SSL NameBasedVirtualHosts on 1 single IP address, and we know that's not true (without SNI support by server and client)Yapabilirsin. Bunun normal kullanımı, hepsinin genellikle aynı sertifikaya, joker karaktere veya alternatif ad sertifikasına sahip olmasıdır. Ancak, kendi SSL sertifikalarına sahip iki vhost'unuz olduğunu varsayalım - domain1.com ve domain2.com, önce domain1.com yapılandırılmış. SNI özellikli olmayan bir tarayıcı domain2.com ister - domain1 sertifikasını gönderdikleri için bir sertifika etki alanı uyuşmazlığı hatası alırlar - ancak tıklarlarsa domain2 içeriğini alırlar.
Shane Madden

1
Ana bilgisayar üstbilgisi yoksayılırsa, basit ve yaygın olarak kullanılan "birden çok ada dayalı hayalet içeren bir sertifika sertifikası" durumu bile bozulabilir. Her neyse, işte burada bu davranışın görüntülendiği yerde cevapladığım birkaç soru örneği; serverfault.com/q/292637 serverfault.com/q/330212
Shane Madden
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.