ถ้าใครติดตั้ง SSH ไว้ในเครื่องก็คงหลีกไม่พ้นพวก SSH brute force attack แบบนี้
Failed password for invalid user james from ::ffff:203.81.58.202 port 44512 ssh2
Failed password for invalid user snort from ::ffff:203.81.58.202 port 45086 ssh2
Failed password for invalid user radiomail from ::ffff:203.81.58.202 port 45520 ssh2
Failed password for invalid user divine from ::ffff:203.81.58.202 port 46804 ssh2
Failed password for invalid user popa3d from ::ffff:203.81.58.202 port 47604 ssh2
Failed password for invalid user aptproxy from ::ffff:203.81.58.202 port 48192 ssh2
Failed password for invalid user desktop from ::ffff:203.81.58.202 port 48667 ssh2
พวกนี้ช่างมีความพยายามเสียเหลือเกินครับ จะดูฉลาดกว่านี้ถ้าไปหาชื่อคนไทย เช่น somchai somsak อะไรใส่ลงไปหน่อย 🙂
วิธีแก้ง่ายๆ อย่างหนึ่งก็คือ เปลี่ยน port ของ SSH ไปใช้ port อื่นที่ไม่ใช่หมายเลข 22 ซะ (แก้ในไฟล์ /etc/ssh/sshd_config
อีกวิธีหนึ่งก็คือ ใช้คำสั่ง iptables ที่จะ block IP เจ้าปัญหา 60 วินาที ถ้าพยายาม connect เข้ามามากกว่า 3 ครั้งภายใน 60 วินาที
iptables -N SSH_CHECK iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK iptables -A SSH_CHECK -m recent --set --name SSH iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP
ที่มา http://hostingfu.com/article/ssh-dictionary-attack-prevention-with-iptables
อีกวิธีก็ใช้ script ที่มีคนจัดทำไว้แล้ว
- DenyHosts: DenyHosts is a script intended to be run by Linux system administrators to help thwart ssh server attacks. (มีคนเขียนวิธีการติดตั้งไว้ที่ howtoforge.org)
- SSH brute force attack blocker:sshdfilter blocks the frequent brute force attacks on ssh daemons, it does this by directly reading the sshd logging output and generating iptables rules, the process can be quick enough to block an attack before they get a chance to enter any password at all.