V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sillydaddy
V2EX  ›  信息安全

为家用网络中的机器开通一条 SSH 隧道,有风险吗?

  •  1
     
  •   sillydaddy · 2021-03-02 12:19:01 +08:00 · 8223 次点击
    这是一个创建于 1387 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就是说通过 SSH 隧道连接家用机器与一台公网服务器,可以通过服务器来操作家用机器。术语应该叫内网穿透。
    这样做相当于是把家用机器在一定程度上暴露在公网上了。

    开这个隧道,是因为自己对数据隐私有种洁癖,不想把任何私人数据放在云服务器上。

    我想把所有的明文个人数据(比如日记、账务、笔记等等),都放在本地,只有在经过加密后,才会上传到服务器。
    但这样做的话,明文数据只能在本地操作,而不能联网操作。而建立 SSH 隧道后,就能通过网络,联网操作明文的个人数据,同时又不会暴露这些数据,从而兼顾隐私和便利。

    根据前帖 ( /t/757503 ) 的反馈,内网机器原本应该是比较安全的。那在打通一条隧道到家里之后,会增加多少额外的风险呢? 我能控制这种风险吗?

    或者大家有推荐的系统吗?
    41 条回复    2021-03-19 11:25:22 +08:00
    vibbow
        1
    vibbow  
       2021-03-02 12:26:58 +08:00
    可以做 port knocking
    ferock
        2
    ferock  
       2021-03-02 12:30:41 +08:00 via iPhone
    家用机是什么机器?台式机?笔记本? nas ?
    Sekai
        3
    Sekai  
       2021-03-02 12:35:15 +08:00
    Windows 平台推荐 Bitvise SSH Server,限制 ip 、证书登录、换端口号、换登录名……还不放心可以做文件加密
    gkiwi
        4
    gkiwi  
       2021-03-02 12:35:20 +08:00
    一般没啥问题,所有渠道别用密码,只用 ssh key 登录
    之前某个项目,生产环境是个纯内网部署的,所以为了远程部署,只好开了隧道- -
    H0u5er
        5
    H0u5er  
       2021-03-02 12:38:03 +08:00
    我的解决办法更加简单,光猫转换桥接模式,申请公网 IP,路由器自带 VPN 和 DDNS 功能。

    国内范围出差的情况下,通过 DDNS 获取家里的 IP,建立 VPN 隧道。
    markgor
        6
    markgor  
       2021-03-02 12:38:26 +08:00
    亲身经历:
    服务器:
    frp
    监听:9090 、7000
    密码验证

    本地电脑:
    frp
    密码验证


    被投毒
    sillydaddy
        7
    sillydaddy  
    OP
       2021-03-02 12:41:58 +08:00 via Android
    @ferock 台式机或笔记本
    lifanxi
        8
    lifanxi  
       2021-03-02 12:42:19 +08:00
    禁密码登陆,禁 root,非默认用户,非默认端口,fail2ban,我觉得已经够安全了。不行再加一道端口敲门。
    40EaE5uJO3Xt1VVa
        9
    40EaE5uJO3Xt1VVa  
       2021-03-02 12:49:31 +08:00
    改 非常用端口 和 20 位大小写字母数字的强密码 基本就没啥问题
    SingeeKing
        10
    SingeeKing  
       2021-03-02 12:51:23 +08:00   ❤️ 1
    可以参考 https://community.nssurge.com/d/5,目前用起来很完美

    SSH 一方面比较麻烦,另一方面就是会有各种奇奇怪怪的人试图登录,fail2ban 一不小心自己都无法访问了
    Chenamy2017
        11
    Chenamy2017  
       2021-03-02 12:53:32 +08:00
    #8 楼的措施以及很好了。安全都是相对的,你花的代价做防守,别人要花更大的代价去攻击,所以别人要不要攻击你取决于你电脑的价值有多少,普通的电脑没有什么价值,所以做一定的措施就可以了,没必要臆想被攻击。
    hronro
        12
    hronro  
       2021-03-02 13:07:43 +08:00
    https://github.com/slackhq/nebula 一年多了,没出现什么安全问题
    0x0000000
        13
    0x0000000  
       2021-03-02 13:13:18 +08:00
    改端口、强密码,基本安全了 99.9%
    darrh00
        14
    darrh00  
       2021-03-02 13:22:11 +08:00   ❤️ 1
    #12 也用了 nebula 很久,不过最近切换到 https://github.com/tailscale/tailscale 了,nebula 遇到连不上的问题太头疼了。目前来看,tailscale 总体的质量还是高了一大截。
    delectate
        15
    delectate  
       2021-03-02 13:36:28 +08:00
    没用的。frp,非常用端口,很牛逼的密码,一天大概 5 多万次爆破记录。

    还好我的用户名不是 root,然后看他们就天马行空了,linustorvalds 都写。。。。
    Decent
        16
    Decent  
       2021-03-02 13:59:57 +08:00 via iPhone
    用 v2 做个路由,内网指定网段走 freedom 就行,xshell 再走代理。
    Cu635
        17
    Cu635  
       2021-03-02 14:02:50 +08:00
    @markgor
    frp 密码复杂程度和用户名如何?
    laqow
        18
    laqow  
       2021-03-02 14:06:47 +08:00 via Android
    套层梯子的服务端再 ssh,梯子出口只开在虚拟机,给一个没权限的账号,这样最多打到虚拟机
    sillydaddy
        20
    sillydaddy  
    OP
       2021-03-02 14:32:04 +08:00
    @markgor #6
    @SingeeKing #10
    @hronro #12
    @darrh00 #14 这些工具 还是第一次听说,谢谢!

    @delectate #15 哈哈。然后呢? 这么直接应该不可能破解吧。

    感谢大家的建议。看样子设置一个强密码应该就够了啊。
    wslzy007
        21
    wslzy007  
       2021-03-02 14:33:56 +08:00
    @sillydaddy 这类需求最好还是走“内网”到“内网”穿透吧,反正都是自己用。推荐试试 sg
    github.com/lazy-luo/smarGate
    markgor
        22
    markgor  
       2021-03-02 14:39:23 +08:00
    @Cu635 frp 密码大小写应为+数字,长度 13 位。
    粗略复盘并非 frp 的锅,当时是服务器 9090->本地电脑的 3389.
    frp 没开启日志,无法确定是否批量扫的端口。但 frp 服务器尚未有被入侵的痕迹。
    至于 3389 对应的是 server08,由于改机器是给某个部门临时使用的,
    他们密码好像纯数字 8 位数,server 里日志有一大堆登录失败信息,估计是被字典爆破的。

    当时好像是业务需求,港澳地区的需要连接过来这台机操作,
    之前是通过提供 VPN 形式的,但是通过 VPN 形式经常被大陆 ban (一会正常一会异常)
    所以最后才采用 frp 形式临时给他们使用。
    scukmh
        23
    scukmh  
       2021-03-02 14:41:29 +08:00
    frp -> ss -> ssh 。还嫌不安全的话可以在套个 stcp.
    gitopen
        24
    gitopen  
       2021-03-02 14:46:23 +08:00
    @markgor 我也遇到过,前一阵我家里的旧电脑做下载机,用 frp 穿透,突然有一天发现它风扇狂转,打开一看,不知道啥时候被投毒了。。而且是比特币勒索病毒,全盘文件被加密。。由于没啥重要东西,就全盘格式化了。。。
    markgor
        25
    markgor  
       2021-03-02 14:47:03 +08:00
    说起来突然想起,我们之前也有部署过通过 openvpn 组网,
    asterisk<->sip trunk<->openvpn client-> openvpn server <->openvpn client <-> sip trunk <-> asterisk

    其中 openvpnServer 是部署在公网的,openVpnClient 是部署在私网里的。
    港珠澳三地组网。除香港外稳定性还算可以,公网服务器是 5M 的带宽。
    iloveayu
        26
    iloveayu  
       2021-03-02 14:47:52 +08:00
    @darrh00 #14 好东西,感谢分享!
    treizeor
        27
    treizeor  
       2021-03-02 14:48:09 +08:00   ❤️ 1
    之前无意中用了一款号称国产 xshell 的 finalshell,结果第二天 nas 就被人挂了挖矿脚本,很难让我不怀疑是这个软件的问题。所幸的是我的 nas 跑在内存里的,重启之后所有修改都会被恢复。
    markgor
        28
    markgor  
       2021-03-02 14:49:21 +08:00
    @gitopen 一样情况,不过我们那台机贪图方便挂载了 smb 网盘,中毒后直接把网盘中文件都加密了。
    复盘时发现他通过 nmap 扫内网(不知道是程序自动扫还是人工),自动挂载网盘....
    gwind
        29
    gwind  
       2021-03-02 14:52:14 +08:00
    如何搭建一个安全的私有网络环境
    https://gwind.me/post/computer/wireguard-network/
    gitopen
        30
    gitopen  
       2021-03-02 14:54:08 +08:00
    @markgor 如果有重要文件或数据,就惨了。。。
    markgor
        31
    markgor  
       2021-03-02 14:56:21 +08:00
    @gitopen
    SMB 里有重要文件,不过有备份策略,凌晨脚本 tar 去另外一个目录的,所以我们损失比较低,业务就损失了 2 天的数据。
    wowodavid
        32
    wowodavid  
       2021-03-02 15:04:27 +08:00
    ipsec 套 ssh,ipsec 强密码,ssh 强密码,够安全了。
    webshe11
        33
    webshe11  
       2021-03-02 15:41:08 +08:00
    我的方法和 @scukmh #23 的一样,frp 不要直接转发 SSH 端口,而是套一层 Shadowsocks 。
    这样除了可以保护 SSH,还可以帮助你访问家里的其他服务。
    Lee2019
        34
    Lee2019  
       2021-03-02 15:56:42 +08:00
    frp 或者 n2n 都可以
    markgor
        35
    markgor  
       2021-03-02 16:51:46 +08:00
    其实境内的话,直接服务端装 openVpn,
    内网装个客户端,
    使用证书+密码验证
    这样无论从数据传输到接入,都能保障安全。

    剩下就是提升服务器的安全配置即可了,防止服务器被入侵时顺路爬回你家。
    sillydaddy
        36
    sillydaddy  
    OP
       2021-03-02 17:39:34 +08:00
    @markgor #35,是的,服务器被入侵然后顺路入侵本地,也是一个很重要的风险点。毕竟这条入侵路径很明确,服务器被入侵的风险相对也更大。
    ansonchuang
        37
    ansonchuang  
       2021-03-02 22:44:22 +08:00 via Android
    用 zerotier
    yanqiyu
        38
    yanqiyu  
       2021-03-03 00:30:10 +08:00 via Android
    我直接把 ssh 映射到公网,并且加上禁止 root 登录,禁止密码登陆。跑了一年多了,一直有看到扫描(每天 2000+次登录尝试),但是没被黑掉过
    Rache1
        39
    Rache1  
       2021-03-03 09:50:36 +08:00
    我给我的 3389 加了个二次验证,就是防止前面几环都失效的情况
    lx0758
        40
    lx0758  
       2021-03-03 10:29:17 +08:00
    问题不大, 我家里的服务器跑了 2.5 年, 没啥问题, 就是每天承受吨级扫描, 路由器端口映射服务器的 openvpn 开隧道, 开了之后就和局域网一样了, 想干啥都行
    redial39
        41
    redial39  
       2021-03-19 11:25:22 +08:00
    加个入站 src.ip 限制比什么都好用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1175 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.