Saya memiliki server web yang menjalankan Apache 2.0 di RHEL4. Server ini baru-baru ini gagal pemindaian PCI.
Alasan: SSLv3.0 / TLSv1.0 Protokol Kelemahan Mode CBC yang Lemah Solusi: Serangan ini diidentifikasi pada 2004 dan kemudian revisi protokol TLS yang berisi perbaikan untuk ini. Jika memungkinkan, tingkatkan ke TLSv1.1 atau TLSv1.2. Jika memutakhirkan ke TLSv1.1 atau TLSv1.2 tidak dimungkinkan, maka menonaktifkan sandi mode CBC akan menghapus kerentanan. Menggunakan konfigurasi SSL berikut di Apache mengurangi kerentanan ini: SSLHonorCipherOrder Pada SSLCipherSuite RC4-SHA: HIGH:! ADH
Perbaikan sederhana, pikirku. Saya menambahkan baris ke konfigurasi Apache dan tidak berhasil. Rupanya
"SSLHonorCipherOrder On" hanya akan berfungsi di Apache 2.2 dan yang lebih baru. Saya mencoba memutakhirkan Apache, segera berlari ke neraka ketergantungan dan sepertinya saya harus meng-upgrade seluruh OS untuk meng-upgrade ke Apache 2.2. Kami menghentikan server ini dalam beberapa bulan sehingga tidak sepadan.
Solusinya mengatakan "Jika memutakhirkan ke TLSv1.1 atau TLSv1.2 tidak mungkin, maka menonaktifkan cipher mode CBC akan menghapus kerentanan."
Bagaimana saya melakukan ini di Apache 2.0? Apakah ini mungkin? Jika tidak, apakah ada pekerjaan lain di sekitarnya?
sumber
Jawaban:
Selain mengkompilasi Apache yang lebih baru dengan tangan, satu-satunya hal yang dapat saya pikirkan adalah menjadikan RC4-SHA satu - satunya cipher yang didukung (diuji dengan
openssl ciphers RC4-SHA
openssl saat ini untuk memastikan hanya mencetak satu cipher, Anda mungkin ingin melakukan hal yang sama untuk memastikan itu tidak cocok dengan cipher tua yang aneh di openssl lama Anda):MS mengatakan Windows XP mendukung TLS_RSA_WITH_RC4_128_SHA sehingga Anda seharusnya tidak memiliki masalah kompatibilitas.
sumber
Hanya ada dua cara untuk "memperbaiki" BEAST di tingkat server.
Opsi terbaik adalah memutakhirkan pustaka SSL server Anda menjadi yang mendukung TLS v1.1 atau yang lebih baru (dan pastikan klien Anda juga mendukungnya, sehingga Anda dapat memaksa mereka untuk menggunakannya).
Pilihan lainnya adalah menonaktifkan algoritme enkripsi CBC (Cypher-Block-Chaining) dan beralih ke sandi ECB (Electronic Code Book) atau sesuatu seperti RC4 (algoritme ECB secara teoritis "kurang aman" karena input plaintext yang diberikan dienkripsi ke suatu pemberian key selalu memetakan kembali ke cyphertext yang sama yang membuatnya lebih mudah untuk istirahat dengan serangan plaintext yang diketahui, tetapi dalam istilah praktis ini tidak akan menjadi masalah besar. Google (sebagai contoh) masih menggunakan RC4).
Karena server yang Anda jalankan sudah mati, terkubur, dan terurai, ini mungkin tidak sepadan dengan upaya yang diperlukan untuk membangun Apache yang ditambal (Anda perlu membangun kembali Apache dan OpenSSL secara terpisah, agar tidak mengganggu apa pun yang membutuhkan versi OpenSSL yang terinstal di sistem Anda secara default - Jika Anda melakukan banyak pekerjaan, Anda juga dapat memutakhirkan seluruh sistem ke sesuatu yang benar-benar didukung), sehingga cukup banyak membuat Anda dengan "Beralih ke ECB Cyphers" sebagai solusi Anda yang layak.
BEAST benar-benar bukan burger serangan saat ini - Semua browser populer (IE, Chrome, Safari, Opera) telah menerapkan solusi yang efektif , dan karena cara serangannya bekerja , sangat sulit untuk mengimplementasikannya di luar browser. (begitu
apt
danyum
masih cukup aman).Adam Langley dari Google memberikan ceramah yang sangat baik awal tahun ini yang menguraikan beberapa poin rasa sakit yang harus Anda fokuskan pada re: SSL dan keamanan - Sementara BEAST menyebutkan, itu berada di dekat bagian bawah daftar hal-hal yang perlu dikhawatirkan.
sumber
Satu-satunya solusi yang saya temukan yang akan membuat Anda lulus tes ssllabs.com adalah menambahkan empat baris berikut ke apache httpd.conf dan file ssl.conf Anda:
Pastikan Anda tidak memiliki pengaturan ini yang diposting dua kali dalam file ssl.conf.
Sekarang situs saya lulus dengan A.
sumber