堡垒机简述
堡垒机是一个服务器授权和管理的不错的方案,虽然有种种缺点,但是对小团队来说依然是不错的方案。
引入堡垒机的优点之一是方便管理和授权,用堡垒机的身份验证即可管理其他机器而不需要我去每台机上做授权,登录每台机的授权和限制也是统一管理的。另外一个是经过堡垒机发送的命令都会被记录下来,方便做审查。也可以对操作做限制,防止加班到深夜的程序员误入rm -rf。
jumpserver服务搭建
jumpserver是一款开源堡垒机,因为是靠谱的人推荐的就直接用了。如果按照官网的一步步安装是挺费劲的,主要是他用到的好多服务都不了解,出点错不知道从何下手。好在官方提供了docker,简直是无痛安装,不过docker安装需要的机器资源稍稍高点,因为他里面还打包了mysql,nginx等各种服务。反正我最初使用的1核1G的机器各种出错,害我调了好久。如果已经有现成的mysql等服务可以直接用的话应该会节省挺多系统资源。
在服务成功运行,admin登入之后首先要做的是系统设置,特别是基本设置的当前站点URL和邮件设置,因为这两个地方是创建新用户发邮件的重要参数。
jumpserver管理配置
对于初识堡垒机的人来说可能好多概念会比较模糊,特别是用户,管理菜单里面至少三个地方出现了不同种类的用户管理,所以先根据菜单介绍名词。
用户管理
这里的用户是指登录堡垒机系统的用户,既可以登录web管理后台也可以SSH登录。用户管理下面有“用户列表”和“用户组”,这两者的关系应该不难理解。因为在授权的时候可以很方便的根据用户组来授权,所以在管理的时候可以把需要相同权限的用户放在同一个组,因为Default是默认的根目录,所以我的建议是除了admin之外的用户都不要直接放在Default组,而是放在下级的分组里面。
新建用户需要发邮件,所以要确保系统设置里面的邮件设置正确。
资产管理
资产说通俗点就是指堡垒机可以登录的服务器。所以这下面的各种子菜单也是针对资产说的。
管理用户看起来像个动词,其实是指资产的管理员用户,需要有创建新用户,设置用户权限等管理员权限,这个用户必须是现成的并且已经具备管理权限,我设的是root。
系统用户就是用来登录资产的普通用户,这个用户不一定是现成的,在创建系统用户的时候有自动生成密钥和自动推送,勾选了这两个之后堡垒机会自动创建好密钥并在资产授权的时候使用ansible发送到资产。前提就是前面的管理用户具有这个权限并且资产可以使用ansible管理。系统用户的Sudo那一项会被推送到/etc/sudoers里面,他的语法也就是/etc/sudoers里面最后一列的配置,语法可以参考鸟哥的说明。可以利用他限制系统用户使用sudo的范围。
命令过滤可以设置禁止系统用户执行的命令操作,并在系统用户的设置里面关联。这是一个可选项所以先不细讲。
资产列表是最重要的管理项之一,他跟用户管理有点像,也是一个树形的组织关系。同样不建议把资产直接放在Default节点下,因为授权的时候也可以分组对资产授权,所以可以把相同授权的资产放在同一个子目录下。创建资产时候填的管理用户就是上面已经设置好的管理用户。创建完成之后测试一下连通性和更新硬件信息测试管理用户是否有效,注意这两个地方要允许浏览器弹窗。
按照上面的顺序配置完之后咱们的用户和资产就都有了。下面要做的就是授权。
权限管理跟资产管理的目录结构一样,选中一个节点或资产可以查看对应的授权信息。创建授权规则可以针对用户/用户组,资产/资产节点进行分组或单点的授权非常方便,这里的系统用户就是被授权的堡垒机用户以这个系统用户登录资产,下面的激活中选项其实就是是否生效的意思,文案写的总是另语文老师伤心。授权创建并激活之后我们可以去作业中心的任务列表查看“推送系统用户到资产”这样的任务是否执行成功。如果成功说明系统用户已经被推送到资产服务器了,我们用堡垒机终端即可登录对应的资产。
到这里基本上把管理后台授权相关的一些概念解释完了,如果还有疑惑可以参考官方文档。