Kendinden imzalı SSL sertifikaları güvenli mi?


33

Web postama, phpMyAdmin , vb. Giriş yaptığımda güvenli bir bağlantı kurmak istiyorum .

Bu nedenle OpenSSL ile kendi SSL sertifikalarımı imzaladım ve Apache'ye 443 numaralı bağlantı noktasını dinlemesini söyledim.

Bu aslında güvenli mi? Tüm şifrelerim gerçekten güvenli ve güvenli bir katmandan mı gönderiliyor? Verisign'dan bir SSL sertifikası alırsam veya kendi sertifikamı imzalarsam ne fark eder ? Günün sonunda, tüm veriler yine de sunucumda olacak. Peki büyük fark nedir?

Yanıtlar:


40

Bu tamamen güven ile ilgili. Verisign'dan imzalı bir sertifika alırsanız, rastgele istemcilere sertifikanızın güvenilir olduğunu kanıtlarsınız. Sertifikayı kendiniz imzalarsanız, sertifikanızı bilgisayarında yüklü olmayan kişiler, ortadaki bir adam saldırısına maruz kalmadıklarından emin olamazlar .

Web sunucunuz sadece sizin tarafınızdan kullanılıyorsa, sertifikanızı imzalamak için gerçek bir CA'ya (verisign gibi) ihtiyacınız yoktur. Sadece kullanmak istediğiniz makinelere sertifikayı kurun ve gitmeniz iyi olur.

Düzenleme: Sorunuzu cevaplamak için: Evet, her şey şifrelenmiştir ve web tarayıcısına sunulan sertifikanın aslında web sunucusunu kurduğunuzu biliyorsanız, kimsenin hassas verilerinizi okuyamayacağından emin olabilirsiniz.


12
CA'nın amacı, başkalarına bir sertifikanın ait olduğunu söylediğiniz kişiye ait olduğunu kanıtlamaktır . Sertifikanın kime ait olduğunu zaten bildiğiniz için, kendi sunucunuza erişme ve kendi sertifikanızı sunma açısından, bir CA bir amaca hizmet etmez. Ancak, başkaları sunucularınıza güvenli bir şekilde erişemez, çünkü hangi sertifikaya güvenileceğini bilmenin bir yolu yoktur. (Biliyorsun - verdiğine güven.)
David Schwartz

Bu aynı zamanda, sunucuya sertifikayı - ailenizin üyelerini veya küçük bir şirketin personelini, örnek olarak doğrulamak için sizinle doğrudan iletişim kurabilecek sınırlı sayıda kullanıcı tarafından erişilirse, makul bir yaklaşım olacaktır.
bgvaughan

Ortada bir CA ile koordine edilen bir adam kendisinin imzalı bir sertifikasını geçersiz kılabilir mi? Bob, Alice'in imzalı web sitesine bağlanır, Scar, Bob'a CA Scar tarafından koordine edilen farklı bir sertifika gönderir, Bob'un tarayıcısı hiçbir zaman SSL uyarısı göstermez. Mümkün mü?
Merhaba Dünya

14

Bu tamamen güven ile ilgili.

Bir sertifika sunan popüler bir web sitesini ziyaret ettiğinizi söyleyin. Bu söyleyerek sitesidir "Bu birileri tarafından imzalanan giriş bu mektubu var çünkü benim kim, sen bana güvenebilirsin olduğunu sen güven."

Bu durumda, 'güvendiğiniz biri', sizin adınıza sertifikanın sunucusunun kimliğini belirleme konusunda bacağını (umarım) yapmış olan sertifika otoritelerinden biridir.

Gerçekten güvendiğiniz şey, tarayıcı yazarının, sertifika yetkilisinin, sertifikayı sunan kişinin kimliğine olan güvenine olan güvenidir. Ayrıca, siz ve sunum yapan kişi arasında genellikle birden fazla otorite vardır, bu nedenle: 'Güven Zinciri' terimi. [1]

Kendi sertifikanızı imzaladığınızda, güven zinciri yoktur. Siteniz size kendi sertifikanızı geri veriyor. Bunu biri olarak tarayıcınızda kendi sertifikasını yüklerseniz Eğer bir otorite olarak kabul edilir daha sonra güven, önceden yüklenmiş olarak gelen olanlar aynı. Daha sonra sadece bir bağlantı ile bir güven zinciri var.

Daha sonra kendi sitelerinizi ziyaret ederseniz ve tarayıcınız güvenilmeyen bir sertifika sunduğuna dair sizi uyarırsa, o zaman endişelenmeniz için bir neden bulunmalıdır, çünkü güvenilmeyen bir sertifika sunan diğer sitelerde olduğu gibi Gerçek site ile iletişim kurduğunuzu

Henüz şifrelemeden bahsetmediğime dikkat edin. Sertifikalar, iletişim kurduğunuz tarafın kimliğini doğrulamakla ilgilidir . Güvenilir sertifikalar aracılığıyla, dükkanınızın veya bankanızın gerçek olduğundan emin olmanızın makul bir yolu vardır. Kimliklerini oluşturduktan sonra, aranızdaki iletişimi sağlamak bir sonraki adımdır. Bu nedenle sertifikaların içinde bu güvenliği kolaylaştırmak için gereken anahtarlar da bulunur. SSL’nizi doğru kurduğunuzu varsayarak, bu iletişim, mağazanız veya bankanızla olduğu kadar güvenlidir ve şifreleriniz de aynı şekilde korunur.

[1] Bu, hiçbir şekilde kusursuz bir sistem değildir. Serbest piyasa ve düşük marjlı, yüksek hacimli bir iş kaçınılmaz olarak maliyet düşürmeye yol açar: http://www.theregister.co.uk/2011/04/11/state_of_ssl_analysis/

[2] En azından, birisinin evinize girmesinin çok daha ucuz olduğu kadar korunuyor ki , onları kırmaya teşebbüs etmek yerine, sırlarınızı sizden aştınız : http://xkcd.com/538/


11

Aslında, kendinden imzalı sertifikalar , şu anda kullandığımız modele göre güvenli olmayabilir.


Şu anda herkesin kullandığı yaygın CA (sertifika yetkilisi) modeli altında, güvenilir bir CA tarafından imzalanan sertifikanın amacı, kimlik doğrulama sağlamaktır.

Bir sertifika aldığımızda, gerçekten tek gördüğümüz 1'ler ve 0'lar duvardaki girişlerden geliyor; 1 ve 0'ların nereden geldiği hakkında hiçbir fikrimiz yok. Bununla birlikte, sertifika bir CA tarafından imzalandığından - dünyada, bu CA'dan başka kimsenin yapamayacağı bir şey - ve sertifika sahibinin kimliğini doğrulamak için CA'ya güvendiğimizden, sertifikanın iddia ettiği kişiden geldiğine güveniyoruz için.

Elbette, eğer CA tehlikeye atılırsa veya mal sahibini doğru bir şekilde doğrulamazsa , tüm bahisler kapalıdır.


Ancak, kendinden imzalı sertifikalar gibi bir başka modeli kullanıldığını yok özgünlük sağlar. Buna noter modeli denir .

Temel olarak, tek bir CA'ya güvenmek yerine, güveni herhangi bir notere dağıtırız . Bu noterler, gördükleri tüm sertifikaların önbelleğini koruyarak sertifikaları araştırmak için interneti inceler. Bir siteyi ilk defa ziyaret edip sertifikayı aldığınızda, en son gördükleri sertifikanın ne olduğunu genel olarak dağıtılmış bir notere sorarsınız. Gördüklerinize katılmıyorlarsa, ortadaki bir saldırının bir parçası olabilirsiniz.

Bu modelde, herhangi bir noter sertifikasını görmeden önce sunucunun derhal tehlikeye atılmadığını varsaydığımız sürece, kendinden imzalı sertifikalar tamamen güvenlidir.


Noterlik modeli henüz başlangıç ​​aşamasındadır ve CA modelini devralacağına dair şüphesi vardır (aslında, zorunda kalmazlar - birbirleriyle tandem olarak kullanılabilirler) . Şimdiye kadarki en umut verici proje Firefox için bir eklenti olan Convergence.io .


2

TÜM güven hakkında değil.

SSL sertifikaları iki amaca hizmet edebilir - 1) bağlanmak istediğiniz web sitesine bağlandığınız web sunucusudur; ve 2) iletişimi şifrelemek.

Yaptığınız şey # 1 olmadan # 2 sahip olabilirsiniz. Geride kalan, bağlandığınız kutunun istediğiniz kutu olduğunun doğrulanması.

Eğer bu benim sunucumsa, kendimden kendinden imzalı bir sertifika kullanmakla ilgili bir sorunum yok - birileri benim sunucularına bağlanmam için beni bir şeyleri taklit etme riski taşıyor. Kimse beni ve sunucumu önemsemediğinden ve burada çok az değere sahip olduğum için bu konuda çok fazla risk görmüyorum.

Öte yandan, bir sunucumun yerine sizin sunucunuz olsaydı, o zaman endişelenirdim.


Söyleyecek miydiniz: "Eğer sunucunuzsa o zaman endişelenmezdim"?
cherrun

hayır, "Benim sunucumsa sorunum yok ... SİZİN sunucunuzsa sorunum var" dedi.
Francesco

Yanılıyorsun Kimse senin yerine sunucularına bağlanmanı sağlayacak şeyleri kandıramaz. Yaptığınız kendinden imzalı sertifikaya karşılık gelen bir anahtarları yoktur ve kabul etmediğinizden size farklı bir sertifika sunamazlar.
David Schwartz

@cherun Amacım bana güvenmiştim - size (ya da başka birine). Kendinize güvenebilir / güvenmelisiniz.
uSlackr

1
-1. Şifreleme, el sıkışma sırasında müzakere edilen simetrik anahtarlar kullanılarak yapılır. Elbette, uzak tarafın kimliğini kontrol etmek için sertifikayı kullanırsınız, aksi takdirde iletişimi şifreleyen çok az nokta olabilir (bir MITM olabilir). Bu sizin sunucunuz ve kendinden imzalı bir sertifika ise, belgenizi açıkça müşterinize aktarın.
Bruno,
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.