V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
oraant
V2EX  ›  程序员

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

  •  
  •   oraant · 149 天前 · 3929 次点击
    这是一个创建于 149 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 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 次,直接冻结用户(需用管理员账号登录,然后手动恢复)

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

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

    28 条回复    2022-02-01 22:11:05 +08:00
    oraant
        1
    oraant  
    OP
       149 天前
    写错了一个地方:Frps 只开的 50007 、50008 ,然后 ECS 的防火墙也只开 50007 、50008 这两个端口
    vibbow
        2
    vibbow  
       149 天前
    还可以把所有国外 IP 都屏蔽掉 (需要在阿里云上写 iptables)
    mineralsalt
        3
    mineralsalt  
       149 天前
    当然安全, 只要不用弱密码, 直接开放公网也没事
    initd
        4
    initd  
       149 天前 via Android
    宝友,Cloudflare Argo Tunnel 了解一下?
    oraant
        5
    oraant  
    OP
       149 天前
    @vibbow 666 ,直接屏蔽一大半扫描流氓,谢谢大佬!
    oraant
        6
    oraant  
    OP
       149 天前
    @mineralsalt 不会吧,我在 v2 一查,frp 穿透内网后,被下毒的被勒索的一大堆。
    mineralsalt
        7
    mineralsalt  
       149 天前
    @oraant 多虑了, 开放到公网上的服务, 除了走正常的登录途径, 就是服务自身存在零日漏洞, 像 SSH, 远程桌面, FTP 等这些服务都是非常成熟的产品, 你只要保管好账号密码, 又有什么好担心的, 公网上有大量的群晖服务, 如果都被爆破了, 那还得了
    oraant
        8
    oraant  
    OP
       149 天前
    @initd 谢谢指路,不过这个别人好像必须得装客户端才行?
    oraant
        9
    oraant  
    OP
       149 天前
    @mineralsalt
    可是我看好多人开 3389 被爆破的,
    还有这个开 ssh 被投毒的: https://www.v2ex.com/t/757579#r_10257270
    还有小米的: https://www.v2ex.com/t/726197?p=1
    duke807
        10
    duke807  
       149 天前 via Android
    只要不是用 windows 系統就是安全的

    你的手機走移動網路,手機暴露在公網( ipv6 ),你會擔心手機有安全隱患嗎
    jeeyong
        11
    jeeyong  
       149 天前
    @mineralsalt 我曾经不小心暴露了 1080 端口, 被扫懵逼了...哈哈哈
    dangyuluo
        12
    dangyuluo  
       149 天前   ❤️ 1
    把服务暴露在公网肯定要做好安全防护啊,SSH 禁止密码登录,使用证书,各种服务禁止弱密码,如果可能的话限制可访问端口的 IP 。

    我现在就有一些服务用 frp 转发到一台公网服务器上。首先我的公网服务器的 frps 端口只接受家庭 IP 访问,然后我各种服务端口在防火墙上配置了只接受 localhost 的访问,然后当我需要用这个服务的时候会用手机、笔记本 Wireguard 到服务器上使用。虽然麻烦一点,然后我配置了 fail2ban/sshguard ,这下只要 wireguard 和 SSH 没有协议上的漏洞,应该想不到谁能黑掉我的机器了。
    guowq
        13
    guowq  
       148 天前
    公网最好要备案,高号端口有时也会被检测到
    neptuno
        14
    neptuno  
       148 天前 via iPhone
    个人感觉,不要开 ssh 端口,关闭 admin 账户,不要弱密码,使用 https ,就很安全了
    Explr
        15
    Explr  
       148 天前 via iPhone
    我最近也在琢磨这个问题,如果 frps 被渗透导致任意代码执行,攻击者能否利用 frps 和 frpc 之间的控制连接进而渗透 frpc ,造成 frpc 配置被篡改,其他本地服务被暴露到公网上。
    wonderfulcxm
        16
    wonderfulcxm  
       148 天前 via iPhone
    不如用 moon 安全,服务走虚拟局域网
    fitmewell
        17
    fitmewell  
       148 天前
    直接远程服务器搭建 wireguard 更安全点吧
    zmxnv123
        18
    zmxnv123  
       148 天前
    试试 tailscale
    oraant
        19
    oraant  
    OP
       148 天前
    @duke807 我两个卡,移动联通,都是 ipv4 的 T_T
    没有安全隐患主要是因为手机不暴露什么接口吧。。
    oraant
        20
    oraant  
    OP
       148 天前
    @dangyuluo 你的公网服务器相当于一台跳板机呀
    oraant
        21
    oraant  
    OP
       148 天前
    @guowq 谢谢,备案过啦,阿里云上不备案不给用
    oraant
        22
    oraant  
    OP
       148 天前
    @neptuno 关闭 admin 账户是什么意思,我应用的管理员是用的其他账号名,是您说的意思吗
    oraant
        23
    oraant  
    OP
       148 天前
    @wonderfulcxm MOON 也需要客户端吧
    oraant
        24
    oraant  
    OP
       148 天前
    @fitmewell 好,我看很多人都推荐,我去试试
    oraant
        25
    oraant  
    OP
       148 天前
    @zmxnv123 好像延迟太大了
    cdlnls
        26
    cdlnls  
       147 天前 via iPhone
    相关的程序和系统 安全补丁升到最新。

    相当于只是开放一个端口而已,能被攻击的入口也就一个端口没啥其他的东西了。无论有没有开 frp ,重点应该放在外网云服务器上。
    neptuno
        27
    neptuno  
       147 天前
    @oraant 就是停用默认的 admin 账号,我使用的是威联通的 nas ,系统明确建议停用系统默认的 admin 账号,自行创建管理员账号,可以提高安全性
    twtiyb
        28
    twtiyb  
       147 天前
    用 tailscale
    公网跟 nas 各开个一个节点
    公网开个 80 端口,用域名做反代,直连 nas 。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1130 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:02 · PVG 06:02 · LAX 15:02 · JFK 18:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.