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

141 天前
 nai1si

请问怎么禁掉境外 ip 访问,阿里云的服务器。已做频率限制,增加图形验证码。又怕图形验证码被识别,现在都不敢往里充值了。

2920 次点击
所在节点    程序员
29 条回复
cJ8SxGOWRH0LSelC
141 天前
限制频率, 增加验证码, 已经够了, 再增加限制就太影响用户体验了, 如果这样还承受不了, 换其他方式吧。
llcxx
141 天前
判断 IP 是否中国 IP 段,不是就默认不发短信就好
nai1si
141 天前
怎么判断 ip 是不是境内 ip
toneewang
141 天前
@nai1si 根据 ip 库,能大部分匹配,不能最准确
nai1si
141 天前
@toneewang ip 库在哪里?
37Y37
141 天前
通过 DNS 解析,境外的不解析或者解析个错误的地址,很多 DNS 都提供这功能,例如阿里云
julyclyde
141 天前
@nai1si geoip
nginx 可以直接支持
fredcc
141 天前
云防火墙-防护配置-访问控制-互联网边界-入向策略

waf 也有类似设置
gaobh
141 天前
dns 侧,线路选境外,解析到 127.0.0.1 即可
zjsxwc
141 天前
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
141 天前
@gaobh 攻击方本地可以改 hosts 文件
EdisonEdz
141 天前
geoip ,加个实现包判断下 ip 就好了
nai1si
141 天前
@EdisonEdz 目前你公司也在用吗? 效果好不好
SilenceLL
141 天前
用 nginx + geoip 封掉就可以,你可以看下 nginx access 日志,里面的 country 字段是否跟你的预期一致。
nai1si
141 天前
研究研究
abccccabc
141 天前
你的验证码换成汉字,目前能识别汉字图形的系统不多吧?
flytsuki
141 天前
让运费在防火墙拦截,只开放中国的 ip 段
VagrantZ
141 天前
eluotao
141 天前
直接非注册用户不发验证码。
feiyan35488
141 天前
@nai1si 有免费的 ip 库,如 ipip
加上验证码,尽量用滑动或智能验证码,提升用户体验

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1061210

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX