ลด 50% ทุกแผน มีเวลาจำกัด เริ่มต้นที่ $2.48/mo
เหลือเวลาอีก 14 นาที
ความปลอดภัยและเครือข่าย

วิธีรักษาความปลอดภัย Linux VPS | 20 วิธีในการรักษาความปลอดภัยเซิร์ฟเวอร์ VPS

เรกซ่า ไซรัส By เรกซ่า ไซรัส อ่าน 14 นาที อัปเดตเมื่อวันที่ 2 ต.ค. 2568
รักษาความปลอดภัยเซิร์ฟเวอร์ Linux VPS ด้วยโล่และแผนภูมิ

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

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

Linux VPS คืออะไร?

อินโฟกราฟิกความปลอดภัยของ Linux VPS
Linux VPS (Virtual Private Server) ทำงานบนแพลตฟอร์มคลาวด์ที่มีทรัพยากรเฉพาะแยกจากผู้ใช้รายอื่น แตกต่างจากโฮสติ้งที่ใช้ร่วมกันซึ่งบัญชีที่ถูกบุกรุกอาจส่งผลกระทบต่อบัญชีอื่น โฮสติ้ง VPS ที่ปลอดภัยจะแยกสภาพแวดล้อมของคุณออกจากกัน อย่างไรก็ตาม ผู้โจมตียังคงกำหนดเป้าหมายเซิร์ฟเวอร์ VPS ที่ไม่ปลอดภัยเพื่อขโมยข้อมูล ติดตั้งมัลแวร์ หรือเปิดการโจมตีกับระบบอื่น ๆ

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

ทำไมคุณควรรักษาความปลอดภัย Linux VPS ของคุณ

อินโฟกราฟิกภัยคุกคามความปลอดภัยของ VPS 

เซิร์ฟเวอร์ที่ไม่ปลอดภัยจะกลายเป็นเป้าหมายภายในไม่กี่ชั่วโมงหลังจากออนไลน์ องค์กรต่างๆ ในปัจจุบันต้องเผชิญกับการ การโจมตีทางไซเบอร์โดยเฉลี่ย 1,876 ครั้งต่อสัปดาห์ซึ่งเพิ่มขึ้นจากปีก่อนถึง 75% การทำความเข้าใจวิธีการรักษาความปลอดภัยโครงสร้างพื้นฐานเซิร์ฟเวอร์ Linux จะช่วยป้องกันภัยคุกคามอย่างต่อเนื่องเหล่านี้ซึ่งอาจเป็นอันตรายต่อระบบของคุณได้

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

โมเดลความปลอดภัยของ Linux (LSM)

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

อย่างไรก็ตาม LSM ไม่สามารถป้องกันการโจมตีที่เกิดจากการกำหนดค่าที่ไม่ดี รหัสผ่านที่ไม่รัดกุม หรือซอฟต์แวร์ที่ล้าสมัย พวกเขาให้รากฐานสำหรับวิธีการรักษาความปลอดภัยเซิร์ฟเวอร์ Linux แต่ต้องมีการใช้งานที่เหมาะสมจึงจะมีประสิทธิภาพ โฮสติ้ง Ubuntu VPS และลีนุกซ์รุ่นอื่นๆ

20 วิธีในการรักษาความปลอดภัย Linux VPS

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

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

1. ปรับปรุงซอฟต์แวร์ให้ทันสมัยอยู่เสมอ

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

กำหนดค่าการอัปเดตอัตโนมัติสำหรับแพตช์ความปลอดภัยที่สำคัญ:

# Ubuntu/Debian

sudo apt update && sudo apt upgrade -y

# CentOS/RHEL  

sudo yum update -y

ตั้งค่าการแจ้งเตือนทางอีเมลสำหรับการอัปเดตที่มีอยู่เพื่อรับทราบข้อมูลเกี่ยวกับแพตช์รักษาความปลอดภัยที่ต้องมีการตรวจสอบโดยเจ้าหน้าที่

2. ปิดการใช้งานการเข้าสู่ระบบรูท

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

สร้างผู้ใช้ที่เป็นผู้ดูแลระบบใหม่ก่อนปิดใช้งานการเข้าถึงรูท:

# Create new user

sudo adduser adminuser

sudo usermod -aG sudo adminuser

# Disable root login in SSH configuration

sudo nano /etc/ssh/sshd_config

# Change: PermitRootLogin no

sudo systemctl restart sshd

สิ่งนี้บังคับให้ผู้โจมตีคาดเดาทั้งชื่อผู้ใช้และรหัสผ่าน ซึ่งเพิ่มความปลอดภัยอย่างมาก

3. สร้างคู่คีย์ SSH

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

มาตรการรักษาความปลอดภัยนี้มีความสำคัญเป็นอย่างยิ่ง ข้อมูลประจำตัวที่ถูกขโมยทำหน้าที่เป็นเวกเตอร์การโจมตีเริ่มต้นใน 24% ของการละเมิดข้อมูล ตามการวิจัยด้านความปลอดภัย การโจมตีเหล่านี้ใช้เวลาในการตรวจจับและกักกันนานกว่าวิธีอื่นๆ ทำให้การป้องกันผ่านคีย์ SSH เป็นสิ่งจำเป็น

สร้างคู่คีย์ SSH เพื่อการตรวจสอบสิทธิ์ที่ปลอดภัย:

ssh-keygen -t rsa -b 4096

ssh-copy-id username@server-ip

คีย์ SSH สามารถมีความยาวได้สูงสุด 4,096 บิต ทำให้มีความปลอดภัยมากกว่ารหัสผ่านที่ซับซ้อนแบบทวีคูณ

4. เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัย

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

ติดตั้งและกำหนดค่าการรับรองความถูกต้องด้วยสองปัจจัย:

sudo apt install libpam-google-authenticator

google-authenticator

กำหนดค่าแอปตรวจสอบความถูกต้องบนมือถือของคุณเพื่อสร้างรหัสตามเวลาสำหรับการเข้าถึงเซิร์ฟเวอร์

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

พอร์ต SSH เริ่มต้น (22) ได้รับการพยายามโจมตีอย่างต่อเนื่องจากเครื่องมือสแกนอัตโนมัติ การเปลี่ยนไปใช้พอร์ตแบบกำหนดเองจะช่วยลดโอกาสเสี่ยงต่อการโจมตีอัตโนมัติเหล่านี้ โดยพิจารณาว่า ค่าใช้จ่ายเฉลี่ยทั่วโลกของการละเมิดข้อมูลสูงถึง 4.88 ล้านดอลลาร์ ในปี 2024 แม้แต่มาตรการรักษาความปลอดภัยง่ายๆ เช่น การเปลี่ยนพอร์ต ก็มอบการป้องกันที่มีคุณค่าต่อภัยคุกคามอัตโนมัติ

สำหรับลีนุกซ์รุ่นส่วนใหญ่:

sudo nano /etc/ssh/sshd_config

# Find: #Port 22

# Change to: Port 2222 (choose a port between 1024-65535)

sudo systemctl restart sshd

สำหรับ Ubuntu 23.04 และเวอร์ชันที่ใหม่กว่า:

sudo nano /lib/systemd/system/ssh.socket

# Update ListenStream=2222

sudo systemctl daemon-reload

sudo systemctl restart ssh.service

สำคัญ: ทดสอบพอร์ตใหม่ก่อนที่จะปิดเซสชันปัจจุบันของคุณ:

# Test connection in a new terminal

ssh username@server-ip -p 2222

อัปเดตกฎไฟร์วอลล์ของคุณเพื่ออนุญาตพอร์ตใหม่:

sudo ufw allow 2222

sudo ufw delete allow 22  # Remove old rule after testing

อย่าลืมระบุพอร์ตใหม่เมื่อเชื่อมต่อ: ssh ชื่อผู้ใช้@เซิร์ฟเวอร์-ip -p 2222

6. ปิดการใช้งานพอร์ตเครือข่ายที่ไม่ได้ใช้และ IPv6

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

ดูพอร์ตที่เปิดอยู่ในปัจจุบัน:

sudo netstat -tulpn

# Alternative command

sudo ss -tulpn

ใช้ ไอพีเทเบิล เพื่อจัดการกฎไฟร์วอลล์และปิดพอร์ตที่ไม่จำเป็น

ปิดการใช้งาน IPv6 หากไม่จำเป็น:

sudo nano /etc/sysctl.conf

# Add these lines:

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

# Apply changes

sudo sysctl -p

# Verify IPv6 is disabled

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

# Should return 1

อัปเดตการกำหนดค่าเครือข่าย (ค้นหาไฟล์ netplan จริงของคุณ):

# Find netplan configuration files

ls /etc/netplan/

# Edit your specific configuration file

sudo nano /etc/netplan/[your-config-file].yaml

# Comment out IPv6 configuration lines

sudo netplan apply

7. กำหนดค่าไฟร์วอลล์

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

การตั้งค่า UFW ด่วน:

sudo ufw default deny incoming

sudo ufw default allow outgoing

sudo ufw allow ssh

sudo ufw enable

กฎไฟร์วอลล์ที่สำคัญ:

วัตถุประสงค์ สั่งการ ผลลัพธ์
อนุญาต HTTP sudo ufw อนุญาต 80 อนุญาตให้มีการเข้าชมเว็บ
อนุญาต HTTPS sudo ufw อนุญาต 443 การเข้าชมเว็บที่ปลอดภัย
อนุญาตพอร์ต SSH ที่กำหนดเอง sudo ufw อนุญาต 2222 SSH บนพอร์ตที่กำหนดเอง
บล็อก IP เฉพาะ sudo ufw ปฏิเสธจาก 192.168.1.100 IP ถูกบล็อกอย่างสมบูรณ์

ตรวจสอบสถานะไฟร์วอลล์:

sudo ufw status verbose

การกำหนดค่านี้จะบล็อกการรับส่งข้อมูลขาเข้าทั้งหมด ยกเว้นการเชื่อมต่อ SSH

8. ติดตั้งแอปพลิเคชันป้องกันมัลแวร์และป้องกันไวรัส

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

ติดตั้ง ClamAV เพื่อการสแกนไวรัสที่ครอบคลุม:

sudo apt install clamav clamav-daemon clamav-freshclam

sudo freshclam

sudo systemctl enable clamav-freshclam

sudo systemctl start clamav-freshclam

เรียกใช้การสแกนด้วยตนเองในไดเร็กทอรีที่สำคัญ:

sudo clamscan -r /home --infected --remove --bell

sudo clamscan -r /var/www --infected --remove

เพื่อการป้องกันที่ดียิ่งขึ้น ให้ติดตั้ง Maldet ควบคู่ไปกับ ClamAV:

# Verify URL availability before downloading

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

tar -xzf maldetect-current.tar.gz

cd maldetect-*

sudo ./install.sh

# Note: Always verify download URLs from official sources before use

กำหนดเวลาการสแกนอัตโนมัติรายวันด้วย cron:

# Add to crontab: Daily scan at 2 AM

0 2 * * * /usr/bin/clamscan -r /home --quiet --infected --remove

9. ติดตั้งเครื่องสแกนรูทคิท

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

ติดตั้งและกำหนดค่า Chkrootkit สำหรับการตรวจจับรูทคิท:

sudo apt install chkrootkit

sudo chkrootkit | grep INFECTED

ติดตั้ง RKHunter เพื่อป้องกันรูทคิทเพิ่มเติม:

sudo apt install rkhunter

sudo rkhunter --update

sudo rkhunter --propupd

sudo rkhunter --check

สร้างการสแกนรูทคิทอัตโนมัติรายสัปดาห์:

# Add to crontab: Weekly rootkit scan every Sunday at 3 AM

0 3 * * 0 /usr/bin/rkhunter --cronjob --update --quiet

0 4 * * 0 /usr/bin/chkrootkit | grep INFECTED > /var/log/chkrootkit.log

หากตรวจพบรูทคิท ให้แยกเซิร์ฟเวอร์ทันทีและพิจารณาการติดตั้งระบบปฏิบัติการใหม่ทั้งหมด เนื่องจากรูทคิทอาจลบออกทั้งหมดได้ยากมากในขณะที่ยังคงรักษาความสมบูรณ์ของระบบไว้

10. ใช้ Fail2Ban เพื่อป้องกันการบุกรุก

Fail2Ban ตรวจสอบความพยายามในการเข้าสู่ระบบและบล็อกที่อยู่ IP ที่แสดงพฤติกรรมที่เป็นอันตรายโดยอัตโนมัติ เช่น การพยายามเข้าสู่ระบบล้มเหลวซ้ำแล้วซ้ำอีก

การติดตั้งอย่างรวดเร็ว:

sudo apt install fail2ban

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

sudo nano /etc/fail2ban/jail.local

การตั้งค่าการป้องกัน SSH ที่จำเป็น:

[sshd]

enabled = true

port = ssh

maxretry = 3

bantime = 3600

findtime = 600

ค่าการกำหนดค่าที่สำคัญ:

การตั้งค่า ค่า ความหมาย
แม็กซ์รีทรีท 3 ความพยายามล้มเหลวก่อนที่จะถูกแบน
แบนไทม์ 3600 ระยะเวลาแบน (1 ชั่วโมง)
หาเวลา 600 กรอบเวลา (10 นาที)

เริ่มต้นและเปิดใช้งาน:

sudo systemctl start fail2ban

sudo systemctl enable fail2ban

ตรวจสอบ IP ที่ถูกแบน:

sudo fail2ban-client status sshd

11. เปิด SELinux

Security-Enhanced Linux (SELinux) ให้การควบคุมการเข้าถึงที่จำเป็นซึ่งจำกัดสิ่งที่โปรแกรมสามารถทำได้ แม้ว่าโปรแกรมเหล่านั้นจะถูกบุกรุกก็ตาม มันสร้างชั้นความปลอดภัยเพิ่มเติมนอกเหนือจากสิทธิ์ Linux มาตรฐาน

ตรวจสอบและเปิดใช้งาน SELinux:

sestatus

sudo setenforce enforcing

นโยบาย SELinux ป้องกันไม่ให้แอปพลิเคชันที่ถูกบุกรุกเข้าถึงทรัพยากรระบบที่ไม่ได้รับอนุญาต ปฏิบัติตามสิ่งเหล่านี้ คำแนะนำสั้นๆ เพื่อใช้ประโยชน์สูงสุดจาก SELinux เพื่อการกำหนดค่าที่เหมาะสมที่สุด

12. ปกป้องไฟล์ ไดเร็กทอรี และอีเมล

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

ใช้ GPG สำหรับการเข้ารหัสไฟล์:

gpg --cipher-algo AES256 --compress-algo 1 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 65536 --symmetric filename

ตั้งค่าการอนุญาตไฟล์ที่เหมาะสมเพื่อจำกัดการเข้าถึง:

chmod 600 sensitive-file    # Owner read/write only

chmod 700 private-directory # Owner access only

13. สำรองข้อมูลเป็นประจำ

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

สร้างสคริปต์สำรองข้อมูลอัตโนมัติ:

#!/bin/bash

tar -czf /backup/$(date +%Y%m%d)-system.tar.gz /home /etc /var/log

จัดเก็บข้อมูลสำรองไว้ในหลายๆ ตำแหน่ง รวมถึงการจัดเก็บข้อมูลนอกสถานที่ ตามกฎการสำรองข้อมูล 3-2-1

14. สร้างการแบ่งพาร์ติชันดิสก์

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

รูปแบบพาร์ติชันที่แนะนำ:

/บูต     – 500MB   (ไฟล์บูต)

/         – 20GB    (ไฟล์ระบบ)

/บ้าน     – 50GB    (ข้อมูลผู้ใช้)

/var      – 10GB    (บันทึกและฐานข้อมูล)

/tmp      – 2GB     (ไฟล์ชั่วคราว)

แลกเปลี่ยน      – 2GB     (หน่วยความจำเสมือน)

ติดตั้งพาร์ติชันชั่วคราวด้วยข้อจำกัดด้านความปลอดภัย:

# Add to /etc/fstab for permanent mounting

echo "tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=2G 0 0" >> /etc/fstab

echo "tmpfs /var/tmp tmpfs defaults,noexec,nosuid,nodev,size=1G 0 0" >> /etc/fstab

#สมัครทันที

sudo mount -a

ตรวจสอบความปลอดภัยของพาร์ติชัน:

mount | grep -E "(noexec|nosuid|nodev)"

df -h  # Check disk usage by partition

ที่ noexec ตัวเลือกป้องกันไม่ให้โปรแกรมปฏิบัติการที่เป็นอันตรายทำงาน โนซูอิด ปิดการใช้งานบิต set-user-ID และ โหนด ป้องกันการสร้างไฟล์อุปกรณ์ในไดเร็กทอรีชั่วคราว

15. ตรวจสอบบันทึกเซิร์ฟเวอร์

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

บันทึกที่สำคัญในการตรวจสอบ:

ไฟล์บันทึก วัตถุประสงค์ สั่งการ
/var/log/auth.log (เดเบียน/อูบุนตู)<br>/var/log/secure (CentOS/RHEL) ความพยายามเข้าสู่ระบบ sudo tail -f /var/log/auth.log<br>sudo tail -f /var/log/secure.php
/var/log/syslog (เดเบียน/อูบุนตู)<br>/var/log/messages (CentOS/RHEL) ข้อความของระบบ sudo tail -f /var/log/syslog.php<br>sudo tail -f /var/log/messages
/var/log/apache2/access.log (เดเบียน/อูบุนตู)<br>/var/log/httpd/access_log (CentOS/RHEL) การเข้าชมเว็บ sudo tail -f /var/log/apache2/access.log<br>sudo tail -f /var/log/httpd/access_log
/var/log/fail2ban.log IP ที่ถูกบล็อก sudo tail -f /var/log/fail2ban.log

คำสั่งการวิเคราะห์บันทึกด่วน:

# Failed login attempts (adjust path for your distribution)

sudo grep "Failed password" /var/log/auth.log | tail -10

# Successful logins

sudo grep "Accepted" /var/log/auth.log | tail -10

# Large file transfers (adjust path for your web server)

sudo awk '{print $10}' /var/log/apache2/access.log | sort -n | tail -10

การตรวจสอบบันทึกอัตโนมัติ:

# Install logwatch for daily summaries

sudo apt install logwatch

sudo logwatch --detail Med --mailto [email protected] --service All

ตั้งค่าการหมุนเวียนบันทึกเพื่อป้องกันไม่ให้ไฟล์บันทึกใช้พื้นที่ดิสก์มากเกินไป

16. ใช้รหัสผ่านที่รัดกุม

รหัสผ่านที่คาดเดายากจะต้านทานการโจมตีแบบใช้กำลังดุร้ายและการโจมตีด้วยพจนานุกรม รหัสผ่านที่อ่อนแอสามารถถอดรหัสได้ภายในไม่กี่นาทีโดยใช้พลังการประมวลผลสมัยใหม่

ข้อกำหนดรหัสผ่าน:

  • ขั้นต่ำ 12 ตัวอักษร
  • การผสมผสานระหว่างตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข และสัญลักษณ์
  • ไม่มีคำในพจนานุกรมหรือข้อมูลส่วนบุคคล
  • ไม่ซ้ำกันสำหรับแต่ละบัญชี

ใช้เครื่องมือจัดการรหัสผ่านเพื่อสร้างและจัดเก็บรหัสผ่านที่ซับซ้อนอย่างปลอดภัย เมื่อรวมกับโมเดลความปลอดภัยของ Linux อื่นๆ ที่มีหลักการไดอะแกรม รหัสผ่านที่รัดกุมจะสร้างชั้นการป้องกันหลายชั้นที่ป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต

17. ต้องการ SFTP มากกว่า FTP

FTP มาตรฐานส่งข้อมูลและข้อมูลประจำตัวในรูปแบบข้อความธรรมดา ทำให้ผู้ดักฟังเครือข่ายมองเห็นได้ SFTP เข้ารหัสการรับส่งข้อมูลทั้งหมด ปกป้องข้อมูลที่ละเอียดอ่อน และรองรับสถาปัตยกรรม Linux เซิร์ฟเวอร์ไฟล์ที่ปลอดภัย

กำหนดค่าการเข้าถึง SFTP เท่านั้น:

sudo nano /etc/ssh/sshd_config

# Add: Subsystem sftp internal-sftp

ปิดใช้งานบริการ FTP มาตรฐานเพื่อลดความเสี่ยงด้านความปลอดภัย:

sudo systemctl disable vsftpd

sudo systemctl stop vsftpd

18. เปิดใช้งานการอัปเดตอัตโนมัติ CMS

ระบบการจัดการเนื้อหา (WordPress, Drupal, Joomla) มักออกแพทช์รักษาความปลอดภัย การเปิดใช้งานการอัปเดตอัตโนมัติช่วยให้มั่นใจได้ว่าช่องโหว่ที่สำคัญได้รับการแก้ไขทันที

สำหรับ WordPress ให้เพิ่มไปที่ wp-config.php:

define('WP_AUTO_UPDATE_CORE', true);

add_filter('auto_update_plugin', '__return_true');

add_filter('auto_update_theme', '__return_true');

ตรวจสอบบันทึกการอัปเดตเพื่อให้มั่นใจถึงความเข้ากันได้และฟังก์ชันการทำงาน

19. ปิดการใช้งานการอัพโหลด FTP แบบไม่ระบุชื่อ

Anonymous FTP ช่วยให้ใครก็ตามสามารถอัพโหลดไฟล์ไปยังเซิร์ฟเวอร์ของคุณโดยไม่ต้องมีการตรวจสอบสิทธิ์ สิ่งนี้อาจทำให้เซิร์ฟเวอร์ของคุณโฮสต์เนื้อหาที่ผิดกฎหมาย มัลแวร์ หรือกลายเป็นจุดแจกจ่ายสำหรับการโจมตี

กำหนดค่า vsftpd เพื่อต้องมีการรับรองความถูกต้อง:

sudo nano /etc/vsftpd.conf

# ปิดการใช้งานการเข้าถึงแบบไม่ระบุชื่อ

anonymous_enable=NO

# เปิดใช้งานการตรวจสอบสิทธิ์ผู้ใช้ท้องถิ่น

local_enable=YES

write_enable=YES

local_umask=022

# จำกัด ผู้ใช้ให้อยู่ในโฮมไดเร็กทอรีของตน

chroot_local_user=YES

allow_writeable_chroot=YES

# การตั้งค่าความปลอดภัย

ssl_enable=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

เริ่มบริการ FTP ใหม่:

sudo systemctl restart vsftpd

sudo systemctl enable vsftpd

สร้างบัญชีผู้ใช้ FTP ด้วยสิทธิ์ที่จำกัด:

sudo adduser ftpuser

sudo usermod -d /var/ftp/uploads ftpuser

sudo chown ftpuser:ftpuser /var/ftp/uploads

sudo chmod 755 /var/ftp/uploads

ตรวจสอบบันทึกการเข้าถึง FTP เพื่อหากิจกรรมที่น่าสงสัย:

sudo tail -f /var/log/vsftpd.log

20. กำหนดค่าการป้องกันแบบ Brute Force

ใช้การป้องกันแบบ Brute Force หลายชั้นนอกเหนือจาก Fail2Ban เพื่อป้องกันการโจมตีอัตโนมัติที่ซับซ้อน

กำหนดค่าการป้องกันเพิ่มเติม:

# Limit SSH connection attempts

sudo nano /etc/ssh/sshd_config

# Add: MaxAuthTries 3

# Add: ClientAliveInterval 300

# Add: ClientAliveCountMax 2

ใช้เครื่องมือเช่น DenyHosts ควบคู่ไปกับ Fail2Ban เพื่อการป้องกันที่ครอบคลุม

บทสรุป

การรักษาความปลอดภัย Linux VPS ต้องใช้การป้องกันหลายชั้น ตั้งแต่การเปลี่ยนแปลงการกำหนดค่าพื้นฐานไปจนถึงระบบการตรวจสอบขั้นสูง เริ่มต้นด้วยมาตรการรักษาความปลอดภัยขั้นพื้นฐาน (การอัปเดตซอฟต์แวร์ การกำหนดค่าไฟร์วอลล์ การป้องกัน SSH) ก่อนที่จะเพิ่มเครื่องมือที่ซับซ้อน เช่น การตรวจจับการบุกรุกและการตรวจสอบอัตโนมัติ

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

โปรดจำไว้ว่ามาตรการรักษาความปลอดภัยเหล่านี้ทำงานร่วมกัน ไม่มีเทคนิคใดที่จะให้การป้องกันที่สมบูรณ์ได้ การใช้กลยุทธ์ทั้ง 20 กลยุทธ์จะสร้างชั้นความปลอดภัยที่ทับซ้อนกัน ซึ่งจะช่วยลดความเสี่ยงของเซิร์ฟเวอร์ของคุณต่อการโจมตีทั่วไปได้อย่างมาก ไม่ว่าคุณจะต้องการการกำหนดค่า Linux เซิร์ฟเวอร์ไฟล์ที่ปลอดภัยหรือการป้องกันโฮสติ้ง VPS ที่ปลอดภัยทั่วไป ขั้นตอนพื้นฐานเหล่านี้มอบการรักษาความปลอดภัยที่จำเป็น

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

ฉันควรอัพเดต Linux VPS บ่อยแค่ไหน?

อัปเดตแพตช์รักษาความปลอดภัยที่สำคัญทันที กำหนดเวลาการอัปเดตระบบแบบเต็มทุกสัปดาห์

การเปลี่ยนพอร์ต SSH จำเป็นจริงหรือ?

ใช่. การเปลี่ยนพอร์ต SSH จะช่วยลดความพยายามในการโจมตีอัตโนมัติได้มากกว่า 90%

ฉันสามารถใช้มาตรการรักษาความปลอดภัยทั้ง 20 รายการพร้อมกันได้หรือไม่

เริ่มต้นด้วยการวัด 1-10 ก่อน จากนั้นค่อยๆ ใช้เทคนิคขั้นสูงเพื่อป้องกันความขัดแย้งในการกำหนดค่า

ฉันจะรู้ได้อย่างไรว่าเซิร์ฟเวอร์ของฉันถูกบุกรุก?

ตรวจสอบบันทึกกิจกรรมที่ผิดปกติ ตรวจสอบกระบวนการทำงาน และตรวจสอบการเชื่อมต่อเครือข่ายเป็นประจำ

ฉันควรทำอย่างไรหากฉันถูกล็อคหลังจากใช้มาตรการรักษาความปลอดภัยเหล่านี้?

ทดสอบการกำหนดค่าก่อนออกจากระบบเสมอ เปิดเซสชัน SSH สำรองไว้และใช้การเข้าถึงคอนโซลของผู้ให้บริการโฮสต์ของคุณ

มาตรการรักษาความปลอดภัยเหล่านี้เพียงพอสำหรับเซิร์ฟเวอร์ที่ใช้งานจริงหรือไม่

สิ่งเหล่านี้เป็นรากฐานที่มั่นคง สภาพแวดล้อมการผลิตอาจต้องมีการตรวจสอบเพิ่มเติม การตรวจสอบการปฏิบัติตามข้อกำหนด และเครื่องมือรักษาความปลอดภัยเฉพาะทาง

แบ่งปัน

เพิ่มเติมจากบล็อก

อ่านต่อ

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

การตั้งค่า MikroTik L2TP VPN (พร้อม IPsec): คู่มือ RouterOS (2026)

ในการตั้งค่า MikroTik L2TP VPN นี้ L2TP จะจัดการทันเนล ในขณะที่ IPsec จะจัดการการเข้ารหัสและความสมบูรณ์ การจับคู่สิ่งเหล่านี้จะทำให้คุณเข้ากันได้กับไคลเอ็นต์ดั้งเดิมโดยไม่มีอายุของบุคคลที่สาม

เรกซ่า ไซรัสเรกซ่า ไซรัส อ่าน 9 นาที
หน้าต่างเทอร์มินัลที่แสดงข้อความเตือน SSH เกี่ยวกับการเปลี่ยนแปลงการระบุโฮสต์ระยะไกล โดยมีชื่อ Fix Guide และแบรนด์ Cloudzy บนพื้นหลังสีน้ำเงินเข้ม
ความปลอดภัยและเครือข่าย

คำเตือน: การระบุโฮสต์ระยะไกลมีการเปลี่ยนแปลง & วิธีแก้ไข

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

เรกซ่า ไซรัสเรกซ่า ไซรัส อ่าน 10 นาที
ภาพประกอบคำแนะนำในการแก้ไขปัญหาเซิร์ฟเวอร์ DNS พร้อมสัญลักษณ์เตือนและเซิร์ฟเวอร์สีน้ำเงินบนพื้นหลังสีเข้มสำหรับข้อผิดพลาดในการแก้ไขชื่อ Linux
ความปลอดภัยและเครือข่าย

ความล้มเหลวชั่วคราวในการแก้ไขชื่อ: หมายความว่าอย่างไรและจะแก้ไขได้อย่างไร

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

เรกซ่า ไซรัสเรกซ่า ไซรัส อ่าน 12 นาที

พร้อมที่จะใช้งานหรือยัง? จาก $2.48/เดือน

คลาวด์อิสระ ตั้งแต่ปี 2008 AMD EPYC, NVMe, 40 Gbps คืนเงินภายใน 14 วัน