หลังจากติดตั้ง Linux Server ใหม่ ไม่ว่าจะเป็นเพื่อใช้งานด้าน Web Server, Database, IoT, หรือระบบองค์กร สิ่งสำคัญที่ ไม่ควรมองข้ามเด็ดขาด คือ System Hardening หรือการเสริมความมั่นคงปลอดภัยให้ระบบตั้งแต่วันแรก
การตั้งค่าที่ถูกต้องตั้งแต่ต้น จะช่วยลดความเสี่ยงจากการโจมตี ป้องกันความเสียหาย และทำให้ระบบพร้อมใช้งานในระยะยาวอย่างมืออาชีพ
บทความนี้สรุป 10 ขั้นตอนแรกที่ควรทำทันที หลังติดตั้ง Linux Server โดยเน้นแนวทางที่ ปฏิบัติได้จริง (Hands-on) และเหมาะทั้งสำหรับอาจารย์ นักศึกษา SysAdmin และผู้ดูแลระบบในองค์กร
1. อัปเดตระบบให้เป็นเวอร์ชันล่าสุด
หลังติดตั้งเสร็จ ควรอัปเดตแพ็กเกจทั้งหมดทันที เพื่ออุดช่องโหว่ด้านความปลอดภัย
สิ่งแรกที่ต้องทำคือการตรวจสอบว่า Kernel และ Software Packages ทั้งหมดเป็นเวอร์ชันล่าสุด เพื่ออุดช่องโหว่ (Vulnerabilities) ที่อาจมีอยู่
-
Debian/Ubuntu:
sudo apt update && sudo apt upgrade -y -
RHEL/CentOS/Rocky/AlmaLinux:
sudo dnf update -y
แนวปฏิบัติ
-
ตรวจสอบ security patch
-
ตั้งค่า auto update สำหรับแพ็กเกจสำคัญ
หลักคิด: Server ที่ไม่อัปเดต = ประตูเปิดทิ้งไว้
2. สร้างผู้ใช้ใหม่ และปิดการใช้งาน Root Login
ไม่ควรใช้ root ทำงานโดยตรง โดยเฉพาะผ่าน SSH
แนวปฏิบัติ
-
สร้าง user สำหรับ admin
-
ใช้
sudoแทน root -
ปิด
PermitRootLogin
ผลลัพธ์
-
ลดความเสี่ยงจาก brute force
-
ตรวจสอบ log ได้ชัดเจนว่าใครทำอะไร
ปิด Root Login ผ่าน SSH
nano /etc/ssh/sshd_config
PermitRootLogin no
systemctl restart sshd
3. เปลี่ยนพอร์ต SSH และตั้งค่า SSH ให้ปลอดภัย
พอร์ต 22 เป็นเป้าหมายอันดับแรกของผู้โจมตี
แนวปฏิบัติ
-
เปลี่ยนพอร์ต SSH
-
ใช้ Key-based Authentication
-
ปิด Password Authentication
เปลี่ยนพอร์ต SSH
nano /etc/ssh/sshd_config
Port 2222
systemctl restart sshd
4. เปิดใช้งาน Firewall และกำหนดเฉพาะพอร์ตจำเป็น
Server ที่ไม่มี Firewall = ไม่มีแนวป้องกันชั้นแรก
แนวปฏิบัติ
-
อนุญาตเฉพาะพอร์ตที่ใช้งานจริง เช่น 22, 80, 443
-
ปิดทุกพอร์ตที่ไม่จำเป็น
คิดแบบ Zero Trust: เปิดเท่าที่จำเป็นเท่านั้น
เปิด Firewall และอนุญาตเฉพาะพอร์ตจำเป็น
firewall-cmd –permanent –add-port=2222/tcp
firewall-cmd –permanent –add-service=http
firewall-cmd –reload
5. ติดตั้ง Fail2Ban ป้องกัน Brute Force
Fail2Ban ช่วยบล็อก IP ที่พยายาม login ผิดซ้ำ ๆ
แนวปฏิบัติ
-
ป้องกัน SSH, Web Login, Mail
-
ตั้งค่า ban time และ retry อย่างเหมาะสม
เหมาะมาก สำหรับ Server ที่เปิดสาธารณะ (Public IP)
เปิด Firewall และอนุญาตเฉพาะพอร์ตจำเป็น
dnf install fail2ban -y
systemctl enable –now fail2ban
6. ตรวจสอบและจัดการ Service ที่ไม่จำเป็น
หลายบริการถูกเปิดมาโดยไม่จำเป็นตั้งแต่การติดตั้ง
แนวปฏิบัติ
-
ตรวจสอบ service ที่กำลังรัน
-
Disable/Stop service ที่ไม่ใช้งาน
ผลลัพธ์
-
ลด attack surface
-
ใช้ทรัพยากรน้อยลง
ปิด Service ที่ไม่จำเป็น
systemctl list-unit-files –type=service
systemctl disable bluetooth
7. ตั้งค่า Timezone, NTP และ Log ให้ถูกต้อง
เวลาในระบบที่ผิด จะทำให้การวิเคราะห์ log ผิดพลาด
แนวปฏิบัติ
-
ตั้ง Timezone ให้ตรงประเทศ
-
ใช้ NTP Sync
-
ตรวจสอบ system log และ auth log
ตั้งค่าเวลา และเปิด NTP
timedatectl set-timezone Asia/Bangkok
timedatectl set-ntp true
8. เปิดใช้ SELinux หรือ AppArmor (ถ้ามี)
เป็นระบบป้องกันระดับ Kernel ที่หลายคนมองข้าม
แนวปฏิบัติ
-
เริ่มจากโหมด Enforcing
-
เรียนรู้การอ่าน log เมื่อ policy block
SELinux อาจดูยาก แต่ให้ความปลอดภัยสูงมากในระบบ Production
ตรวจสอบ SELinux / AppArmor
getenforce # SELinux
aa-status # AppArmor
9. ตั้งค่า Monitoring และ Alert เบื้องต้น
รู้ก่อน แก้ก่อน ย่อมดีกว่าเกิดปัญหาแล้วค่อยรู้
แนวปฏิบัติ
-
ตรวจสอบ CPU, RAM, Disk
-
เฝ้าดู Service สำคัญ
-
แจ้งเตือนเมื่อทรัพยากรผิดปกติ
10. สำรองข้อมูล (Backup) ตั้งแต่วันแรก
Security ที่ดี ต้องมีแผนกู้คืนเสมอ
แนวปฏิบัติ
-
Backup config file
-
Backup database
-
แยกเครื่อง หรือแยก storage
ไม่มี Backup = ยังไม่พร้อมใช้งานจริง
สำรองไฟล์สำคัญ
tar czvf backup-config.tar.gz /etc
สรุป
System Hardening ไม่ใช่เรื่องซับซ้อน แต่เป็นเรื่องของ วินัยและมาตรฐานการทำงาน
ทั้ง 10 ขั้นตอนนี้ คือ “ชุดป้องกันพื้นฐาน” ที่ควรทำ ทันทีหลังติดตั้ง Linux Server ไม่ว่าระบบจะเล็กหรือใหญ่

