V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
HTSdTt3WygdgQQGe
V2EX  ›  程序员

iptables 怎么屏蔽 https 请求图片

  •  
  •   HTSdTt3WygdgQQGe · Jan 10, 2020 · 5275 views
    This topic created in 2310 days ago, the information mentioned may be changed or developed.

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

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

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

    想要让中间人能分析流量内容,有两种思路:
    1. 代理,客户端装代理服务器的 TLS 证书,发请求走代理服务器代理,代理服务器用自己的私钥解密流量,分析完之后再用目标服务器的 TLS 证书加密,转发给目标服务器,返回的时候也是在代理服务器解密,分析完后再用代理服务器的私钥加密返回给客户端。这个方案对页面依赖的其他资源兼容性好,但是操作起来稍微有点麻烦。
    2. 镜像站,客户端请求镜像站的域,HTTPS 用镜像站的 TLS 证书;镜像站分析完后重新用目标网站的 TLS 证书建立 HTTPS 转发给目标网站,返回数据的时候也是先返回镜像站,分析完后用镜像站的私钥返回给客户端。这个方案操作起来简单,兼容性欠佳,一不小心还可能会跳转到目标网站的域上。
    snBDX1b0jJM4ogKd
        15
    snBDX1b0jJM4ogKd  
       Jan 10, 2020 via Android
    两层 nginx 搞定
    rainbowchou
        16
    rainbowchou  
       Jan 10, 2020
    HTTPS 下的内容还能按内容区分给你,那加密有啥用,只能搞个中间环节伪装下
    yzwduck
        17
    yzwduck  
       Jan 10, 2020
    这种需求应该在 client (浏览器) 里去实现,Chrome, Firefox 都有禁止自动加载图片的开关。
    AndyWayne
        18
    AndyWayne  
       Jan 10, 2020
    iptables 还有这功能吗?
    ThirdFlame
        19
    ThirdFlame  
       Jan 10, 2020   ❤️ 1
    iptables 能够控制和理解第四层的东东,无法理解已经加过密的第七层的东西。 也就没有办法实现 楼主你的想法。
    HTSdTt3WygdgQQGe
        20
    HTSdTt3WygdgQQGe  
    OP
       Jan 11, 2020 via Android
    感谢各位分析,已死心
    yuzenan888
        21
    yuzenan888  
       Jan 11, 2020
    无解。不过可以考虑搭一个代理服务器 + HTTPS 中间人攻击。
    zjsxwc
        22
    zjsxwc  
       Jan 11, 2020
    自己当中间人攻击自己
    xzsljc
        23
    xzsljc  
       Jan 11, 2020
    7 层,web waf 控制
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1087 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 18:30 · PVG 02:30 · LAX 11:30 · JFK 14:30
    ♥ Do have faith in what you're doing.