系统安全

账号安全控制

账号安全基本措施

系统账号清理

  • 将非登录用户的shell设置为/sbin/nologin禁止用户登录
    • usermod -s /sbin/nologin 用户名
    • usermod -s /bin/false 用户名
  • 锁定长期不使用的账号
    • usermod -L 用户名
    • passwd -S 用户名
  • 删除无用账号
    • userdel -r 用户名
  • 锁定账号文件
    • chattr +i /etc/passwd /etc/shadow ##锁定
    • lsattr /etc/passwd /etc/shadow ##查看
    • chattr -i /etc/passwd /etc/shadow ##解锁

在这里插入图片描述

密码安全控制

  • 设置密码有效期
  • 要求用户下次登陆时修改密码
chage -M 30 pll  ##修改密码有效期为30天,适用于已有用户。
cat /etc/shadow | grep pll ##查看有效期

在这里插入图片描述

vi /etc/login.defs   ##进入密码配置文件

在这里插入图片描述

命令历史限制

  • 减少记录的目录条数

-在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 登陆时自动清空历史命令

    vim ~/.bashrc         ##进入开机启动配置文件
    echo '' > ~/.bashrc   ##自动清空历史命令
    

    在这里插入图片描述

终端自动注销

  • 限制500s后自动注销

    vim /etc/profile
    export TMOUT=500       ##设置注销时间为500s
    source /etc/profile    ##重新加载配置文件
    

在这里插入图片描述

su命令切换用户

  • 用途及用法

    • 用途:Substitute User ,切换用户

    • 格式

      su - 目标用户
      
  • 密码验证

    • root -->任意用户,不验证密码
    • 普通用户–>其他用户,验证目标用户的密码
    su -root
    
    whoami     ##查看当前用户名
    
  • 限制使用su命令的用户

    • 将允许使用su命令的用户加入到wheel组
    • 启用pam_wheel认证模块
    • 查看su切换用户的操作记录
    vim /etc/pam.d/su
    
    vim /var/log/secure  ##查看日志文件
    
    开启第2行和第6行
    

在这里插入图片描述

在这里插入图片描述

Linux中的PAM安全认证

su命令的安全隐患

  • 默认情况下,任何用户都运行使用su命令,有机会反复尝试其他用户(root)密码

PAM可插拔式认证模块

  • 是一种高效而且灵活便利的用户级别的认证方式

  • 也是当前Linux服务器普遍使用的认证方式

PAM安全认证原理

  • 一般遵循的顺序

    .Service(服务)→PAM(配置文件)→pam *.so

  • 首先要确定哪一项服务,然后加载相应的PAM配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证

  • 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证

  • 不同的应用程序所对应的PAM模块是不同的

  • 如果想要查看某个程序是否支持PAM认证,可以使用ls命令,进行查看/etc/pam.d/

每一列的含义

在这里插入图片描述

第一列代表PAM认证模块类型auth对用户身份进行识别,如提示输入面膜,判断是否为root
account对用户身份进行识别,如提示输入面膜,判断是否为root
password对用户身份进行识别,如提示输入面膜,判断是否为root
session对用户身份进行识别,如提示输入面膜,判断是否为root
第二列代表PAM看着标记required表示需要返回一个成功值,如果返回失败,不会立即将失败结果返回,而是继续进行同类型的下一步验证,所有此类型的模块都执行完成后,再返回失败
requisite与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败
sufficient如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值
optional 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型)
include 表示在验证过程中调用其他的 PAM 配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth (主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项
第三列代表PAM模块默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径
同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数
第四列代表PAM模块参数根据所使用的模块进行添加 传递给模块的参数,参数可以有多个,之间用空格分隔开

PAM安全认证流程

在这里插入图片描述

Logo

更多推荐