เซิร์ฟเวอร์เฉพาะ: เคล็ดลับความปลอดภัย Linux
คู่มือนี้ถูกสร้างขึ้นด้วยผลิตภัณฑ์ดังต่อไปนี้:
(รายละเอียดอาจแตกต่างกันไปตามผลิตภัณฑ์จากผู้ให้บริการต่างๆ แต่แนวคิดหลักยังคงเหมือนเดิม)
บทนำ
คู่มือนี้มีเคล็ดลับและคำแนะนำเกี่ยวกับวิธีทำให้เซิร์ฟเวอร์ Linux ของคุณปลอดภัยมากขึ้น โดยเฉพาะอย่างยิ่งเพราะเซิร์ฟเวอร์ต้องเข้าถึงจากภายนอก การป้องกันพื้นฐานจากการเข้าถึงที่ไม่ต้องการจึงเป็นสิ่งที่แนะนำอย่างยิ่งและไม่ควรมองข้าม
โปรดทราบว่าคำแนะนำเหล่านี้ไม่ครอบคลุมทั้งหมด และข้อมูลเชิงลึกเพิ่มเติมสามารถหาได้ในส่วนอื่น ๆ ของเอกสาร ZAP (เช่น 2FA (SSH))
วิธีที่ง่ายที่สุดในการปกป้องเซิร์ฟเวอร์ของคุณเหมือนกันเสมอ ไม่ว่าจะเป็นเซิร์ฟเวอร์ประเภทใด: ใช้รหัสผ่านที่ปลอดภัย อัปเดตบริการของคุณอย่างสม่ำเสมอ และโดยทั่วไปให้ระวังว่าคุณจะติดตั้งบริการอะไรและทำตามคู่มือไหน
การรักษาความปลอดภัย SSH
SSH (Secure Shell) คือบริการที่ให้คุณเข้าถึงคอนโซลเซิร์ฟเวอร์จากระยะไกลเพื่อสั่งคำสั่งบนเซิร์ฟเวอร์ ดูวิธีตั้งค่า SSH บนเซิร์ฟเวอร์ของคุณได้ที่: การเข้าถึงเบื้องต้น (SSH)
โดยค่าเริ่มต้น SSH จะใช้การล็อกอินด้วยรหัสผ่าน แต่มีข้อเสียใหญ่คือการยืนยันตัวตนอาจถูกเจาะได้ง่ายด้วยการโจมตีแบบ brute force โดยเฉพาะถ้าคุณใช้รหัสผ่านที่ง่ายเกินไปสำหรับการล็อกอิน SSH ดังนั้นถ้าคุณเลือกใช้วิธีรหัสผ่าน โปรดใช้รหัสผ่านที่ ปลอดภัย
เพื่อปกป้องเซิร์ฟเวอร์ของคุณจากการเข้าถึง SSH ที่ไม่ต้องการให้ดียิ่งขึ้น คุณควรเปิดใช้งานการยืนยันตัวตนผ่าน SSH keys เท่านั้น และปิดการล็อกอินด้วยรหัสผ่าน ดูคู่มือ SSH Key ที่อธิบายวิธีสร้างและเพิ่ม SSH keys
การตั้งค่าพอร์ตของบริการของคุณ
| บริการ | พอร์ต |
|---|---|
| SSH | 22 |
| FTP | 21 |
| 25 | |
| DNS | 53 |
| HTTP | 80 |
| HTTPS | 443 |
บริการอย่าง SSH หรือ FTP จะใช้พอร์ตเดียวกันโดยค่าเริ่มต้น (บางส่วนแสดงในตารางด้านบน) หากผู้ไม่หวังดีต้องการโจมตี brute force บริการ SSH ของคุณ พวกเขาต้องรู้ก่อนว่าพอร์ตไหนใช้สำหรับ SSH หากคุณไม่เปลี่ยนพอร์ตเหล่านี้ พอร์ต 22 และ 21 จะเป็นเป้าหมายหลักสำหรับการสั่งคำสั่งบนเซิร์ฟเวอร์หรือเข้าถึงไฟล์ผ่าน FTP
เพื่อป้องกันสิ่งนี้ เราแนะนำให้ตั้งค่าพอร์ตของบริการมาตรฐานเป็นพอร์ตที่กำหนดเอง ในส่วนถัดไปของคู่มือนี้คุณจะได้เรียนรู้วิธีทำ
พอร์ตที่คุณเลือกต้องอยู่ระหว่าง 1024 ถึง 65536 และไม่ควรเป็นพอร์ตที่ถูกใช้งานอยู่แล้ว!
คุณสามารถใช้คำสั่ง cat /etc/services เพื่อแสดงพอร์ตมาตรฐานบางส่วนเพื่อช่วยป้องกันการเลือกพอร์ตที่ถูกใช้งานแล้ว
พอร์ต SSH
เพื่อเปลี่ยนพอร์ต SSH คุณต้องแก้ไขไฟล์คอนฟิก ซึ่งโดยปกติจะอยู่ที่ /etc/ssh/sshd_config แต่ถ้าไม่เจอที่นั่น ให้ใช้คำสั่งนี้ค้นหา
find / -name "sshd_config" 2>/dev/null
เปิดไฟล์ด้วย nano (ในฐานะ root หรือใช้ sudo)
sudo nano /etc/ssh/sshd_config
เพิ่มพอร์ตที่ต้องการหลัง Port หาก Port ถูกคอมเมนต์ไว้ (เช่น #Port 22) ให้ลบ "#" ออกและแทนที่ 22 ด้วยพอร์ตที่คุณต้องการ จากนั้นบันทึกไฟล์ (ใน Nano กด Ctrl + o) และปิดไฟล์ (Ctrl + x)
ต้องรีสตาร์ทบริการ SSH เพื่อให้การเปลี่ยนแปลงมีผล
# ตัวอย่างบน Ubuntu/Debian/CentOS
sudo systemctl restart sshd
พอร์ต FTP
ถ้าคุณติดตั้งบริการ FTP เช่น proFTPd คุณก็สามารถเปลี่ยนพอร์ตได้ง่าย ๆ โดยแก้ไขไฟล์คอนฟิก ขั้นตอนจะคล้ายกับ SSH
ค้นหาไฟล์คอนฟิก proftpd.conf
find / -name "proftpd.conf" 2>/dev/null
ไฟล์นี้โดยปกติจะอยู่ที่ /etc/proftpd.conf (CentOS) หรือ /etc/proftpd/proftpd.conf (Ubuntu, Debian)
เปิดไฟล์ด้วย nano แล้วลบ "#" หน้า port และใส่พอร์ตที่ต้องการ โปรดระวังไม่ใส่พอร์ตที่ไม่ถูกต้องตามคำแนะนำข้างต้น
ใช้ Ctrl + W เพื่อค้นหาใน nano
nano /etc/proftpd/proftpd.conf
การใช้ไฟร์วอลล์
หลักการของการเข้าถึงเซิร์ฟเวอร์จากภายนอกคือ ต้องเปิดพอร์ตเพื่อให้เซิร์ฟเวอร์เข้าถึงได้ สำหรับ SSH โดยค่าเริ่มต้นคือพอร์ต 22/TCP (ดูวิธีเปลี่ยนพอร์ตข้างต้น)
ปัญหาคือพอร์ตนี้จะเปิดให้ทุกคนเข้าถึงได้ ไม่ว่าจะเป็นใคร อยู่ที่ไหน หรือมีเจตนาอะไร ซึ่งเป็นช่องโหว่ความปลอดภัยใหญ่ เพราะผู้ไม่หวังดีอาจส่งคำขอล็อกอินจำนวนมากเพื่อหาคำรหัสผ่านที่ถูกต้อง (ถ้าคุณยังเปิดล็อกอินด้วยรหัสผ่าน) หรือพยายามโจมตีเครือข่ายเซิร์ฟเวอร์ด้วยการโจมตีแบบ flooding (เช่น DDoS)
เพื่อบรรเทาปัญหานี้ คุณสามารถตั้งกฎไฟร์วอลล์เพื่อจำกัดการเข้าถึงพอร์ตที่เปิดอยู่
มีวิธีหลัก ๆ ให้เลือกใช้:
- IPTables: ไฟร์วอลล์ Linux แบบดั้งเดิม มีตัวเลือกเยอะ แต่ใช้งานซับซ้อนกว่า
- UFW: อินเทอร์เฟซที่ง่ายกว่า IPTables สำหรับใช้งานโดยไม่ต้องพิมพ์คำสั่งซับซ้อน แต่มีข้อจำกัดมากกว่า
สุดท้ายแล้วขึ้นอยู่กับคุณว่าจะเลือกใช้วิธีไหน บางแอปอาจต้องการความยืดหยุ่นของ IPTables แต่บางครั้ง UFW ก็เพียงพอแล้ว (เช่น แค่เปิด/ปิดพอร์ต ซึ่งดีกว่าไม่ทำอะไรเลย!)
IPTables
ในส่วนนี้ คุณจะใช้ IPTables สร้างกฎจำกัดจำนวนครั้งที่เชื่อมต่อได้ คำอธิบายคำสั่งแต่ละบรรทัดอยู่ใต้โค้ดบล็อก
โปรดทราบว่ากฎนี้จะทำงานเฉพาะกับ พอร์ต 22 (ค่าหลัง --dport) หากต้องการใช้กับบริการอื่นต้องแก้ไขคำสั่งให้เหมาะสม
คำสั่งต่อไปนี้อาจไม่ทำงานกับทุกดิสโทร Linux แต่จะใช้ได้กับดิสโทรยอดนิยมส่วนใหญ่
ล็อกอินเข้าเซิร์ฟเวอร์ Linux ของคุณก่อน ถ้าต้องการความช่วยเหลือดูคู่มือ การเข้าถึงเบื้องต้น (SSH) จากนั้นรันคำสั่งตามลำดับนี้
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 --connlimit-mask 32 -j DROP
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 1 --hitcount 2 -j DROP
- กฎแรกจะบล็อกแพ็กเก็ตถ้ามีการเชื่อมต่อมากกว่า 2 ครั้งในสถานะ
TIME_WAITไปยังพอร์ต 22 จาก IP เดียวกัน - กฎที่สองจะเพิ่มที่อยู่ IP ของการเชื่อมต่อใหม่ลงในรายการ
recent - กฎที่สามจะบล็อกการเชื่อมต่อใหม่จาก IP ที่พยายามเชื่อมต่อเกิน 2 ครั้งใน 1 วินาทีที่ผ่านมา
UFW
อย่างที่บอกไป UFW คืออินเทอร์เฟซที่ง่ายกว่า IPTables ขั้นแรกต้องติดตั้ง UFW เพราะไม่ได้ติดตั้งมาในทุกดิสโทร Linux คุณควรรันคำสั่งในฐานะ root หรือใช้ sudo
ล็อกอินเข้าเซิร์ฟเวอร์ Linux ของคุณก่อน ถ้าต้องการความช่วยเหลือดูคู่มือ การเข้าถึงเบื้องต้น (SSH) คำสั่งตัวอย่างนี้ใช้ Debian และ Ubuntu แต่ควรใช้ได้กับดิสโทรอื่นด้วย
อัปเดต apt และแพ็กเกจที่ติดตั้งอยู่
sudo apt update && sudo apt upgrade -y
ติดตั้ง UFW ผ่าน apt
sudo apt install ufw -y
ตรวจสอบการติดตั้งด้วยคำสั่งนี้
sudo ufw status
> Firewall not loaded
เพื่อไม่ให้ล็อกตัวเองออกจากเซิร์ฟเวอร์ ต้องเปิดใช้งานบริการ ssh ก่อนเปิดไฟร์วอลล์
ถ้าคุณเปลี่ยนพอร์ต SSH แล้ว ให้ใช้พอร์ตใหม่แทน 22 ในคำสั่งด้านล่าง
เปิดใช้งาน ssh ด้วยคำสั่งนี้
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status
ผลลัพธ์ที่สำเร็จควรเป็นแบบนี้
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
จากนั้นรันคำสั่งนี้เพื่อจำกัดการเชื่อมต่อที่ 6 ครั้งต่อนาที
ufw limit 22/tcp
UFW จำกัดการเชื่อมต่อได้แค่ 6 ครั้งต่อนาทีเท่านั้น ตัวจำกัดของ UFW ค่อนข้างง่ายและอาจไม่เหมาะกับทุกสถานการณ์ สำหรับการตั้งค่าที่ละเอียดและยืดหยุ่นกว่า แนะนำใช้ IPTables โดยตรง
ไฟร์วอลล์ (ไม่ว่าจะ IPTables หรือ UFW) จะนับจำนวนการเชื่อมต่อและบล็อกตามนั้นเท่านั้น แต่ Fail2Ban สามารถตรวจสอบไฟล์ล็อกเพื่อหาความผิดปกติได้ ส่วนถัดไปจะอธิบายวิธีติดตั้งและเปิดใช้งาน Fail2Ban
มาตรการป้องกันเพิ่มเติมด้วย Fail2Ban
Fail2Ban คือบริการที่บล็อกที่อยู่ IP ที่พยายามเชื่อมต่อเซิร์ฟเวอร์ด้วยเจตนาไม่ดี Fail2Ban จะตรวจสอบไฟล์ล็อกเพื่อหาความผิดปกติและช่วยปกป้องระบบของคุณได้อย่างมีประสิทธิภาพและง่ายดาย
หลังติดตั้ง Fail2Ban จะมาพร้อมกับการตั้งค่าล่วงหน้าสำหรับบริการที่ใช้บ่อย เช่น:
- apache
- lighttpd
- sshd
- qmail
- postfix
- Courier Mail Server คุณสามารถเพิ่มบริการอื่น ๆ ได้ง่าย ๆ ด้วยการใช้ regular expression (RegEx) และระบุไฟล์ล็อกที่ต้องการ
ตัวอย่างเช่น ดูบรรทัดใน /var/log/auth.log ซึ่งบันทึกการพยายามล็อกอิน SSH ทั้งสำเร็จและล้มเหลว
คุณจะเห็นบรรทัดนี้:
Dec 2 12:59:19 vps-zap515723-2 sshd[364126]: Failed password for root from 92.117.xxx.xxx port 52504 ssh2
Fail2Ban จะใช้ไฟล์ล็อกนี้ตรวจสอบการล็อกอินล้มเหลว เพราะไฟล์ล็อกมีที่อยู่ IP ของผู้โจมตีโดยตรง Fail2Ban จึงสามารถบล็อก IP นี้หลังจากพยายามล้มเหลวหลายครั้ง
การติดตั้ง Fail2Ban
ล็อกอินเข้าเซิร์ฟเวอร์ Linux ของคุณก่อน ถ้าต้องการความช่วยเหลือดูคู่มือ การเข้าถึงเบื้องต้น (SSH) รันคำสั่งในฐานะ root หรือใช้ sudo
sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban
หลังติดตั้ง Fail2Ban ตรวจสอบสถานะด้วย systemctl: (กด Ctrl+C เพื่อออกจาก systemctl)
systemctl status fail2ban.service
* fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor pres>
Active: active (running) since Sat 2023-12-02 13:10:33 UTC; 24s ago
Docs: man:fail2ban(1)
Process: 23988 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, statu>
Main PID: 23989 (fail2ban-server)
CPU: 409ms
CGroup: /system.slice/fail2ban.service
`-23989 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
Dec 02 13:10:33 vps-zap515723-1 systemd[1]: Starting Fail2Ban Service...
Dec 02 13:10:33 vps-zap515723-1 systemd[1]: Started Fail2Ban Service.
Dec 02 13:10:34 vps-zap515723-1 fail2ban-server[23989]: Server ready
การตั้งค่า Fail2Ban
ตอนนี้ Fail2Ban ติดตั้งแล้ว แต่ยังไม่เปิดใช้งานหรือกำหนดค่า ดูที่ /etc/fail2ban คุณจะเห็นไฟล์เหล่านี้
action.d fail2ban.d jail.conf paths-arch.conf paths-debian.conf
fail2ban.conf filter.d jail.d paths-common.conf paths-opensuse.conf
เพื่อสร้าง "jail" ที่เปิดใช้งาน ต้องสร้างไฟล์ jail.local โดยคัดลอกเนื้อหาจาก jail.conf แล้วเปิดไฟล์ใหม่
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
ตอนนี้คุณสามารถตั้งค่าทุกอย่างในไฟล์ jail.local รวมถึงบริการที่จะตรวจสอบ
ให้ดูเฉพาะส่วนหลัง [Default] ซึ่งเป็นการตั้งค่าทั่วไป/ดีฟอลต์
เลื่อนลงมาจนเจอส่วนนี้และปรับตามตัวอย่างนี้:
| แอตทริบิวต์ | คำอธิบาย | ค่า |
|---|---|---|
| ignoreip | ที่อยู่ IP ที่ไม่ควรถูกบล็อก | 127.0.0.1/8 |
| ignorecommand | ไม่เกี่ยวข้อง | |
| bantime | ระยะเวลาที่ IP จะถูกบล็อก | 1h |
| findtime | ช่วงเวลาที่นับการล็อกอินล้มเหลว | 10m |
| maxretry | จำนวนครั้งที่ล้มเหลวก่อนจะถูกบล็อก | 5 |
# สามารถกำหนดโดยใช้ช่องว่าง (และ/หรือ คอมม่า) เป็นตัวคั่น
#ignoreip = 127.0.0.1/8 ::1
# ignorecommand = /path/to/command <ip>
ignorecommand =
# "bantime" คือจำนวนวินาทีที่โฮสต์จะถูกบล็อก
bantime = 1h
# โฮสต์จะถูกบล็อกถ้ามี "maxretry" ครั้งในช่วง "findtime"
# วินาที
findtime = 10m
# "maxretry" คือจำนวนครั้งที่ล้มเหลวก่อนถูกบล็อก
maxretry = 5
ตั้งค่าดีฟอลต์เสร็จแล้ว เลื่อนลงไปที่แท็ก [sshd] เพื่อดูการตั้งค่าสำหรับบริการ SSH ถ้าคุณเปลี่ยนพอร์ต ให้ใส่พอร์ตใหม่ใน port
แท็ก [sshd] จะมีลักษณะดังนี้:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 4
คุณสามารถตั้งค่ารายบริการได้ เช่น maxretry ที่นี่ตั้งต่ำกว่าค่าดีฟอลต์ แม้ว่าคุณจะตั้งค่าทั่วไปไว้แล้ว คุณก็ยังสามารถปรับแต่งแต่ละบริการได้อีก ถ้าไม่ตั้งไว้จะใช้ค่าดีฟอลต์
สุดท้าย รีสตาร์ท Fail2Ban เพื่อเริ่มตรวจสอบ
sudo systemctl restart fail2ban.service
ตรวจสอบการทำงานของ Fail2Ban
ถ้าคุณมี VPN หรือเซิร์ฟเวอร์สำรอง ลองทดสอบบล็อกตัวเองด้วย Fail2Ban เพื่อดูว่าทำงานถูกต้องหรือไม่ โดยใช้ VPN หรือฮอตสปอตมือถือเพื่อเปลี่ยน IP
อย่าทดสอบบนเครือข่ายปกติของคุณ เพราะ IP ของคุณอาจถูกบล็อกและคุณจะ ล็อกเอาต์ออกไม่ได้
ลองเชื่อมต่อ SSH ไปยังเซิร์ฟเวอร์ (ด้วย IP ใหม่!) และใส่รหัสผ่านผิดหลายครั้ง ผลลัพธ์ควรเป็นแบบนี้:
root@185.223.29.xxx's password:
Permission denied, please try again.
root@185.223.29.xxx's password:
Permission denied, please try again.
root@185.223.29.xxx's password:
root@185.223.29.xxx: Permission denied (publickey,password).
root@vps-zap515723-2:/var/log# ssh root@185.223.29.179
root@185.223.29.xxx's password:
Permission denied, please try again.
root@185.223.29.xxx's password:
Permission denied, please try again.
root@185.223.29.xxx's password:
^C
root@vps-zap515723-2:/var/log# ssh root@185.223.29.xxx
ssh: connect to host 185.223.29.xxx port 22: Connection refused
จะเห็นว่าเซิร์ฟเวอร์ที่ป้องกันด้วย Fail2Ban ปฏิเสธการเชื่อมต่อ (Connection refused แทนที่จะเป็น Permission denied)
แสดงสถานะ Fail2Ban ดูว่ามี IP ถูกบล็อกหรือไม่
fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 4
| |- Total failed: 8
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: xxx
ถ้าต้องการปลดบล็อก IP ใช้คำสั่งนี้: fail2ban-client set sshd unbanip {your IP}
ถ้ามีการบล็อก IP จำนวนมากผิดปกติ แนะนำให้เพิ่มเวลาบล็อกทุกครั้งที่มีการพยายามล็อกอินล้มเหลวเพื่อลดจำนวนครั้งที่พยายามได้
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 4
bantime = 1h
# เวลาบล็อกจะเพิ่มขึ้นทุกครั้งที่บล็อก IP นี้
bantime.increment = true
# อัตราส่วนการเพิ่มเวลาบล็อก 24 ชั่วโมง (1h,24h,48h,3d,4d....)
bantime.factor = 24
# เวลาบล็อกสูงสุด = 5 สัปดาห์
bantime.maxtime = 5w
การรักษาความปลอดภัยเว็บเซิร์ฟเวอร์ด้วย Cloudflare
หลายคนใช้ Cloudflare เป็นผู้จัดการ DNS ของโดเมน Cloudflare ไม่เพียงแต่มีเครือข่ายที่ใหญ่ที่สุดในโลก ช่วยลดเวลาโหลดหน้าเว็บ ลดความหน่วง และเพิ่มประสบการณ์โดยรวม แต่ยังปกป้องเว็บไซต์จากการโจมตี DoS/DDoS รวมถึงการโจมตีแบบ flooding และรูปแบบใหม่ ๆ ที่เกิดขึ้นทุกวัน
ในคู่มือนี้ คุณจะได้เรียนรู้วิธีปกป้องเว็บเซิร์ฟเวอร์จากการโจมตี
สมมติว่าโดเมนของคุณถูกจัดการโดย Cloudflare แล้ว ถ้ายังไม่ใช่ คุณสามารถทำตาม คู่มือของพวกเขา เพื่อย้ายโดเมนของคุณ ไปที่แท็บ DNS Records ในแดชบอร์ดของ Cloudflare และตรวจสอบให้แน่ใจว่าระเบียนที่ชี้ไปยังเว็บเซิร์ฟเวอร์ของคุณมีเมฆสีส้มและสถานะ "Proxied"
จากนั้น ทราฟฟิกทั้งหมดที่ผ่านโดเมนของคุณจะผ่าน Cloudflare ก่อนถึงเซิร์ฟเวอร์ของคุณ ซึ่งเป็นทราฟฟิกที่ถูกต้องตามกฎหมาย
อย่างไรก็ตาม เซิร์ฟเวอร์ของคุณยังเข้าถึงได้จากภายนอก Cloudflare อยู่ คุณต้องจำกัดการเข้าถึงพอร์ต 80 และ 443 ของโปรโตคอล TCP บนเซิร์ฟเวอร์ Linux ของคุณ และอนุญาตการเข้าถึงเฉพาะทราฟฟิกที่มาจาก Cloudflare เท่านั้น
ทำได้โดยตั้งกฎไฟร์วอลล์จำกัดการเข้าถึงด้วย รายชื่อ IPv4 สาธารณะของ Cloudflare และ รายชื่อ IPv6 สาธารณะของ Cloudflare
หรือถ้าต้องการประหยัดเวลา คุณสามารถใช้เครื่องมืออย่าง Cloudflare-ufw เพื่อเพิ่มกฎไฟร์วอลล์เหล่านี้แบบแมส
อย่าลืมตรวจสอบว่าคุณไม่มีการตั้งกฎแยกที่อนุญาตให้เข้าถึงเว็บเซิร์ฟเวอร์โดยไม่จำกัด นอกจากกฎที่เพิ่งเพิ่มไป มิฉะนั้นกฎเหล่านั้นจะไม่ทำงาน
สรุป - เซิร์ฟเวอร์ของคุณปลอดภัยขึ้นมากแล้ว!
คู่มือนี้แสดงฟังก์ชันพื้นฐานและขั้นสูงสำหรับการรักษาความปลอดภัยเซิร์ฟเวอร์ Linux ของคุณ หากคุณทำตามคำแนะนำทั้งหมดที่เหมาะสมกับระบบของคุณ เซิร์ฟเวอร์ของคุณก็ปลอดภัยขึ้นมากแล้ว - ยินดีด้วย!
แน่นอนว่ายังมีมาตรการเพิ่มเติมที่สามารถทำได้:
- 2FA (SSH)
- เพิ่มการตั้งค่าเพิ่มเติมใน Fail2Ban
- ตั้งค่าการแจ้งเตือนทางเมลใน Fail2Ban
- และอื่น ๆ อีกมากมาย...