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 !EXPORTsonuna yaklaşmak, SSLCipherSuiteihracat ş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, SSLHonorCipherOrderbir "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 SSLCipherSuiteayarı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 scpbunları kullanım için söz konusu sunucuya transfer etmek için kullanarak veya benzerini kullanarak her zaman bu potansiyel sorunun üstesinden gelebilirsiniz .
dhparamsApache'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.confya da conf.d/vhosts.confancak 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 .