Linux Server Security คู่มือรักษาความปลอดภัยฉบับสมบูรณ์ 2026

Linux Server Security คู่มือรักษาความปลอดภัยฉบับสมบูรณ์ 2026
โดย อ.บอม | SiamCafe IT Blog | อัพเดต กุมภาพันธ์ 2026

ความปลอดภัยของ Linux Server เป็นสิ่งที่ SysAdmin ต้องให้ความสำคัญเป็นอันดับแรก เพราะเซิร์ฟเวอร์ที่เชื่อมต่ออินเทอร์เน็ตถูกโจมตีตลอดเวลา ตั้งแต่ Brute Force SSH ไปจนถึง Zero-day Exploit ในคู่มือนี้เราจะครอบคลุมทุกแง่มุมของการรักษาความปลอดภัย Linux Server ตั้งแต่พื้นฐานไปจนถึงขั้นสูง

SSH Hardening

SSH เป็นช่องทางหลักที่ SysAdmin ใช้จัดการเซิร์ฟเวอร์ และเป็นเป้าหมายอันดับหนึ่งของผู้โจมตี การ Harden SSH ให้แข็งแรงเป็นสิ่งแรกที่ต้องทำ:

1. เปลี่ยนพอร์ต SSH

# แก้ไข /etc/ssh/sshd_config
Port 2222

การเปลี่ยนจากพอร์ต 22 ไม่ได้เพิ่มความปลอดภัยจริง แต่ช่วยลด Automated Bot Attack ได้มาก Log ของ SSH จะสะอาดขึ้นอย่างเห็นได้ชัด

2. ปิด Root Login

PermitRootLogin no

ห้าม Login ด้วย Root โดยตรง ให้ Login ด้วย User ปกติแล้วใช้ sudo แทน

3. ใช้ SSH Key แทน Password

# สร้าง Key บนเครื่อง Client
ssh-keygen -t ed25519 -C "admin@company"

# Copy Key ไปยัง Server
ssh-copy-id -p 2222 user@server

# ปิด Password Authentication
PasswordAuthentication no

SSH Key ที่แนะนำคือ Ed25519 เพราะสั้นแต่แข็งแรงกว่า RSA หลังจาก Copy Key แล้วให้ปิด Password Authentication ทันที

4. จำกัด User ที่ Login ได้

AllowUsers admin deploy
AllowGroups sshusers

5. ตั้ง Timeout

ClientAliveInterval 300
ClientAliveCountMax 2
LoginGraceTime 30
MaxAuthTries 3

Firewall ด้วย UFW

UFW (Uncomplicated Firewall) เป็น Frontend ของ iptables ที่ใช้งานง่าย:

# เปิด UFW
sudo ufw enable

# อนุญาตเฉพาะพอร์ตที่จำเป็น
sudo ufw allow 2222/tcp    # SSH
sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS

# ปิดทุกอย่างที่เหลือ (Default)
sudo ufw default deny incoming
sudo ufw default allow outgoing

# ดูกฎทั้งหมด
sudo ufw status verbose

หลักการคือ Deny All แล้วอนุญาตเฉพาะที่จำเป็น ทุกพอร์ตที่เปิดคือช่องทางโจมตีที่เป็นไปได้ เปิดให้น้อยที่สุด

Fail2ban ป้องกัน Brute Force

Fail2ban ตรวจจับการพยายาม Login ที่ล้มเหลวแล้วบล็อก IP อัตโนมัติ:

# ติดตั้ง
sudo apt install fail2ban

# สร้าง Config
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

ตั้งค่าใน /etc/fail2ban/jail.local:

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

Config นี้จะบล็อก IP ที่ Login ผิด 3 ครั้งใน 10 นาที เป็นเวลา 1 ชั่วโมง สำหรับผู้โจมตีที่ดื้อดึงสามารถเพิ่ม bantime เป็น 86400 (24 ชั่วโมง) หรือใช้ bantime.increment เพื่อเพิ่มเวลาบล็อกทวีคูณ

อัพเดตระบบอย่างสม่ำเสมอ

ช่องโหว่ใหม่ถูกค้นพบทุกวัน การอัพเดตระบบเป็นการป้องกันที่สำคัญที่สุด:

# อัพเดตทุกวัน (Ubuntu/Debian)
sudo apt update && sudo apt upgrade -y

# เปิด Automatic Security Updates
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

สำหรับ Production Server แนะนำให้เปิด Automatic Security Updates เฉพาะ Patch ด้านความปลอดภัย ส่วน Major Update ทดสอบใน Staging ก่อน

จัดการผู้ใช้และสิทธิ์

หลักการ Least Privilege คือให้สิทธิ์เท่าที่จำเป็นเท่านั้น:

# ตรวจสอบ User ที่มี UID 0
awk -F: '($3 == "0") {print}' /etc/passwd

# ตรวจสอบ User ที่มี sudo
getent group sudo

# Lock User ที่ไม่ใช้
sudo usermod -L username

Audit และ Logging

Log เป็นหลักฐานสำคัญเมื่อเกิดเหตุการณ์ด้านความปลอดภัย:

# ติดตั้ง auditd
sudo apt install auditd audispd-plugins

# Monitor การเปลี่ยนแปลง /etc/passwd
sudo auditctl -w /etc/passwd -p wa -k passwd_changes

# ดู Audit Log
sudo ausearch -k passwd_changes

Network Security

การตั้งค่า Network ที่ปลอดภัยบน Linux Server:

# ปิด IP Forwarding (ถ้าไม่ใช่ Router)
echo "net.ipv4.ip_forward = 0" >> /etc/sysctl.conf

# ป้องกัน SYN Flood
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf

# ปิด ICMP Redirect
echo "net.ipv4.conf.all.accept_redirects = 0" >> /etc/sysctl.conf

# ปิด Source Routing
echo "net.ipv4.conf.all.accept_source_route = 0" >> /etc/sysctl.conf

# Apply
sudo sysctl -p

สำหรับเครือข่ายที่ต้องการความปลอดภัยสูง ควรวาง Server ไว้หลัง Firewall Hardware ศึกษาเพิ่มเติมเกี่ยวกับ Firewall Hardware สำหรับ SME สำหรับผู้ที่ใช้ Server เทรด Forex สามารถศึกษาเรื่อง VPS และ EA ได้ที่ iCafeForex

การเข้ารหัสข้อมูล

Monitoring และ Intrusion Detection

การตรวจจับการบุกรุก:

# สแกน Rootkit
sudo apt install rkhunter
sudo rkhunter --check

# Security Audit ด้วย Lynis
sudo apt install lynis
sudo lynis audit system

Security Checklist สำหรับ Linux Server

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

Linux ปลอดภัยกว่า Windows จริงหรือ?

Linux มีสถาปัตยกรรมที่ปลอดภัยกว่า Windows ในหลายด้าน แต่ไม่ได้หมายความว่าปลอดภัย 100% Linux Server ที่ไม่ได้ Harden อาจถูกแฮกได้ง่ายกว่า Windows ที่ตั้งค่าดี ความปลอดภัยขึ้นอยู่กับการตั้งค่ามากกว่าระบบปฏิบัติการ

ต้อง Harden ทุกข้อในบทความนี้หรือไม่?

ขึ้นอยู่กับระดับความเสี่ยง Server ที่เปิดให้เข้าถึงจากอินเทอร์เน็ตต้อง Harden ทุกข้อ Server ภายในเครือข่ายอาจผ่อนปรนบางข้อได้ แต่อย่างน้อยต้องทำ SSH Hardening, Firewall, Fail2ban และ Auto-update

สรุป

การรักษาความปลอดภัย Linux Server เป็นกระบวนการต่อเนื่อง ไม่ใช่ทำครั้งเดียวแล้วจบ ต้องอัพเดตระบบสม่ำเสมอ ตรวจสอบ Log ทุกวัน และทำ Security Audit อย่างน้อยเดือนละครั้ง ด้วยขั้นตอนที่แนะนำในบทความนี้ Server ของคุณจะมีความปลอดภัยที่แข็งแกร่งพอสำหรับ Production ในปี 2026

📖 บทความที่เกี่ยวข้อง

Apollo Server Security Hardening ป้องกันแฮก — คู่มือฉบับสมบูรณ์ 2026อ่านบทความ → Apollo Server Shift Left Security — คู่มือฉบับสมบูรณ์ 2026อ่านบทความ → Flatcar Container Linux Security Hardening ป้องกันแฮก — คู่มือฉบับสมบูรณ์ 2026อ่านบทความ → Flatcar Container Linux Shift Left Security — คู่มือฉบับสมบูรณ์ 2026อ่านบทความ → Linux Cgroups v2 Security Hardening ป้องกันแฮก — คู่มือฉบับสมบูรณ์ 2026อ่านบทความ →

📚 ดูบทความทั้งหมด →

บทความแนะนำจากเครือข่าย SiamCafe