Yanıtlar:
İlginç bir soru, bence kullanımına bağlıdır. Oturum bakımından şifreli olarak korunuyorsunuz, ancak CA kök sertifikanızı kullanıcılara / istemcilere dağıtmadığınız sürece size sunulan doğru SSL sertifikası olup olmadığını söylemenin bir yolu yok. Dahili testler / dev projeler için bu harika olacaktır, kullanıcılarınıza dağıtmayı kullandığınız bir kök CA sertifikası oluşturursunuz (Windows'ta Grup İlkesi ve Linux / BSD'deki openssl komut satırı aracılığıyla yapılabilir) ve sonra bu kök sertifikasını kullanın CSR'lerinizi imzalamak. Kullanıcılar bir uyarı veya başka bir şey görmez ve sertifikanın dahili CA'nız tarafından imzalandığını bilirsiniz.
Bunu garanti edemediğiniz harici siteler için, kendinize imzalı bir sertifikanın, bağlantı üzerinden şifre veya diğer hassas bilgileri gönderiyorsanız, SSL olmamasından daha iyi olduğunu söyleyebilirim.
Ancak, artı tarafta GoDaddy bunlardan biri olan çok ucuz "ticari" sertifika verenlerin bol miktarda var . Yılda yaklaşık 40 Euro'luk bir sertifika alabilirsiniz. GoDaddy, OpenSource projesi web sitelerine ücretsiz sertifikalar bile sunar.
Bir kez dar teknik gerekçelerle ve bir kez genel gerekçelerle aynı fikirde olmayacağım.
Dar teknik dayanak, OP'nin kendinden imzalı sertifikaları sormasıdır ve diğer bazı cevaplar özel CA'ların imzaladığı ve biraz farklı bir konu olan sertifikaları ifade eder. Ama çok farklı değil, bu gerçekten geçerken sadece bir not.
En büyük itiraz, ticari olarak imzalı sertifikaların önemsiz masraftan daha fazla olduğu ve yılda 40 doların bu gezegendeki pek çok insan için önemsiz bir masraf olmadığı düşüncesidir - kendinden imzalı sertifikaların oynayacakları önemli bir rolü vardır. İnternet güvenliğinde, sınırlamaları tanınması şartıyla .
Kendinden imzalı bir sertifika dosyamdaki bir ssh anahtarı gibidir known_hosts
. Bağımsız doğrulama olmadan, inandığım sistemle konuştuğumu garanti edemez; ama şu anda konuştuğum sistemin, onunla konuşacağımı düşündüğüm en son konuştuğum sistem olduğunu garanti edebilir . Her zaman ssh anahtarlarını önbelleğe alıyoruz ve henüz genel anahtarlarının bir kısmından daha fazlasını bağımsız olarak doğrulayan bir sistem yöneticisi ile tanışmadım known_hosts
.
Kendinden imzalı sertifikalar (ve bu nedenle, genel olarak geçerli olmayan CA'lar tarafından imzalanan sertifikalar), insanlar, iletişimi yalnızca kendilerine, DNS kaydının diğer ucunda ve şu anda çevrimiçi olan ortadaki erkekler. Sertifikayı bağımsız olarak doğrularlarsa, kimlik doğrulama ve şifreleme en azından tanınan bir CA tarafından imzalanan bir sertifika tarafından sağlananlar kadar güçlüdür.
Dahası, bu tek ve sadece internet güvenliği deva olarak tanınan CA tarafından imzalanan sertifikaları kullanımını sunmak isteyen gibi konularda sert düşünmek gerekebilir standart Mozilla pakette Çin Hükümeti'nin imza CA dahil ve Comodo tarafından imzalanan sahte SSL sertifikaları .
known_hosts
@MadHatter ile ilgili de hiçbir fikre sahip değildir .
Kullanıcıların CA sertifikanıza sahip olmadığı (en yaygın durum olan) harici siteler için, evet, kendinden imzalı bir sertifika yanlış bir güvenlik hissi verir ve bu nedenle işe yaramazdan daha kötüdür:
İlk olarak, önceden yüklenmiş bir CA sertifikası olmadan, kullanıcı sertifikanın gerçekten bir saldırgandan değil, sizden geldiğini nasıl doğrular? Elbette sertifika alanlarını (CN, parmak izleri, vb.) Eşleştirerek - ama neye karşı? Bu yüzden şimdi sertifikayı doğrulamak için bir yan kanala ihtiyacınız var - ve birkaç kez gördüğümde, destek hattı operatörlerinin (doğrulama için yan kanal olarak hizmet etmesi gereken) ne anlama geldiğine dair hiçbir ipucu yok ; ayrıca, böyle bir yan kanalın işletilmesi, CA onaylı bir sertifikanın alınmasından çok daha büyük siparişlerdir, bu nedenle kullanıcının size tamamen güvenmesi gerekir.
İkincisi, kullanıcının aldığı korkutucu uyarı iyi bir sebepten dolayı korkutucu: kullanıcı sunulan sertifikayı doğrulayamadığından / onaylayamadığından, verileri güvenli bir şekilde Elbonian Haxx0r D00dz'ye gönderiyor olabilir.
Üçüncü olarak, tümü ve kötü, kullanıcıları hassasiyet giderici vardır : "İyi, benim para o uyarıyı göz ardı gerektiğini söyledi https://mysite.example.com/ ve bir örs vermedi Başımda bırakın ve benim akvaryum balığı da ölmedi; sooooo, bu aslında herhangi bir anlamı olmayan başka bir uyarı kutusu olduğu anlamına gelir, bu yüzden ne zaman karşılaştığım zaman bu kutuyu görmezden gelebilirim - bu güzel kilit simgesini yine de önemli buluyorum. "
Başka bir deyişle, koruma seviyesi düz HTTP ile karşılaştırılabilir (kablo üstü koklama hariç: veriler transit olarak şifrelenmiş olsa da, uç nokta doğrulaması olmadan oldukça anemik bir özelliktir), ancak koruma duygusu makul olmayan bir şekilde yüksek . Kötü araba benzetmesi: "ABS'im var, bu yüzden şimdi kötü koşullarda daha emniyetli bir sürüş yapabilirim" - sadece ABS otomobilin satış broşüründe mevcut, ancak arabada bulunmadan var.
Önerilen okuma: OWASP SSL En iyi yöntemler
TL; DR: Halka açık sitelerde kendinden imzalı sertifikaları kullanarak, Net'i her seferinde bir ipucu olmayan kullanıcı olarak daha kötü bir yer haline getiriyorsunuz.
Bağlı. Sizi daha güvenli hale getirdiğini düşünüyorsanız, yanlış güvenlik duygunuzla daha riskli şeyler yapmayı seçtiğiniz için riskinizi arttırır. İşlevsel olarak HTTP'ye eşdeğer davranırsanız, biraz daha güvende olduğunuzu söyleyebilirim.
SSL / HTTPS olmadan, ağınızda (veya giriş yapan herhangi birisinin yerel ağında) kablolu bağlantıya sahip olan herkes, düz metin olarak gönderilen kullanıcı adlarını / şifrelerini önemsiz bir şekilde dinleyebilir ve yakalayabilir.
Kendinden imzalı SSL ile kolayca dinleyemezler, ancak şimdi sitenizi taklit etmeleri gerekir; bunun yerine DNS'yi ortadaki (MITM) saldırısı yapan bir adam olarak değiştirmesi gerekir. Bu hala bir tehdittir, ancak başarmaları çok daha zor.
Kendinden imzalı SSL kullanmanın bir başka sorunu da, birçok tarayıcının kendinden imzalı sertifikaları büyük bir güvenlik tehdidi olarak görmesi ve dev bir kırmızı sayfa ile girmeden (örneğin, krom) sizi uyarmasıdır. http://www.sslshopper.com/article-ssl-certificates-in-google-chrome.html Bu büyük bir rahatsızlık olabilir.
Sonuç olarak, eğer özellikle güvenli olması gerekmeyen bir şeyi yönetiyorsanız (örneğin, kredi kartı verisi yoksa, sosyal güvenlik numarası yoksa) ve uygun bir sertifika alamazsanız, kendinden imzalı bir sertifika bir anlam ifade edebilir (diğer ağ kullanıcılarının giriş bilgilerini kolayca koklamalarını engellemek için söylenebilir).
"Güvenlik" ile ne demek istediğinizi ve bunun kapsamı ne kadar olduğuna bağlı.
Örneğin, tarayıcınız varsayılan olarak kabul edilen bir CA kümesiyle birlikte gelir. Bu, bu CA tarafından verilen herhangi bir sertifikanın tarayıcınız tarafından kabul edildiği anlamına gelir (dns adıyla eşleşene kadar). Şimdi, kötü bir hükümetin bir CA’ya sahip olduğunu veya CA’yı ziyaret ettiğiniz site için bir sertifika vermeye zorlayabileceğini hayal edin. Ardından, bir MITM yapmak çok kolaydır: tarayıcınıza sahip oldukları sertifikayı göndererek bağlantınızı proxy olarak kullanabilirler ve tarayıcınız "güvenilir" bir CA'dan geldiği için kabul eder. DNS-şeffaf olana kadar (MITM için temel olan) bu sorun değil.
Bu nedenle, "kabul edilen CA listesi" temel olarak, bu CA'lardan biri bazı kötü hükümetler ile işbirliği yapana kadar büyük bir güvenlik açığıdır. Kendi CA'nızın olması çok daha iyi.
Elbette, şirketinizde veya ev sunucunuzda yapabilirsiniz, çünkü kendi CA sertifikanızı da kontrol ettiğiniz istemciye yükleyebilirsiniz. Genel bir sunucuda, bir istisna eklemesini veya sertifikanızı eklemesini isteyen herhangi bir kullanıcıyla ilgilenemezsiniz.
Yani, "güvenlik" için ne demek istediğinizi ve kapsamını bağlıdır. Eğer istemcilere sahipseniz, kendiliğinden imzalananlar, istemciye kendi CA sertifikanızı yükleyene kadar daha güvenlidir.
Tabii ki, tüm müşterilere sahip olmadığınız için halka açık bir web sitesinde yapamazsınız. Böylece güvenli olmayan farklı davranışlardan oluşan bir tehlikeye sahip olacaksınız.