Rumah > Artikel > Tutorial sistem > Cara yang betul untuk menguruskan patch
Sebab mengapa saya membuat keputusan begitu cepat untuk meneruskan siri artikel "Pentadbiran Sistem 101" sekali lagi adalah kerana saya menyedari bahawa sesetengah pentadbir sistem Linux tidak berbeza dengan pentadbir sistem Windows dalam hal pengurusan tampalan. Sejujurnya, ia lebih teruk lagi di sesetengah kawasan (terutamanya membanggakan masa tayangan yang berterusan). Oleh itu, artikel ini akan merangkumi konsep asas pengurusan patch di bawah Linux, termasuk rupa pengurusan patch yang baik, beberapa alatan berkaitan yang mungkin anda gunakan dan cara keseluruhan proses pemasangan patch dilakukan.
Dengan pengurusan tampalan, saya maksudkan sistem yang anda gunakan untuk menaik taraf perisian pada pelayan anda, bukan hanya untuk mengemas kini perisian kepada versi terkini dan terhebat. Malah pengedaran konservatif seperti Debian, yang mengekalkan versi perisian tertentu demi "kestabilan", akan mengeluarkan patch naik taraf dari semasa ke semasa untuk membetulkan pepijat dan lubang keselamatan.
Sudah tentu, jika organisasi anda memutuskan untuk mengekalkan versi perisian tertentu sendiri, sama ada kerana pembangun memerlukan versi terkini dan terbaik serta perlu mendapatkan kod sumber perisian dan membuat pengubahsuaian, atau kerana anda suka memberi diri anda kerja tambahan, ini Kemudian anda akan menghadapi masalah. Sebaik-baiknya, anda sepatutnya telah mengkonfigurasi sistem anda untuk membina dan membungkus versi tersuai perisian anda secara automatik menggunakan sistem penyepaduan berterusan yang sama yang digunakan oleh perisian lain. Walau bagaimanapun, banyak sysadmin masih menggunakan kaedah pembungkusan perisian yang lapuk pada hos tempatan mereka mengikut dokumentasi (semoga terkini) di wiki. Tidak kira kaedah yang anda gunakan, anda perlu mengetahui sama ada versi yang anda gunakan mempunyai kelemahan keselamatan, dan jika ya, pastikan patch baharu dipasang pada versi perisian tersuai anda.
Perkara pertama yang perlu dilakukan dalam pengurusan tampalan ialah menyemak peningkatan perisian. Pertama sekali, untuk perisian teras, anda harus melanggan senarai mel keselamatan pengedaran Linux yang sepadan, supaya anda boleh mengetahui tentang peningkatan keselamatan perisian secepat mungkin. Jika anda menggunakan perisian yang tidak datang dari repositori pengedaran, anda juga mesti cuba menjejak kemas kini keselamatan untuk mereka. Sebaik sahaja anda menerima pemberitahuan keselamatan baharu, anda mesti menyemak butiran pemberitahuan untuk menentukan keterukan kerentanan keselamatan, menentukan sama ada sistem anda terjejas dan mendesak patch keselamatan.
Sesetengah organisasi masih menggunakan kaedah manual untuk mengurus patch. Dengan cara ini, apabila patch keselamatan muncul, pentadbir sistem perlu bergantung pada memori dan log masuk ke setiap pelayan untuk menyemaknya. Selepas menentukan pelayan yang perlu ditingkatkan, gunakan alat pengurusan pakej terbina dalam pelayan untuk menaik taraf perisian ini daripada repositori keluaran. Akhirnya naik taraf semua pelayan yang tinggal dengan cara yang sama.
Terdapat banyak masalah dengan cara manual menguruskan patch. Mula-mula, berbuat demikian akan menjadikan penampalan menjadi tugasan Lebih banyak tampalan yang anda pasang, lebih banyak kos buruh yang diperlukan, dan kemungkinan besar pentadbir sistem akan menangguhkan atau mengabaikannya sepenuhnya. Kedua, pengurusan manual bergantung pada ingatan pentadbir sistem untuk menjejaki peningkatan kepada pelayan yang dia bertanggungjawab. Ini dengan mudah boleh menyebabkan beberapa pelayan terlepas dan tidak dinaik taraf dalam masa.
Semakin cepat dan lebih mudah pengurusan tampalan, semakin besar kemungkinan anda melakukannya dengan baik. Anda harus membina sistem yang boleh bertanya dengan cepat pelayan yang menjalankan perisian tertentu dan nombor versi perisian tersebut, dan idealnya ia boleh menolak pelbagai tampung naik taraf. Secara peribadi, saya cenderung menggunakan alat orkestra seperti MCollective untuk menyelesaikan tugas ini, tetapi Satelit yang disediakan oleh Red Hat dan Landskap yang disediakan oleh Canonical juga membolehkan anda melihat maklumat versi perisian pelayan dan memasang tampung pada antara muka pengurusan bersatu .
Pemasangan tampalan juga harus tahan terhadap kerosakan. Anda sepatutnya mempunyai keupayaan untuk menampal perkhidmatan anda tanpa membawanya ke luar talian. Perkara yang sama berlaku untuk patch kernel yang memerlukan but semula sistem. Kaedah yang saya pakai ialah membahagikan pelayan saya kepada kumpulan ketersediaan tinggi yang berbeza, dengan lb1, app1, rabbitmq1 dan db1 dalam satu kumpulan dan lb2, app2, rabbitmq2 dan db2 dalam kumpulan lain. Dengan cara ini, saya boleh meningkatkan satu kumpulan pada satu masa tanpa mengambil perkhidmatan di luar talian.
Jadi, berapa cepatkah pantas? Untuk beberapa perisian yang tidak disertakan dengan perkhidmatan, sistem anda seharusnya boleh memasang tampalan dalam masa beberapa minit hingga sejam paling baik (seperti kerentanan ShellShock bash). Untuk perisian seperti OpenSSL yang memerlukan perkhidmatan dimulakan semula, proses memasang tampalan dan memulakan semula perkhidmatan dengan cara yang tahan terhadap kesalahan mungkin mengambil masa lebih lama, tetapi di sinilah alat orkestrasi berguna. Dalam artikel terbaru saya tentang MCollective (lihat tiket dari Disember 2016 dan Januari 2017) saya memberikan beberapa contoh menggunakan MCollective untuk pengurusan patch. Adalah lebih baik untuk menggunakan sistem yang memudahkan pemasangan tampalan dan perkhidmatan dimulakan semula dengan cara automatik yang tahan terhadap kerosakan.
Jika patch memerlukan but semula sistem, seperti patch kernel, maka ia akan mengambil lebih banyak masa. Sekali lagi, alat automasi dan orkestra boleh menjadikan proses ini lebih pantas daripada yang anda fikirkan. Saya dapat menaik taraf dan memulakan semula pelayan secara bertolak ansur dalam pengeluaran dalam masa satu atau dua jam, dan prosesnya lebih pantas jika saya tidak perlu menunggu sandaran penyegerakan kluster antara permulaan semula.
Malangnya, ramai sysadmin masih berpegang pada pandangan lapuk tentang masa operasi sebagai lencana kebanggaan - memandangkan tampalan kernel kecemasan berlaku kira-kira sekali setahun. Bagi saya, ini bermakna anda tidak mengambil serius tentang keselamatan sistem anda!
Banyak organisasi masih menggunakan pelayan yang merupakan titik kegagalan tunggal yang tidak boleh dibawa ke luar talian buat sementara waktu, dan atas sebab ini, ia tidak boleh dinaik taraf atau dimulakan semula. Jika anda ingin menjadikan sistem anda lebih selamat, anda perlu mengalih keluar bagasi usang dan membina sistem yang sekurang-kurangnya boleh dimulakan semula semasa tingkap penyelenggaraan lewat malam.
Pada asasnya, pengurusan tampalan yang cepat dan mudah juga merupakan tanda pasukan pengurusan sistem yang matang dan profesional. Menaik taraf perisian adalah salah satu tugas yang diperlukan untuk semua pentadbir sistem Mengambil masa untuk menjadikan proses ini mudah dan pantas akan membawa manfaat yang jauh melebihi keselamatan sistem. Sebagai contoh, ia boleh membantu kita mencari titik kegagalan tunggal dalam reka bentuk seni bina. Di samping itu, ia membantu mengenal pasti sistem lapuk dalam persekitaran dan menyediakan insentif untuk menggantikan bahagian ini. Akhirnya, apabila pengurusan tampalan dilakukan dengan cukup baik, ia membebaskan masa pentadbir sistem, membolehkan mereka memfokus pada bidang yang memerlukan kepakaran.
Kyle Rankin ialah arkitek kanan keselamatan dan infrastruktur yang bukunya termasuk: Pengerasan Linux dalam Rangkaian Bermusuhan, Penyelesaian Masalah DevOps dan Buku Pelayan Rasmi Ubuntu. Beliau juga seorang kolumnis untuk Jurnal Linux.
Atas ialah kandungan terperinci Cara yang betul untuk menguruskan patch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!