iptables 怎么屏蔽 https 请求图片

2020-01-10 13:12:37 +08:00
 HTSdTt3WygdgQQGe

有一个需求,只想请求 js,css,html 等文件,图片屏蔽掉

由于是 https 加密请求,iptables 搞不定了,求助 v 站

4430 次点击
所在节点    程序员
23 条回复
ChristopherWu
2020-01-10 13:15:21 +08:00
用 cotent-type 过滤不就好了
crazypig14
2020-01-10 13:17:07 +08:00
防盗链?
okletswin
2020-01-10 13:57:20 +08:00
不太理解,这不是 7 层做的事吗,怎么在 3/4 层做,咋做到的?
crab
2020-01-10 13:59:25 +08:00
图片是单独域名 IP ?
linbingcheng
2020-01-10 14:03:17 +08:00
不是在 nginx 配置路由过滤规则吗? deny allow
zhhww57
2020-01-10 15:30:17 +08:00
https 加密流量,iptables 怎么屏蔽,iptables 最多从 tls 握手包里面看到证书和域名,应该从你的 web server 入手
zhhww57
2020-01-10 15:30:47 +08:00
另外你是 server 还是 client
HTSdTt3WygdgQQGe
2020-01-10 16:00:58 +08:00
@ChristopherWu 由于是 ssl 加密,获取不到"cotent-type"
@zhhww57 我是客户端
@crab 我是客户端
geekvcn
2020-01-10 16:02:44 +08:00
做不到
geekvcn
2020-01-10 16:04:43 +08:00
你可以把图片服务器域名解析到 127.0.0.1,如果想拦截所有网站图片,网关设备加个代理,或者客户端浏览器用插件加规则
ZRS
2020-01-10 16:05:19 +08:00
做不到 除非图片数据在域名上有体现
tankren
2020-01-10 16:34:26 +08:00
squidguard?
lc7029
2020-01-10 17:59:36 +08:00
做不到,除非屏蔽 443 端口
iptables 是三层包过滤防火墙,传输什么东西是七层数据
libook
2020-01-10 18:11:23 +08:00
HTTPS 流量只能看到域信息,路径、Query、Header、Body、Method 全部加密,所以中间人完全不可能知道这个流量传的是图片还是文字还是其他的东西。这恰好也是 HTTPS 的设计初衷。

想要让中间人能分析流量内容,有两种思路:
1. 代理,客户端装代理服务器的 TLS 证书,发请求走代理服务器代理,代理服务器用自己的私钥解密流量,分析完之后再用目标服务器的 TLS 证书加密,转发给目标服务器,返回的时候也是在代理服务器解密,分析完后再用代理服务器的私钥加密返回给客户端。这个方案对页面依赖的其他资源兼容性好,但是操作起来稍微有点麻烦。
2. 镜像站,客户端请求镜像站的域,HTTPS 用镜像站的 TLS 证书;镜像站分析完后重新用目标网站的 TLS 证书建立 HTTPS 转发给目标网站,返回数据的时候也是先返回镜像站,分析完后用镜像站的私钥返回给客户端。这个方案操作起来简单,兼容性欠佳,一不小心还可能会跳转到目标网站的域上。
snBDX1b0jJM4ogKd
2020-01-10 20:11:41 +08:00
两层 nginx 搞定
rainbowchou
2020-01-10 21:06:58 +08:00
HTTPS 下的内容还能按内容区分给你,那加密有啥用,只能搞个中间环节伪装下
yzwduck
2020-01-10 21:27:16 +08:00
这种需求应该在 client (浏览器) 里去实现,Chrome, Firefox 都有禁止自动加载图片的开关。
AndyWayne
2020-01-10 22:24:58 +08:00
iptables 还有这功能吗?
ThirdFlame
2020-01-10 23:15:42 +08:00
iptables 能够控制和理解第四层的东东,无法理解已经加过密的第七层的东西。 也就没有办法实现 楼主你的想法。
HTSdTt3WygdgQQGe
2020-01-11 00:59:54 +08:00
感谢各位分析,已死心

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

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

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

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

© 2021 V2EX