ในยุคดิจิทัล การรักษาความปลอดภัย Linux Virtual Private Server (VPS)
ของคุณมีความสำคัญอย่างยิ่งต่อการปกป้องข้อมูลและโครงสร้างพื้นฐาน บทความนี้
อธิบายรายละเอียดวิธีการต่าง ๆ ในการปกป้อง Linux VPS ของคุณจาก
ภัยคุกคามไซเบอร์
รักษาระบบของคุณให้เป็นปัจจุบัน
อัปเดตแล้ว
หนึ่งในด้านที่สำคัญที่สุดในการรักษาความปลอดภัย Linux VPS ของคุณคือ
การมั่นใจว่าระบบของคุณเป็นเวอร์ชันล่าสุด ซอฟต์แวร์ที่เก่าอาจ
มีช่องโหว่ที่ผู้ร้ายสามารถใช้ประโยชน์ได้ นี่คือวิธีการ
ทำสิ่งนี้:
ใช้ Package Manager
การแจกจ่าย Linux ส่วนใหญ่มี package manager พร้อมใช้งาน ตัวอย่างเช่น ถ้า
คุณใช้ระบบที่ใช้ Debian คุณสามารถรันคำสั่งต่อไปนี้
เพื่ออัปเดตและอัพเกรด packages:
sudo apt update
sudo apt upgrade
ถ้าคุณใช้ระบบ CentOS ให้ใช้ yum:
sudo yum update
ตั้งค่าอัตโนมัติ
อัปเดต
ตั้งค่า Automatic Updates โดยใช้ unattended-upgrades บน
ระบบที่ใช้ Debian:
บนระบบที่ใช้ Debian เช่น Ubuntu คุณสามารถใช้
package unattended-upgrades เพื่ออัตโนมัติกระบวนการอัปเดต
- ติดตั้ง unattended-upgrades:
sudo apt install unattended-upgrades
- กำหนดค่าการอัปเดตอัตโนมัติ แล้วแก้ไขการตั้งค่า
ไฟล์:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
- เปิดใช้การอัปเดตโดยอัตโนมัติสำหรับแพคเกจที่เกี่ยวข้องกับความปลอดภัย:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-proposed";
"${distro_id}:${distro_codename}-backports";
};
- เปิดใช้งานและเริ่มต้นบริการ unattended-upgrades:
sudo dpkg-reconfigure -plow unattended-upgrades
คำสั่งนี้จะขอให้คุณยืนยันการเปลี่ยนแปลง เลือก "Yes" เพื่อ
เปิดใช้งานการอัปเดตอัตโนมัติ
ตั้งค่าการอัปเดตอัตโนมัติด้วย yum-cron
CentOS :
บน CentOS คุณสามารถใช้ yum-cron สำหรับการอัปเดตอัตโนมัติได้:
- ติดตั้ง yum-cron:
sudo yum install yum-cron
- เริ่มต้นและเปิดใช้งานบริการ yum-cron:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
ใช้
รหัสผ่านที่แข็งแรงและ SSH Keys สำหรับการตรวจสอบสิทธิ์ที่ปลอดภัย
การรักษาความปลอดภัย Linux VPS ต้องใช้วิธีการพิสูจน์ตัวตนที่แข็งแกร่ง
ไม่ว่าคุณจะเชื่อมต่อจากไคลเอนต์ Linux หรือ Windows ก็ตาม นี่คือวิธีการที่จะ
ใช้รหัสผ่านที่แข็งแรงและคีย์ SSH อย่างมีประสิทธิภาพ:
การใช้ Strong
รหัสผ่าน
เมื่อสร้างบัญชีผู้ใช้บน VPS ตรวจสอบให้แน่ใจว่ารหัสผ่านของคุณ
ที่ซับซ้อน รวมถึงตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก ตัวเลข และอักขระพิเศษ
อักขระ หลีกเลี่ยงรหัสผ่านที่เดาง่าย
ใช้คีย์ SSH
การยืนยันตัวตน
สำหรับ Linux Client:
- หากต้องการสร้างคีย์ SSH บนคลায์เอนต์ Linux ของคุณ ให้ใช้คำสั่ง ssh-keygen
คำสั่ง
ssh-keygen -t rsa -b 2048
กุญแจสาธารณะจะถูกเก็บไว้ใน ~/.ssh/id_rsa.pub โดยค่าเริ่มต้น
- คัดลอกคีย์สาธารณะของคุณไปยัง VPS:
ssh-copy-id user@your_server_ip
- ปิดการเข้าสู่ระบบแบบรหัสผ่านบน VPS ในเซิร์ฟเวอร์ SSH
ไฟล์การตั้งค่า (/etc/ssh/sshd_config):
PasswordAuthentication no
สำหรับ Windows Client:
- บน Windows ให้ใช้ PowerShell เพื่อความสามารถที่คล้ายกัน:
ssh-keygen
- คัดลอกคีย์สาธารณะของคุณไปยัง VPS โดยใช้ PowerShell แล้วแทนที่
IP-ADDRESS-OR-FQDN ด้วยเซิร์ฟเวอร์ระยะไกลของคุณ
ที่อยู่:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@{IP-ADDRESS-OR-FQDN} "cat >> .ssh/authorized_keys"
- ปิดการเข้าสู่ระบบแบบรหัสผ่านบน VPS ในเซิร์ฟเวอร์ SSH
ไฟล์การตั้งค่า (/etc/ssh/sshd_config):
PasswordAuthentication no
ใช้งานไฟร์แวลล์
การป้องกัน Linux VPS ของคุณต้องมีการตั้งค่าไฟร์วอลล์เพื่อควบคุม
ทราฟิกเข้าและออก ต่อไปนี้คือวิธีการใช้งานไฟร์วอลล์
เพิ่มความปลอดภัย
ใช้ ufw (Uncomplicated Firewall) บน Debian/Ubuntu หรือ
firewalld บน CentOS:
- ติดตั้งเครื่องมือการจัดการไฟร์วอลล์หากยังไม่ได้ติดตั้ง
สำหรับ ufw บน Debian/Ubuntu:
sudo apt install ufw
สำหรับ firewalld บน CentOS:
sudo yum install firewalld
- เพิ่มกฎเพื่ออนุญาต SSH ก่อนเปิดใช้งานไฟร์วอลล์เพื่อหลีกเลี่ยง
ล็อกออก
สำหรับ ufw บน Debian/Ubuntu:
sudo ufw allow OpenSSH
สำหรับ firewalld บน CentOS:
sudo firewall-cmd --permanent --add-service=ssh
- เปิดใช้งานไฟร์วอลล์และตั้งค่ากฎเริ่มต้น:
สำหรับ ufw บน Debian/Ubuntu:
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
สำหรับ firewalld บน CentOS:
sudo systemctl start firewalld
sudo systemctl enable firewalld
- โหลดไฟร์วอลล์ใหม่เพื่อให้การเปลี่ยนแปลงมีผล
สำหรับ ufw บน Debian/Ubuntu:
sudo ufw reload
สำหรับ firewalld บน CentOS:
sudo systemctl reload firewalld
ปิดการเข้าสู่ระบบด้วย Root
การป้องกัน Linux VPS ของคุณต้องมีการจำกัดการเข้าถึง root ต่อไปนี้คือวิธี
ปิดใช้งานการเข้าสู่ระบบ root เพื่อความปลอดภัยที่ดีขึ้น:
- สร้างผู้ใช้ใหม่ เข้าสู่ระบบ VPS ของคุณด้วยบัญชี root แล้วสร้าง
บัญชีผู้ใช้ใหม่ที่มีสิทธิ์ sudo แทนที่ newuser ด้วยชื่อของคุณ
ชื่อผู้ใช้ที่ต้องการ:
adduser newuser
usermod -aG sudo newuser
- สร้างไดเรกทอรี่ .ssh และไฟล์ authorized_keys แล้วตั้งค่าสิทธิ์สำหรับ
ผู้ใช้ใหม่:
mkdir -p /home/newuser/.ssh
touch /home/newuser/.ssh/authorized_keys
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh
-
ตรวจสอบให้แน่ใจว่าได้สร้างและคัดลอกคีย์สาธารณะไปยัง
VPS. -
เข้าสู่ระบบด้วยบัญชีผู้ใช้ใหม่
-
ตัดการเชื่อมต่อจาก VPS (หากคุณเชื่อมต่อในฐานะ root) แล้ว
เข้าสู่ระบบอีกครั้งโดยใช้บัญชีผู้ใช้ใหม่ ซึ่งช่วยให้คุณสามารถดำเนิน
งานส่วนบริหารได้โดยใช้ sudo -
แก้ไขการตั้งค่า SSH:
เปิดไฟล์การตั้งค่าเซิร์ฟเวอร์ SSH บน VPS ของคุณ ไฟล์นี้มักจะ
อยู่ที่ /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
ค้นหาบรรทัดที่อ่านว่า PermitRootLogin และตั้งค่าเป็น no:
PermitRootLogin no
บันทึกไฟล์และออกจากตัวแก้ไขข้อความ
- รีสตาร์ท SSH Service:
หลังจากทำการเปลี่ยนแปลงนี้ คุณควรรีสตาร์ท SSH service เพื่อให้
การตั้งค่าใหม่มีผลบังคับใช้:
บน Debian/Ubuntu:
sudo systemctl restart ssh
บน CentOS:
sudo systemctl restart sshd
เสริมความปลอดภัย SSH
การตั้งค่า
การรักษาความปลอดภัย Linux VPS ต้องเสริมความแข็งแกร่งของ SSH
configuration เพิ่มเติมเพื่อความปลอดภัยที่ดีขึ้น และตรวจสอบให้แน่ใจว่า UFW rules อัพเดตแล้ว
นี่คือวิธีการเสริมความแข็งแกร่ง SSH settings และอัพเดต UFW
กฎ
- อนุญาต SSH Port ใหม่ใน UFW:
หากคุณใช้ UFW (Uncomplicated Firewall) ให้อนุญาต SSH port ใหม่ก่อน
ที่จะเปลี่ยนแปลง default port:
# Allow the new SSH port (e.g., 2222)
sudo ufw allow 2222/tcp
- ลบ OpenSSH ออกจาก UFW Rules:
หลังจากเปลี่ยน SSH port คุณควรลบ OpenSSH
service เดิม (default port 22) ออกจาก UFW rules เพื่อให้แน่ใจว่าอนุญาตเฉพาะ
SSH port ใหม่เท่านั้น:
# Remove the old OpenSSH service (default port 22)
sudo ufw delete allow OpenSSH
- เปลี่ยน SSH Port:
โดยค่าเริ่มต้น SSH ใช้ port 22 การเปลี่ยน default port จะเพิ่มชั้นความปลอดภัยพิเศษ
โดยทำให้ยากขึ้นสำหรับ automated bots ที่จะค้นหา
SSH server ของคุณ
เปิด SSH server configuration file:
sudo nano /etc/ssh/sshd_config
ค้นหาบรรทัดที่อ่านว่า Port 22 และเปลี่ยนหมายเลข port เป็น
port ที่ไม่ใช้งาน เช่น 2222:
Port 2222
- เปิดใช้งาน Key Reauthentication:
คุณสามารถตั้งค่าขีดจำกัดเวลาสำหรับ key reauthentication เพื่อรักษาความปลอดภัย
SSH session ของคุณเพิ่มเติม หมายความว่า หากคุณปล่อยให้ SSH session ของคุณ
หากปล่อยไว้โดยไม่มีการดูแล ระบบจะหมดอายุโดยอัตโนมัติหลังจากระยะเวลาที่กำหนด
เพิ่มหรือแก้ไขบรรทัดต่อไปนี้ในไฟล์การกำหนดค่าเซิร์ฟเวอร์ SSH
ไฟล์ จากนั้นบันทึก:
ClientAliveInterval 300
ClientAliveCountMax 2
- โหลดกฎ UFW และบริการ SSH ใหม่:
sudo ufw reload
sudo systemctl restart ssh
- เมื่อคุณทำการเปลี่ยนแปลงที่จำเป็นแล้ว คุณสามารถสร้างการเชื่อมต่อ SSH ใหม่ได้
โดยใช้คำสั่งต่อไปนี้:
ssh -p <new_port> user@your_server_ip
ติดตั้ง Fail2Ban
การรักษาความปลอดภัย Linux VPS เกี่ยวข้องกับการป้องกันจากการเข้าสู่ระบบแบบ brute-force
และกิจกรรมที่เป็นอันตรายอื่น ๆ Fail2Ban เป็นเครื่องมือที่มีประโยชน์
สำหรับวัตถุประสงค์นี้ นี่คือวิธีการใช้งาน Fail2Ban:
- ติดตั้ง Fail2Ban:
เริ่มต้นด้วยการอัปเดตรายการแพคเกจของคุณเพื่อให้แน่ใจว่าคุณมีเวอร์ชันล่าสุด
แพ็คเกจที่พร้อมใช้งาน:
สำหรับระบบตาม Debian (เช่น Ubuntu):
sudo apt update
สำหรับ CentOS:
sudo yum update
ติดตั้ง Fail2Ban:
สำหรับระบบตาม Debian:
sudo apt install fail2ban
สำหรับ CentOS:
sudo yum install fail2ban
- กำหนดค่า Fail2Ban:
ไฟล์การกำหนดค่าหลักของ Fail2Ban อยู่ที่
/etc/fail2ban/jail.confคุณสามารถสร้างการแทนที่
ไฟล์ที่ /etc/fail2ban/jail.local ปรับแต่งการตั้งค่า
โดยไม่ต้องแก้ไขการกำหนดค่าเริ่มต้น เปิดไฟล์นี้:
sudo nano /etc/fail2ban/jail.local
เพิ่มการกำหนดค่าต่อไปนี้เพื่อบล็อกที่อยู่ IP เป็นเวลา 10 นาที
(600 วินาที) หลังจากความพยายามเข้าสู่ระบบล้มเหลว 6 ครั้ง ปรับพารามิเตอร์ตามต้องการ
ต้องการ:
[sshd]
enabled = true
maxretry = 6
findtime = 600
bantime = 600
บันทึกไฟล์และออกจากตัวแก้ไขข้อความ
- เริ่มต้นและเปิดใช้งาน Fail2Ban:
เริ่มต้น Fail2Ban และเปิดใช้งานเพื่อให้เริ่มทำงานเมื่อ boot:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
- ตรวจสอบสถานะ Fail2Ban:
คุณสามารถตรวจสอบสถานะของ Fail2Ban เพื่อให้แน่ใจว่าทำงานตามที่คาดหวัง
ตามที่คาดไว้:
sudo fail2ban-client status
คุณควรเห็นว่าระบบกำลังมีการตรวจสอบบริการ SSH
วิธี 6 ประการที่สำคัญที่กล่าวถึงในที่นี้ให้การป้องกันที่มั่นคง
จากช่องโหว่ที่อาจเกิดขึ้น ด้วยการอัปเดตระบบของคุณให้เป็นปัจจุบัน
การใช้การรับรองความถูกต้องที่แข็งแกร่ง การกำหนดค่าไฟร์วอลล์ การเสริมความแข็งแกร่ง SSH
และการใช้งาน Fail2Ban คุณจะเพิ่มความปลอดภัยให้กับ VPS และรักษาความสงบสุขของ
ในโลกที่เชื่อมต่ออยู่ตลอดเวลา หากคุณมีคำถามใดๆ โปรดอย่า
อย่าลังเล ติดต่อทีมสนับสนุนของเราได้ที่ ส่งข้อมูล
ตั๋ว.
ยังอยู่ในส่วนความปลอดภัย
คู่มือที่เกี่ยวข้อง
ต้องการความช่วยเหลือเรื่องอื่น ๆ หรือไม่
เวลาตอบสนองมัธยฐานต่ำกว่า 1 ชั่วโมง พูดคุยกับคนจริง ไม่ใช่บอต