−25%

Windows รายปี ถึง 31 ต.ค. ดูแพ็กเกจ

EQVPS

วิธีเปิดการอัปเดตความปลอดภัยอัตโนมัติบน VPS

เปิด unattended-upgrades บน Ubuntu/Debian หรือ dnf-automatic บน Rocky/AlmaLinux เพื่อให้แพตช์ความปลอดภัยติดตั้งเอง และตัดสินใจเรื่องการรีบูตอัตโนมัติ

เซิร์ฟเวอร์ส่วนใหญ่ที่ถูกเจาะไม่ได้แพ้ให้กับเทคนิคล้ำลึก มันรันซอฟต์แวร์ที่มีช่องโหว่ซึ่งรู้กันแล้วและมีแพตช์แล้ว แต่ไม่มีใครติดตั้งแพตช์นั้น การอัปเดตความปลอดภัยอัตโนมัติปิดช่องโหว่นั้นโดยคุณไม่ต้องจำว่าต้องล็อกอิน นี่คือห้านาทีที่คุ้มค่าที่สุดที่คุณจะให้กับเซิร์ฟเวอร์ใหม่

Ubuntu และ Debian: unattended-upgrades

อิมเมจ Ubuntu มักติดตั้งมาให้แล้ว แต่ Debian อาจยังไม่มี ให้ติดตั้งและเปิดใช้งาน:

apt update
apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades    # answer "Yes"

คำสั่งนี้สร้าง /etc/apt/apt.conf.d/20auto-upgrades:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

ค่า 1 สองตัวหมายถึง: รีเฟรชรายการแพ็กเกจและติดตั้งอัปเดตความปลอดภัยทุกวัน

ตัดสินใจเรื่องการรีบูต

แพตช์เคอร์เนลต้องรีบูตจึงจะมีผล หากต้องการรีบูตอัตโนมัติในช่วงเวลาที่เงียบ ให้แก้ไข /etc/apt/apt.conf.d/50unattended-upgrades และตั้งค่า:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

เซิร์ฟเวอร์จะรีบูตเฉพาะเมื่ออัปเดตต้องการจริง ๆ (เมื่อมีไฟล์ /var/run/reboot-required)

ทดสอบ

unattended-upgrade --dry-run --debug

บันทึกอยู่ใน /var/log/unattended-upgrades/

Rocky Linux และ AlmaLinux: dnf-automatic

dnf install -y dnf-automatic

แก้ไข /etc/dnf/automatic.conf:

[commands]
upgrade_type = security
apply_updates = yes

เปิดตัวตั้งเวลา:

systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

หากต้องการรู้ว่าหลังอัปเดตต้องรีบูตหรือไม่ ให้ติดตั้ง dnf-utils แล้วรัน needs-restarting -r

นโยบายรีบูตแบบไหนเหมาะกับคุณ?

สิ่งที่ไม่ครอบคลุม

เฉพาะแพ็กเกจระบบเท่านั้น image ของ Docker ไลบรารีของภาษา (pip, npm) และไบนารีที่ติดตั้งเองจะไม่อัปเดตตัวเอง: ให้วางกำหนดการแยก การอัปเดตภายในเวอร์ชันเดียวกันเป็นแบบอัตโนมัติ แต่การย้ายไปเวอร์ชันใหม่ (Ubuntu 22.04 → 24.04) ยังเป็นงานที่ต้องตั้งใจทำเอง

หากอัปเดตที่มีปัญหาทำให้บูตไม่ขึ้น คอนโซลเว็บ ในแผงควบคุม EQVPS จะให้คุณเข้าเครื่องได้โดยไม่ต้องใช้ SSH และ Managed Backups ให้จุดกู้คืนจากก่อนการเปลี่ยนแปลง

ที่เกี่ยวข้อง

คำถามที่พบบ่อย

ติดตั้งอัปเดตอัตโนมัติปลอดภัยไหม?

สำหรับอัปเดตความปลอดภัยถือว่าปลอดภัย: นั่นคือสิ่งที่ unattended-upgrades ติดตั้งโดยค่าเริ่มต้น เป็นการแก้ไขเล็ก ๆ ที่ตรงจุด ความเสี่ยงจากช่องโหว่ที่รู้แล้วแต่ยังไม่แพตช์สูงกว่าความเสี่ยงที่แพตช์ความปลอดภัยจะทำอะไรพังมาก

เซิร์ฟเวอร์ควรรีบูตเองไหม?

แพตช์ของเคอร์เนลและไลบรารีหลักจะมีผลหลังรีบูตเท่านั้น หากบริการของคุณหยุดได้หนึ่งนาทีตอนตีสี่ ให้เปิดการรีบูตอัตโนมัติ หากไม่ได้ ให้ปิดไว้แล้วรีบูตเองเมื่อ /var/run/reboot-required ปรากฏ

จะรู้ได้อย่างไรว่าอัปเดตถูกติดตั้งแล้ว?

ดู /var/log/unattended-upgrades/unattended-upgrades.log บน Debian/Ubuntu หรือ 'journalctl -u dnf-automatic' บน Rocky/Alma การทดลองรันด้วย 'unattended-upgrade --dry-run --debug' จะแสดงว่าตอนนี้จะมีอะไรถูกติดตั้ง

มันจะอัปเกรดดิสทริบิวชันของฉันเป็นเวอร์ชันหลักใหม่ไหม?

ไม่ unattended-upgrades และ dnf-automatic ติดตั้งเฉพาะอัปเดตภายในเวอร์ชันปัจจุบัน การย้ายจาก Ubuntu 22.04 ไป 24.04 เป็นต้น เป็นขั้นตอนที่ต้องทำเองเสมอ

มันอัปเดตคอนเทนเนอร์ Docker ด้วยไหม?

ไม่ อัปเดตเฉพาะแพ็กเกจระบบ image ของคอนเทนเนอร์อัปเดตได้ด้วยการดึงเวอร์ชันใหม่และสร้างคอนเทนเนอร์ใหม่ตามกำหนดเวลาของคุณเอง

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง