这样用 Frp 给 NAS 应用做内网穿透,够安全吗?

2022-01-30 22:58:47 +08:00
 oraant

我在 Nas 上用 SeaTable 部署了个在线表格,放一些敏感数据,现在打算穿透放到公网上,方便相关人员访问。

Nas 上用 Docker 装的应用:

  1. 应用采用https协议,Nginx 配置 http 请求自动转 https
  2. Docker 将80443端口,在外部映射为88804443端口
  3. Nas 上尽量不开启ssh 服务,只有需要时才临时开启,同时会开启 Dos 防御、错 5 次锁 1 天等

( Nas 上没开防火墙,不知有无必要?)

Frpc 配置:

  1. 在 Nas 上用 Frpc 只将4443端口穿透到 Frps 服务器上,并开启Token 、加密、压缩三项配置
  2. Frpc 采用虚拟服务器策略,通过指定域名 xxx.xxx 访问才会打开网站,其他域名或直接用 IP 则不认

Frps 配置:

  1. Frps 部署到阿里云服务器 ECS 上
  2. Frps 开启 Token 验证( Frpc 必须写上一样的 Token 才行)
  3. 只配置监听和 https 端口,且自定义为高端口号(监听 50007 端口,https 对外端口设置为 50008 )

服务器防火墙:

  1. 阿里云服务器采用安全策略,类似防火墙,只保留 67000 、60443 两个端口,其他 80 、443 之类的全部禁掉
  2. 云服务器的** 22 端口只在需要远程时开放**,不用时立马关闭(感觉有问题,不知能否优化)
  3. 云服务器只在外部人员访问时开机,用完就关(服务器采用 EIP ,即弹性公网 IP ,可以保证重启后 IP 不变)

应用内部配置:

  1. 应用的普通页面,如填写表单等,无需登录就能访问,但敏感数据必须登录后才能访问
  2. 应用不允许注册,只开放三五个自建的普通账号
  3. 应用开放的普通账号、管理员账号,登录密码均为强密码(大写+小写+数字)
  4. 应用登录时,密码错 5 次,直接冻结用户(需用管理员账号登录,然后手动恢复)

(技术原因暂时开不了两步验证)

这样配置好后,打算放到公网上,不知道安全不安全?

6891 次点击
所在节点    程序员
28 条回复
oraant
2022-02-01 00:54:21 +08:00
@guowq 谢谢,备案过啦,阿里云上不备案不给用
oraant
2022-02-01 04:38:22 +08:00
@neptuno 关闭 admin 账户是什么意思,我应用的管理员是用的其他账号名,是您说的意思吗
oraant
2022-02-01 04:39:45 +08:00
@wonderfulcxm MOON 也需要客户端吧
oraant
2022-02-01 04:40:08 +08:00
@fitmewell 好,我看很多人都推荐,我去试试
oraant
2022-02-01 04:41:06 +08:00
@zmxnv123 好像延迟太大了
cdlnls
2022-02-01 07:51:17 +08:00
相关的程序和系统 安全补丁升到最新。

相当于只是开放一个端口而已,能被攻击的入口也就一个端口没啥其他的东西了。无论有没有开 frp ,重点应该放在外网云服务器上。
neptuno
2022-02-01 12:49:55 +08:00
@oraant 就是停用默认的 admin 账号,我使用的是威联通的 nas ,系统明确建议停用系统默认的 admin 账号,自行创建管理员账号,可以提高安全性
twtiyb
2022-02-01 22:11:05 +08:00
用 tailscale
公网跟 nas 各开个一个节点
公网开个 80 端口,用域名做反代,直连 nas 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831467

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX