09-命令权限与命令复核配置举例
本章节下载 (494.08 KB)
命令权限允许配置管理员设置规则,对用户通过ssh和telnet访问时执行的命令进行匹配,并对匹配到的操作采取拒绝、切换或者告警动作。实现命令行级别的权限控制。
要使用命令权限需要先了解基本的配置规则和方法
通过关联用户、设备和系统帐号可以设定规则的适用范围,如下图:
图1 设定规则的适用范围
(1) 如果不关联任何用户帐号、设备和系统帐号该规则对所有用户、设备和系统帐号均有效。
(2) 如果关联了用户、设备和系统帐号规则仅对已关联的用户、设备和系统帐号有效。
新建或者修改规则后规则的变更不会立即生效,如下图:
图2 使规则生效
只要有“当前策略未部署”的标记存在就说明变更未生效,要使变更生效必须点击“部署”,部署后规则将在1分种后生效,生效后对已经存在的和新建的字符会话均有效。
对于多条命令权限:
(1) 运维审计系统进行逐条规则匹配,执行第一条符合条件的结果,不再考虑之后的规则。
(2) 如果所有规则均不满足,按照缺省策略进行。
(1) 如果不包含空格,表示只对命令部分进行匹配。
(2) 如果包含空格,第一个空格以前的部分是对命令的可执行文件部分进行匹配,与上面的规则相同;后面的部分(包括其它空格)对命令的参数部分进行匹配:就是把命令行去掉命令本身之外的所有参数部分作为一个整体,与进行匹配。
(3) 如果以"^"开头,或者包含"/"字符,表示严格匹配,即命令部分必须完全匹配正则表达式。比如"^passwd$"只匹配"passwd"本身,前面加上任何字符都认为不匹配。比如"/usr/bin/passwd$"只匹配"/usr/bin/passwd",任何其它路径或不写路径都不接受。否则将把命令的最后一个"/"字符后的部分拿来做匹配。比如"passwd$"匹配"passwd"、"/usr/bin/passwd"、"asdf/passwd"等。
所有的匹配都基于正则表达式。下表为正则表达式通配符的介绍:
符号 |
含义 |
. |
匹配任意字符:代表1位 |
^ |
匹配字符串的开头 |
$ |
匹配字符串的结尾 |
* |
表示之前的模式可重复0-N次 |
+ |
表示之前的模式可重复1-N次 |
? |
表示之前的模式可重复0-1次 |
{m} |
表示之前的模式可重复m次 |
{m,n} |
表示之前的模式可重复m-n次 |
{,n} |
表示之前的模式可重复不超过n次 |
[...] |
表示可匹配方括号内出现的任意字符,可用"-"表示范围,如a-z、0-9等 |
[^...] |
表示可匹配方括号内未出现的任意字符,可用"-"表示范围,如a-z、0-9等 |
| |
表示可匹配A或B,这里A和B都可以是正则表达式 |
\ |
转义符,表示取消后面字符的特殊含义,仅表示该字符本身 |
\d |
表示可匹配任意数字字符;"\D"表示可匹配任意非数字字符 |
\s |
表示可匹配任意空白字符;"\S"表示可匹配任意非空白字符 |
\w |
表示可匹配任意字母、数字或下划线;"\W"表示可匹配任意非字母、数字或下划线 |
\r |
表示回车 |
\n |
表示换行 |
\t |
表示制表符 |
(1) 对于“&”和“;”可以当做普通字符处理,比如:禁止ls;cat或者top&,直接写成ls;cat或者top&。
(2) 对于“|”需要使用“/”进行转义,比如,禁止ls|xargs ls,应该写成ls/|xargs ls。
运维审计系统对命令的检查是以回车符为界限进行的,只有当用户按下回车提交命令后才会执行命令权限检查。因此运维审计系统不会对shell的key binding进行检查。
图3 运维审计系统组网图
适用产品版本:ESS 6101及以上。
当缺省策略为accept时,指定的用户或指定的设备只允许执行列出的指令,其余命令均被禁止执行,而其它用户或设备均采用缺省策略。
(1) 建任意一条动作为accept的权限控制策略;
(2) 建一条拒绝用户对相关设备所有操作的权限控制策略:在操作规则里填写命令.*(代表所有命令),动作为deny,确定后再关联与上一条规则相同的用户,设备,系统帐号。
建完以上2规则后单击部署。如下图范例:
图4 部署策略
根据权限规则的优先级,先匹配规则1,再匹配规则2,最后再匹配全局缺省策略。规则1使用户user01仅可对目标设备192.168.7.70执行ifconfig和ls命令。虽然全局缺省策略为accept,但因规则2的存在,用户user01对目标设备192.168.7.70执行其它命令时将被拒绝。
当缺省策略为deny时,指定的用户或指定的设备只禁止执行列出的指令,其余命令均被允许执行,而其它用户或设备均采用缺省策略。
(1) 建任意一条动作为deny的权限控制策略;
(2) 建一条允许用户对相关设备进行所有操作的权限控制策略:在操作规则里填写命令.*(.*代表所有命令),动作为accept,确定后再关联与上一条规则相同的用户,设备,系统帐号。
建完以上2条规则后单击部署。如下图范例:
图5 部署策略
根据权限规则的优先级,先匹配规则1,再匹配规则2,最后再匹配全局缺省策略。规则1中使用户user01不可对目标设备192.168.7.70执行passwd命令。即使全局缺省策略为deny,但因规则2的存在,用户user01可对目标设备192.168.7.70执行除passwd以外的任何命令。
某些重要命令需要第二个人复核后才可以执行。
(1) 建立动作为confirm的命令权限规则
触发双人复核的前提条件是设置命令的触发动作为confirm(如图)。
图6 建立动作为confirm的命令权限规则
(2) 再关联上复核人即可
图7 关联上复核人
触发人和复核人不能是同一人。
(3) 触发
当用户访问设备时,输入了我们设置的命令,会出现如下提示(如图):
H3C:此命令需要复核人进行批准,等待超时时间为五分钟,确认请按Y
H3C:正在等待复核人审批,直到复核人进行操作或者超时,您可以按Ctrl+C退出此次请求。
图8 触发
(4) 复核
同时,复核人打开“双人复核”中的“命令复核”页面中会出现提示(如图):
图9 复核
此时存在以下操作:
· 允许:此命令正常执行。
· 拒绝:此时请求人user01会收到提示不被允许执行。
· 切断:将user01用户打开的session窗口关闭。
用户触发被限制的命令时,通过syslog方式实现告警功能。
(1) 使用超级管理员登录,打开[策略配置/告警事件]页面,在syslog日志事件来源中勾选“命令防火墙”,只发送所选源事件级别设置为“INFO”。
(2) 在syslog日志发送对象的“远程主机”中填写syslog服务器的IP地址,标识填写“Command warning”,方便syslog服务器识别日志消息来源。
图10 配置日志信息
(3) 点击<保存>按钮。
(4) 使用配置管理员新建任意一条命令权限,监控级别设置为“WARN”,邮件标题设置为“Command warning”。
图11 权限设置
监控级别设置的值要比告警级别处所设置的级别高,否则无法触发告警。
(5) 当用户访问设备输入了命令权限中设置的命令,就会触发告警事件。
图12 告警事件日志
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!