- 修正文件名及内容
pull/411/head
vndroid 2022-06-17 17:54:08 +08:00
parent e7e03be584
commit ebaa5985e5
No known key found for this signature in database
GPG Key ID: 7533E3CE2FF98E00
1 changed files with 37 additions and 0 deletions

37
ss_whitelist/README.md Normal file
View File

@ -0,0 +1,37 @@
## ss-openresty 白名单
> 请注意该内容依然属于测试内容,相关的技术框架已经全部说明,具体内容可以查阅相关文档
这是一个 ss 的基于 openrestynginx) 的白名单实现
* 使用 `docker-compose` 启动
* 利用 `ngx_http_auth_basic_module` 进行访问验证
* 利用 `ngx_http_access_module` 实现IP白名单控制
* 利用 `ngx_stream_proxy_module` 实现四层反向代理
* 利用 `lua` 进行配置调整及应用
通过浏览器访问代理的IP地址并通过用户名密码验证即可添加当前访问IP至白名单
不需要签发证书ss 使用 `ss-libev` 版本
无教程,具体需要的内容可以查看 docker-compose.yml 中的 volume 部分,包括 nginx 配置文件,模板也在 ss_whitelist 文件夹中,在对应文件夹需要创建一个 allow.list 空文件
## 优势
* 不再需要 tls / tls 隧道TCP直连。
* 没有签发证书的繁琐流程
* 应该大概也许可能 能够最大程度上保证 端口/IP 不被封禁
## 原理
目前对 ss 类协议的主要探测方式为大量IP进行主动探测并对端口进行封禁
经过 **少量** 测试发现使用白名单限制ss端口访问来源可以很大程度上规避端口封禁
> 我们相信防火墙可以通过伪造来源IP的方式来访问服务端并进行重放攻击ss-AEAD 本身的抗重放应该足以应对这种情况
大部分代理使用场景都是在固定场所,在一定时间内有相对固定的 IP因此在大部分情况下通过白名单限制访问 ss 的 IP 来源方式相对可行
## 使用方法
* 访问 IP/admin 输入鉴权信息,添加当前 IP 地址进入白名单
* 访问 IP/purge 清空白名单信息