以前研究过CentOS如果以服务器端部署的话,则有很多页面相关的组件是不会安装的。
在实际堡垒机应用中,堡垒机或跳板机也是尽量需要少安装组件,以增加安全性和提高性能。
而且近段时间关注过Windows/Linux间相互远程桌面访问的问题,他们之间是可以通过远程桌面相互访问。
所以,如果可以服务器Linux部署堡垒机是不是可行呢?是不是有戏呢?
通过研究Ubuntu ServerGUI的官方文档,发现Ubuntu 推荐openbox的桌面环境。而且这个轻量级的桌面环境,还可以高度定制化,默认情况下只有一个右键菜单功能,大片的空白桌面,确实可能是好的选择。
以Ubuntu Server部署后,按照官方文档安装xrdp、openbox相关组件,然后选择remmina的远程桌面来作为windows远程桌面客户端软件。
此种组件结构,访问堡垒机内部windows机器,在流程上却是能够走通。但是,存在安全限制,例如,remmina支持SSH等远程访问协议、剪贴板共享、文件夹共享、以及文件浏览上面,而且GUI界面不容易作方便快捷的屏蔽,除非定制开发下remmina。后来想,是不是可以仅用只支持windows rdp远程访问的软件去做呢?来达到限制的目的呢?
以此为考虑点,就发现了xfreerdp这样一个命令行的远程桌面客户端。因为xfreerdp作为完全以命令行参数为配置的远程桌面客户端,肯定是高度可以定制的,所以,屏蔽剪贴板和文件共享并不是很问题,使得在访问堡垒机内部只能看或修改,但是不能将资料拿出堡垒机外。
不过,命令行实在是不够友好,能否有一个简单的GUI页面对其封装呢?搜索了下Github,发现有这一款tcl/tk脚本,那就继续试试了。
有了前面的尝试经验,这次的试验速度就更快了,确实这样一个组合流水非常可行,也满足堡垒机/跳板机的大部分需要和安全需要!
再配置以非sudo、非root用户的限制,以及读写权限的控制,也可以做到更外安全。
基于Linux的堡垒机部署方案,还在继续实验中,欢迎交流:)
#技术栈