近期出于管理和检查需要,单位领导要求上堡垒机系统,测试了几个商业堡垒机,因为价格超过预算等原因都未购买,又测试了三个开源的堡垒机,感觉麒麟开源堡垒机功能最全,基本上和商业堡垒机一样,唯一的问题就是图形部分不开源,但因为我们的服务器基本上全是LINUX环境,TELNET、SSH、FTP、SFTP已经足够了因此将这套堡垒机已经用于生产环境。
现在市场商业堡垒机价格太高,基本上都要到10万左右,我结合在公司部署开源堡垒机的经验,将过程写成文档与大家分享。
我测试的其它开源堡垒机基本上还是半成品,麒麟堡垒机基本上已经是一个成品堡垒机,但是还是存在某些小BUG,可以自己修改源代码改掉。
麒麟堡垒机安装条件:
1. 系统必须至少有二块网卡,一块网卡安装时会报错,如果是虚机虚2块网卡出来。
2. 系统最低硬件配置为:Intel 64位CPU、4G内存、200G硬盘。(注意:32位CPU装不上)。
安装过程:
麒麟堡垒机安装过程非常简单,用光盘启动,一回车,完全无人值守安装,不需要任何的干涉(安装过程赞一个,基本上可以给95分)。
过程图如下:
插入光驱进行启动,会到安装界面,在”blj”那里直接回车(PS:如果使用笔记本进行虚机安装,先选择”Install Pcvm”,方式使用500M SWAP, 默认安装方式使用32G SWAP,这几个安装方式主要就是SWAP大小不同,如果使用虚机方式安装堡垒机,有可能出现SWAP不够用问题)。
我的硬件物理机为8G内存,普通的E3 单个CPU,2T 串口硬盘,安装过程大约要等30分钟左右,安装完毕,系统重启,退出光盘即可。
系统配置:
1. 安装过后,系统默认IP为: Eth0 192.168.1.100/24,可以直接使用笔记本配置一个同网段的IP,然后直接连到ETH0上,使用IE输入https://192.168.1.100登录,默认口令为admin/12345678,登录后到系统配置-网络配置-网络配置中,编辑eth0口,将IP地址、掩码、网关修改成自己的,点保存修改,系统会将IP修改为本地IP。
2. 麒麟堡垒机使用的Centos 7.1系统(PS:太新了!),后台登录密码也给了(这个太优越于商用堡垒机了),技术大神可以直接到后台修改IP即可,注意后台 SSH端口为2288,用户名密码为 root/Baoleiji123
3. 系统配置好后,如果你要用图形协议,需要找开发者申请图形的Licenses,如果只用字符的,就可以直接使用了,我这里全是LINUX,因此没有进行Licenses申请,麒麟堡垒机上线我主要做了四步:
建立目录结构—导入堡垒机帐号(主帐号)—导入服务器帐号(从帐号)—主从帐号关联授权,说真的,比商业堡垒机都要好用。
4. 建立目录结构:
目录是类于设备组和用户组,麒麟堡垒机是LDAP结构,组里可以放用户也可以放设备,我觉得这点不方便,我是把用户和设备分别建组,在添加用户、设备时,一定要先加组,因为没有组的话设备和用户加不上。
资源管理-资产管理-目录管理,页签,单击“增加新节点”;根据所要创建的组类型选择“所属目录”与“属性”。
PS:“节点名”输入节点的名称,“所属目录”新创建目录所属那个父组,目录树可以无限级目录,堡垒机配置前必须先将目录树配置完毕才能进行用户和设备的导入,用户和设备导入时,必须有配置好的目录树。
6. 导入堡垒机帐号(主帐号),菜单-资源管理-资产管理-用户管理中,默认有四个帐号: Admin、Audit、Password、Test,如果帐号少,可以一个一个加,我这里运维人员有40多个,所以我用的导入方式,只要点一下导出就会下来一个CSV 模版,按模版填进去再导回去就行了。
导出后,CSV表只需要填:
用户名:运维人员登录堡垒机时的名称,要求唯一(必须填写)
密码:运维人员登录堡垒机时的密码 (必须填写)
真实姓名:运维人员的真实姓名 (必须填写)
电子邮箱:运维人员的电子邮箱地址(选择填写)
用户权限:统一配置为 普通用户 (必须填写)
组名:目录结构中的资源组名称,如果出现同样名称的资源组,则导入时需要用组名(id)方式: 比如出现重名的first组,如果你想在界面中这个组加入,则组名为first(221)
填好后,把第一行test那行删除,然后点导入菜单,注意:一定要勾上加密!不然导进去用不了。
7. 服务器帐号(从帐号)导入,麒麟堡垒机在导入从帐号时会自动创建服务器,所以只需要在资源管理-资产管理-设备列表中导出一个CSV文件,按文件进行填写,然后导入即可以完成设备、设备帐号的录入:
一般只需要A到H列,后面只要复制模版中的即可,各列说明如下:
主机名:主机的名称
IP:主机的IP地址
服务器组:服务器所属组的ID号,因为目录中允许同名称的组,因此,服务器组用ID号替代,可以在资产管理-资源管理-目录节点中查看ID号,如下图:
系统类型:主机的操作系统类型,必须在第一章中添加的或系统自带的中选择添加。
系统用户:系统用户名,如果不想托管,则这项不填。
当前密码:系统播放的密码,如果不想托管,则这项可以不填。
登录协议:目前支持telnet/ssh1/ssh/ftp/rdp/vnc/x11 ,可以在这些登录方式中选择相应的
端口:登录协议连接的目标端口
过期时间:这个系统帐号的过期时间,如果超过过期时间,则不在允许登录
自动修改密码:是否对这个帐号进行自动修改密码(默认为否)
主帐号:自动修改密码时只使用一个帐号登录修改主机上所有的用户密码,如果是主帐号,则填是,主帐号一般为root权限或可以sudo 为root
自动登录:默认填是
堡垒机用户:均填否
Sftp用户:如果是SSH服务,则设置这个SSH用户是否可以使用SFTP服务,是为允许,否为不允许
公私钥用户:如果是SSH服务,设置这个SSH用户认证是不是使用公私钥方式,是或否
填好后点导入按钮导回,注意,也一定要勾上加密
9.系统授权,堡垒机帐号(主帐号)、主机系统帐号(从帐号)导入完成后,需要进行赋权操作,赋权后堡垒机帐号(主帐号)登录到堡垒机才能跳转到相应的设备。
赋权操作如果一个堡垒机帐号(主帐号)有大量从帐号的权限,则赋权是在系统用户组菜单完成的,如果为堡垒机帐号(主帐号)临时添加一个从帐号的赋权,则也可以在主机设备帐号菜单中完成。
赋权操作最好按用户组的方式进行赋,即将权限相同的用户放在同一个用户组中,然后为这个用户组创建一个系统用户组,将这些用户拥有权限的主机设备帐号都加到这个组中,然后将这个系统用户组绑定给这个用户组,如果每个用户的权限都不一样,也可以为单独的用户划分系统用户组后进行授权。
单击导航树中【资源管理】中的【授权权限】,选择“系统用户组”页签,单击“添加新组”;填写“系统用户组”名,选中“未选设备”中系统用户添加到“已选设备”,确定已经选中想要赋权的堡垒机用户组的所有系统帐号后,点击“保存”;
单击导航树中【资源管理】中的【授权权限】,选择“系统用户组”页签,单击“操作”栏中“授权”,勾选“授权组”或“授权用户”,配置完成单击“保存修改”;
授权后,组中的用户或被授权的用户,就拥有了这个系统用户组中所有的主机系统帐号的权限。
到此,堡垒机的设置就完成了,下面说一说我的心得
堡垒机对于运维人员有几个好的地方:
1.麒麟堡垒机的插件支持任何浏览器(我测试的商业版本,FIREFOX和CHROME只能使用JAVA方式);
2.麒麟堡垒机有一个透明登录的功能非常好用,就是在设置好权限后,在列表导出里导出SECRECRT的列表,然后导到CRT的SESSIONS目录,在登录设备时,是直接登录,根本感觉不到堡垒机的存在,这个功能必须要赞。