วิธีป้องกัน Brute force SSH กับ Linux Server
1. แก้ไขไฟล์การตั้งค่า Service SSH:
ตรวจสอบไฟล์ config ที่ไฟล์ /etc/ssh/sshd_config ด้วยคำสั่ง nano หรือ vinano /etc/ssh/sshd_config
ตรวจสอบและแก้ไขค่าต่อไปนี้: Port:
เปลี่ยนหมายเลขพอร์ต SSH เป็นหมายเลขที่ไม่ได้ใช้งานเริ่มต้นอย่างมาก (ไม่ใช่พอร์ต 22)
- หากมีการเปิดใช้งาน Firewall ให้ Allow Port นั้นๆ ตามระบบปฏิบัติการที่ใช้งาน
- Ubuntu:
ufw allow ssh
ufw allow 2288/tcp
- CentOS, AlmaLinux (Firewalld):
firewall-cmd --zone=public --add-service=ssh
firewall-cmd --zone=public --add-port=2288/tcp
firewall-cmd --reload
- บริการ Cloud Server Readyidc สามารถตั้งค่าผ่าน Firewall UI ได้ โดยดูรายละเอียดเพิ่มเติมที่ลิงค์นี้:
https://customer.readyidc.com/index.php?/knowledgebase/article/240/add-firewall-rule/
PasswordAuthentication:
ตั้งค่าเป็น "no" เพื่อปิดใช้งานการตรวจสอบรหัสผ่านทาง SSH (จำเป็นต้องมี Public Key)
- วิธี Generate Key ผ่านโปรแกรม Xshell: https://blog.netsarang.com/1304/creating-a-publicprivate-key-pair-with-xshell
- วิธี Generate Key ผ่านโปรแกรม Puttygen: https://www.ssh.com/academy/ssh/putty/windows/puttygen
- หลังจากได้ Public Key แล้วให้นำไปใส่ที่ไฟล์ /root/.ssh/authorized_keys
ใช้คำสั่ง Restart SSH เพื่อเริ่มใช้การตั้งค่าใหม่systemctl restart sshd
2. ติดตั้งและใช้งานโปรแกรม Fail2ban :
ติดตั้งโปรแกรม fail2ban
บนเครื่องเซิร์ฟเวอร์apt install fail2ban
แก้ไขไฟล์ตั้งค่า jail.conf
ในไดเรกทอรี /etc/fail2ban/ เพื่อกำหนดหน่วยเวลาที่ IP address จะถูกบล็อกหลังจากเข้าสู่ระบบผิดหลายครั้งsudo service fail2ban restart
สามารถตรวจสอบ Log การทำงานของ fail2ban ได้ที่ Path
/var/log/fail2ban.log
3. ตั้งค่า Firewall ให้ Source IP สามารถเข้าถึง SSH ได้เท่านั้น
ตัวอย่างการตั้งค่า Firewall บน Linux (IP จาก Client สามารถตรวจสอบได้จากเว็บ https://www.myip.com )
- Ubuntu
ufw allow from 49.228.107.122 to any port 2288
ufw allow from 49.228.107.0/24 to any port 2288 proto tcp
- Centos , Almalinux
firewall-cmd --permanent --zone=public --add-source=49.228.107.0/24
firewall-cmd --permanent --zone=public --add-source=49.228.107.122/32
firewall-cmd --reload
- ตัวอย่างการตั้งค่า Firewall สำหรับบริการ Cloud Server Readyidc สามารถตั้งค่าผ่าน Firewall UI ได้ โดยดูรายละเอียดเพิ่มเติมที่ลิงค์นี้:
https://customer.readyidc.com/index.php?/knowledgebase/article/240/add-firewall-rule/