Https sertifikasız çalışabilir mi?


9

Son zamanlarda altyapı ekibimiz, geliştirme ekibimize https için sertifikaya ihtiyacınız olmadığını söyledi. Sertifika satın almanın tek faydasının, tüketiciye doğru web sitesine bağlandıklarını düşünmelerini sağlamak olduğunu belirtti.

Bu, https hakkında varsaydığım her şeye aykırı.

Vikipedi okudum ve https'yi yapılandırmak için güvenilir bir sertifikaya veya kendinden imzalı bir sertifikaya ihtiyacınız olduğunu belirtti.

O yapılandırmak olmadan https'ye yanıt verdiklerini IIS mümkün mü herhangi sertifikası?


7
Bunun sadece bir iletişim sorunu olduğunu görebilirsiniz. Sunucunuzda muhtemelen kendinden imzalı sertifikalar kullanıma hazırdır. Bu arada, herkese açık güvenilir bir sertifika kullanarak kaçınmanız gereken bu uyarıdır: m86security.com/kb/article.aspx?id=13446Bu ortamınızda kabul edilebilir veya olmayabilir. Bunun sadece huzurun ötesinde olduğunu söyleyebilirim - halka açık bir web sitesinde profesyonellik belirtisi!
Dan

5
Kendinden imzalı sertifikalar size şifreleme sağlar, ancak orta saldırılarda insandan korunamaz, çünkü trafiği engelleyen, şifresini çözen bir adam için yaptığınız gibi kendinden imzalı sertifikalar için geçersiz veya doğrulanmamış sertifikalar ile aynı uyarıları alırsınız, verileri çalmak ve istemciye dönmek için yeniden şifrelemek.
Bart Silverstrim

1
"Kendinden imzalı sertifikalar size şifreleme sağlar, ancak orta saldırılardaki insanlardan koruyamaz [...]", kullanıcı kendinden imzalı sertifikalara bant dışı bir mekanizma tarafından açıkça güvenmediği sürece, ancak böyle bir bant dışı mekanizma ile sizi tanıyan küçük bir kullanıcı tabanı için gerçekçi bir şekilde mümkündür. Gerçekten de pek mümkün değil.
Bruno

Ya da ilk kez güvenirlerse, gelecekte değişmesi durumunda uyarılırlar. Tıpkı SSH imzaları gibi.
mfinni

1
Teknik olarak SSL / TLS'nin bir iletişim kanalını güvence altına almak için sertifikaya ihtiyacı yoktur . Aslında SSL / TLS kanalı korumak için başka bir mekanizma kullanabilir: pgp sertifikaları, kullanıcı adı / şifre, önceden paylaşılan anahtarlar veya "anonim" (kimlik doğrulaması yok). Benzer şekilde SSL / TLS şifrelemeyi garanti etmez, "null" (hiç şifreleme yok) dahil olmak üzere kullanabileceği birçok farklı siber vardır. Özet kimlik doğrulaması için de benzer seçenekler var. Yani hepsi harika, ama hangi programların herhangi birini kullandığı: temelde hiçbiri, kesinlikle büyük bir sunucu veya tarayıcı yazılımı yok (hepsi sertifika gerektirir).
Chris S

Yanıtlar:


24

Hayır. Bir sertifikanız olmalı. Kendinden imzalı olabilir, ancak sunucu ve istemci arasındaki oturum simetrik anahtarını verileri şifrelemek için değiştirmek için genel / özel bir anahtar çifti bulunmalıdır.


Anonim Diffie-Hellman, başka bir cevapta belirtildiği gibi, sertifikasız bir bağlantıya izin verdi - ancak modern OpenSSL sürümleri genellikle ADH desteği olmadan derlendi.
Brandon Rhodes

12

Kısacası, hayır, ancak sistemi nasıl dağıtmak istediğinize bağlı olarak küçük durumlar olabilir.

HTTPS, SSL / TLS üzerinden HTTP'dir ve SSL / TLS'yi sertifika olmadan veya X.509 dışında başka türde sertifikalarla kullanabilirsiniz .

  • Anonim şifre paketleri: kimlik doğrulaması olmadan şifreleme sağlayabilirler. Güvenlik söz konusu olduğunda işe yaramaz ... RFC 4346'dan alıntı yapmak için : " anonim Diffie-Hellman kesinlikle cesaretini kırıyor çünkü ortadaki adam saldırılarını engelleyemiyor. "
  • Önceden paylaşılan anahtarlar : uzak kimliği doğrulamak için kendi mekanizması vardır, ancak anahtarların ortak doğası kendi sorunlarını getirir (özellikle sınırlı dağıtım).
  • Kerberos şifre paketleri : istemci, sunucunun kimliğini Kerberos asıl adına göre doğrulayabilir.

Açıkça söylemek gerekirse, TLS üzerinden HTTP spesifikasyonu şunları söylüyor:

Genel olarak, HTTP / TLS istekleri bir URI'nın kaydının kaldırılmasıyla oluşturulur. Sonuç olarak, sunucunun ana bilgisayar adı istemci tarafından bilinir. Ana bilgisayar adı varsa, istemci, ortadaki adam saldırılarını önlemek için sunucunun Sertifika iletisinde gösterildiği gibi sunucunun kimliğine karşı denetlemelidir ZORUNLU.

İstemcinin, sunucunun beklenen kimliğiyle ilgili dış bilgileri varsa, ana bilgisayar adı denetimi atlanabilir. (Örneğin, bir istemci adresi ve ana bilgisayar adı dinamik olan bir makineye bağlanıyor olabilir ancak istemci sunucunun sunacağı sertifikayı bilir.) Bu gibi durumlarda, kabul edilebilir sertifikaların kapsamını olabildiğince daraltmak önemlidir. Orta saldırılardaki adamı önlemek için. Özel durumlarda, istemcinin sunucunun kimliğini görmezden gelmesi uygun olabilir, ancak bunun bağlantıyı aktif saldırıya açık bıraktığı anlaşılmalıdır.

Kısacası, açıkça bir X.509 sertifikası ile kullanılmak üzere tasarlanmıştır (daha sonra RFC 3280 ve 5280: R.50 2459'un yerini alan RFC 2459'a açıkça atıfta bulunur: X.509 sertifikalı PKI'lar).

Kerberos şifre paketlerini kullanırken bir kenar durum olabilir. Uzak tarafın kimliğinin doğrulanması için sunucunun Kerberos servis biletinin, her zamanki HTTPS'deki X.509 sertifikasıyla aynı amaca sahip olduğu varsayılabilir. RFC 2818'in kurallarına tam olarak uymuyor (" İstemcinin sunucunun beklenen kimliğine ilişkin harici bilgileri varsa, ana bilgisayar adı denetimi atlanabilir. "), Ancak bu olmaz tamamen saçma. Bununla birlikte, normal tarayıcıların TLS Kerberos şifreleme paketlerini genel olarak desteklediğini düşünmüyorum (bir sayı Kerberos'u SPNEGO kimlik doğrulaması yoluyla destekleyebilir, ancak bu ilgisiz). Ayrıca, bu sadece Kerberos kullanımının uygun olduğu bir ortamda da işe yarayacaktır.

" Tüketicilere doğru web sitesine bağlandıkları için gönül rahatlığı sağlamak" aslında onlar ve sunucunuz arasındaki iletişimi sağlamak için temel gereksinimlerden biridir. Doğrulayabilecekleri uygun adlandırma kurallarıyla (RFC 2818 veya daha yeni RFC 6125) bir sertifika kullanın.


1

Https'yi herhangi bir sertifika olmadan kullanamazsınız. Güvenilir bir sertifika satın almanız veya test için kendinden imzalı bir sertifika oluşturmanız gerekir. Web sunucunuzu https kullanacak şekilde yapılandırmanın bir parçası, sunucuyu doğru anahtar dosyalara yönlendirmektir. Tabii ki, bu sadece iis için değil tüm web sunucuları için geçerlidir.


OpenSSL sertifika az bağlantıları, koşmak destekleyip desteklemediğini test openssl ciphersbir ve göz ADHgibi protokol ADH-AES256-SHA- Böyle bir protokol varsa, o zaman teknik olarak katılan herhangi sertifikası olmayan bir bağlantı kurabilirsiniz.
Brandon Rhodes
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.