V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yanw
V2EX  ›  服务器

阿里云未备案网站的封锁策略是?

  •  
  •   yanw · 2015-10-31 12:22:21 +08:00 · 9144 次点击
    这是一个创建于 3101 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了 http://www.v2ex.com/t/230352 这帖, 443 端口是否封锁各有说法。

    昨晚解析了一个二级域名到阿里云,到现在还没被封(没显示 404 或其它什么提示页)。所以 80 端口的封锁应该是事后进行的,而不是第一次访问阿里云的时候检测?

    如果我 80 和 443 端口都不使用的话,用其它端口跑 web 服务,不知道有没有问题,有这样操作过的同学吗?因为搭建的都是自用服务,所以不是 80 和 443 端口也没关系,也就地址多输一下端口号。

    如果我不做 DNS 解析,改本地 hosts 文件,比如讲 domain.com 指向阿里云的 ip ,那这种情况又会不会被封?

    谢谢各位回答。
    29 条回复    2015-11-17 09:59:09 +08:00
    xfspace
        1
    xfspace  
       2015-10-31 12:28:05 +08:00   ❤️ 2
    听过 防火墙 吗。。。在 网络出口 处的防火墙直接阻断端口 80 流量。
    其他端口不封。
    lolicon
        2
    lolicon  
       2015-10-31 12:52:31 +08:00 via Android   ❤️ 1
    那你直接 ip :端口访问得了,最保险
    至于封锁政策,会变化的…
    HentaiMew
        3
    HentaiMew  
       2015-10-31 12:55:41 +08:00   ❤️ 1
    我见过直接阻断任何端口流量的,只要是域名解析过来的
    oott123
        4
    oott123  
       2015-10-31 12:57:40 +08:00   ❤️ 1

    没有问题
    不会
    qinix
        5
    qinix  
       2015-10-31 12:58:15 +08:00   ❤️ 1
    1 、 443 端口封不了
    2 、其他端口都不封
    3 、改 hosts 如果还是 80 端口的话也会被封

    检测方式大概是,防火墙会看你 80 端口的 http 数据包,如果出现未备案域名的话就会封。这个封锁是有缓存的,所以会过一段时间以后封,不是立马生效

    这是很久以前发现的,不知道现在改了没有,如果现在阿里云改了封锁策略的话轻喷。。
    billlee
        6
    billlee  
       2015-10-31 13:07:49 +08:00   ❤️ 1
    8080 端口上的 HTTP 也会被封。今年 4 到 6 月的测试结果。
    yanw
        7
    yanw  
    OP
       2015-10-31 13:41:30 +08:00
    @xfspace 阻断某个域名 80 端口的全部流量这个是可以理解的,按目前的表现来看,应该就是我说的,是事后处理吧。

    @lolicon 同意封锁策略会变化这个说法,主要是不清楚阿里云对工信部的态度如何。是敷衍了事呢,还是积极配合。如果是敷衍了事的话,那封锁策略应该就不会太严格,也就做做样子给工信部看。如果是积极配合的话,估计也就你说的 ip 访问最靠谱。我自己部署的服务,有个程序要求安装在根路径下,不能是子路径,所以有办法实现二级域名访问是最好的。

    @HentaiMew 哈?这么严格,所以只能 ip 访问了?那个站被工信部重点盯上了吧?

    @oott123 言简意赅,赞。想了解下你是否这样操作过哈?

    @qinix 谢谢你这么详细的回答哈,就是不知道阿里云发现你执意不备案的话(工信部没介入的情况下,比如工信部下通知),会否直接拔网线。不过想想拔网线貌似也不太可能,不然的话,我只用 ip 访问,别人一个未备案的域名指过来,那不是被坑了?

    @billlee 测试过的答案靠谱,我自己搜索了下,也有看到 8080 端口会被封的说法。
    qinix
        8
    qinix  
       2015-10-31 13:44:12 +08:00 via iPhone
    @yanw 没备案的域名只是访问不了而已…不会拔网线吧
    alect
        9
    alect  
       2015-10-31 14:46:57 +08:00   ❤️ 1
    流量监测,一定会封的。
    Showfom
        10
    Showfom  
       2015-10-31 15:24:41 +08:00   ❤️ 1
    @oott123 访问量大了以后会的, 8080 都会封锁
    pupboss
        11
    pupboss  
       2015-10-31 15:58:19 +08:00   ❤️ 1
    API 的 443 端口目前近一周了,还没被封锁,请求量大概是每天十万吧,网站的访问不多,同 443 未被封
    yanw
        12
    yanw  
    OP
       2015-10-31 17:06:54 +08:00
    @qinix 脑洞而已哈,并无依据。

    @alect 测试过?

    @pupboss 有理有据,我打算实践一下 https 访问。
    des
        13
    des  
       2015-10-31 17:09:35 +08:00 via Android
    只要是 http 都可能被封,最靠谱的是走 https ,然后不开那个什么功能来着
    yanw
        14
    yanw  
    OP
       2015-10-31 17:34:37 +08:00
    @des 不开啥?拜托想起来,哈哈。是 tls sni extension 这个吗?
    pupboss
        15
    pupboss  
       2015-10-31 18:39:31 +08:00
    @yanw 但是我的域名正在备案...长期这么搞恐怕不行。对了,用 ip+端口的方式访问,这个是确定的没有问题,因为我身边就有这么干的,半年多了
    yanw
        16
    yanw  
    OP
       2015-10-31 18:41:44 +08:00
    @pupboss 谢谢告知, ssl 先用着。后面再考虑备案或直接用 ip 访问。
    virusdefender
        17
    virusdefender  
       2015-10-31 20:01:49 +08:00   ❤️ 1
    443 用了几个月了,都没事。但是阿里云客服的说法是使用域名都要备案
    des
        18
    des  
       2015-10-31 20:26:41 +08:00 via Android   ❤️ 1
    @yanw 对,是这个
    virusdefender
        19
    virusdefender  
       2015-10-31 20:28:40 +08:00
    @yanw SNI 怎么禁用
    yanw
        20
    yanw  
    OP
       2015-10-31 23:28:25 +08:00   ❤️ 1
    @virusdefender 今晚花了不少时间“禁用”了这个“ SNI ”。

    你可以通过 nginx -V 可以查看 SNI 是否禁用,如果 SNI 开启了,那就自己编译一个 Nginx (我用的是 Nginx , Apache 应该也是类似的)。编译 Nginx 的时候通过 --with-openssl 参数指定一个低版本的 OpenSSL 库( 0.9.8f 之前的 OpenSSL 库都不支持 SNI , 0.9.8f 支持,不过需要在参数中指定 enable-tlsext )。指定一个不支持 SNI 的 OpenSSL 库,编译出来的 Nginx 也就不支持 SNI 了。

    我尝试过指定 no-tlsext 来编译 OpenSSL 失败了,不知道是原本就没有这个选项(网上看到有,也有可能在老版本支持),还是我操作的方式不对。最终还是采用了上面的方案。

    还没研究是否有安全隐患。
    virusdefender
        21
    virusdefender  
       2015-10-31 23:40:40 +08:00
    @yanw 我搜索的结果也是这样,使用老版本的 openssl ,但是怕还有类似心脏出血的漏洞
    yanw
        22
    yanw  
    OP
       2015-10-31 23:47:28 +08:00
    @virusdefender 我看维基百科说 Heartbleed 影响的版本是 1.0.x (某几个版本),我私自认为 0.9.8 是安全的了。
    yanw
        23
    yanw  
    OP
       2015-11-01 00:02:35 +08:00
    @virusdefender 对了,请教一下你 80 端口怎么处理?重定向应该做不到吧?所以你的网站只能用 https 访问而不能用 http 访问咯?
    typcn
        24
    typcn  
       2015-11-01 00:51:07 +08:00 via iPhone
    @yanw
    1. SNI 头并不是明文传送的,而是在生成 dh 对之后,加密传输的,证书并不是用来加密的,证书与加密没什么关系,证书只是健全
    2.SNI 头是客户端发送给服务器的,你需要在所有客户端禁用 SNI

    暴露域名的是证书而不是 SNI
    yanw
        25
    yanw  
    OP
       2015-11-01 01:27:58 +08:00
    @typcn 受教。 app 禁用 SNI 头可以理解,但浏览器应该控制不了吧。按你说的证书已经暴露域名,那么想隐藏域名完全不可能咯?只是阿里云暂时没管这种情况,可以这么理解吗?
    typcn
        26
    typcn  
       2015-11-01 01:44:31 +08:00 via iPhone   ❤️ 1
    @yanw 没管也不好管,因为有各种泛域名,多域名之类的证书
    virusdefender
        27
    virusdefender  
       2015-11-01 06:43:17 +08:00 via Android   ❤️ 1
    @yanw 是的 80 自己封掉了
    kzzhr
        28
    kzzhr  
       2015-11-01 20:23:52 +08:00 via iPhone
    两个必要条件: 1 未备案的域名 2 80 端口
    waitfish
        29
    waitfish  
       2015-11-17 09:59:09 +08:00
    我来说下吧,阿里云的策略就是分析所有 http 协议的包,只要是里面包含未备案的域名,就会拦截。
    所以,结果就是甭管你是不是 80 、 8080 端口,就算你是( 8888 )端口的 http 服务,也会被拦截掉,而用 ip 地址访问就没关系。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3818 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:17 · PVG 12:17 · LAX 21:17 · JFK 00:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.