Dari artikel yang Anda tautkan , ada tiga langkah yang disarankan untuk melindungi diri Anda dari kerentanan ini. Pada prinsipnya langkah-langkah ini berlaku untuk perangkat lunak apa pun yang dapat Anda gunakan dengan SSL / TLS tetapi di sini kami akan membahas langkah-langkah spesifik untuk menerapkannya ke Apache (httpd) karena itu adalah perangkat lunak yang dimaksud.
- Nonaktifkan Suites Cipher Suites
Diatasi dalam perubahan konfigurasi yang akan kami buat di 2. di bawah ini (di !EXPORT
dekat akhir SSLCipherSuite
baris adalah bagaimana kami akan menonaktifkan suite cipher ekspor)
- Menyebarkan (Ephemeral) Elliptic-Curve Diffie-Hellman (ECDHE)
Untuk ini, Anda perlu mengedit beberapa pengaturan di Apache file konfigurasi Anda - yaitu SSLProtocol
, SSLCipherSuite
, SSLHonorCipherOrder
untuk memiliki "-praktek terbaik" setup. Sesuatu seperti yang berikut ini sudah cukup:
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
Catatan: untuk SSLCipherSuite
pengaturan mana yang digunakan, ini selalu berubah, dan merupakan ide bagus untuk berkonsultasi dengan sumber daya seperti ini untuk memeriksa konfigurasi yang disarankan terbaru.
3. Hasilkan Grup Hellman Diffie yang Kuat dan Unik
Untuk melakukannya, Anda dapat berlari
openssl dhparam -out dhparams.pem 2048
.
Perhatikan bahwa ini akan menempatkan beban yang signifikan pada server saat params dihasilkan - Anda selalu dapat mengatasi potensi masalah ini dengan membuat params pada mesin lain dan menggunakan scp
atau serupa untuk mentransfernya ke server yang bersangkutan untuk digunakan.
Untuk menggunakan ini yang baru dibuat dhparams
di Apache, dari Dokumentasi Apache :
Untuk menghasilkan parameter DH khusus, gunakan perintah openssl dhparam. Atau, Anda dapat menambahkan parameter DH 1024-bit standar berikut dari RFC 2409, bagian 6.2 ke file SSLCertificateFile masing-masing :
(penekanan milikku)
yang kemudian diikuti oleh parameter DH 1024-bit standar. Dari sini kita dapat menyimpulkan bahwa parameter DH yang dibuat khusus dapat dengan mudah ditambahkan ke yang bersangkutan SSLCertificateFile
.
Untuk melakukannya, jalankan sesuatu yang mirip dengan yang berikut:
cat /path/to/custom/dhparam >> /path/to/sslcertfile
Atau, sesuai dengan ayat Apache dari artikel yang Anda tautkan sebelumnya, Anda juga dapat menentukan file dhparams khusus yang telah Anda buat jika Anda memilih untuk tidak mengubah file sertifikat itu sendiri, dengan demikian:
SSLOpenSSLConfCmd DHParameters "/path/to/dhparams.pem"
di mana konfigurasi Apache relevan dengan implementasi SSL / TLS Anda - umumnya dalam conf.d/ssl.conf
atau conf.d/vhosts.conf
tetapi ini akan berbeda tergantung pada bagaimana Anda telah mengkonfigurasi Apache.
Perlu dicatat bahwa, sesuai tautan ini ,
Sebelum Apache 2.4.7, parameter DH selalu diatur ke 1024 bit dan tidak dapat dikonfigurasi pengguna. Ini telah diperbaiki di mod_ssl 2.4.7 yang Red Hat telah backport ke distribusi RHEL 6 Apache 2.2 mereka dengan httpd-2.2.15-32.el6
Pada Debian Wheezy, tingkatkan apache2 ke 2.2.22-13 + deb7u4 atau lebih baru dan openssl ke 1.0.1e-2 + deb7u17. SSLCipherSuite di atas tidak berfungsi dengan baik, gunakan yang berikut ini sesuai blog ini :
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
Anda harus memeriksa apakah versi Apache Anda lebih lama dari nomor versi ini tergantung pada distribusi Anda, dan jika tidak - perbarui jika memungkinkan.
Setelah Anda melakukan langkah-langkah di atas untuk memperbarui konfigurasi Anda, dan memulai kembali layanan Apache untuk menerapkan perubahan, Anda harus memeriksa bahwa konfigurasi seperti yang diinginkan dengan menjalankan tes pada SSLLab dan pada artikel yang terkait dengan kerentanan khusus ini.