Karena CVE-2014-6271 dan CVE-2014-7169 pada OS XI bertanya-tanya: dapatkah bash digantikan seluruhnya oleh shell lain yang tidak terpengaruh (mis. Dash atau lainnya)?
Silakan tanyakan bagian eksploitasi DHCP dari pertanyaan ini sebagai pertanyaan baru . Terima kasih.
Ian C.
Jawaban:
6
Pertama, Anda tidak perlu melakukan ini kecuali Anda menawarkan layanan web ke internet publik dari Mac Anda. Jika tidak, tunggu hingga ada pembaruan keamanan resmi dari Apple.
Namun, jika Anda menawarkan layanan web, Anda mungkin ingin memperbarui.
Peringatan - ini dapat memecah beberapa skrip shell yang ada yang mungkin bergantung pada bash 3.2 atau perbedaan yang dimiliki Mac shatas linux sh. Ada jawaban yang jauh lebih canggih untuk mengganti bash dan sh dari sumber di pos ini.
Dalam kebanyakan kasus yang terbaik adalah menunggu pembaruan resmi.
"Dalam kebanyakan kasus yang terbaik adalah menunggu pembaruan resmi." Kecuali seseorang menjalankan server, semua ini tidak diperlukan. Banyak orang akan merusak instalasi OS X mereka dalam beberapa hari mendatang karena mereka panik untuk menghilangkan ancaman yang hampir tidak mereka pahami.
JakeGould
1
@JakeGould - Saya setuju.
Christopher Allen
Saya akan menyalin file daripada menautkan - jika untuk beberapa alasan, Anda menghapus instalasi minuman, sistem Anda memiliki masalah ....
Seperti @webmarc katakan, tidak. Anda dapat mengganti /bin/bashdengan beberapa shell lain tetapi Anda pasti akan merusak beberapa program karena bash memiliki beberapa perbedaan dalam sintaksnya yang membuatnya tidak kompatibel. Saya tidak dapat menemukan shell alternatif yang kompatibel dengan bash. Namun saya menghubungkan tautan langsung ke /bin/shdan tidak menemukan masalah sejauh ini.
Mengenai DHCP di sini ada bukti serangan konsep. Artikel ini tentang dhcpcd(klien Linux). Saya tidak yakin tentang Mac OS X. Dalam diskusi di Hacker News mereka mengatakan klien OS X tidak menggunakan bash sama sekali.
Vektor lain bisa jadi sshd. Tetapi serangan itu membutuhkan otentikasi. Jadi, kecuali Anda menjalankan beberapa layanan ssh seperti gitserver Anda harus aman.
"Dalam diskusi tentang Hacker News, mereka mengatakan klien OS X tidak menggunakan bash sama sekali." Di mana diskusi ini? Anda harus memberikan tautan.
JakeGould
1
@JakeGould Tautan sudah ada di jawabannya. Baca komentar.
Rnhmjoj
1
dashhanya mengandung sebagian kecil dari perintah yang ditemukan di bashdan bahkan sh(yang itu sendiri adalah sub-set hal di bash). Mengganti salah satu dengan dashpasti akan menghasilkan skrip yang tidak dapat dioperasikan pada sistem Anda dan mungkin merusak sistem Anda lebih dari itu melindungi sistem Anda.
Anda dapat mengkompilasi ulang bash untuk mengurangi beberapa (pada saat ini ditulis) potensi bahaya atau menunggu Apple untuk rilis dan perbaikan resmi.
Sayangnya, tidak ada ... berbagai shell memiliki sintaks yang berbeda-beda membuat skrip yang ditulis untuk satu shell mungkin tidak kompatibel dengan shell lain.
Saya belum melihat infeksi berbasis DHCP yang Anda bicarakan, dapatkah Anda memberikan tautan dalam pertanyaan Anda?
Ya, jika Anda berarti sebagai / bin / sh, tetapi itu bisa bermasalah, tetapi jika Anda ingin mengganti bash sebagai / bin / bash atau menghapus bash seluruhnya, pada dasarnya tidak, meskipun itu tidak mustahil - karena, skrip adalah file teks, Anda dapat mengedit setiap skrip shell, dan kemudian mengelola sistem sendiri, sendiri, untuk sisa waktu ... Tidak ada pengganti drop-in untuk bash.
Tidak, bahwa Anda mengganti / bin / sh akan mudah, tetapi mungkin ada akhirnya. Jika skrip mengandaikan / bin / sh Anda, sebenarnya adalah bash, dan menggunakan hal-hal unik untuk bash, maka skrip yang dimulai #! / Bin / sh sekarang akan rusak. Saya mengganti nama / bin / sh ke /bin/sh.was.bash dan kemudian membuat tautan ke mksh, dan mem-boot ulang disambut dengan # prompt. Saya reboot lagi dengan flag verbose, dan menemukan beberapa baris ke / etc / rc - export -n, hal bash, ekuivalen shell korn adalah typeset + x, saya memodifikasi skrip rc, dan, dan boot, dan semuanya baik-baik saja. Sistem tempat saya bereksperimen adalah Tiger sehingga ada skrip rc, dan saya tidak dapat mengharapkan pembaruan dari Apple. OSX modern tidak memiliki skrip rc, TAPI aplikasi modern mungkin beralih dari intel linux, di mana / bin / sh adalah bash, ke intel-mac, di mana / bin / sh juga bash,
Jadi, mungkin saya harus mengatakan sangat bermasalah, karena Anda harus menganggapnya sebagai alasan, BUKAN untuk melakukan ini. Dalam pembelaan saya, saya telah mencari-cari daemon peluncuran, dan skrip rc, minggu ini dan minggu sebelumnya, bermain dengan opsi dynamic_pager, mematikan beberapa daemon peluncuran (menjadikannya dapat dikontrol oleh variabel di hostconfig), jadi bagi saya , ini saya hanya percobaan sedikit lebih radikal, daripada yang mungkin saya lakukan hari ini.
JIKA Anda ingin melakukan sesuatu, jika berpikir Anda mungkin lebih rentan daripada yang lain, karena perangkat lunak tambahan, dll, Anda dapat melihat setiap skrip yang Anda khawatirkan, dan mengubah baris pertama (shhbang) untuk melakukan sesuatu selain #! / bin / sh atau # / bin / bash, dan bersiaplah untuk mengedit skrip, karena mereka dapat memiliki fitur spesifik bash. BASH benar-benar shell seperti cangkang korn, lebih dari cangkang seperti bourne seperti abu, atau dash, jadi jika ingin menjaga pengeditan sepele gunakan cangkang korn sebagai penggantinya. Faktanya pada harimau / bin / ksh adalah "NEW Korn Shell", jika ini masih benar, saya akan mengatakan pergi dengan itu, maka Anda perlu menginstal apa-apa, dan tinggalkan / bin sendiri, yang bukan ide yang buruk , cukup ubah skrip menjadi #! / bin / ksh, hapus bashism untuk fitur, umum untuk korn shell,
Ada kemungkinan, 'shhbang' itu bisa diabaikan, karena jika skrip shell dipanggil seperti "/ bin / sh / etc / rc", maka baris pertama hanyalah komentar, dan diabaikan, tetapi dengan pendekatan ini Anda hanya dapat merusak hal-hal yang Anda ubah, saat Anda mengubahnya.
Jawaban:
Pertama, Anda tidak perlu melakukan ini kecuali Anda menawarkan layanan web ke internet publik dari Mac Anda. Jika tidak, tunggu hingga ada pembaruan keamanan resmi dari Apple.
Namun, jika Anda menawarkan layanan web, Anda mungkin ingin memperbarui.
Patch Resmi
Apple telah merilis Pembaruan Keamanan Bash Resmi Di Sini
Memeriksa apakah Anda rentan
Pertama konfirmasikan bahwa Anda menggunakan bash kedaluwarsa:
Bash terbaru adalah 4.3.25
Jika Anda belum menginstal Xcode, Anda memerlukan alat-alat baris perintah Xcode, yang dapat diinstal oleh
Atau dari portal pengembang .
Untuk menginstal Brew ( http://brew.sh ):
Lalu lakukan:
Ikuti instruksi apa pun jika ada masalah. Banyak masalah umum dibahas di sini .
Kemudian perbarui minuman ke daftar paket terbaru:
Untuk mendapatkan bash 4.3.25 terbaru:
Ini menginstal bash ke
/usr/local/Cellar/bash/4.3.25/bin/bash
Yang lama
bash
dansh
masih ada di/bin
, jadi setelah menginstal Anda akan mengubah nama executable lama ke file baru.Jika Anda sangat paranoid, Anda dapat menghapus izin eksekusi di
bash_old
Kemudian buat tautan simbolis ke bash 4.3.25 baru yang dibuat bir.
Mulai ulang dan selesai.
Peringatan - ini dapat memecah beberapa skrip shell yang ada yang mungkin bergantung pada bash 3.2 atau perbedaan yang dimiliki Mac
sh
atas linuxsh
. Ada jawaban yang jauh lebih canggih untuk mengganti bash dan sh dari sumber di pos ini.Dalam kebanyakan kasus yang terbaik adalah menunggu pembaruan resmi.
sumber
Seperti @webmarc katakan, tidak. Anda dapat mengganti
/bin/bash
dengan beberapa shell lain tetapi Anda pasti akan merusak beberapa program karena bash memiliki beberapa perbedaan dalam sintaksnya yang membuatnya tidak kompatibel. Saya tidak dapat menemukan shell alternatif yang kompatibel dengan bash. Namun saya menghubungkan tautan langsung ke/bin/sh
dan tidak menemukan masalah sejauh ini.Mengenai DHCP di sini ada bukti serangan konsep. Artikel ini tentang
dhcpcd
(klien Linux). Saya tidak yakin tentang Mac OS X. Dalam diskusi di Hacker News mereka mengatakan klien OS X tidak menggunakan bash sama sekali.Vektor lain bisa jadi
sshd
. Tetapi serangan itu membutuhkan otentikasi. Jadi, kecuali Anda menjalankan beberapa layanan ssh sepertigit
server Anda harus aman.sumber
dash
hanya mengandung sebagian kecil dari perintah yang ditemukan dibash
dan bahkansh
(yang itu sendiri adalah sub-set hal dibash
). Mengganti salah satu dengandash
pasti akan menghasilkan skrip yang tidak dapat dioperasikan pada sistem Anda dan mungkin merusak sistem Anda lebih dari itu melindungi sistem Anda.Anda dapat mengkompilasi ulang bash untuk mengurangi beberapa (pada saat ini ditulis) potensi bahaya atau menunggu Apple untuk rilis dan perbaikan resmi.
sumber
Sayangnya, tidak ada ... berbagai shell memiliki sintaks yang berbeda-beda membuat skrip yang ditulis untuk satu shell mungkin tidak kompatibel dengan shell lain.
Saya belum melihat infeksi berbasis DHCP yang Anda bicarakan, dapatkah Anda memberikan tautan dalam pertanyaan Anda?
sumber
Ini tidak berlaku untuk OS X. Pada sistem Linux, skrip shell biasanya dipanggil setelah menerima sewa DHCP dari server. Ini tidak terjadi pada OS X.
Kecuali Anda menjalankan server web pada Mac Anda yang menyajikan skrip CGI, Anda memiliki sedikit alasan untuk khawatir.
sumber
Ya, jika Anda berarti sebagai / bin / sh, tetapi itu bisa bermasalah, tetapi jika Anda ingin mengganti bash sebagai / bin / bash atau menghapus bash seluruhnya, pada dasarnya tidak, meskipun itu tidak mustahil - karena, skrip adalah file teks, Anda dapat mengedit setiap skrip shell, dan kemudian mengelola sistem sendiri, sendiri, untuk sisa waktu ... Tidak ada pengganti drop-in untuk bash.
Tidak, bahwa Anda mengganti / bin / sh akan mudah, tetapi mungkin ada akhirnya. Jika skrip mengandaikan / bin / sh Anda, sebenarnya adalah bash, dan menggunakan hal-hal unik untuk bash, maka skrip yang dimulai #! / Bin / sh sekarang akan rusak. Saya mengganti nama / bin / sh ke /bin/sh.was.bash dan kemudian membuat tautan ke mksh, dan mem-boot ulang disambut dengan # prompt. Saya reboot lagi dengan flag verbose, dan menemukan beberapa baris ke / etc / rc - export -n, hal bash, ekuivalen shell korn adalah typeset + x, saya memodifikasi skrip rc, dan, dan boot, dan semuanya baik-baik saja. Sistem tempat saya bereksperimen adalah Tiger sehingga ada skrip rc, dan saya tidak dapat mengharapkan pembaruan dari Apple. OSX modern tidak memiliki skrip rc, TAPI aplikasi modern mungkin beralih dari intel linux, di mana / bin / sh adalah bash, ke intel-mac, di mana / bin / sh juga bash,
Jadi, mungkin saya harus mengatakan sangat bermasalah, karena Anda harus menganggapnya sebagai alasan, BUKAN untuk melakukan ini. Dalam pembelaan saya, saya telah mencari-cari daemon peluncuran, dan skrip rc, minggu ini dan minggu sebelumnya, bermain dengan opsi dynamic_pager, mematikan beberapa daemon peluncuran (menjadikannya dapat dikontrol oleh variabel di hostconfig), jadi bagi saya , ini saya hanya percobaan sedikit lebih radikal, daripada yang mungkin saya lakukan hari ini.
JIKA Anda ingin melakukan sesuatu, jika berpikir Anda mungkin lebih rentan daripada yang lain, karena perangkat lunak tambahan, dll, Anda dapat melihat setiap skrip yang Anda khawatirkan, dan mengubah baris pertama (shhbang) untuk melakukan sesuatu selain #! / bin / sh atau # / bin / bash, dan bersiaplah untuk mengedit skrip, karena mereka dapat memiliki fitur spesifik bash. BASH benar-benar shell seperti cangkang korn, lebih dari cangkang seperti bourne seperti abu, atau dash, jadi jika ingin menjaga pengeditan sepele gunakan cangkang korn sebagai penggantinya. Faktanya pada harimau / bin / ksh adalah "NEW Korn Shell", jika ini masih benar, saya akan mengatakan pergi dengan itu, maka Anda perlu menginstal apa-apa, dan tinggalkan / bin sendiri, yang bukan ide yang buruk , cukup ubah skrip menjadi #! / bin / ksh, hapus bashism untuk fitur, umum untuk korn shell,
Ada kemungkinan, 'shhbang' itu bisa diabaikan, karena jika skrip shell dipanggil seperti "/ bin / sh / etc / rc", maka baris pertama hanyalah komentar, dan diabaikan, tetapi dengan pendekatan ini Anda hanya dapat merusak hal-hal yang Anda ubah, saat Anda mengubahnya.
sumber