OpenSSL ve Apache ile TLS 1.1 ve 1.2 nasıl etkinleştirilir?


33

SSL / TLS’ye Karşı Yeni Arama Yapan Tarayıcı Exploit (BEAST) gibi artan sayıda güvenlik sorunu ışığında, savunmasız olmayacağımızdan emin olmak için OpenSSL ve Apache ile TLS 1.1 ve 1.2’nin nasıl etkinleştirilebileceğini merak ediyordum. bu tür tehdit vektörlerine.

Yanıtlar:


25

TLS1.2 şimdi apache için kullanılabilir, sadece https sanal ana bilgisayar yapılandırmanıza eklemeniz gereken TLSs1.2'yi eklemek için:

SSLProtocol -all +TLSv1.2

-all diğer ssl protokolünü kaldırıyor (SSL 1,2,3 TLS1)

+TLSv1.2 TLS 1.2'yi ekliyor

daha fazla tarayıcı uyumluluğu için kullanabileceğiniz

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

bu arada, Cipher takımını da kullanarak artırabilirsiniz:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GC$

Https web sitesi güvenliğinizi aşağıdaki gibi bir çevrimiçi tarayıcıyla test edebilirsiniz: https://www.ssllabs.com/ssltest/index.html


2
Bu yazının neden "modası geçmiş" olarak işaretlendiğinden emin değilim. Önerilen çözümü kullandım ve müşterimin sitesi Qualsys SSL Labs'daki "C" derecesinden "A" ya geçti.
Michael Sobczak

Merhaba, yanlış anlaşılmayı önlemek için eski uyarıyı kaldırdım, eski doğru cevabın bağlantısıydı. Güvenliğinin arttığına
sevindim

Kullanılabilir / 000-default.conf sitelerinde 'SSLProtocol -all + TLSv1.2' sanal sunucusuna ekledim ve aldım: AH00526: /etc/apache2/sites-enabled/000-default.conf / 31 satırındaki sözdizimi hatası : Geçersiz komut 'SSLProtocol', yanlış yazılmış veya sunucu yapılandırmasında bulunmayan bir modül tarafından tanımlanmış Eylem 'configtest' başarısız oldu.
Elia Weiss,

Mod_ssl'yi etkinleştirdiniz mi? (komut: a2enmod ssl)
Froggiz

"SSLProtocol: Geçersiz protokol 'TLSv1.2'" (OS X 10.10.5)
Michael


10

OpenSSL değişmezliğine göre, OpenSSL 1.0.1'in geliştirme koluna TLS 1.2 desteği eklendi, ancak bu sürüm henüz yayınlanmadı. Muhtemelen Apache için TLS 1.2'yi etkinleştirmek için mod_ssl kodunda bazı değişikliklere ihtiyaç duyulacaktır.

Yaygın olarak kullanılan bir başka SSL / TLS kütüphanesi NSS'dir ; daha az bilinen bir Apache modülü mod_nss tarafından kullanılır ; maalesef mevcut NSS sürümleri de TLS 1.2'yi desteklemiyor.

Yine bir başka SSL / TLS kütüphanesi GnuTLS'dir ve halihazırdaki sürümünde zaten TLS 1.2'yi desteklemektedir. TLS 1.2'yi desteklediğini iddia eden GnuTLS: mod_gnutls kullanan bir Apache modülü de var. Ancak, bu modül oldukça yeni görünüyor ve çok kararlı olmayabilir; Hiç kullanmaya çalışmadım.


1
@ Sergey, bağlantılar ve bilgiler için teşekkürler. Hala bu standartları yaşlarına göre kullanamadığımız için üzgünüm. Bana göre sistemlerimizin ve ağlarımızın savunucuları olmamız gerekiyor ama güvenlik durumumuzu geliştirmemize yardımcı olacak araçları kullanamıyoruz. Ayrıca, web tarayıcı millet Apache ve muhtemelen IIS gibi sunucu millet ek olarak, bu standartlar için destek sağlamak için gitmek için bir yol var gibi görünüyor.
John

2
Bu cevap bir yıl sonra hala doğru mu?
Ben Walther

2
@BenWalther OpenSSL 1.0.1, Mart 2012'de TLS 1.2 desteği ile piyasaya sürüldü. Şu an itibariyle en son sürüm 1.0.1c. Gönderinin geri kalanının ne kadarının hala geçerli olduğundan emin değilim.
Burhan Ali

6

Yapamazsınız, OpenSSL henüz TLS 1.1 için bir sürüm sunmuyor.

/ İle ilgili bir yorum. bu sorun için:

Yıkanmamış kitlelere, baskın OpenSSL kütüphanesinin henüz kararlı sürümlerinde hiçbir protokolü desteklemediği bir dünyada TLS 1.1 ve 1.2 desteğini nasıl uygulayacağınızı nazikçe açıklar mısınız? Tabii ki, GnuTLS ve mod_gnutls kullanabilirsiniz ve ben denedim, fakat Opera'nın desteklediği bir tarayıcı dışında hiçbir destek yoktu ve modülde bazı garip hatalar vardı. IE 8 / 9'un Vista ve 7 altında desteklenmesi gerekiyordu, ancak istemci tarafında 1.1 ve 1.2 etkinleştirildiğinde mod_gnutls tarafından sunulan siteye erişemedi. Dün yeniden merakımdan yeni denedim ve şimdi Opera 11.51 1.1 ve 1.2 TL'de boğuluyor. Bu yüzden orada. Gerçekten hiçbir şey protokolleri desteklemiyor. TLS 1.1 için OpenSSL 1.0.1 beklemeli ve hiç kimse bunun depolara ne zaman varacağını bilmiyor.

http://it.slashdot.org/comments.pl?sid=2439924&cid=37477890


1
@ Steve-o, bilgi için teşekkürler. Bu, TLS 1.1'in Nisan 2006'dan bu yana ve TLS 1.2'in Ağustos 2011'den bu yana, Mart 2011'deki güncellemelerle çıkmış olmasından ve hala bunları kullanma yeteneğine sahip olmadığımız için hayal kırıklığı yaratıyor.
John

4

Bir Google Chrome mühendisi olan Adam Langley, TLV 1.1'in bu sorunu, herkesin üzerinde çalışmak zorunda olduğu SSLv3 ile ilgili bir uygulama sorunu nedeniyle çözmeyeceğine dikkat çekiyor: tarayıcılar, buggy sunucularını desteklemek için SSLv3'e geçmeli ve bir saldırgan bunu başlatabilir düşürün.

http://www.imperialviolet.org/2011/09/23/chromeandbeast.html


3

Gnu_tls bir cazibe gibi çalışır ve aynı zamanda sanal barındırmada çok kullanışlı olan SNI (Sunucu Adı Kimliği) özelliğini de uygular.

Linux dağıtımlarında mod_gnutls için bin paketi bulmak da sorun değil, 2 yıldan beri kullanıyorum ve problem yok, ayrıca openssl imho'dan daha fazla performans gösteriyorum.

Ancak sorun şu ki, çoğu tarayıcı 1.1 veya 1.2 tls'i desteklemiyor. Bu nedenle, lütfen insanları düzenleyen tarayıcıları yükseltme fikrini dağıtmaya başlayın.


@ Rastrano - bunun nasıl uygulanacağı hakkında herhangi bir öneriniz veya bağlantınız var mı? Bilgi için teşekkürler ve "modern" tarayıcıların henüz desteklememesi çok kötü.
John,
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.