
คำตอบสั้น ๆ: การดูแลเซิร์ฟเวอร์คืองานประจำ 5 เรื่อง ได้แก่ เฝ้าระวังระบบ ลงแพตช์ สำรองข้อมูลพร้อมทดสอบกู้คืน คุมสิทธิ์การเข้าถึง และวางแผนทรัพยากรกับอายุเครื่อง โดยดู Alert ผล Backup และดิสก์ทุกวัน ไล่แพตช์ที่ค้างและลองกู้ไฟล์ทุกสัปดาห์ ลงแพตช์และทบทวนสิทธิ์ทุกเดือน แล้วซ้อมกู้ระบบทั้งชุดกับเช็กวันหมดอายุ OS และประกันเครื่องทุกปี
ดิสก์เต็มตอนตีสาม Backup ที่ล้มเหลวเงียบ ๆ มาสองสัปดาห์ หรือ SSL ที่หมดอายุกลางวันหยุดยาว ล้วนป้องกันได้ถ้ามีคนตรวจตามรอบ
Checklist การดูแลเซิร์ฟเวอร์ด้านล่างแบ่งตามความถี่ ใช้ได้ทั้ง Linux และ Windows Server ข้อไหนมีคู่มือบนเว็บเรา จะมีลิงก์ให้ทำตามได้ทันที
ถ้างานเยอะเกินกว่าทีมจะทำไหว ส่งต่อให้ บริการรับดูแลเซิร์ฟเวอร์ (IT & Server Managed Services) ของ THAI DATA CLOUD ดูแลแทนได้ โดยตกลงขอบเขตงานกันตอนประเมินระบบ
ดูแลเซิร์ฟเวอร์รายวันต้องเช็กอะไรบ้าง
งานดูแลเซิร์ฟเวอร์รายวันคือการตอบว่าเมื่อคืนมีอะไรผิดปกติหรือเปล่า ถ้าตั้งแจ้งเตือนไว้ดี งานนี้คือการอ่านผล ไม่ใช่นั่งเฝ้าจอ
Alert และ Uptime
ดู Alert ที่ค้างและเช็กว่าบริการยังตอบสนองจากภายนอก ถ้ายังไม่มีระบบ เริ่มจาก ตั้งแจ้งเตือนเมื่อเว็บไซต์ล่ม ด้วย Uptime Kuma บนเครื่องอื่นที่ไม่ใช่เครื่องที่ถูกเฝ้า ส่วนกราฟ CPU แรม และดิสก์แบบวินาทีต่อวินาที ใช้ Netdata
ผล Backup ของเมื่อคืน
เช็กว่างานสำรองสำเร็จ ใช้เวลาใกล้เคียงปกติ และขนาดไม่ลดลงผิดสังเกต ขนาดที่หายไปครึ่งหนึ่งอาจแปลว่าสำรองไม่ครบ ควรตั้งให้สคริปต์แจ้งเตือนทันทีเมื่อล้มเหลว
พื้นที่ดิสก์
ดิสก์เต็มทำให้ฐานข้อมูลเขียนต่อไม่ได้ ตั้งเกณฑ์แจ้งเตือนไว้ก่อน เช่น 80% แล้วใช้คู่มือ หาไฟล์ขนาดใหญ่เมื่อดิสก์ Linux เต็ม ไล่หาตัวการ ไม่ว่าจะเป็น Log, Journal, Cache หรือ Docker
Login ที่ล้มเหลวและ Log ระบบ
การเดารหัสผ่าน SSH หรือ RDP เป็นเรื่องปกติของเครื่องที่เปิดสู่อินเทอร์เน็ต ที่ต้องสนใจคือ Login ที่สำเร็จจาก IP แปลกหน้าและ Error ใหม่ บน Linux ใช้ journalctl อ่าน Log ระบบ เช่น journalctl -p err --since yesterday บน Windows ดู Event ID 4624 (สำเร็จ) และ 4625 (ล้มเหลว) ตามคู่มือ ตรวจประวัติ RDP ด้วย Event Viewer
บริการหลักยังทำงานครบ
บน Linux ใช้ systemctl --failed ดู Service ที่ล้มเหลว บน Windows ใช้ Get-Service ใน PowerShell ตรวจว่าเว็บ ฐานข้อมูล และบริการสำคัญยังรันอยู่
ดูแลเซิร์ฟเวอร์รายสัปดาห์ต้องตรวจอะไรเพิ่ม
รายสัปดาห์เน้นเรื่องที่ไม่พังทันที แต่สะสมจนเป็นปัญหา
- แพตช์ที่ค้าง: Ubuntu ใช้
sudo apt updateแล้วapt list --upgradableส่วน Windows ดูหน้า Windows Update ช่องโหว่ร้ายแรงที่ถูกใช้โจมตีแล้วให้ลงทันที ไม่ต้องรอรอบเดือน - ลองกู้ไฟล์ 1 ไฟล์: กู้ไฟล์จาก Backup ลงโฟลเดอร์ทดสอบแล้วเปิดดู เป็นวิธีเร็วที่พิสูจน์ว่า Backup ยังอ่านได้
- SSL: ตรวจวันหมดอายุ SSL Certificate รวมถึงใบที่ต่ออายุอัตโนมัติ เผื่อการต่ออายุล้มเหลวเงียบ ๆ
- แนวโน้มทรัพยากร: เทียบกราฟกับสัปดาห์ก่อนด้วย Prometheus และ Node Exporter คู่กับ Dashboard ใน Grafana หรือ Performance Monitor บน Windows
- บัญชีแอดมินใหม่: ดูว่ามีใครถูกเพิ่มเข้ากลุ่ม sudo หรือ Administrators โดยไม่มีคนขอ ด้วย
getent group sudoหรือGet-LocalGroupMember Administrators
ดูแลเซิร์ฟเวอร์รายเดือนต้องทำอะไร
งานหลักคือลงแพตช์ในช่วงเวลาที่นัดไว้ (Maintenance Window) ทบทวนสิทธิ์ และตรวจว่า Log กับ Backup ถูกเก็บตามนโยบาย
ลงแพตช์ใน Maintenance Window
NIST SP 800-40 Rev. 4 มองการจัดการแพตช์เป็นการบำรุงรักษาเชิงป้องกันที่เป็นต้นทุนปกติของธุรกิจ ผู้ดูแลเซิร์ฟเวอร์จึงควรมีรอบแน่นอน ไม่ใช่ทำเมื่อว่าง
Microsoft ออกอัปเดตความปลอดภัยประจำเดือนทุกวันอังคารที่สองของเดือน (Patch Tuesday) เวลา 10:00 น. ตามเวลาแปซิฟิก ตรงกับราวเที่ยงคืนถึงตีหนึ่งเข้าวันพุธตามเวลาไทย ลองกับเครื่องที่สำคัญน้อยก่อน แล้วลงเครื่องหลักตามคู่มือ อัปเดต Windows Server
ฝั่ง Ubuntu ให้ เปิด unattended-upgrades ลง Security Update อัตโนมัติทุกวัน แล้วใช้รอบเดือนอัปเดตที่เหลือและรีบูตเมื่อจำเป็น ก่อนลงแพตช์ทุกครั้งให้ Backup หรือทำ Snapshot
ทบทวนสิทธิ์การเข้าถึง
ลบบัญชีคนที่ลาออกและผู้รับเหมาที่จบงาน ตรวจ authorized_keys ว่าไม่มี SSH Key แปลกปลอม และเปลี่ยนรหัสผ่านที่ใช้ร่วมกันทุกครั้งที่มีคนออก
Log และ Backup retention
ใช้ logrotate หมุนและบีบอัด Log แล้วส่งสำเนาไปที่ เซิร์ฟเวอร์ Log กลางด้วย rsyslog เพราะถ้าเครื่องถูกบุกรุก Log บนเครื่องอาจถูกลบ
ฝั่ง Backup ให้ดูว่าสำเนาเก่าถูกลบตามนโยบาย (เช่น รายวัน 7 ชุด รายเดือน 12 ชุด) และมีอย่างน้อยหนึ่งชุดอยู่นอกเครื่อง ด้วย restic, rsync กับ Cronjob, สคริปต์สำรอง MySQL รายวัน หรือ Windows Server Backup
ดูแลเซิร์ฟเวอร์รายไตรมาสและรายปีมีอะไรบ้าง
งานดูแลเซิร์ฟเวอร์รอบยาวมักถูกลืมเพราะไม่มีอะไรเตือน แต่เป็นตัวตัดสินว่าวันเกิดเหตุใหญ่ ธุรกิจจะกลับมาได้เร็วแค่ไหน
ซ้อมกู้ระบบทั้งชุด
ระบบสำคัญซ้อมทุกไตรมาส ที่เหลืออย่างน้อยปีละครั้ง กู้ทั้งเครื่องลงเครื่องทดสอบแล้วจับเวลา เทียบกับเวลาที่ธุรกิจหยุดได้ (RTO) และข้อมูลที่ยอมเสียได้ (RPO) ดูหลักการที่ วางกลยุทธ์ Backup ให้พร้อม 100% หรือใช้ บริการ Disaster Recovery and Backup
วางแผนทรัพยากร
ใช้กราฟย้อนหลังคำนวณว่าจะเต็มเมื่อไร เช่น ดิสก์ 1,000 GB ใช้ไป 700 GB โตเดือนละ 25 GB จะเต็มใน (1,000 - 700) ÷ 25 = 12 เดือน แต่ถึงเกณฑ์แจ้งเตือน 80% ใน (800 - 700) ÷ 25 = 4 เดือน ซึ่งคือเวลาที่มีจริงสำหรับขยายพื้นที่
ประกัน เฟิร์มแวร์ และไลเซนส์
เครื่องจริงต้องเช็กวันหมดประกันและอัปเดตเฟิร์มแวร์ BIOS การ์ด RAID และ iDRAC หรือ iLO ส่วนไลเซนส์ โดเมน และสัญญาบริการ ให้รวมวันต่ออายุไว้ในปฏิทินเดียว
วันหมดอายุของระบบปฏิบัติการ
OS ที่หมดระยะซัพพอร์ตจะไม่ได้แพตช์ความปลอดภัยอีก ตัวอย่างที่ควรเช็ก (ข้อมูลจาก Microsoft, โครงการ CentOS และ Canonical):
- Windows Server 2016: Extended Support สิ้นสุด 12 มกราคม 2027
- CentOS Linux 7: หมดอายุแล้วเมื่อ 30 มิถุนายน 2024
- Ubuntu 20.04 LTS: หมด Standard Support ตั้งแต่พฤษภาคม 2025 รับแพตช์ต่อผ่าน Ubuntu Pro ได้ถึงพฤษภาคม 2030
ทบทวน Hardening
ไล่ตรวจเทียบกับ เช็กลิสต์ความปลอดภัยหลังเปิด Linux Server ใหม่ หรือ CIS Benchmarks ที่แยกคำแนะนำตาม OS เพราะค่าที่ตั้งไว้อาจถูกเปลี่ยนระหว่างปี
- SSH: ใช้ SSH Key แทนรหัสผ่าน คู่กับ Fail2ban
- RDP: ตั้ง Account Lockout Policy ล็อกบัญชีเมื่อใส่รหัสผิดติดกัน
- Firewall: เปิดเฉพาะพอร์ตที่ใช้ ด้วย UFW, firewalld หรือ Windows Firewall
