Gönderen Bağlı makalede , bu açığa karşı kendinizi korumak için üç tavsiye edilen adımlar vardır. Prensipte bu adımlar SSL / TLS ile kullanabileceğiniz herhangi bir yazılım için geçerlidir, ancak burada söz konusu yazılım olduğundan dolayı Apache'ye (httpd) uygulamak için özel adımlar atılacak.
- İhracat Şifresi Paketlerini Devre Dışı Bırak
Aşağıda yapacağımız yapılandırma değişiklikleriyle ilgilenelim. 2. ( satırın !EXPORT
sonuna yaklaşmak, SSLCipherSuite
ihracat şifresi paketlerini nasıl devre dışı bırakacağımızdır)
- Dağıt (Ephemeral) Eliptik Eğri Diffie-Hellman (ECDHE)
Bunun için, Apache yapılandırma dosyalarında birkaç ayarlarını düzenlemek gerekir - yani SSLProtocol
, SSLCipherSuite
, SSLHonorCipherOrder
bir "en iyi uygulamalar" kurulum olması. Aşağıdaki gibi bir şey yeterli olacaktır:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on
Not: hangi SSLCipherSuite
ayarın kullanılacağıyla ilgili olarak, bu her zaman değişiyor ve en son önerilen yapılandırmayı kontrol etmek için bu gibi kaynaklara başvurmak iyi bir fikir .
3. Güçlü ve Eşsiz Diffie Hellman Grubu Oluşturun
Bunu yapmak için koşabilirsiniz
openssl dhparam -out dhparams.pem 2048
.
Bunun, paramlar üretilirken sunucuya önemli bir yük getireceğini unutmayın - paramsları başka bir makinede üreterek ve scp
bunları kullanım için söz konusu sunucuya transfer etmek için kullanarak veya benzerini kullanarak her zaman bu potansiyel sorunun üstesinden gelebilirsiniz .
dhparams
Apache'de yeni oluşturulanları Apache Dokümanlarından kullanmak için :
Özel DH parametreleri oluşturmak için openssl dhparam komutunu kullanın. Alternatif olarak, aşağıdaki standart 1024 bitlik DH parametrelerini, RFC 2409, bölüm 6.2'den ilgili SSLCertificateFile dosyasına ekleyebilirsiniz :
(vurgu madeni)
bu daha sonra standart bir 1024 bit DH parametresi tarafından takip edilir. Bundan, özel olarak üretilen DH parametrelerinin söz konusu ilgili kişiye basit bir şekilde eklenebileceğini söyleyebiliriz SSLCertificateFile
.
Bunu yapmak için aşağıdakine benzer bir şey çalıştırın:
cat /path/to/custom/dhparam >> /path/to/sslcertfile
Alternatif olarak, ilk olarak bağladığınız makalenin Apache alt bölümüne göre, sertifika dosyasının kendisini değiştirmemeyi tercih ederseniz, oluşturduğunuz özel dhparams dosyasını da belirleyebilirsiniz.
SSLOpenSSLConfCmd DHParameters "/path/to/dhparams.pem"
hangi Apache yapılandırmaları kendi SSL / TLS uygulamanızla ilişkiliyse - genellikle içinde conf.d/ssl.conf
ya da conf.d/vhosts.conf
ancak Apache'yi nasıl yapılandırdığınıza bağlı olarak değişecektir.
Bu bağlantıya göre , dikkat çekicidir
Apache 2.4.7'den önce DH parametresi her zaman 1024 bit olarak ayarlanmıştır ve kullanıcı tarafından yapılandırılamaz. Bu mod_ssl 2.4.7 sürümünde, Red Hat'in RHEL 6 Apache 2.2 dağıtımına httpd-2.2.15-32.el6 ile destek verdiği düzeltildi.
Debian Wheezy'de apache2'yi 2.2.22-13 + deb7u4 veya üstü sürümlere yükseltin ve 1.0.1e-2 + deb7u17'ye açın. Yukarıdaki SSLCipherSuite mükemmel çalışmıyor, bunun yerine bu blogu uyarınca aşağıdakileri kullanın :
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-RSA-AES256-SHA256:!DHE-RSA-CAMELLIA128-SHA:!DHE-RSA-CAMELLIA256-SHA
Dağıtımınıza bağlı olarak Apache sürümünüzün bu sürüm numaralarından sonra olup olmadığını kontrol etmelisiniz ve eğer değilse - mümkünse güncelleyin.
Yapılandırmanızı güncellemek için yukarıdaki adımları uyguladıktan ve değişiklikleri uygulamak için Apache hizmetini yeniden başlattıktan sonra, SSLLab'larda ve bu güvenlik açığına ilişkin makalede sınamaları çalıştırarak yapılandırmanın istendiğini kontrol etmelisiniz .