技术解析

阿里云未备案网站的封锁策略是?
0
2021-05-17 12:49:58
idczone
看了 http://www.v2ex.com/t/230352 这帖, 443 端口是否封锁各有说法。

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

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

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

谢谢各位回答。
听过 防火墙 吗。。。在 网络出口 处的防火墙直接阻断端口 80 流量。
其他端口不封。

那你直接 ip :端口访问得了,最保险
至于封锁政策,会变化的…

我见过直接阻断任何端口流量的,只要是域名解析过来的


没有问题
不会

1 、 443 端口封不了
2 、其他端口都不封
3 、改 hosts 如果还是 80 端口的话也会被封
检测方式大概是,防火墙会看你 80 端口的 http 数据包,如果出现未备案域名的话就会封。这个封锁是有缓存的,所以会过一段时间以后封,不是立马生效
这是很久以前发现的,不知道现在改了没有,如果现在阿里云改了封锁策略的话轻喷。。

8080 端口上的 HTTP 也会被封。今年 4 到 6 月的测试结果。

阻断某个域名 80 端口的全部流量这个是可以理解的,按目前的表现来看,应该就是我说的,是事后处理吧。
同意封锁策略会变化这个说法,主要是不清楚阿里云对工信部的态度如何。是敷衍了事呢,还是积极配合。如果是敷衍了事的话,那封锁策略应该就不会太严格,也就做做样子给工信部看。如果是积极配合的话,估计也就你说的 ip 访问最靠谱。我自己部署的服务,有个程序要求安装在根路径下,不能是子路径,所以有办法实现二级域名访问是最好的。
哈?这么严格,所以只能 ip 访问了?那个站被工信部重点盯上了吧?
言简意赅,赞。想了解下你是否这样操作过哈?
谢谢你这么详细的回答哈,就是不知道阿里云发现你执意不备案的话(工信部没介入的情况下,比如工信部下通知),会否直接拔网线。不过想想拔网线貌似也不太可能,不然的话,我只用 ip 访问,别人一个未备案的域名指过来,那不是被坑了?
测试过的答案靠谱,我自己搜索了下,也有看到 8080 端口会被封的说法。

没备案的域名只是访问不了而已…不会拔网线吧

流量监测,一定会封的。

访问量大了以后会的, 8080 都会封锁

API 的 443 端口目前近一周了,还没被封锁,请求量大概是每天十万吧,网站的访问不多,同 443 未被封

脑洞而已哈,并无依据。
测试过?
有理有据,我打算实践一下 https 访问。

只要是 http 都可能被封,最靠谱的是走 https ,然后不开那个什么功能来着

不开啥?拜托想起来,哈哈。是 tls sni extension 这个吗?

但是我的域名正在备案...长期这么搞恐怕不行。对了,用 ip+端口的方式访问,这个是确定的没有问题,因为我身边就有这么干的,半年多了

谢谢告知, ssl 先用着。后面再考虑备案或直接用 ip 访问。

443 用了几个月了,都没事。但是阿里云客服的说法是使用域名都要备案

对,是这个

SNI 怎么禁用

今晚花了不少时间“禁用”了这个“ 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 失败了,不知道是原本就没有这个选项(网上看到有,也有可能在老版本支持),还是我操作的方式不对。最终还是采用了上面的方案。
还没研究是否有安全隐患。

我搜索的结果也是这样,使用老版本的 openssl ,但是怕还有类似心脏出血的漏洞

我看维基百科说 Heartbleed 影响的版本是 1.0.x (某几个版本),我私自认为 0.9.8 是安全的了。

对了,请教一下你 80 端口怎么处理?重定向应该做不到吧?所以你的网站只能用 https 访问而不能用 http 访问咯?


1. SNI 头并不是明文传送的,而是在生成 dh 对之后,加密传输的,证书并不是用来加密的,证书与加密没什么关系,证书只是健全
2.SNI 头是客户端发送给服务器的,你需要在所有客户端禁用 SNI
暴露域名的是证书而不是 SNI

受教。 app 禁用 SNI 头可以理解,但浏览器应该控制不了吧。按你说的证书已经暴露域名,那么想隐藏域名完全不可能咯?只是阿里云暂时没管这种情况,可以这么理解吗?

没管也不好管,因为有各种泛域名,多域名之类的证书

是的 80 自己封掉了

两个必要条件: 1 未备案的域名 2 80 端口

我来说下吧,阿里云的策略就是分析所有 http 协议的包,只要是里面包含未备案的域名,就会拦截。
所以,结果就是甭管你是不是 80 、 8080 端口,就算你是( 8888 )端口的 http 服务,也会被拦截掉,而用 ip 地址访问就没关系。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服