V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
codingKingKong
V2EX  ›  问与答

请问一个关于 ssh 访问生产环境不具备公网 ip 机器方式的问题.

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

    各位大佬, 我之前有了解到, 生产环境一般是配置 NAT 网关, 来控制服务统一进出口流量. 网关后面的机器一般都使用内网 IP.

    我有一个疑问, 这种情况下, 想要 ssh 上内网的某台机器, 一般是采用什么方案?

    我记得有看过说有一台具有公网 ip 的机器当跳板, 然而我找不到帖子了.

    谢谢~

    42 条回复    2021-01-17 17:49:31 +08:00
    yanzhiling2001
        1
    yanzhiling2001   319 天前
    frp 内网穿透
    codingKingKong
        2
    codingKingKong   319 天前
    @yanzhiling2001 #1 感谢大佬回复, 一般生产环境运维访问机器除了这种内网穿透, 还会有什么其他方式么?
    JLTHU
        3
    JLTHU   319 天前 via iPhone
    zerotier
    tailscale
    boris93
        4
    boris93   319 天前 via Android   ❤️ 1
    内网机和外网出口之间会有一台跳板机
    我们先 SSH 进跳板机,然后通过跳板 SSH 到内网服务器
    跳板机可能同时有审计作用
    frp 是邪路,那玩意不是给生产环境用的
    codingKingKong
        5
    codingKingKong   319 天前
    @JLTHU #3 感谢大佬回复.
    boris93
        6
    boris93   319 天前 via Android
    同时跳板机也限制只有公司内网才能访问到
    codingKingKong
        7
    codingKingKong   319 天前
    @boris93 #4 感谢大佬回复. 我确实是生产环境的需求~ 请问这种方案一般应该去哪里了解呢?
    codingKingKong
        8
    codingKingKong   319 天前
    @boris93 #6 这种限制一般会通过什么方式实现呢? 或者给我个关键字就行, 我去了解一下
    xenme
        9
    xenme   319 天前 via iPhone
    bastion
    codingKingKong
        10
    codingKingKong   319 天前
    @xenme #9 感谢大佬回复~
    boris93
        11
    boris93   319 天前 via Android
    @codingKingKong #7 #8 试试搜
    - 堡垒机
    - SSH audit
    之类的关键字吧

    我也只是个用户,没搭过这玩意
    codingKingKong
        12
    codingKingKong   319 天前
    @boris93 #11 好的~
    imdong
        13
    imdong   319 天前
    跳板机,堡垒机。

    原理是,先通过 SSH 连接到一台能同时访问内网机器与外网的 “跳板机”上。

    然后再从跳板机连接到内网,这次连接有两种方式:

    一种是隧道方式,先打通本地到内网的通道,然后从本地通过隧道连接到内网,此时跳板机只是数据转发作用。
    另一种是远程方式,SSH 连接到跳板机,再在跳板机上通过 SSH 连接到内网,此时对于内网机器来说,是跳板机在连接。
    ypw
        14
    ypw   319 天前
    jumpserver
    mansurx
        15
    mansurx   319 天前   ❤️ 1
    不应该是通过双因素认证的公司 VPN 拨入公司内网再访问吗?问问 IT 有没有
    Takashi123
        16
    Takashi123   319 天前
    公司有公网 IP 的话可以路由器设置内网转发,一层一层设置进来就可以了。
    或者用 vpn,直接接到内网环境。
    BeautifulSoap
        17
    BeautifulSoap   319 天前 via Android
    不建议随意将生产环境 ip 端口转发或者暴露到公网

    安全不是绝对的,尤其生产环境。v2ex 之前就有过擅自把端口暴露到公网然后出了安全事故的帖子
    codingKingKong
        18
    codingKingKong   319 天前
    @imdong #13
    @ypw #14
    @mansurx #15
    @Takashi123 #16
    @BeautifulSoap #17
    感谢大佬回复, 我会去用回复的关键字去了解一下.
    akira
        19
    akira   319 天前
    堡垒机
    跳板机
    VPN
    iphoneXr
        20
    iphoneXr   319 天前 via iPhone
    干运维的我表示一般先用 openvpn 和 ipsec 打通各处网络,然后堡垒机走内网访问。
    iphoneXr
        21
    iphoneXr   319 天前 via iPhone
    其实我是拒绝 ecs 直接公网 ip 的。
    建议是客户流量入口走 slb,流量出口走 nat 网关,管理流量都走 vpn 的方式。
    IgniteWhite
        22
    IgniteWhite   319 天前 via iPhone
    frp
    ik
        23
    ik   319 天前 via iPhone
    应该还是有公网的吧? 可以端口映射, 通过堡垒机登录也行
    YouLMAO
        24
    YouLMAO   319 天前 via Android
    我的公司是 vpn+ssh+2fa, 比国内前五互联网公司加起来更安全
    litanid
        25
    litanid   319 天前 via Android
    tinc 、n2n 一大堆
    IDAEngine
        26
    IDAEngine   319 天前
    zerotier
    dlqingxi
        27
    dlqingxi   319 天前
    frp 为什么会出现在生产环境………………………………
    boris93
        28
    boris93   318 天前 via Android
    @dlqingxi 我也想问这个问题,楼主问生产环境,一帮人推荐 frp 和 zerotier 这种东西,是牢饭没吃够么
    avrillavigne
        29
    avrillavigne   318 天前
    震惊 对于信息安全要求高的行业
    hijoker
        30
    hijoker   318 天前
    阿里云是提供了堡垒机这个产品的吧
    hijoker
        31
    hijoker   318 天前
    阿里云->产品->热门产品,倒数第三个,就是堡垒机啊
    t6attack
        32
    t6attack   318 天前
    生产环境,并不都是大家熟悉的互联网业啊。传统行业更需要做好内外网隔离。
    在非互联网行业,老系统往往要用很长时间,而且运行稳定的系统不会轻易升级。所以更需要通过正确的内外网隔离,把未知的安全威胁挡外面。
    比如,真正缔造了计算机世界的 win xp 系统,使用广泛程度超出你的想象。直到微软最终停止维护,仍有大量的工业设施、基础设施使用 XP 系统,比较有名的比如伊朗核设施(参考震网病毒新闻)、台积电生产线(参考永恒之蓝病毒相关新闻)。。。这些设施通过正确的内外网隔离,把安全威胁挡在外面。出现安全事故也和网络无关,而是有人无意间把染毒 U 盘插进内网电脑导致的。
    XP 刚停止维护时,全球 95%的 ATM 机使用 XP 系统。其实现在还在普遍使用。以下都是 2020 的照片。

    ATM 机

    自助冰淇淋售货机

    超市收银台
    微软弄出的 win10 ltsc 就是给工厂和这些设施升级用的,不然怎么可能存在官方的“win10 纯净版”。
    所以?像这样的生产环境,外网通道不是应该完全堵死嘛?还敢让人打洞访问?
    就好比把使用 XP 系统的 ATM 机暴露在公网上?这不作死嘛。
    matrix67
        33
    matrix67   318 天前
    @t6attack 第一个 atm 机,看了才想到我已经 5 年没有去 atm 取钱了,杀死 atm 机的是移动支付啊!
    uncat
        34
    uncat   318 天前
    可以考虑如下的方案:

    假设你所有服务器默认的 SSH 端口都是 22. 且都只允许密钥验证. 并且确保你添加了你自己的公钥到下面提及的所有服务器内.
    生产环境只有一台服务器公网暴露. 服务器的公网 IP 地址是 A.
    你有另外的两台内网服务器, 对应的内网 IP 是 B 和 C. 这两台服务器的 22 端口只能通过内网 IP 访问. 公网 IP 不允许访问 22 端口.

    添加如下配置到你本地的如下文件内(如果不存在, 请创建) `$HOME/.ssh/config`:

    ```ssh_config
    Host jump
    Username <username>
    Port 22
    Hostname A

    Host host-b
    User <username>
    Port 22
    Hostname B
    PorxyJump jump

    Host host-c
    User <username>
    Port 22
    Hostname C
    PorxyJump jump
    ```

    你在本地, 通过执行:

    ```shell
    ssh host-b
    ```

    ```shell
    ssh host-c
    ```

    就可以分别登陆 B 和 C 内网 IP 对应的服务器了.

    优点:
    简单. 不依赖其他服务.
    安全. 只有一台设备的 SSH 服务暴露到了公网访问.
    uncat
        35
    uncat   318 天前
    补充. 上面的回复是 MarkDown 语法. 复制粘帖到你的 MarkDown 编辑器内阅读即可.
    kekxv
        36
    kekxv   318 天前 via iPhone
    ssh 让堡垒机映射内网 ssh 端口到本机(非堡垒机)端口,然后保持该 ssh 会话,新开 ssh 127.0.0.1 端口
    codingKingKong
        37
    codingKingKong   318 天前
    @akira #19
    @iphoneXr #20
    @IgniteWhite #22
    @ik #23
    @YouLMAO #24
    @litanid #25
    @IDAEngine #26
    @dlqingxi #27
    @boris93 #28
    @avrillavigne #29
    @hijoker #30
    @t6attack #32
    @uncat #34
    @kekxv #36

    感谢各位大佬的建议, 我会去了解各位提供的方案.
    oneisall8955
        38
    oneisall8955   318 天前 via Android
    内网穿透方案很多 frp,zerotier,n2n 等,自己搞来玩可以,别往公司搞,更别往生产用,出事背锅概率太大了。建议运维搞,公司出 VPN 和跳板机,用起来才稳妥。

    参考:前段时间小米实习员工 frp 穿透导致公司电脑被黑
    Ives
        39
    Ives   318 天前 via iPhone
    @YouLMAO vpn 凉了怎么办😏
    YouLMAO
        40
    YouLMAO   318 天前 via Android
    @Ives 只要给钱,中南 hai 很爱你的
    boris93
        41
    boris93   318 天前 via Android
    @Ives #39 企业用的是备案过的,是经过允许的
    wakzz
        42
    wakzz   318 天前
    建议 VPN 或者堡垒机这两种方案,内网穿透这种方案强烈不建议,因为内网穿透导致的安全事故数不胜数,出了问题你全责。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2337 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:27 · PVG 23:27 · LAX 07:27 · JFK 10:27
    ♥ Do have faith in what you're doing.