您的位置:首页 > 健康 > 养生 > Linux—系统安全及应用

Linux—系统安全及应用

2024/12/23 16:27:46 来源:https://blog.csdn.net/A6985HG/article/details/140041689  浏览:    关键词:Linux—系统安全及应用

目录

一、账号安全控制

1、系统账号清理

1.1、将用户账号设置为无法登录

1.2、锁定长期不使用的账号

1.3、删除无用的账号

 1.4、锁定账号文件passwd、shadow

2、密码安全控制

2.1、设置密码有效期

2.1.1、适用于新建用户

2.1.2、适用于已有用户

2.2、强制用户下次登录一定修改密码

3、历史命令限制

3.1、临时清除历史指令

 3.2、开机自清除历史指令

3.3、用户退出清除历史指令

3.4、终端自动注销

3.5、设置记录命令条数

4、切换用户

4.1、su

4.2、su命令的安全隐患

 4.3、禁止用户使用su命令

4.4、添加用户 

二、PAM安全认证

1、PAM概述

2、PAM框架

 3、PAM安全认证流程


一、账号安全控制

1、系统账号清理

1.1、将用户账号设置为无法登录

  • 操作:将用户的Shell设为/sbin/nologin,就能让该用户无法登录

usermod   -s  /sbin/nologin  用户名                         #将非登录用户的shell设为/sbin/nologin

1.2、锁定长期不使用的账号

1、usermod -L  用户名              #锁定用户账号密码

2、usermod -U  用户名              #解锁用户账号密码

3、passwd -S  用户名              #查看用户账号状态

1.3、删除无用的账号

  userdel  -r  用户名                                             #删除用户账号

 1.4、锁定账号文件passwd、shadow

1、chattr +i  /etc/passwd  /etc/shadow #锁定配置文件,所有用户不能修改

2、chattr -i  /etc/passwd  /etc/shadow #解锁配置文件

3、lsattr /etc/passwd  /etc/shadow

2、密码安全控制

2.1、设置密码有效期

2.1.1、适用于新建用户

    vim /etc/login.defs                                                  #在/etc/login.defs配置文件里设置

2.1.2、适用于已有用户

chage     选项      用户名

 使用参数:

2.2、强制用户下次登录一定修改密码

chage  -d  0  用户名                                               #强制用户下次登录一定修改密码

3、历史命令限制

3.1、临时清除历史指令

   history -c                                                            #临时清除历史指令

 3.2、开机自清除历史指令

1、vim   ~/.bashrc

2、echo "  "  > ~/.bash_history

  • 进入vim 编辑界面,输入命令

·

3.3、用户退出清除历史指令

1、vim  ~/.bash_logout

2、echo " "  > ~/.bash_history

  • 进入vim 编辑界面,输入命令

3.4、终端自动注销

1、vim /etc/profile                                                #所有用户生效

2、export TMOUT=60                                         #设置超时时间,用户闲置后注销

 

  •  进入vim 编辑界面,输入命令

3.5、设置记录命令条数

1、vim /etc/profile 

2、export HISTSIZE=20

 

  •  进入vim 编辑界面,输入命令

4、切换用户

4.1、su

  • 用于切换用户身份

su - 目标用户                                        # 将使用目标用户登录Shell环境

su   目标用户                                        #不改变当前工作目录和环境变量设置,不完全切换

4.2、su命令的安全隐患

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

 4.3、禁止用户使用su命令

vim /etc/pam.d/su

  •  前面加上#(注释)符号就可以了

4.4、添加用户 

gpasswd  -a  用户   组

二、PAM安全认证

1、PAM概述

PAM(Pluggable Authentication Modules,可插拔认证模块)是一种灵活的、可扩展的认证框架,用于在 Linux 和 Unix 系统中管理用户认证。PAM 提供了一种标准化的方法,通过模块化的设计,允许系统管理员在不修改应用程序的情况下,轻松地添加、删除或配置认证机制。它支持多种认证方式,包括密码、指纹、智能卡等,确保系统的安全性和可管理性。

2、PAM框架

1、cd /etc/pam.d

2、vim sshd

①、第一列代表PAM认证模块类型:

  • auth: 对用户身份进行识别,如提示输入密码,判断是否为root。
  • account: 对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等。
  • password: 使用用户信息来更新数据,如修改用户密码。
  • session:定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关闭,挂载文件系统。
     

②、第二列代表PAM控制标记:

  • required:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。
  • requisite:与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。
  • sufficient:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。
  • optional: 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型),
  • include:表示在验证过程中调用其他的PAM配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项。
     

③、第三列代表PAM模块:

  • 默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径。
  • 同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数。
     

 ④、第四列代表PAM模块的参数:

  • 这个需要根据所使用的模块来添加。
  • 传递给模块的参数。参数可以有多个,之间用空格分隔开
     

 3、PAM安全认证流程

解释: 

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

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com