浅谈Steam社区屏蔽原理与解决方案,以及ASF安全部署NiGhTRay

超文本传输协议,日常浏览的各种网页都是通过HTTP协议传输,但是它的传输过程没有加密,不安全,所以被HTTPS替代。目前市面上所说的支持HTTP一般是指HTTP和HTTPS功能都可以实现,而不是只支持HTTP。

安全传输层,它的前身是SSL,它实现了将报文加密后再交由TCP进行传输的功能。即HTTP+TLS=HTTPS

服务器名称指示,简单来说,是用于在一台服务器的相同端口上部署不同证书的方法。服务器根据收到请求中的SNI域名来处理相应的请求,如果SNI域名为空,会按照预先设置好的默认域名处理请求。

内容分发网络,各个地区部署的服务器在一起形成的高速网络拓扑,用户在每个地区都能实现快速访问。CDN通过SNI响应不同的网站,同时也保护根服务器的安全。

主流的高性能开源HTTP反向代理工具,主要用于反向代理、负载均衡和动静态资源分离。本文只用到了反向代理服务实现访问Steam社区和加防自己的ASF。

在根服务器前部署一台外层服务器做为网关,用户只能访问到外层服务器,从而保护内网服务器不被暴露。做为网关,也可以对报文分析和修改。代理服务器和根服务器部署在一台主机上称为本地反代。

起初,国内通过DNS污染以及HTTP报文关键字检测来拦截访问Steam社区内容。在DNS污染下,浏览器访问会出现ERR_CONNECTION_TIMED_OUT错误,因为DNS会被指向一个不可访问的地址,访问也就超时了。解决方法就是在本地就做好解析,通过修改Hosts文件直连IP访问。但是这不是重点,现在的Steam社区也不是这么简单的屏蔽方式。2018年开始,Steam社区默认采用HTTPS链接,所有的浏览内容都会被加密,报文关键字检测的方法也就失效了。随后出现了更深层次的审查方法,也就是要详细介绍的SNI检测。

将Steam社区等域名添加到Hosts文件中并指向localhost,这里的localhost仅做为一个本地安全跳板,供Nginx正常监听的同时又能防止流量外泄。Nginx将监听到的数据中的SNI信息去除,再送向CDN的IP,使用IP而不使用域名是为了防止DNS污染,既实现完整通信又不被互联网审查到。

将访问困难的域名添加到Hosts文件中,配置如下:

127.0.0.1steamcommunity.com127.0.0.1www.steamcommunity.com127.0.0.1store.steampowered.com127.0.0.1api.steampowered.com一些云服务器在每次重启后会恢复默认Hosts,服务器提供商不同解决办法也不同,具体操作请自行百度。下面的Nginx配置也会用到这些域名。

整个通信过程必须使用HTTPS加密协议,一是为了避免审查机构的报文关键字检测,二是Steam禁止明文HTTP访问,会自动跳转到HTTPS访问。作为本地反代服务器,Nginx将监听的报文头处理后再发送给CDN,但是此时的Nginx服务器在宿主机看来是“不可信”的,除非强制让其可信,也就是在主机安装CA根证书,同时HTTPS反代也需要部署中间证书。

steamcommunityCA.pem:通过Openssl(302工具内置了Openssl)自签的CA根证书。只有在服务器中添加并信任根证书,它所签发的二级证书才会被信任。steamcommunity.crt和steamcommunity.key:上述CA根证书签发的二级证书,Nginx在反代时使用该证书和私钥对流量进行加密。只有服务器信任了CA根证书,用二级证书加密的流量才会被视为安全。

将steamcommunity.crt和steamcommunity.key放在任意一个能读取到的路径就好。例如放在/etc/nginx/ca-certificates/下方便管理,在Nginx配置文件中也方便填写相对路径。不同的系统,安装CA证书的方法也不同。例如在Ubuntu中,将steamcommunityCA.pem命名为steamcommunityCA.crt扔进/usr/local/share/ca-certificates/,然后执行update-ca-certificates安装。

Nginx的配置文件位于/etc/nginx/nginx.conf,这里给出基本配置:

ASF.json存放ASF的全局配置,主要是程序上的配置,基本格式如下:

{"Headless":true,"IPCPassword":"网页登入密码","SteamOwnerID":Steam帐号64位ID}变量名数据类型默认值备注IPCbooltrueIPC是否随进程一同启动。自V5.1.0.0版本开始,IPC已默认启用IPCPasswordstringnull访问IPC需要的密码,空即为不设置UpdateChannelbyte1更新及更新渠道设置,0为不更新,1为稳定通道,2为实验通道如果Github渠道下载过慢。改变值以禁止自动更新请务必设置IPC密码(IPCPassword),因为它是ASF的最后一道防线!

平常在电脑上安装ASF,ASF-ui默认监听localhost:1242端口,考虑到仅在本地访问所以Http通信足矣。但如果是部署在服务器上,ASF-ui就要暴露在公网上被我们所访问。在公网上不能保证自己的IP不被监听,如果继续使用Http通信,流量中的明文密码将会泄漏。因此,我们要将明文流量通过TLS加密,也就是使用Https协议,这样即使被别有用心的人监听到也只是加密的数据,对方无法解密,也就确保了密码相对安全。ASF自身支持以Https方式启动ui,也可以使用Nginx本地反代Http协议下的ASF。

不管哪种方式,都需要申请ssl证书才能启用HTTPS。而申请ssl证书需要一个合法域名。国内几乎申请不到免费的域名,免费方案下只能从外网免费申请了,我用的是Freenom申请了一年的.ml后缀域名。得到域名拥有权后再到国内云服务商上申请国内解析权,这样解析速度就和国内购买的域名一样了。

至于ssl证书申请,可以使用各大云免费申请一年,提交申请后半小时内就能下来。如果域名备案了,就可以放心使用443端口,否则就会被互联网审查机构拦截阻断。毕竟ASF一般都是私用,选择默认1242端口就好。使用其他自定义端口没有实际增加安全性,但可以避免过于明显的扫描。

一定要记得在服务器上放行相应端口!

下面简述几种常见的安全部署方案:

如果只部署在localhost,除非本机被攻破,否则ASF是安全的。IPC.config配置如下:

此时的IPC.config配置可以默认,默认了话就是监听本地1242端口,然后通过Nginx监听公网443端口。nginx.conf配置如下:

THE END
1.Steam—高质量游戏平台在您的手机上浏览 Steam 目录中的 Windows、Mac 和 Linux 作品。不再错过任何特卖。 更有 根据您的库自定义的动态信息 应用内支持多个帐户 验证器支持多个帐户 全新库视图 社区、讨论、市场以及更多 操作系统最低要求:iOS 13 或 Android 5.0 无法访问 Google Play 的 Android 用户可以在这里下载 3.9.5 版本https://store.steampowered.com/mobile?l=schinese
2.好游快爆好游快爆官网好游快爆app下载行云流水近期下载飙升Roguelite 9.3 双人联机模式上线,支持跨渠道联机 855人评价 元梦之星-轻松社交派对 友情粉碎机派对游戏多人联机 7.0 [美食派对]赛季2.其他细节方面,也是做到了细致而不细碎,很多的互动玩法和元素,都能在剧情外和剧情连接上看见,并且相互是紧密联系的,手机朋友圈和落樱剧情中的几人居住的https://www.3839.com/
3.哪个平台买Steam游戏便宜最划算的游戏购买渠道便宜购买Steam游戏的平台推荐bigplayers、杉果、凤凰等游戏平台,这些平台售卖的都是正规渠道的正版游戏cdkey,并不是黑心商家卖的共享账号,想要便宜买游戏的玩家可以参考下文的方法进行购买。 便宜买Steam游戏方法教学 操作步骤: 第一步:点击链接进入bigplayers游戏平台【点此进入】。 https://m.18183.com/gonglue/202209/4151919.html
4.[假装科普]关于官服与渠道服的那些事情NGA玩家社区在这个星球之上,手机系统主流的,无非两种:安卓与苹果。 先说国外,在国外手游只有官服,无渠道服。 是真的吗?应该是真的。(别问,问就是我没有出过国)国外只有官服,包括:苹果商店下载的苹果服。谷歌应用市场下载的安卓服。以上两个无论是谷歌应用市场下载的手游,还是苹果商店下载的,都是官服。国外的相对https://bbs.nga.cn/read.php?tid=15048748&page=1&rand=961
5.最新安卓应用汇免费下载–AppChina应用汇应用汇,第一批手机全网安卓应用搜索平台,为用户提供精选安卓游戏应用下载资源。 情怀与节操兼备的应用商店,内容全面安全的应用下载渠道! >全面、及时的应用资源,独立游戏、小众应用全收录! >覆盖广泛的找旧版,你想要的旧版本APP全都有! >真实、有用的评论内容,游戏不会玩?去评论区逛逛格局全打开! >多维度的应用http://m.appchina.com/app/9991
6.8个可以低价买游戏的网站(内附链接)steam史低网站近年来,随着游戏制作成本的水涨船高,游戏售价也逐渐跟着涨价(虽然也有游戏成本没那么高,但售价依旧达到了70 刀的水平),这使得许多玩家开始寻找更便宜的购买渠道。幸运的是,除了官方的Steam商店,还有许多其他网站提供折扣和优惠,其中最为实惠的应该就是倒余额了,即通过倒卖道具从中赚取差价,但对多数玩家来说操作可能比https://blog.csdn.net/TOPSTIP/article/details/140993461