新人发帖赚分/手敲..支持下
:
你的鸡正在被日,不信查下日志,避免成为黑产奴鸡,特别甲骨文如果小鸡参与黑产攻击也是封号的一个原因!
我似乎找到比fail2ban更彻底、更简单的解决方法,分享给大家提供个思路。
Ubuntu环境:
一、查看小鸡被凌辱记录:
最近 200 行包含失败登录的条目(交互查看)
sudo tail -n 200 /var/log/auth.log | egrep "Failed password|Invalid user|authentication failure|Connection closed by authenticating user"
搜索整个当前日志文件的失败密码尝试
sudo grep -E "Failed password|Invalid user|authentication failure" /var/log/auth.log | tail -n 200
二、上脚本:Cloudflare DDNS 子域名 动态白名单脚本
#!/bin/bash
PORT=22
DOMAINS=(
ssh-mobile-v4.xxx.xyz
ssh-mobile-v4.xxx.xyz
)
# 清理旧规则链
iptables -F SSH_RULES 2>/dev/null
ip6tables -F SSH_RULES 2>/dev/null
iptables -X SSH_RULES 2>/dev/null
ip6tables -X SSH_RULES 2>/dev/null
iptables -N SSH_RULES
ip6tables -N SSH_RULES
for d in "${DOMAINS[@]}"; do
# IPv4
for ip in $(dig +short A $d); do
iptables -A SSH_RULES -p tcp -s $ip --dport $PORT -j ACCEPT
echo "允许 IPv4 $ip ($d)"
done
# IPv6
for ip in $(dig +short AAAA $d); do
ip6tables -A SSH_RULES -p tcp -s $ip --dport $PORT -j ACCEPT
echo "允许 IPv6 $ip ($d)"
done
done
# 默认 DROP
iptables -A SSH_RULES -j DROP
ip6tables -A SSH_RULES -j DROP
# 应用到 INPUT 链
iptables -D INPUT -p tcp --dport $PORT -j SSH_RULES 2>/dev/null
ip6tables -D INPUT -p tcp --dport $PORT -j SSH_RULES 2>/dev/null
iptables -I INPUT -p tcp --dport $PORT -j SSH_RULES
ip6tables -I INPUT -p tcp --dport $PORT -j SSH_RULES
👉 建议你跑完命令后,马上执行:
sudo iptables -L SSH_RULES -n
sudo ip6tables -L SSH_RULES -n
确认白名单规则是否已正确加载。
三、Cloudflare DDNS 子域名 动态更新脚本
适合放在电脑开机启动执行、或者内网小主机(linux)上
发不上来,自己GitHub找个更新脚本
为什么不用密钥登录呢~
只适合ip变化不大的用户,密码别整啥123456这些 随便他爆破
我是 SSH 换成非标准端口就没有什么爆破了
换端口是自欺欺人
我都是白名单梯子ip,使用梯子连接。
@qiucangyue #3
脚本小子,不管默认22还是非标端口,轮番尝试的
密钥登录解决问题了,不折腾了
找个高位端口,别说爆破的了,扫描的都几乎没有
感谢分享,是个不错的思路