我在 Nas 上用 SeaTable 部署了个在线表格,放一些敏感数据,现在打算穿透放到公网上,方便相关人员访问。
Nas 上用 Docker 装的应用:
- 应用采用https协议,Nginx 配置 http 请求自动转 https
- Docker 将
80、443端口,在外部映射为8880、4443端口 - Nas 上尽量不开启ssh 服务,只有需要时才临时开启,同时会开启 Dos 防御、错 5 次锁 1 天等
( Nas 上没开防火墙,不知有无必要?)
Frpc 配置:
- 在 Nas 上用 Frpc 只将
4443端口穿透到 Frps 服务器上,并开启Token 、加密、压缩三项配置 - Frpc 采用虚拟服务器策略,通过指定域名 xxx.xxx 访问才会打开网站,其他域名或直接用 IP 则不认
Frps 配置:
- Frps 部署到阿里云服务器 ECS 上
- Frps 开启 Token 验证( Frpc 必须写上一样的 Token 才行)
- 只配置监听和 https 端口,且自定义为高端口号(监听 50007 端口,https 对外端口设置为 50008 )
服务器防火墙:
- 阿里云服务器采用安全策略,类似防火墙,只保留 67000 、60443 两个端口,其他 80 、443 之类的全部禁掉
- 云服务器的** 22 端口只在需要远程时开放**,不用时立马关闭(感觉有问题,不知能否优化)
- 云服务器只在外部人员访问时开机,用完就关(服务器采用 EIP ,即弹性公网 IP ,可以保证重启后 IP 不变)
应用内部配置:
- 应用的普通页面,如填写表单等,无需登录就能访问,但敏感数据必须登录后才能访问
- 应用不允许注册,只开放三五个自建的普通账号
- 应用开放的普通账号、管理员账号,登录密码均为强密码(大写+小写+数字)
- 应用登录时,密码错 5 次,直接冻结用户(需用管理员账号登录,然后手动恢复)
(技术原因暂时开不了两步验证)
这样配置好后,打算放到公网上,不知道安全不安全?