Host policy

一、什么是主机运维策略

从安全运维的角度来看,资源授权满足了主机层面的安全管理需求,但是一旦登录到主机后,团队成员便可对该台主机进行任何的操作,如果出现问题,只能通过事后审计来回溯追责。所以我们还需要一种手段,对于一些安全要求更高的主机来讲,即使登录了主机,成员在其中执行的操作,依然处于安全监管之下,对其所执行的高危指令进行拦截,提前防范运维风险。

在行云管家中,我们把这些安全性更高的主机叫做关联设备,我们通过创建主机运维策略组与关联设备进行关联,而将在这些主机上所执行的高危指令的定义以及相应的处理方式叫做主机运维策略。

展开功能模块菜单,选择“安全中心/堡垒机/主机运维控制/运维策略管理”,进入相应的策略功能设置。

二、新增主机运维策略

2.1、创建运维策略

点击“创建主机运维策略”,在弹出的窗口中,输入了策略名称后,点击“创建”即成功创建一个运维策略;

2.2、在运维策略中创建运维子策略

(1)点击进入刚创建的运维策略;

(2)进入该策略后,首先我们需要为这个策略添加相应的子策略,点击“添加新的子策略”;

(3)填写子策略名称等基本信息,点击“下一步”;:

(4)为该子策略关联相关对象,可以选择角色、组织单元(部门)、团队成员,点击“下一步”;:

(5)如果该策略里原来有多个子策略,那么通过拖拽设置这些子策略的优先级(了解子策略优先级 ),点击“下一步”;:

(6)完成子策略创建,关闭向导;

(7)此时我们就可以看到该子策略了,并且还可以陆续添加其他子策略;

2.3、添加主机

您还需要为该运维策略添加关联设备,只有在关联设备列表中的主机,才会受该条运维的影响。

允许跨云账户添加主机,但每台主机只允许添加到一个运维策略中,不能重复添加;

点击“添加”按钮,在弹出来的框里选择要关联的主机,然后点击“确定”;

此时我们就可以看到该策略里已成功关联相关主机;

三、子策略优先级

由于同一个团队成员可能属于多个角色或部门,而一台主机仅可以关联一个策略组,因此可能导致一个用户对运维主机时,对应了多个运维策略。针对这种情况,我们引入的运维策略优先级的概念;当某个成员操作目标主机时,会找出该成员或该成员所属角色或部门,在这台主机所在运维策略中对应的所有的子策略,随后根据优先级,最终选择一个优先级最高的子策略。

您可以通过按住并拖动某个运维策略组中的子策略来调整这些子策略的优先级:

四、运维策略-基本信息设置

运维策略是安全审计的核心功能,在您成功创建了一个子策略之后,您需要对这个子策略进行配置,让运维操作真正的按照您的业务要求规范起来。点击对应子策略的“编辑”按钮,进入子策略的配置界面。

我们可以看到,子策略配置主要包含四个部分:基础信息、功能约束、访问规则以及审批流程;

在“基本信息”里,可以编辑“子策略名称”、“子策略说明”,可以修改“授权对象”;

五、运维策略-功能约束设置

在“功能约束”里,可以对“Agent”、“主机操作”、“双因子认证”、“本地工具”、“会话剪切板”做相关设置;

5.1、Agent

安装Agent后,默认有“命令控制台”、“脚本控制台”、“登录凭证改密”、“文件分发”、“文件采集”、“主机文件传输”等功能,可以通过这里限制是否允许使用这些功能;

5.2、主机操作

可以对某台主机的主机详情里的相关功能“修改主机信息”、“重启主机”、“停止主机”、“重置操作系统密码”、“重置管理终端密码”限制是否允许使用;

注意:4.17前,如果您要允许这几个功能使用,您还需要对应的在功能权限里授权这几项功能。

5.3、双因子认证

也叫多重身份认证,开启后,在执行“访问主机”、“重启主机”、“停止主机”、“重置操作系统密码”、“重置管理终端密码”、“快照回滚”、“初始化磁盘”、“更换系统盘”、“挂载数据盘”、“卸载数据盘”等操作时,会要求以“OTP动态令牌”、“手机短信”、“第三方应用”(钉钉、微信、企业微信)接收相关验证码的方式进行二次身份确认,确保访问者的身份合法性,确认后,在30分钟内无需再次确认 ;

一旦某个子策略设置了开启双因子认证,那么该策略中的所有关联设备在访问时,均会要求进行二次身份认证,目前支“OTP动态令牌”、“手机短信”、“第三方应用”三种认证方式,这也意味着开启双因子认证后,需要团队成员在个人资料中绑定“OTP动态令牌”、“手机短信”、“第三方应用”;

访问关联设备时,将会弹出双因子认证对话框,您可以自行选择采用哪种方式进行双因子认证;

您的“手机短信”、“第三方应用”将收到一个四位数字验证码,将验证码回填至访问凭证中,如果使用“OTP动态令牌”,您需要将动态令牌APP中的验证码回填至访问凭证中即可访问该设备;

此外,在私有部署版中,还可以登录到管理控制台,在“系统设置”页面下,在“系统参数”里,可以设置敏感操作二次认证的有效期,不设置的话默认是在执行主机运维策略中定义的需要双因子认证的敏感操作时30分钟内无需重复认证,;

5.4、本地工具

访问策略里的关联设备时,可以限制是否允许使用“本地工具访问串”功能,可以限制本地工具的应用范围“RDP”、“VNC”、“SSH:Shell”、“SSH:文件传输”、“FTP”;

5.5、会话剪切板

配置RDP与VNC会话中剪切板功能限制;

六、运维策略-访问规则设置

在“访问规则”里,可以对“审计录像”、“会话水印”、“登录事由”、“登录时段”、“IP限制”做相关设置;

6.1、审计录像

访问子策略里的关联设备时,是否强制进行审计录像;

6.2、会话水印

开启会话背景水印后,会话的背景将带有密密麻麻的会话创建者的用户昵称(不唯一、可修改)和用户ID(唯一、不可修改)信息,适用于安全保密等级较高的主机,禁止团队成员擅自将主机上的任何数据外泄。当管理者发现了外界出现了相关主机的截图或对屏幕的拍照,可以通过图片上遗留的会话创建者信息查找泄露源头;

会话水印支持哪些会话访问:Web桌面访问里的所有协议,以及本地工具访问里的TigerVNC;

6.3、登录事由

如果您想了解团队成员的每一次会话访问操作的原因和目的,您可以在这里设置主机登录事由为“强制填写”;

6.4、登录时段

在某些特定的场景下,我们需要对主机可访问的时间段进行控制,例如:只有在工作时段才允许登录行云管家访问主机,因此需要将运维时段设置为09:00到18:00,那么可以按照以下指引进行设置。运维时段有三种设置方式:

(1)允许任意时段访问:如果选择该方式,那么访问时段将不做任何限制;

(2)只允许指定时段访问:以一天为维度,指定哪些时间段是可以访问,最小粒度为15分钟;

(3)设置周期性访问规则:以一周为一个周期,分别设置每天的哪些时段可以访问,适合区分工作日与非工作日,最小粒度为1小时;

(4)在非运维时段访问主机,如果出现以下提示,则表示配置生效;

6.5、IP限制

IP限制包含白名单和黑名单两种。设置为白名单时,客户端IP必须在IP列表中才允许访问;设置为黑名单,如果客户端IP在IP列表中将禁止访问;

七、运维策略-文件传输设置

在“文件传输”里,可以对“审计文件备份”、“本地与主机(含主机网盘)文件传输审批”、“本地与主机(含主机网盘)传输规则”、“主机(含主机网盘)与团队网盘/其他主机(含主机网盘)传输规则”做相关设置;

7.1、审计文件备份

开启后,所有对于主机及主机网盘传输的文件会进行冗余备份;

注意:开启审计文件备份后,本地工具会话中的文件传输功能将被禁用;

7.2、本地与主机(含主机网盘)文件传输审批

开启审批后,从本地向主机及主机网盘上传文件;从主机及主机网盘下载文件将进行审批,审批通过后才可进行文件传输。

注意:开启文件传输审批后,所有会话中的文件传输功能将被禁用,只能通过网盘模块中“主机文件”进行文件传输;

7.3、本地与主机(含主机网盘)文件传输类型限制

设置从本地上传至主机或主机网盘、从主机或主机网盘下载文件时,是否限制传输的文件类型;

7.4、本地与主机(含主机网盘)传输规则

设置各种传输方式下用户与主机及主机网盘之间的文件传输规则;

7.5、主机(含主机网盘)与团队网盘/其他主机(含主机网盘)传输规则

设置运维策略内主机及其主机网盘与团队网盘、其他主机及主机网盘之间的文件传输规则;

八、运维策略-审批流程设置

在“审批流程”里,可以对“主机登录审批”、“指令审批规则”、“脚本执行审批”做相关设置;

8.1、主机登录审批

(1)主机登录审批开启

主机登录审批开启后,团队成员在创建关联主机会话时,将需要获得相关角色成员的审批,审批通过后,会话才能被创建。此设置开启后一定程度上将影响运维效率,适用于安全级别较高的主机,默认情况下不开启。

团队成员在访问该运维策略关联的主机时,需要输入主机登录事由,等待审核人员的审核。

提示:审核角色中的成员在访问相关主机时,无需通过审核,可直接登录。

(2)主机登录申请的审核

团队成员在发送了主机登录申请后,相关的审核角色成员有两种方式接收审核消息:

a)站内审核消息:审核角色成员将收到站内消息,点击查看后进入“工单中心/我的待办”,只需按照实际情况选择同意执行或拒绝执行即可。查询审批历史请切换到“工单中心/我的已办”标签页;

b)第三方应用例如微信审核消息:审核角色成员账号如果绑定了微信,其微信将收到指令审批信息,可直接点击进入进行审批操作;

8.2、指令审批规则

(1)指令审批开启

您可以为当前运维策略开启指令审批,包含白名单和黑名单两种,如果是白名单,那么将只允许指令规则中的指令执行。如果是黑名单,团队成员在操作中执行的指令只要被敏感指令规则匹配,即执行相应的响应动作。

指令审批规则是安全审计的重要特性,可以有效避免团队成员进行违规操作。为了达到对敏感指令的拦截,我们首先需要有效的定义指令规则;

默认情况下,指令规则列表为空,用户可按照业务情况,添加相应的规则;

在定义敏感指令时,还需要指定指令匹配规则及相应的响应动作,只要在关联设备中执行的指令被匹配,既会触发指令审计策略,按照用户设定的响应动作进行处理;

(2)目前支持以下四种指令匹配方式:

  • a)指令匹配:适合匹配某条指令的全部操作,该指令所有形式的执行都会被匹配,如指令规则是yum,使用指令匹配规则,那么用户输入yum、yum install、yum remove等相关指令都会被匹配;

注意:指令匹配无法匹配不合法的命令输入,例如下图这个示例,不是一条有效的指令,导致无法对命令进行解析,自然就匹配不上;

  • b)正则表达式:支持正则表达式模糊匹配,适合匹配某个指令的部分参数,如只需要匹配yum安装和卸载操作,指令规则为yum (install|remove),那么用户输入yum search不会被匹配,但是输入yum install、yum remove会被匹配;

  • c)通配符:支持通配符模糊匹配,使用场景和正则表达式类似,但语法有些许差别,如同样匹配yum安装和卸载操作,指令规则为yum {install,remove};

  • d)字符串匹配:检查用户所输入的命令中是否与指令规则中定义的字符串完全一致,适合匹配“命令+具体参数”的场景,例如指令规则为:yum install,那么用户输入yum install会被匹配,而yum 其它参数不会被匹配;

更多指令规则及匹配方式请见:运维策略指令规则设置参考

(3)目前支持以下四种响应动作:

  • 指令提醒:对于团队管理者希望团队成员谨慎执行却时效性较高的一般敏感指令,可设置为“指令提醒”,在执行时,需要由成员自行确认后执行;

  • 指令审核:对于团队管理者认为会带来一定风险的敏感指令,可以设置为“指令审核”,这类指令执行时,会被临时阻塞,待指令审核后才能执行;

  • 指令阻断:对于团队管理者认为风险较高不希望成员执行的敏感指令,会被直接阻断,不允许执行;

  • 中断会话:对于团队管理者认为会带来极大危险性的的恶意指令,建议设置为“中断会话”。

(4)敏感指令审核

团队成员在触发了指令审核响应动作时,相关的审核角色成员有两种方式接收审核消息:

a)站内审核消息:审核角色成员将收到站内消息,点击查看后进入“工单中心/我的待办”,在“我的待办”标签页里将列出当前所有待审批的敏感指令申请,只需按照实际情况选择同意执行或拒绝执行即可。查询审批历史请切换到“工单中心/我的已办”标签页;

b)第三方应用例如微信审核消息:审核角色成员账号如果绑定了微信,其微信将收到指令审批信息,可直接点击进入进行审批操作;

注意:团队中的指令审批角色可能有多个成员,每个成员均会收到审批消息,审批操作以时间为顺序,一个申请只能被审批一次,其他成员将不再允许对该笔申请进行审批。

(5)特殊场景下如何绕开指令黑名单拦截

指令黑名单一旦设置,所有团队成员执行的指令被认定为敏感指令时,均会执行相应的响应动作。但在某些特殊场景下,如果需要给个别成员较高的权限,在操作时不受指令黑名单的影响,可以为其赋予临时禁用指令审批规则的权限;

进入“团队/权限管理/角色管理”,为这类成员创建一个专门的角色,如“禁用指令审批角色”,将相应成员加入到角色中;

进入“团队/权限管理/功能授权”,找到“运维策略/禁用指令审批规则”,将上一步创建的角色“禁用指令审批角色”加入到该功能权限中;

该角色中的成员在访问会话时,在会话详情中,可以看到“指令审批”,只要当前主机属于关联设备且开启了指令黑白名单,均可将指令审批设置为关闭,这样在当前会话中,所执行的指令将不受运维策略的影响。

(6)运维策略指令规则设置参考

行云管家在会话中对敏感指令的拦截,并非是匹配用户输入的完整内容,而是对用户输入的内容进行分析,找到这条内容的核心指令,再将这条指令与运维策略中设置的指令规则进行匹配。因此在设定指令规则时,只需填写指令本身即可,无需考虑指令所在目录等元素,下面列举几个指令规则设置场景;

a)彻底拒绝某个指令的执行

如果需要彻底阻断某个指令,建议使用指令+完全匹配的方式,不论用户在会话中是否带有参数,都将被拦截。例如,为了避免有人通过shutdown重启服务器,管理员可以按以下规则进行设置:

  • 指令规则:shutdown;

  • 匹配规则:完全匹配;

那么当用户尝试在会话中以shutdown、shutdown -r now、./shutdown.sh等任何形式执行,此条命令会被自动阻断;

b)拒绝某个指令的部分参数

如果仅需要拦截某个指令部分参数,例如,不允许通过yum来安装和卸载,但允许执行yum其它操作,可以按以下规则进行设置:

  • 指令规则:yum (install|remove);

  • 匹配规则:正则表达式;

那么当用户尝试在会话中以yum install和yum remove时,此条命令会被自动阻断,但用户执行yum search时将被允许;

c)阻断对某个文件的操作

要阻断对某个特定文件的操作,例如,不允许删除root目录下的aaa.txt,文件,可以按以下规则进行设置:

  • 指令规则:rm\s.*/root/aaa.txt;

  • 匹配规则:正则表达式;

那么当用户尝试在会话中以rm /root/aaa.txt时,此条命令会被自动阻断,但用户执行rm /aaa.txt时将被允许;

8.4、脚本执行审批

可以设定在作业中心对是否允许对主机执行脚本的规则;

九、云账户运维策略设置

除了上述在运维策略->主机运维策略里进行运维策略设置外(针对主机进行策略设置),我们还可以对云账户进行云账户的默认授权,此时云账户里的所有主机将会获得默认策略设置,此云账户运维策略的优先级低于运维策略菜单页面的主机运维策略;

如图,点击“基础运维”菜单下的“通用设置”,点击“云账户”,点击您要选择的云账户;

如图,和“运维策略”页面一样,在这里您可以设置云账户的“基础信息”、“功能约束”、“访问规则”以及“审批流程”;