小团队,没有专门的 it 人员,分散在各地,测试环境,生产环境都有。生产环境还好,测试环境,各地的开发人员习惯直接把测试数据库端口映射到公网,然后自己对接上去,还有些 ssh 能登录的环境,也都是 root 登录,总之挺混乱的。现在主要是某些人离职后,想禁止他在访问测试环境,就得把所有密码再改一遍。ssh 这块还好说,基本上都是删除公钥的防止禁止他再访问。但是数据库每次改密码就很麻烦。有什么好的解决方案吗?
这里有几个问题,说一下:
1 、硬件环境有云服务器和私有的物理服务器,因为用的是共享办公环境,所以私有的物理服务器通过 frpc/frps 在云服务器上暴露端口;云服务器主要担当跳板环境。
2 、软件环境包括 ssh 服务,数据库服务,以及应用服务器,应用服务器主要是些 java 应用,也是可以公网访问的,通过 frpc+k8s+ingress ,使用不同的域名访问不同的应用。测试用户的账号密码我看了一下,很简单,这个也准备收归到内网,然后使用权限管控。
然后继续细化堡垒机等等策略。
如果 k8s 本身能访问数据库可以考虑用 kt-connect 直接跟 k8s 网络打通。这样也可以不用部署 vpn 了
非对外服务不要暴露到公网,统一走 vpn 访问。
离职的话把 vpn 公钥或者配置文件吊销就可以了。
再高级点上零信任,或者买个 waf 对公网 web 做统一接入(雷池现在有这功能)
不管用了啥方案,都还得是有人要专门管理的,要不也一样觉得麻烦。
你需要找个会运维的朋友咨询一下专业做法,多少涉及网络安全领域了
个人也可以把自己电脑的公钥放到堡垒机上,这样连接某些资源就不再需要每次输密码了。不过连接了服务器之后也还是可以手动把公钥写进去的,而且连接之后会展示一些欢迎信息,其中包含了跳转地址的 IP ,所以如果你比较注重资产安全的话最好把堡垒机服务部署在可以内网连接其它资源的地方,只把堡垒机的公网 IP 暴露出来。
这种事情你做了不费力不讨好
只有等真的出事故了老板才会重视起来
所以你唯一要做的就是,等着出事故:-)
没法上 vpn 就只开 ssh 的端口出去,每个人一个账号,访问其他应用都让他们走 ssh 隧道.
用的时候他们本地启动一个隧道转发就行了 xshell mobaxterm 这些都支持
最不济 cmd/terminel 直接一行命令 ssh -N -L 本地端口:127.0.0.1:服务端口 root@外网 ip -p ssh 外网端口
最最不济你把这行命令搞到 bat 里封个脚本让他们一键启动
这样就只需要到管理 服务器账号 就行了
先把 vpn 搞好,禁了公网访问吧。
入职分配用户名,离职直接删除对应用户就可以了