有办法安全地让 Docker 容器动态编辑主机 iptables DROP 规则吗?

2022-03-13 12:58:48 +08:00
 rv54ntjwfm3ug8
最近服务器经常被 CC 攻击,IP 经常变,手动封一次过几小时换几个 IP 又来了。于是想写一个脚本,每分钟扫描一次 Nginx 日志,发现异常 IP 就调用 iptables DROP (感觉直接 DROP 比返回 403 效果更好,而且我不想让 Nginx 执行 Lua 脚本,感觉不太安全)(另外如果未来加了不能套 Nginx 的自己写协议的服务也能用)但这样必须在主机上以 root 用户身份跑一个脚本,还动态根据包含用户输入的日志内容调用 iptables ,攻击面又增加了,万一用户构造了一个特殊的 payload ,我的程序没有正常过滤,直接拼接进 iptables 命令,攻击者就可以逃逸到主机了,比在容器内让 Nginx 跑 Lua 脚本还不安全。请问有办法安全地让 Docker 容器动态编辑主机 iptables DROP 规则吗?
1864 次点击
所在节点    信息安全
8 条回复
tomczhen
2022-03-13 13:10:18 +08:00
按逻辑推理可以得出结论:把 nginx 放容器跑来执行 lua 脚本就能让你觉得安全了。
Kinnice
2022-03-13 13:19:31 +08:00
拼接进 iptables 命令的参数是 ip 地址,而 ip 的各种正则,匹配都已经非常完善。你还想往里面加什么?
wellsc
2022-03-13 13:21:45 +08:00
不安全
kingfalse
2022-03-13 14:45:54 +08:00
站在一个搞爬虫的角度来说,十秒换一批 IP 。。。。
rv54ntjwfm3ug8
2022-03-13 14:47:17 +08:00
@kingfalse #4 爬虫用的代理池应该不让用来 CC 攻击吧
kingfalse
2022-03-13 15:15:55 +08:00
@theklf4 不是让不让的问题,而是是不是的问题,你怎么确定我是 cc 不是正常抓取....
bfdh
2022-03-15 10:46:19 +08:00
maybe you can try '-j SET --add-set' target to add illegal IPs to an ip-set, and use another iptables rule to drop related packets.
julyclyde
2022-03-15 15:45:41 +08:00
你这个做法不对哦

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

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

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

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

© 2021 V2EX