各位老友们好,我是 Chlorine。本来打算鸽一段时间,等备案完成再水文,但是没办法,键盘不允许~~(键盘:关我什么事)~~。
昨天闲着没事又去看我的服务器,偶然打开了 1Panel 面板的 SSH 登录日志,结果不看不知道,一看吓一跳……
我简单看了下,大部分的攻击都是来自海外的(也有国内的,我就不说是哪个地方的了)。攻击的 IP 高度重复,手段主要集中于使用 root
进行登录,以及尝试蒙用户名。幸亏我的机器除了 root
拢共就我一个用户,像 www-data
这种常见的用户名也没有,不然可能还真就叫人钻空子了。
然后我就坐在那想,越想越气。欺负人都欺负到我小氯头上了,这已经不是一般的虫豸了,必须要出重拳!
于是我写了个简单的脚本:
#!/bin/bash
LOG_DIR=/var/log
OUTPUT_FILE=/home/yoghurtlee/chongzhi.txt
# 方便审查
LOGIN_RECORD_FILE=/home/yoghurtlee/chongzhi_jilu.txt
> $LOGIN_RECORD_FILE
for log_file in $LOG_DIR/auth.log*; do
if [[ -f "$log_file" ]]; then
grep "Invalid user" "$log_file" >> $LOGIN_RECORD_FILE
fi
done
grep "Invalid user" $LOGIN_RECORD_FILE | awk '{print $10}' | sort -u > $OUTPUT_FILE
然后赋予可执行权限:
chmod +x chongzhi.sh
./chongzhi.sh
获得了一群 IP。全都加到 1Panel 里面 Fail2ban 的黑名单里面,杜绝其访问我的一切服务。
然后我又写了个定时任务,监控所有尝试用 root
登录的 IP,一旦发现直接永久封禁。你们这帮攻击者给我老实呆着,看我派 Fail2ban 来把你们一个一个送上天!
然后的话……其实我也没什么好办法了。封禁已经是我能想到的最好的防范措施了,总不能拿我的服务器去反向攻击它们吧。