扫一扫,微信登陆

 青浦修电脑 青浦笔记本维修 青浦手机维修 青浦电器维修

搜索
查看: 392|回复: 0

使用GoTTY访问内网服务器 - 青浦海洋数码电脑城

[复制链接]

1万

主题

1万

帖子

5万

积分

论坛元老

Rank: 8Rank: 8

积分
56206
发表于 2022-9-11 20:40:13 | 显示全部楼层 |阅读模式
本文目录
  • 背景
  • 方案
  • 安全性探究
  • 总结
  • 参考 背景返回目录之前一直使用 frp内网穿透 将内部服务器暴露在公网方便ssh访问。然而就在前不久,合作单位出于安全考虑全面排查FRP,并禁止在内部主机上使用该软件。向相关部门保证不会再使用该软件后解封了服务器ip,但带来的挑战是如何访问内网资源?2 S7 f: C* C5 o: m
    方案返回目录除了FRP类隧道型工具,还有向日葵等远控工具,也能较为方便的访问内网资源。但是今年年初 向日葵爆出了严重的远程命令执行(RCE)漏洞,在内部也是被明令禁止。加之向日葵等远控工具基本上都基于图形界面,对带宽要求高操作不流畅,非不得已不会考虑。- E5 I" h3 B1 L2 I# V( ~
    单位允许通过VPN客户端访问内网白名单的HTTP资源,但也仅限于HTTP资源,SSH等协议不在授权范围内。好消息是恰好有个服务器运行着白名单网站,可以考虑从这里入手访问内网资源。
    0 x; V- T% e$ j8 v* ~3 o限于HTTP协议访问,想到的方案是SSH over HTTP,或者网页终端。第一个出现在脑海里的东西是 宝塔面板,其内置网页终端,完全满足要求。但宝塔要求在全新的服务器上部署,并且素有“删库塔”美誉及安全忧虑,念头刚出现就被否定了。. \7 a+ l& [! ]# n4 f! e
    一番搜索,选择了 GoTTY 这款能将终端映射到网页的工具。其优点有:1. 使用Golang编写,下载即可运行,不需要安装额外依赖;2. 可设置网页终端的读写模式,方便不同场景使用;3. 可设置用户名和密码鉴权,提高安全性。
    0 D" Z! x7 ~/ ]2 W/ [9 Q. ]; S
    7 h  I% d. _1 C: f% j/ E1 x( Q- m& A5 ]3 B: X, D' S, q
    gottyGoTTY使用较为简单,从官网下载编译好的二进制即可运行,本文仅指出几个需要注意的点:. b0 Z6 f$ U. a
    1. 本人希望通过这个终端访问内网资源,即需要在提供的网页终端输入,因此启动命令要加上-w选项:./gotty -w bash;1 u. m+ c! T2 B3 R3 T$ _$ n0 d
    2. 即使在内网,安全性也是很重要的,需要-c选项设置Basic Auth:./gotty -c username:password;' k/ v' {# F" X  D0 p( E
    3. 在本人的情况中,必须通过VPN网关提供的主机名和端口访问网站,因此需要通过网站的Nginx将请求转发到GoTTY;- }& `$ o6 I) |0 O% w. K' {
    4. 因为经过了VPN网关着一层代理,外部访问的域名端口和服务器配置的已经截然不同。GoTTY基于websocket协议在浏览器和服务端通信,并且会校验origin。官方文档有--ws-origin选项可设置Origin,但是编译好的稳定版并不支持。为了在Nginx中转后还能访问到GoTTY,需要用go命令自行编译最新版。
    ) u0 M/ O1 c; ]  E5 l) H- H0 [- @解决上述问题后,终于可以在接入VPN后通过网页访问内网资源了。! |* e6 L+ T8 r
    安全性探究返回目录单位为了安全性禁止了FRP类应用,因此不希望GoTTY会给内部网络带来威胁。7 [9 ]6 h: u, [8 ~8 R3 y" t! C
    一番思量后,确定GoTTY有三重安全保障机制:' {2 G5 f1 h0 v6 ^: x6 C1 O7 r
    1. 必须登陆单位VPN才又可能访问到GoTTY,安全性与VPN提供的相同;0 S9 e8 r+ t5 }9 N( w9 R( G( C
    2. 只能通过自定义的特定路径才能访问GoTTY,并且因为不能影响网站运行,路径不可能是根路径;
    3 s1 E/ B) M, T8 \0 L" l3. 即使登陆了VPN,知晓了访问路径,还需要输入用户名密码才能最终访问GoTTY提供的资源。
    ( k% X  n- k8 O& I3 u- v有了这三重保障,可以说GoTTY基本不会给内网带来威胁,相较于FRP直接暴露公网提高了许多。
    4 z$ m/ w# _% P; _ 总结返回目录通过GoTTY,可以成功的在不给内网带来安全威胁的情况下访问内网资源。然而由于GoTTY基于网页终端,适合于运行命令和做简单交互,但无法使用scp/sftp等方式上传文件到服务器,使用上较之前少了许多便利。8 ]* K& w, `7 y% V& w' |- {
    参考返回目录1. GoTTY – Share your terminal as a web application
    ' {0 T5 ?* ?! `3 R1. FRP内网穿透教程
    " S9 F1 |1 Y9 [% @. O) w2. 树莓派设置远程访问
    - O, d  m! x) N( e5 j: J: M3. ssh端口转发的三种方式
    3 Q+ `5 {7 {* @* IAD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(4)
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2001-2013 Comsenz Inc.Powered by Discuz!X3.4( 沪ICP备18024137号 )
    快速回复 返回顶部 返回列表