Vua5nkC 发表于 2024-1-30 16:39:29

听说mjj的docker服务被打了?

docker会开一个虚拟网卡在主机上,需要操作DOCKER-USER链来过滤请求!
比如,80、443端口只允许cloudflare的ip访问,这样开启cloudflare的小云朵后,就算你的IP被泄露,对面也打不到哦!
[*]
[*]# 清空DOCKER-USER中的所有规则
[*]iptables -F DOCKER-USER
[*]# 关闭所有其他
[*]iptables -I DOCKER-USER -j DROP
[*]# 打开docker容器间互相访问
[*]iptables -I DOCKER-USER -s 172.17.0.0/16 -d 172.17.0.0/16 -j RETURN
[*]# 只接受 cloudflare 的 ips-v4 访问
[*]for i in `curl -s `;\
[*]      do iptables -I DOCKER-USER -p tcp -i eth0 -m multiport --dports 80,443 -s $i -j RETURN;\
[*]done
[*]# 容器可以访问外部网络
[*]iptables -I DOCKER-USER -o eth0 -d 0.0.0.0/0 -j ACCEPT
[*]iptables -I DOCKER-USER -m state --state established,related -j ACCEPT
[*]复制代码

[*]需要注意过滤器有顺序,所以倒着添加规则。[*]eth0是本地网卡,不同系统也许不同。[*]172.17.0.0/16是docker建立的默认网桥docker0。[*]iptables的设置在系统重启后消失,建议设置一个开机十分钟后执行iptables的设置的脚本,十分钟后执行,可以防止iptables脚本编写错误,导致自己进不去系统的情况。

Vua5nkC 发表于 2024-1-30 16:41:52

大佬技术好高唉!

sheepgreen 发表于 2024-1-30 16:49:23

端口映射用127.0.0.1,用域名反代即可避免docker攻击

Vua5nkC 发表于 2024-1-30 16:58:35

本帖最后由 Vua5nkC 于 2024-1-30 17:01 编辑

sheepgreen 发表于 2024-1-30 16:49

端口映射用127.0.0.1,用域名反代即可避免docker攻击

不能哦!
即使你通过像 -p 127.0.0.1:80:80 这样的参数将端口暴露到回环地址,外部仍然可以访问该服务。
对方扫描到IP,就可以攻击了。
页: [1]
查看完整版本: 听说mjj的docker服务被打了?