Bagaimana cara menginstal versi OpenSSL yang rentan pada server Linux?

9

Saya ingin mengkompilasi dan menginstal versi OpenSSL yang rentan Heartbleed di server yang saya siapkan untuk tantangan keamanan web tim (karena ini tidak tersedia untuk dipasang dari repositori Ubuntu karena alasan yang jelas).

Saya mengunduh dan mengkompilasi dari sumber OpenSSL 1.0.1f menggunakan instruksi yang disediakan (jalankan ./config, lalu makedan make install), dan mencoba menjalankan POC Heartbleed yang tersedia secara terbuka dari GitHub dari PC saya, namun skrip tidak meyakinkan saya bahwa tidak ada respons detak jantung yang telah diterima dan server kemungkinan tidak rentan.

Menjalankan openssl versionmenghasilkan output berikut: OpenSSL 1.0.1f 6 Jan 2014 . Saya memasang sertifikat SSL tentu saja dan akses SSL berfungsi di server.

OpenSSL diinstal untuk bekerja dengan Apache 2.4.7.

Adakah yang bisa membantu?

mittelmania
sumber
3
Secara umum, cara yang baik untuk menguji versi lama dan distribusi Linux adalah mengunduh gambar ISO lama dari distribusi, dan mungkin menginstal VM yang menggunakannya. Tidak semua paket tersedia dalam hal ini, tetapi OpenSSL tentunya.
Bruno
Jika Anda agak terbiasa dengan kemasan Debian, seharusnya cukup mudah untuk mengunduh paket sumber openssl Anda saat ini, menghapus CVE-2014-0160.patch, dan membangunnya kembali.
Matt Nordhoff

Jawaban:

7

Ada dua hal yang mungkin terjadi di sini:

  1. Sederhana "./configure; make; make install" akan secara default menempatkan perpustakaan bersama di /usr/local/lib. Namun, pustaka yang diinstal sistem akan berada /usr/lib, yang muncul lebih awal di jalur pencarian pustaka. Kecuali Anda menghapus versi OpenSSL yang diinstal sistem, versi yang rentan tidak akan ditemukan.

  2. Bahkan jika Anda terlalu banyak menulis pustaka sistem, perubahan tidak akan diambil sampai Anda me-restart Apache. File yang dihapus tetap dapat diakses (dan menghabiskan ruang pada disk) sampai semua program yang memiliki filehandles terbuka untuk mereka menutup filehandles tersebut.

Menandai
sumber
7

Perangkat lunak server apa yang digunakan?

Meskipun OpenSSL biner rentan, server web yang diinstal dari paket OS kemungkinan akan menggunakan versi pustaka yang tidak rentan.

Cara paling sederhana untuk menjalankan pendengar yang rentan adalah openssl s_server- jika Anda membutuhkan server web lengkap untuk menjadi rentan, Anda mungkin perlu melakukan kompilasi terhadap OpenSSL yang rentan.

Shane Madden
sumber
1
Whoa, saya tidak pernah tahu s_serverapa-apa. Saya telah menggunakan s_clientselamanya, dan masuk akal sepenuhnya bahwa harus ada opsi server juga.
EEAA
1
@EEAA Ya, gila berapa banyak sub-perintah yang berbeda dijejalkan di sana.
Shane Madden