Hari ini eksploitasi OpenSSL yang menyentuh hati diumumkan di alam bebas, yang memungkinkan penyerang untuk secara diam-diam mendeteksi dan mencuri kunci server pribadi (memungkinkan mereka untuk MitM dan mendekripsi data terenkripsi Anda dan mencuri kata sandi). Ini mempengaruhi versi OpenSSL termasuk 1.0.1f yang merupakan versi pada komputer Mavericks Mac saya yang terbaru (karena saya menggunakan port / minuman untuk menginstal perangkat lunak lain yang memperbarui openssl saya tanpa saya sadari ):
$ openssl version
OpenSSL 1.0.1f 6 Jan 2014
Ini menunjukkan saya tidak menggunakan versi Mavericks OpenSSL:
$ which openssl
/opt/local/bin/openssl
OpenSSL merilis perbaikan hari ini di 1.0.1g dan saya bertanya-tanya bagaimana saya bisa menginstal versi tetap ini dari versi saya saat ini?
security
software-update
openssl
dr jimbob
sumber
sumber
which openssl
mungkin informatif. Juga, masalah utama bukanlah perintah openssl, itu adalah openssl libraries (yang digunakan oleh program lain) - itu bukan API yang kompatibel antara versi 0.9.x dan 1.0.x, jadi Anda tidak ingin memperbarui perpustakaan openssl yang disediakan sistem!MacPort
di beberapa titik pada mesin ini yang meningkatkan openssl saya. (Mungkin ketika saya mencoba untuk membuat python2.7 berfungsi). Mungkin harus menghapus pertanyaan ini, tetapi tidak akan kalau-kalau orang lain membuat kesalahan yang sama menemukan jawaban bagus SapphireSun berguna).openssl version
mengembalikan 1.0.1g, tetapi Anda mengatakanopenssl
perintah tidak menggunakan versi itu?Jawaban:
Untuk apa nilainya, saya hanya menggunakan homebrew ( http://brew.sh/ ):
Jika salah satu versi buruk muncul (1.0.1a-f), Anda dapat mengetahui versi openssl yang Anda gunakan, dengan cara ini:
Seringkali ini dari / usr / bin. Untuk memastikan Anda mendapatkan versi yang diperbarui, masukkan symlink ke / usr / local / bin untuk menunjuk ke openssl yang diperbarui, seperti ini:
Sebagai alternatif untuk langkah terakhir itu, beberapa orang mengganti openssl
/usr/bin
dengan symlink ke/usr/local/Cellar/openssl/1.0.1g/bin/openssl
(atau apa pun versi Anda):Tapi ini diketahui menyebabkan masalah dengan beberapa versi OSX yang lebih baru. Lebih baik menyisipkan symlink baru ke / usr / local / bin, yang harus diutamakan pada path Anda di atas / usr / bin.
sumber
hash -r
/usr/bin/openssl
, seseorang dapat membuat tautan di/usr/local/bin/openssl
. Itu harus mendahului/usr/bin
Anda$PATH
dan memintas masalah yang timbul dari "Perlindungan Integritas Sistem" di versi OS X yang lebih baruAtau bagi mereka yang menggunakan port mac, dan tidak khawatir tentang menjaga versi
simples :-)
sumber
sudo port upgrade outdated
juga berfungsi.sudo port -f uninstall openssl @<old-version>
melakukan trik untukku :)Untuk mengatasi ekstensi Permintaan Status OCSP pertumbuhan memori tidak terbatas (CVE-2016-6304) di macOS Sierra menggunakan
brew
dengan Perlindungan Integritas Sistem diaktifkan:Sesuaikan sementara izin
/usr/local
agar minuman dapat memperbarui:Instal versi terbaru dari OpenSSL (Anda mungkin ingin 1.0.2i):
Anda mungkin ingin / perlu menghapus symlink yang ada untuk openssl dari
/usr/local/bin
:Tautkan kembali versi minuman yang tepat:
Kembalikan izin asli pada
/usr/local/bin
:sumber
$PATH
variabel Anda untuk melihat/usr/local/bin
?$ openssl version
saya mendapatkanOpenSSL 0.9.8zh 14 Jan 2016
tetapi ketika saya menjalankan$ brew install openssl
saya dapatkanWarning: openssl 1.0.2l is already installed
. Apakah ini berarti saya memiliki dua versi yang diinstal? Apa sebenarnya yang harus saya lakukan sekarang?Siapa pun yang tidak ingin menggunakan bir atau port dan hanya ingin mengganti instalasi OpenSSL 0.9.8 default selalu dapat menonaktifkan perlindungan integritas sistem dengan me-reboot ke mode pemulihan (cmd + R) dan mengeluarkan
dan kemudian kompilasi openssl dengan
Itu berhasil menggantikan OpenSSL di ElCapitan untuk saya dan saya dapat mengkompilasi curl dan apache httpd 2.4 tanpa masalah langsung dari sumber. Alasan di balik metode yang beberapa orang anggap drastis adalah bahwa ElCapitan tidak lagi dikelola oleh Apple dan tidak ada pembaruan yang akan datang sehingga kemungkinan tidak akan rusak. Kedua, ini menghemat Anda dari menunjuk ke folder openssl di / usr / local untuk setiap program yang Anda kompilasi membuat kompilasi lebih kuat.
sumber