等保 centos系统 日志审计 等保测评linux命令

保测评Linux操作命令(含解释)

1、cat /etc/passwd
     root❌0:0:root:/root:/bin/bash

       1)x:表示密码,但这里不显示,已经放到shadow
            2) 0:表示用户的id既UID(用户的ID、User ID),后面一个0:表示用户组的id(Group ID)既GID
            3)root:是对该用户的描述
            4)/root 表示用户家目录所在的位置  
             5)/bin/bash 表示该用户登录Linux时用的shell

1、cat /etc/shadow 查看用户

    root:$1$pf8VnM0R$bU1ZdA3ytllUUJQq6ySTf.:18347:0:99999:7:::
             1)  root:用户名,密码需要与用户相对应,所以第一列就是用户名,与/etc/passwd相对应
             2)$1$pf8VnM0R$bU1ZdA3ytllUUJQq6ySTf.:加密密码,创建的root用户的密码,这个是经过编码的密码,很难破解出来。

 3)18347:最近改动密码的日期,但为什么是一整个数字呢?其实这是Linux元年1970年1月1日作为1,然后依次类推到你最近一次修改用户密码的日期
      4)0:密码不可被更改的天数,这里记载的是root用户的密码需要经过几天才可以被更改;如果是0,表示密码可以随时被改动,这个设置是为了防止密码被人随意随时更改的,加入设置为20,说明你在设定密码之后,20天之内无法更改该用户密码的。
      5)99999:密码需要重新设定的天数(我理解为密码的保质期,就是你需要在这段时间内修改密码,保证密码的定期更新)如果超出这个时间段没有修改密码,那么这个账号会暂时失效。这里99999的意思是,密码不需要被修改,但是为了安全,建议设定一定的时间,强制自己定期修改密码。
      6)7:这一条是根据上一条来界定的,是密码需要重新设定的期限之前的警告期限,设想一下,如果在你设定了要修改密码的事件后不设定一个提醒自己去修改密码的期限,那过了时间后,你的账号不就暂时失效了吗,所以这一条我们来规定一个提醒日期,来提醒我们“密码还有N天就过期拉!快修改密码啊!!!
       7)(默认是空白),密码过期后的宽限时间,意思就是在第五列规定的时间内你如果没有修改自己的密码,系统并不会立即使你的旧密码失效,而是会有个宽限日期,这一条,就是这个日期的具体值,在你定义的期限里,你依然可以使用你的旧密码登录
       8)(默认是空白),帐号失效日期,这一条跟第三条的定义方法是一样的,从1970年1月1日开始算起,直到你定义的失效日期为止,这个账号就不能再使用啦!
       9)(默认是空白),这一条是保留的,为以后新的功能的加入留了位置
扩展知识:shadow文件中第二列的bai格式,它是加密后的密码,它有些du玄机,不同的特殊字符表示zhi特殊的意义:
     ①.该列留空,即"::",表示该用户没有密码。
     ②.该列为"!",即":!:",表示该用户被锁,被锁将无法登陆,但是可能其他的登录方式是不受限制的,如ssh公钥认证的方式,su的方式。
     ③.该列为"*",即":*:",也表示该用户被锁,和"!"效果是一样的。
     ④.该列以"!"或"!!"开头,则也表示该用户被锁。
     ⑤.该列为"!!",即":!!:",表示该用户从来没设置过密码,是不能登录的。
     ⑥.如果格式为"$id$salt$hashed",则表示该用户密码正常。其中$id$的id表示密码的加密算法,$1$表示使用MD5算法,$2a$表示使用Blowfish算法,"$2y$"是另一算法长度的Blowfish,"$5$"表示SHA-256算法,而"$6$"表示SHA-512算法,目前基本上都使用sha-512算法的,但无论是md5还是sha-256都仍然支持。$salt$是加密时使用的salt,hashed才是真正的密码部分。

2、cat /etc/login.defs 查看是否设置密码长度和定期更换要求

MAIL_DIR /var/spool/mail 	创建用户时,系统会在目录 /var/spool/mail 中创建一个用户邮箱,比如 lamp 用户的邮箱是 /var/spool/mail/lamp。
        PASS_MAX_DAYS 99999	密码有效期,99999 是自 1970 年 1 月 1 日起密码有效的天数,相当于 273 年,可理解为密码始终有效。
        PASS_MIN_DAYS 0	表示自上次修改密码以来,最少隔多少天后用户才能再次修改密码,默认值是 0。
        PASS_MIN_LEN 5	指定密码的最小长度,默认不小于 5 位,但是现在用户登录时验证已经被 PAM 模块取代,所以这个选项并不生效。
        PASS_WARN_AGE 7	指定在密码到期前多少天,系统就开始通过用户密码即将到期,默认为 7 天。
        UID_MIN 500 	指定最小 UID 为 500,也就是说,添加用户时,默认 UID 从 500 开始。注意,如果手工指定了一个用户的 UID 是 550,那么下一个创建的用户的 UID 就会从 551 开始,哪怕 500~549 之间的 UID 没有使用。
       UID_MAX 60000	指定用户最大的 UID 为 60000。
       GID_MIN 500	指定最小 GID 为 500,也就是在添加组时,组的 GID 从 500 开始。
       GID_MAX 60000	用户 GID 最大为 60000。
       CREATE_HOME yes	指定在创建用户时,是否同时创建用户主目录,yes 表示创建,no 则不创建,默认是 yes。
       UMASK 077	用户主目录的权限默认设置为 077。
       USERGROUPS_ENAB yes	指定删除用户的时候是否同时删除用户组,准备地说,这里指的是删除用户的初始组,此项的默认值为 yes。
       ENCRYPT_METHOD SHA512	指定用户密码采用的加密规则,默认采用 SHA512,这是新的密码加密模式,原先的 Linux 只能用 DES 或 MD5 加密。

3、(1)cat /etc/pam.d/system-auth 查看密码长度和复杂度要求
找到password requisite pam_cracklib.so 这么一行替换成如下:

password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=1 lcredit=3 dcredit=3 dictpath=/usr/share/cracklib/pw_dict
    参数含义:
    尝试次数:5
    最少不同字符:3
   最小密码长度:10 
    最少大写字母:1
    最少写字母:3
     最少数字:3
 3.检查是否设置用户不能重复使用最近5次(含5次)内已使用的口令。
       修改文件 # vi /etc/pam.d/system-auth

在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
(2)登录失败处理功能
检查是否设置当用户连续认证失败次数超过5次,锁定该用户使用的账户。
# vim /etc/pam.d/login
(3)三个auth都会用来进行登陆检查,即使第一个模块失败,用来防止用户知道在哪个过程失败,主要目的是防止攻击。
auth 组件:认证接口,要求并验证密码
account组件:检测是否允许访问。检测账户是否过期或则在末端时间内能否登陆。
password组件:设置并验证密码
session组件:配置和管理用户sesison。
password required pam_cracklib.so retry=3
如果密码过期,pam_cracklib.so要求一个新密码,如果新密码复杂度不满足不要,会在给用户两次机会重新输入密码强度够的密码。一共三次。pam_cracklib.so支持的选项如下:
minlen=N:新密码的最小长度
dcredit=N:当N>0时表示新密码中数字出现的最多次数;当N<0时表示新密码中数字出现最少次数;
ucredit=N: 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数;
lcredit=N: 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数;
ocredit=N:当N>0时表示新密码中特殊字符出现的最多次数;当N<0时表示新密码中特殊字符出现最少次数;
maxrepeat=N:拒绝包含多于N个相同连续字符的密码。 默认值为0表示禁用此检查
maxsequence=N:拒绝包含长于N的单调字符序列的密码。默认值为0表示禁用此检查。实例是’12345’或’fedcb’。除非序列只是密码的一小部分,否则大多数此类密码都不会通过简单检查。

3、cat /etc/profile 查看超时退出时间
4、service --status-all|grep 22查看是否打开了22端口
service – status-all | grep sshd查看是否开启了ssh服务
service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启( restart)、查看状态(status)等。
相关的命令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行 级别,ntsysv用于直观方便的设置各个服务是否自动启动。
service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然 后调用该服务脚本来完成任务。
service - -status-all|grep running, 查看是否存在Telnet服务
5、netstat -an|grep 22 查看22端口(SSH)是否开启
Netstat 命令是Linux用于显示各种网络相关信息,是一个监控TCP/IP网络的非 常有用的工具,如网络连接,路由表,接口状态 (Interface Statistics), masquerade 连接,多播成员 (Multicast Memberships) 等等。
(netstat -an|grep LISTEN 查看开放的端口)开放的端口没有135、445等高危端口

6、ls -l /etc/passwd和ls -l /var/log/audit/audit.log
查看root账户是否能够进行远程登录:使用more查看/etc/ssh/sshd_config文件中的"PermitRootLogin"参数设置为“no “ ,即: PermitRootLogin no, 即不许可root远程登录
d--------- 属主 属组 其他用户
-rw-r–r-- passwd文件
421421421 644
7、使用more查看/etc/selinux/config 查看安全策略管理
SELINUX有三种工作模式,分别是:
enforcing:强制模式。违反SELinux规则的行为将阻止并记录到日志中,表示使用SELinux。
permissive:宽容模式。违反SELinux规则的行为只会记录到日志中,一般为调试用,表示使用SELinux
disabled:关闭SELinux,使用SELinux
这个文件控制两个配置设置:SELinux模式和活动策略。SELinux模式(由第6行的SELINUX选项确定)可以被设置为enforcing,permissive或disabled。 enforcing模式下,策略被完整执行,这是SELinux的主要模式,应该在所有要求增强Linux安全性的操作系统上使用。
permissive模式下,策略规则不被强制执行,相反,只是审核遭受拒绝的消息,除此之外,SELinux不会影响系统的安全性,这个模式在调试和测试一个策略时非常有用。

disabled模式下,SELinux内核机制是完全关闭了的,只有系统启动时策略载入前系统才会处于disabled模式,这个模式和permissive模式有所不同,permissive模式有SELinux内核特征操作,但不会拒绝任何访问,只是进行审核,在disabled模式下,SELinux将不会有任何动作,只有在极端环境下才使用这个模式,例如,当策略错误阻止你登陆系统时,即使在permissive模式下也有可能发生这种事情,或我们不想使用SELinux时。

警告:在enforcing和permissive模式或disabled模式之间切换时要小心,当你返回enforcing模式时,通常会导致文件标记不一致,本章后面我们将会讨论如何修复文件标记问题。

文章来源:

  • 22
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值