Untuk mempelajari sedikit administrasi server, saya telah membuat server Ubuntu 14.04 sederhana tempat saya menjalankan situs web pribadi. Saya telah mengaturnya untuk menginstal pembaruan keamanan secara otomatis, tetapi tinggalkan pembaruan lainnya. Ini sepertinya bekerja dengan cukup baik. Kadang-kadang saya mendapatkan pesan saat masuk ke server (dengan ssh) mengatakan:
*** System restart required ***
Kali ini terjadi saya reboot Ubuntu sederhana dan semua baik-baik saja. Ini boleh saja karena ini adalah situs web pribadi yang sederhana. Apa yang saya bertanya-tanya tentang, adalah bagaimana ini bekerja untuk webservers yang seharusnya 99,9999etc% waktu Apakah mereka tidak me-restart dan risiko keamanan dilanggar karena pembaruan keamanan tidak diinstal (yang tidak dapat saya bayangkan)? Atau apakah mereka menerima downtime begitu saja (yang tidak dapat saya bayangkan juga)?
Bagaimana saya harus menangani ini jika ini adalah server produksi yang sangat penting yang saya ingin terus dan jalankan? Semua tips dipersilahkan!
[EDIT] Saya tahu saya bisa lakukan cat /var/run/reboot-required.pkgs
untuk mendaftar paket yang menyebabkan reboot. Perintah saat ini menghasilkan yang berikut:
linux-image-3.13.0-36-generic
linux-base
dbus
linux-image-extra-3.13.0-36-generic
linux-base
tetapi bagaimana saya tahu jika pembaruan adalah hal-hal kecil apakah saya memiliki kerentanan keamanan serius jika saya tidak melakukan restart?
[EDIT2] Oke, sekarang saya menggabungkan perintah yang menurut saya berguna menjadi satu:
xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
Jika ini tidak menghasilkan apa-apa, sepertinya tidak ada masalah keamanan dengan urgensi tinggi.
Satu pertanyaan terakhir: apakah low
,, medium
dan high
satu-satunya kemungkinan yang mendesak, atau adakah yang lebih disukai misalnya critical
atau extremelyimportant
?
| grep 'urgency=' | egrep -v '=(low|medium)'
Jawaban:
Jawabannya tidak sederhana karena tergantung pada pembaruan yang dibuat. Jika kernel memiliki masalah keamanan yang serius, maka sebaiknya restart sesegera mungkin. Jika kernel hanya memiliki perbaikan kecil maka restart dapat ditunda.
Jika Anda menjamin ketersediaan> 99,9% maka Anda hampir selalu memiliki sistem berkerumun tempat Anda dapat mem-boot ulang node satu per satu tanpa mengganggu layanan.
Jadi, Anda me-reboot sistem pertama dan menghubungkannya kembali ke cluster. Lalu yang kedua dan seterusnya. Maka layanan tidak akan pernah menjadi tidak tersedia.
sumber
cat /var/run/reboot-required.pkgs
untuk mendapatkan paket yang memerlukan reboot. Tetapi bagaimana saya tahu jika ini hanya perbaikan kecil, atau apakah ini merupakan kerentanan keamanan yang serius?aptitude changelog <package>
, berikut ini adalah contoh keluaran: paste.ubuntu.com/8410798 (Ini ada di sistem Debian, bukan Ubuntu, tetapi yang sama juga bisa digunakan di Ubuntu.)xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
(menambahkannya ke pertanyaan awal juga) yang memberikan beberapa keluaran untuk paket mana yang memiliki tambalan yang sangat mendesak. Setelah itu, paket individu tentu saja dapat diperiksa. Terima kasih banyak untuk semua jawaban dan ide!addon untuk solusi topik
Saya melakukan pemeriksaan serupa untuk 'persyaratan reboot' untuk sistem pemantauan zabbix
Saya melihat 2 masalah dalam solusi 'Topik':
Logika saya adalah:
Menggunakan dokumentasi Debian saya menemukan 5 nilai yang mungkin untuk 'urgensi' dan juga fakta bahwa itu dapat diikuti oleh karakter yang sama ("=") atau titik koma (":"). Juga ada karakter huruf besar dan kecil
Jadi saya berakhir dengan yang berikut:
Hasil dari:
reboot_required_check.sh status
mengembalikan 1 jika reboot diperlukan, 0 jika tidakreboot_required_check.sh urgency
mengembalikan level 'urgensi' tertinggi atau '0' jika reboot tidak diperlukanSemoga ini membantu seseorang menghemat waktu;)
sumber
Server web besar di-restart ketika * System restart diperlukan * muncul karena alasan keamanan.
Tapi ini transparan bagi pengguna dan situs tidak pernah turun karena server besar sering menjalankan dua atau tiga server yang menyimpan file yang persis sama dan menampilkan situs yang sama. Yang pertama adalah server utama sementara dua yang lain adalah sekunder dan hanya digunakan ketika server utama sedang down.
sumber
Big web servers
jalankan versi kustom Linux. Mereka tidak akan melihatSystem restart required
dialog, mereka memperbarui apa yang mereka butuhkan untuk tetap aman. Dalam kebanyakan kasus, banyak jika tidak semua pembaruan dapat dilakukan ketika sistem sedang berjalan (saya percaya bahkan mungkin untuk memperbarui kernel Linux pada sistem yang berjalan tanpa reboot).Big web servers
dijalankan pada server khusus dan VPS. Karena itu, administrator sistem memiliki kontrol lebih besar atas perangkat lunak. Apakah Amazon memberi Anda akses root shell ke server Anda?freezes execution of a computer so it is the only program running
saat menerapkan tambalan, jadi mungkin masih ada sedikit downtime (karena proses server web menjadi 'beku'). Di sinilah jawaban oleh @Uwe Plonus masuk