Sampai hari ini, bug di OpenSSL telah ditemukan mempengaruhi versi 1.0.1
melalui 1.0.1f
(inklusif) dan 1.0.2-beta
.
Sejak Ubuntu 12.04, kita semua rentan terhadap bug ini. Untuk menambal kerentanan ini, pengguna yang terpengaruh harus memperbarui ke OpenSSL 1.0.1g
.
Bagaimana setiap pengguna yang terpengaruh dapat menerapkan pembaruan ini sekarang ?
Jawaban:
Pembaruan keamanan tersedia untuk 12.04, 12.10, 13.10 dan 14.04 lihat Pemberitahuan Keamanan Ubuntu USN-2165-1 .
Jadi, pertama-tama Anda perlu menerapkan pembaruan keamanan yang tersedia, misalnya dengan menjalankan
dari baris perintah.
Jangan lupa untuk me - restart layanan (HTTP, SMTP, dll.) Yang menggunakan versi OpenSSL yang terpengaruh, jika tidak Anda masih rentan. Lihat juga Heartbleed: Apa itu dan apa saja pilihan untuk menguranginya? di Serverfault.com.
Perintah berikut menunjukkan (setelah upgrade) semua layanan yang perlu direstart:
Setelah itu, Anda perlu membuat ulang semua kunci server SSL , kemudian mengevaluasi apakah kunci Anda mungkin bocor, dalam hal ini penyerang mungkin telah mengambil informasi rahasia dari server Anda.
sumber
openssl version
berikanOpenSSL 1.0.1 14 Mar 2012
. Itu bukan versi yang ditambal, kan? Atau saya salah baca?1.0.1 14 Mar 2012
. Baca jawaban crimi untuk mengetahui apakah instalasi Anda termasuk perbaikan.dpkg -l | grep ' openssl '
dan Anda dapatkan1.0.1-4ubuntu5.12
maka Anda baik untuk pergi.Bug ini dikenal sebagai Heartbleed .
Apakah saya rentan?
Secara umum, Anda terpengaruh jika Anda menjalankan beberapa server yang Anda buat kunci SSL untuk beberapa titik. Sebagian besar pengguna akhir tidak (langsung) terpengaruh; setidaknya Firefox dan Chrome tidak menggunakan OpenSSL. SSH tidak terpengaruh. Distribusi paket Ubuntu tidak terpengaruh (bergantung pada tanda tangan GPG).
Anda rentan jika Anda menjalankan segala jenis server yang menggunakan versi OpenSSL 1.0-1.0.1f (kecuali tentu saja versi yang ditambal sejak bug ditemukan). Versi Ubuntu yang terpengaruh adalah 11.10 oneiric hingga 14.04 pra-rilis tepercaya. Ini adalah bug implementasi, bukan cacat dalam protokol, jadi hanya program yang menggunakan pustaka OpenSSL yang terpengaruh. Jika Anda memiliki program yang ditautkan dengan OpenSSL versi 0.9.x yang lama, itu tidak terpengaruh. Hanya program yang menggunakan pustaka OpenSSL untuk mengimplementasikan protokol SSL yang terpengaruh; program yang menggunakan OpenSSL untuk hal-hal lain tidak terpengaruh.
Jika Anda menjalankan server rentan yang terpapar ke Internet, anggap itu dikompromikan kecuali log Anda tidak menunjukkan koneksi sejak pengumuman pada 2014-04-07. (Ini mengasumsikan bahwa kerentanan tidak dieksploitasi sebelum diumumkan.) Jika server Anda hanya diekspos secara internal, apakah Anda perlu mengubah kunci akan tergantung pada apa langkah-langkah keamanan lain yang ada.
Apa dampaknya?
Bug ini memungkinkan setiap klien yang dapat terhubung ke server SSL Anda untuk mengambil sekitar 64kB memori dari server. Klien tidak perlu diautentikasi dengan cara apa pun. Dengan mengulangi serangan, klien dapat membuang berbagai bagian memori dalam upaya berturut-turut.
Salah satu bagian penting dari data yang dapat diambil oleh penyerang adalah kunci privat SSL server. Dengan data ini, penyerang dapat menyamar sebagai server Anda.
Bagaimana cara memulihkan di server?
Jadikan semua server yang terpengaruh offline. Selama mereka berjalan, mereka berpotensi membocorkan data penting.
Tingkatkan
libssl1.0.0
paket , dan pastikan semua server yang terpengaruh dihidupkan ulang.Anda dapat memeriksa apakah proses yang terpengaruh masih berjalan dengan `` grep 'libssl. (dihapus) '/ proc / / maps`
Buat kunci baru . Ini diperlukan karena bug tersebut memungkinkan penyerang memperoleh kunci privat yang lama. Ikuti prosedur yang sama yang Anda gunakan pada awalnya.
Sekarang Anda memiliki kunci baru tanpa kompromi, Anda dapat membawa server Anda kembali online .
Cabut sertifikat lama.
Penilaian kerusakan : semua data yang ada dalam memori suatu proses yang melayani koneksi SSL mungkin berpotensi bocor. Ini dapat mencakup kata sandi pengguna dan data rahasia lainnya. Anda perlu mengevaluasi apa data ini mungkin.
Bagaimana cara memulihkan klien?
Hanya ada beberapa situasi di mana aplikasi klien terpengaruh. Masalah di sisi server adalah siapa pun dapat terhubung ke server dan mengeksploitasi bug. Untuk mengeksploitasi klien, tiga syarat harus dipenuhi:
wget
untuk mengunduh file, tidak ada data yang bocor.)Jika Anda melakukannya antara 2014-04-07 malam UTC dan memutakhirkan pustaka OpenSSL Anda, pertimbangkan data apa pun yang ada di memori proses klien untuk dikompromikan.
Referensi
sumber
openssl
berisi alat-alat baris perintah. Itu tidak digunakan oleh aplikasi yang menggunakan pustaka OpenSSL untuk mengimplementasikan protokol SSL (seperti Apache). Tetapi Anda harus menerapkan pembaruan keamanan distribusi.Untuk melihat versi OpenSSL yang diinstal pada Ubuntu run:
Jika Anda melihat keluaran versi berikut, tambalan untuk CVE-2014-0160 harus disertakan.
Melihat https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12 , ini menunjukkan jenis bug apa yang diperbaiki:
sumber
sudo service apache2 restart
openssl
tidak memperbaiki aplikasi seperti Apache, Nginx atau postfix. Anda harus memperbaruilibssl1.0.0
dan me-restart seperti yang dijelaskan dalam posting lain.Jika repositori apt-get Anda tidak mengandung versi OpenSSL 1.0.1g yang telah dikompilasi , jadi unduh sumber dari situs web resmi dan kompilasi.
Di bawah baris perintah tunggal untuk mengkompilasi dan menginstal versi openssl terakhir.
curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install
Ganti file biner openssl lama dengan yang baru melalui symlink.
Anda semua baik-baik saja!
Cf posting blog ini .
NB: Seperti yang dinyatakan dalam posting blog, solusi ini tidak akan memperbaiki "Nginx dan server Apache yang harus dikompilasi ulang dengan sumber openSSL 1.0.1g."
sumber
Bagi mereka yang tidak ingin melakukan upgrade paket seluruh server. Saya membaca banyak panduan ini hari ini dan
apt-get upgrade openssl
===apt-get upgrade
ini akan menerapkan semua perbaikan keamanan yang diperlukan oleh mesin Anda. Hebat, kecuali jika Anda secara eksplisit bersandar pada versi paket lama di suatu tempat.Ini adalah tindakan minimal yang diperlukan pada Ubuntu 12.04 LTS yang menjalankan Apache 2:
Pergi ke alamat ini dan buktikan bahwa Anda memiliki kerentanan. Anda harus menggunakan ALAMAT EKSTERNAL LANGSUNG DARI SERVER WEB ANDA. Jika Anda menggunakan loadbalancer (misalnya ELB), Anda mungkin tidak menghubungi server web Anda secara langsung.
Jalankan 1 liner berikut untuk memutakhirkan paket dan mulai ulang. Ya saya melihat semua panduan mengatakan bahwa Anda harus memiliki stempel waktu selambat-lambatnya 4 April 2014, ini tampaknya tidak menjadi masalah bagi saya.
apt-get update && apt-get install openssl libssl1.0.0 && /etc/init.d/apache2 restart
Pastikan Anda telah menginstal versi paket yang sesuai dan periksa kerentanan server Anda sekali lagi.
Paket-paket kuncinya adalah sebagai berikut, saya menentukan informasi ini menggunakan perintah di bawah ini lalu menyunting cruft (Anda tidak perlu tahu banyak tentang kondisi mesin saya).
1.0.1-4ubuntu5.12
seharusnya TIDAK mengandung kerentanan. Pastikan hal ini terjadi dengan kembali mengunjungi situs web di bawah ini, dan menguji server web Anda.http://filippo.io/Heartbleed/
sumber
apt-get install openssl libssl1.0.0
melakukannya untukku. Berjalanopenssl version -a
sekarang menunjukkan:built on: Mon Apr 7 20:33:29 UTC 2014
Saya memperhatikan banyak komentator di sini yang membutuhkan bantuan segera. Mereka mengikuti instruksi, dan meningkatkan, dan me-reboot, dan masih rentan ketika menggunakan beberapa situs web pengujian.
Anda harus memeriksa untuk memastikan Anda tidak memiliki paket yang ditunda seperti libssl.
Untuk memutakhirkannya
apt-mark unhold libssl1.0.0
(misalnya). Kemudian upgrade:apt-get upgrade -V
. Kemudian, restart layanan yang terpengaruh.sumber