V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sponsored by
ShowMeBug
[福利] V2EXer 专属!在线代码笔面试 20 场
ShowMeBug,专业的在线代码面试平台,助力你快速识别神队友,高效面试不加班。

为了感谢 V2EX 小伙伴们的支持,特地大家提供了福利:ShowMeBug 在线笔面试场次 20 场,限时活动,快邀请你的小伙伴来薅羊毛吧!
Promoted by ShowMeBug
sillydaddy
V2EX  ›  信息安全

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

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

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

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

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

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

    国内范围出差的情况下,通过 DDNS 获取家里的 IP,建立 VPN 隧道。
    markgor
        6
    markgor   52 天前
    亲身经历:
    服务器:
    frp
    监听:9090 、7000
    密码验证

    本地电脑:
    frp
    密码验证


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

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

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

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

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

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

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

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