Linux系统安全与应用 一

目录

一、账号安全基本措施

1、系统账号清理

将非登录的用户hehe设为sbin/nologin

锁定长期不使用的账号

删除无用的账号

锁定账号文件passwd,shadow

2、密码安全控制

设置密码有效期

限制用户下次登录就需要更改密码

3、命令历史限制

减少记录的命令条数

注销时自动清空

4、终端自动注销

 5、限制su命令用户

6、PAM安全认证


一、账号安全基本措施

1、系统账号清理

将非登录的用户hehe设为sbin/nologin

锁定长期不使用的账号

1,使用usermod锁定和解锁用户

 usermod -L 用户名:对用户进行锁定

usermod -U 用户名:对用户进行解锁(由于新建的用户还没有设置密码,所以此处提示我们需要设置密码后解锁用户)

usermod -p 用户名:对未设置密码的用户进行设置密码并解锁

2、使用passwd锁定和解锁用户

 passwd -l 用户名:对用户进行锁定

passwd -u 用户名:对用户进行解锁

删除无用的账号

 userdel -r 用户名:删除无用的用户

锁定账号文件passwd,shadow

 chattr +i /etc/passwd /etc/shadow:对账号文件passwd,shadow进行锁定,锁定后将无法创建用户。

 chattr -i /etc/passwd /etc/shadow:对账号文件passwd,shadow进行解锁,解锁后可以正常创建用户。

同时,这两条命令也可以对文件进行锁定与解锁,锁定后将无法对此文件进行修改和删除等操作,解锁后恢复正常。

2、密码安全控制

设置密码有效期

vi /etc/login.defs

PASS_MAX_DAYS   30

修改密码配置文件,适用于新建用户

chage -M 30 hehe

cat /etc/shadow | grep hehe

直接修改有效期,适用于已有用户

PASS_MAX_DAYS   99999:密码最长有效期

PASS_MIN_DAYS        0    :密码最短有效期

PASS_MIN_LEN          0     :推荐密码最小位数

PASS_WARN_AGE     7     : 设定在密码失效前多少天开始通知用户更改密码

限制用户下次登录就需要更改密码

chagr -d 0 hehe

cat /etc/shadow | grep hehe

3、命令历史限制

减少记录的命令条数

想要减少历史记录的命令条数,我们先进入/etc/profile环境变量文件中进行设置,保存退出后将其设置为生效,命令为:source /etc/profile,或者直接重启

 此处1000改为所需要显示的命令条数,wq保存退出

 source /etc/profile识别此次修改,然后可以用history查看历史命令条数

注销时自动清空

 

进入开机启动配置文件进行修改

输入echo '' >  ~/.bashrc(自动清空命令历史)

4、终端自动注销

限制600秒自动注销

vi /etc/profile

进入配置文件进行修改

export TMOUT=600

设置注销时间为600秒

source /etc/profile

重新加载配置文件

 5、限制su命令用户

     默认情况下,如何用户都允许使用su命令,从而与机会反复尝试其他用户的登录密码,这样带来了安全风险。为了加强su命令的使用控制,可以借助于pam_wheel认证模块只允许极个别用户使用 su 命令进行切换。实现过程如下:将授权使用 su 命令 的用户添加到 wheel 改/etc/pam.d/su 认证配置以启用 pam_wheel 认证。
root→任意用户  不需要验证密码

普通用户→其它用户  需要验证目标用户的密码

 借用pam_wheel命令来限制用户su命令进行切换

将授权使用su命令的用户添加到whell组

进入su命令的配置文件 

对su命令进行修改

 进入修改界面后输入命令set nu(显示行数)

第二行是对root进行修改(此处不需要该)

第六行是对whell组内的用户进行修改是否能使用su命令(以最前面#为判断标准,有#无法使用,无#可以使用)

6、PAM安全认证

PAM认证一般遵循的顺序:service(服务)- PAM(配置文件)-pam *.so:

PAM认证首先要确定哪一项应用服务,然后加载相应的pam配置文件,/etc/pam.d下。不同的应用程序所对应的PAM模块也是不同的

第一列代表PAM认证模块的类型
auth:对用户身份仅从识别
account:对账号各项属性进行检查
password:使用用户信息来更新数据
session:定义登陆前以及推出后所要进行的会话操作管理

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

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

第四列代表PAM模块的参数
这个需要根据所使用的模块来添加。传递给模块的参数。参数可以有多个,之间用空格分隔开
每一行都是一个独立的认证过程
每一行可以区分为三个字段:认证类型、控制类型、PAM模块及其参数

PAM 认证类型包括四种:
认证管理(authentication management):接受用户名和密码,进而对该用户的密码进行认证;
帐户管理(account management):检查帐户是否被允许登录系统,帐号是否已经过期,帐号的登录是否有时间段的限制等;
密码管理(password management):主要是用来修改用户的密码;
会话管理(session management):主要是提供对会话的管理和记账。 控制类型也可以称做 Control Flags,用于 PAM 验证类型的返回结果。


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉吉吉吉吉吉吉吉吉吉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值