欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

等保测评主机安全:CentOS访问控制

来源:本站整理 作者:佚名 时间:2019-08-12 TAG: 我要投稿

一、说明
权限控制在等保测评里仅仅说了要求,但是怎么落地却基本没写,怎么说呢,比较抽象。
所以,我觉得还是有必要了解一下centos系统大概有什么方法可以实现对用户的权限控制,不至于测评的时候完全不知道怎么测。
这里我把我现在知道的关于权限控制的方法都列举出来,供大家参考参考。
另外,我使用的是centos6。
二、查看
无论针对什么权限,以下三个文件至少需要查看的:
/etc/passwd
/etc/shadwo
/etc/group
通过这三个文件可以知道可登录的普通账户有哪些,以及用户组的情况,毕竟要判断用户的权限,至少应该知道用户的情况吧。
2.1. passwd
通过passwd文件,首先判断出哪些是普通用户、系统用户和超级用户(root)系统用户的uid在centos6中是大于0小于500的,500这个值的设置应该是在login.defs文件中。
然后判断出哪些用户不能登录,比如最后是/sbin/nologin以及/bin/false就不可登录。
2.2. shadow
通过shadow判断出哪些用户已经被不登录了。
2.2.1. 锁定或密码不可用
这里可以用passwd命令进行判断:
[root@centos01 ~]# passwd -S cx
cx PS 2019-03-26 0 9999 7 99 (密码已设置,使用 SHA512 加密。)
里面的PS意思就是密码已设置。
然后shadow中可能的情况有(每一段的第一句是shadow中实际的行,第二句是用passwd -S username 查询出来的值):
games:*:15980:0:99999:7:::
games LK 2013-10-02 0 99999 7 -1 (更改当前使用的认证方案。)
cx:*:17970:0:99999:7:::
cx LK 2019-03-15 0 99999 7 -1 (更改当前使用的认证方案。)
dbus:!!:17966::::::
dbus LK 2019-03-11 0 99999 7 -1 (密码已被锁定。)
cx:!:17970:0:99999:7:::
cx LK 2019-03-15 0 99999 7 -1 (密码已被锁定。)
cx::17970:0:99999:7:::
cx NP 2019-03-15 0 99999 7 -1 (密码为空。)
上面除了最后一段也就是空密码是可以登录外,其余的都不可以。
密码字符串开头,也就是第一个:的右边加上!或!!字符串,无论!或!!字符串的后面有或没有密码字符串(这里没有,都是空密码),都代表被锁定。
至于(更改当前使用的认证方案。),也是不能登录,这里的意思应该是因为密码字符串也是按照一定的格式存储的,比如告诉了系统用了哪种加密算法。
这样系统才知道当你输入密码后,要怎么对你输入的字符串进行加密,然后才能能拿来和shadow中的加密字符串进行对比。
你随便乱填的话,系统就认不出来了,也没法进行对比然后让你登录了。
比如你随便在密码字符串那输入一些字符串,其结果会显示为(更改当前使用的认证方案。):
cx:djfhjdhfs:17970:0:99999:7:::
cx LK 2019-03-15 0 99999 7 -1 (更改当前使用的认证方案。)
2.2.2. 密码已经过期且已过宽恕期
如果设置了密码最长使用时间,且宽恕期也设置了,那么当密码过期,且宽恕期也过去了的话。
则该账号也无法登录,只有等具有权限的用户比如root来修改shadow文件了。
注意:如果仅仅是密码过期,则该账号仍然可登录,只要登录的时候修改密码即可。
虽然可以直接从shadow文件中进行判断,但是那个格式太不友好了,可以用chage命令:
[root@centos01 ~]# chage -l cx
Last password change     : Jun 28, 2019
Password expires     : never
Password inactive     : never
Account expires      : Jan 20, 11761191
Minimum number of days between password change  : 0
Maximum number of days between password change  : 99999
Number of days of warning before password expires : 7
密码过期时间和宽恕时间都可以看到。
2.2.3. 账号已过期
账号过期的话也没法登录,也可以直接从shadow文件中进行判断,但还是用chage命令看比较好:
[root@centos01 ~]# chage -l cx
Last password change     : Jun 28, 2019
Password expires     : never
Password inactive     : never
Account expires      : Jan 20, 11761191
Minimum number of days between password change  : 0
Maximum number of days between password change  : 99999
Number of days of warning before password expires : 7
其中的Account expires就是账号过期时间,注意,这个和密码过期后又过了宽恕期后不能登录,不是一回事,虽然都不能登录。
2.3. group
cx:x:500:cx,cv
cv:x:501:
这个很简单,唯一需要说的就是,最后一个:的右边,即为把这个组当成附加组的用户的用户名,可以有很多个,用,隔开。
所以cx:x:500:cx,cv的意思就是cx、cv用户的附加组中有cx组。
那把cx组当成基本组的用户是哪个呢?这里一般默认来说就是和cx组同名的用户,但是用户的基本组是可以改的,比如可以设置cx的基本组是cv组,而实际上从group文件中并不能确认用户的基本组到底是哪一个用户组,因为这文件里没有这样的信息。
所以最确切的方法是看passwd里的:
cx:x:500:500:cx:/home/cx:/bin/bash
这里cx用户的基本组的id是500,所以cx用户的基本组也是cx组。
所以cx组是cx用户的基本组,也同时是cx用户的附加组。
其实这里可以直接用命令查看:
[root@centos01 ~]# id cx
uid=500(cx) gid=500(cx) 组=500(cx)
这里就表明了,cx的基本组的id是500,同时cx的所在的组(包括附加组和基本组)有id为500这个组,因为附加组和基本组是同一个组,所以不会重复排列。
而cv用户,就很简单了:
[root@centos01 ~]# id cv
uid=501(cv) gid=501(cv) 组=501(cv),500(cx)
cv的基本组是cv组,附加组是cx组。
那么cv的基本组cv组是不是也是cv的附加组呢?答案为不是,因为在group文件里最后一个:的右边,并没有cv(用户名)。

[1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载