Linux系统安全和应用

一.账号安全控制

1.系统账号清理

  • 将非登陆用户的shell设为/sbin/nologin usermod -s/sbin/nologin

    [root@localhost ~]# useradd -s /sbin/nologin lisi
    
    [root@localhost ~]# usermod -s /sbin/nologin zhangsan
    
  • 锁定长期不使用的账号

    usermod -L 用户名 passwd -l 用户名 passwd -S 用户名

  • 解锁账号

    [root@localhost ~]# passwd -u lisi
    
    [root@localhost ~]# usermod -U zhangsan
    
  • 删除无用的账号 (userdel [-r]}

    [root@localhost ~]#userdel -r lisi #删除用户及其家目录
    
  • 锁定账号文件passwd,shadow

    chattr +i /etc/passwd /etc/shadow
    lsattr /etc/passwd /etc/shadow
    chattr -i /etc/passwd /etc/shadow
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k1JOlu6o-1631780403899)(C:/Users/25982/AppData/Roaming/Typora/typora-user-images/image-20210915213304337.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eCVkQHJe-1631780403902)(C:/Users/25982/AppData/Roaming/Typora/typora-user-images/image-20210915213339547.png)]

2密码安全控制
  • 设置密码有效期

  • 要求用户下次登录时修改密码

  • [root@localhost~]#vi /etc/login.defs        #适用于新建用户
    ......
    PASS_MAX_DAYS  30
    [root@localhost~]#chage -M 30 lisi          #适用于已有用户
    [root@localhost~]#chage -d 0 zhanagsan      #强制下次登录用户时需要修改密码                 
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3命令历史限制
  • 减少记录的命令条数

  • 注销时自动清空命令历史

  • [root@localhost ~]#history            #查看命令历史
    [root@localhost ~]#history -c         #临时清楚命令历史
    [root@localhost ~]# vi /etc/profile
    HISTSIZE=10                            #减少命令条数为10
    [root@localhost ~]# vi~/.bashrc
    echo "" > ~/.bash_history             #注销时自动清空命令历史
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4终端自动注销
  • 闲置600秒后自动注销

  • [root@localhost ~]# vi .bash_profile 
    export TMOUT=60             #闲置60秒后自动注销
    [root@localhost ~]# source .bash_profile
    

在这里插入图片描述

二.使用su命令切换用户

  • 用途用法

    • 用途:substitute user ,切换用户

    • 格式
      su -目标用户
      
  • 密码验证

    • root -->任意用户,不验证密码

    • 普通用户–>其他用户,验证目标用户的密码

    • [lisi@localhost~]$su - root      #带-选项表示将使用目标用户的登录shell环境
      口令:
      [root@localhost~]#whoami         #确定当前用户是谁
      

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 限制使用su命令的用户

    • 将允许使用su命令的用户加入wheel组

    • 启用pam_wheel认证模块

    • [root@localhost~]#vi /etc/pam.d/su
      #%PAM-1.0
      auth   sufficient   pam_rootok.so
      auth   required     pam_wheel.so  use_uid
      .....
      [root@localhost~]#gpasswd -a zhangsan wheel   # 将用户ngsan加入wheel组
      

在这里插入图片描述

三.Linux中的PAM安全认证

  • su命令的安全隐患

    • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
    • 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
  • PAM可插拔式认证模块

    • 是一种高效而且灵活便利的用户级别的认证方式
    • 也是当前Linux服务器普遍使用的认证方式
  • PAM认证原理

    • 一般遵循的顺序

      service(服务)–>PAM(配置文件)–>pam_*.so

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

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

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

查看源图像

  • PAM认证的构成

    • 查看某个程序是否支持PAM认证,可以用ls命令

    • ls /etc/pam.d |grep su
      
    • 查看su的PAM配置文件:

      cat /etc/pam.d/su
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UffZu7dy-1631780403931)(../../AppData/Roaming/Typora/typora-user-images/image-20210916161738767.png)]

      • 每一行都是一个独立的认证过程
      • 每一行可以区分为三个字段
        • 第一列代表认证类型
        • 第二列代表控制类型
        • 第三列代表PAM模块及其参数
  • PAM安全认证流程

    • 控制类型也称作control flags,用于PAM验证类型的返回结构

      1. required验证失败时仍然继续,但返回fail
      2. required验证失败则立即结束整个验证过程,返回fail
      3. sufficient验证成功则立即返回,不在继续,否则忽略结果并继续
      4. optional不用于验证,只显示信息(通常用于session类型)
    • 流程图

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zRRnweeI-1631780403932)(C:/Users/25982/AppData/Roaming/Typora/typora-user-images/image-20210915232848027.png)]

四.使用sudo机制提升权限

  • 用途用法

    用途:以其他用户身份(如root)执行授权的命令
    用法:sudo 授权命令
    
  • 配置sudo授权

    • visudo 或者vi /etc/sudoers

    • 记录格式:用户 主机名列表=命令程序列表

    • [root@localhost~]#visudo
      .......
      %wheel   ALL=NOPASSWD:ALL
      jerry    localhost=/sbin/ifconfig
      syrianer  localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
      Cmnd_Alias  PKGTOOLS=/bin/rpm,/usr/bin/yum
      mike        localhost=PKGTOOLS
      
  • 查看sudo操作记录

    • 需启用Defaults logfile 配置
    • 默认日志文件:/var/log/sudo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值