短信接口被攻击,怎么禁掉境外 ip 访问

查看 282|回复 18
zjsxwc   
https://github.com/17mon/china_ip_list/blob/master/china_ip_list.txt
写个 bash 脚本让 iptables 只允许上面的中国 ip 访问就行
#!/bin/bash
# 清空所有规则
iptables -F
# 允许本地回环接口的通信
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的连接和相关连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 获取中国的 IP 段列表(这需要您事先准备好)
CHINA_IP_RANGES=(
"1.0.1.0/24"
"2.0.0.0/16"
# ..... 添加更多的中国 IP 段
)
# 对于每个中国的 IP 段,添加允许规则
for ip_range in "${CHINA_IP_RANGES[@]}"
do
iptables -A INPUT -s $ip_range -j ACCEPT
done
# 拒绝其他所有的输入连接
iptables -A INPUT -j DROP
nai1si
OP
  
@gaobh 攻击方本地可以改 hosts 文件
EdisonEdz   
geoip ,加个实现包判断下 ip 就好了
nai1si
OP
  
@EdisonEdz 目前你公司也在用吗? 效果好不好
SilenceLL   
用 nginx + geoip 封掉就可以,你可以看下 nginx access 日志,里面的 country 字段是否跟你的预期一致。
nai1si
OP
  
研究研究
abccccabc   
你的验证码换成汉字,目前能识别汉字图形的系统不多吧?
flytsuki   
让运费在防火墙拦截,只开放中国的 ip 段
VagrantZ   
@nai1si #3 https://github.com/Loyalsoldier/geoip
您需要登录后才可以回帖 登录 | 立即注册

返回顶部