有一个需求,只想请求 js,css,html 等文件,图片屏蔽掉
由于是 https 加密请求,iptables 搞不定了,求助 v 站
1
ChristopherWu 2020-01-10 13:15:21 +08:00
用 cotent-type 过滤不就好了
|
2
crazypig14 2020-01-10 13:17:07 +08:00
防盗链?
|
3
okletswin 2020-01-10 13:57:20 +08:00 2
不太理解,这不是 7 层做的事吗,怎么在 3/4 层做,咋做到的?
|
4
crab 2020-01-10 13:59:25 +08:00
图片是单独域名 IP ?
|
5
linbingcheng 2020-01-10 14:03:17 +08:00
不是在 nginx 配置路由过滤规则吗? deny allow
|
6
zhhww57 2020-01-10 15:30:17 +08:00 1
https 加密流量,iptables 怎么屏蔽,iptables 最多从 tls 握手包里面看到证书和域名,应该从你的 web server 入手
|
7
zhhww57 2020-01-10 15:30:47 +08:00
另外你是 server 还是 client
|
8
HTSdTt3WygdgQQGe OP |
9
geekvcn 2020-01-10 16:02:44 +08:00 via iPhone
做不到
|
10
geekvcn 2020-01-10 16:04:43 +08:00 via iPhone
你可以把图片服务器域名解析到 127.0.0.1,如果想拦截所有网站图片,网关设备加个代理,或者客户端浏览器用插件加规则
|
11
ZRS 2020-01-10 16:05:19 +08:00
做不到 除非图片数据在域名上有体现
|
12
tankren 2020-01-10 16:34:26 +08:00
squidguard?
|
13
lc7029 2020-01-10 17:59:36 +08:00 1
做不到,除非屏蔽 443 端口
iptables 是三层包过滤防火墙,传输什么东西是七层数据 |
14
libook 2020-01-10 18:11:23 +08:00 1
HTTPS 流量只能看到域信息,路径、Query、Header、Body、Method 全部加密,所以中间人完全不可能知道这个流量传的是图片还是文字还是其他的东西。这恰好也是 HTTPS 的设计初衷。
想要让中间人能分析流量内容,有两种思路: 1. 代理,客户端装代理服务器的 TLS 证书,发请求走代理服务器代理,代理服务器用自己的私钥解密流量,分析完之后再用目标服务器的 TLS 证书加密,转发给目标服务器,返回的时候也是在代理服务器解密,分析完后再用代理服务器的私钥加密返回给客户端。这个方案对页面依赖的其他资源兼容性好,但是操作起来稍微有点麻烦。 2. 镜像站,客户端请求镜像站的域,HTTPS 用镜像站的 TLS 证书;镜像站分析完后重新用目标网站的 TLS 证书建立 HTTPS 转发给目标网站,返回数据的时候也是先返回镜像站,分析完后用镜像站的私钥返回给客户端。这个方案操作起来简单,兼容性欠佳,一不小心还可能会跳转到目标网站的域上。 |
15
snBDX1b0jJM4ogKd 2020-01-10 20:11:41 +08:00 via Android
两层 nginx 搞定
|
16
rainbowchou 2020-01-10 21:06:58 +08:00
HTTPS 下的内容还能按内容区分给你,那加密有啥用,只能搞个中间环节伪装下
|
17
yzwduck 2020-01-10 21:27:16 +08:00
这种需求应该在 client (浏览器) 里去实现,Chrome, Firefox 都有禁止自动加载图片的开关。
|
18
AndyWayne 2020-01-10 22:24:58 +08:00
iptables 还有这功能吗?
|
19
ThirdFlame 2020-01-10 23:15:42 +08:00 1
iptables 能够控制和理解第四层的东东,无法理解已经加过密的第七层的东西。 也就没有办法实现 楼主你的想法。
|
20
HTSdTt3WygdgQQGe OP 感谢各位分析,已死心
|
21
yuzenan888 2020-01-11 08:43:08 +08:00
无解。不过可以考虑搭一个代理服务器 + HTTPS 中间人攻击。
|
22
zjsxwc 2020-01-11 09:34:59 +08:00
自己当中间人攻击自己
|
23
xzsljc 2020-01-11 16:26:26 +08:00
7 层,web waf 控制
|