Linux 系统安全及应用(1)

目录

一.账号安全控制

1.系统账号清理

1.2.密码安全控制

1.3.命令历史限制

1.4.终端自动注销

2.切换用户 su

2.1用途及用法

2.2密码验证

2.3限制使用su命令的用户

2.4限制使用 su 命令的用户

2.5查看 su 操作记录

3.PAM认证原理

3.1su命令的安全隐患

3.2PAM(Pluggable Authentication Modules)可插拔式认证模块

3.4PAM认证原理

3.5PAM认证的构成

3.6PAM安全认证流程

4.sudo 机制提升权限

4.1配置sudo授权

4.2语法格式:

4.3 sudo参数命令


一.账号安全控制

1.系统账号清理

  • 将非登录用户的Shell设为/sbin/nologin
  • 锁定长期不使用的账号
  • 删除无用的账号
  • 锁定账号文件passwd,shadow

[root@xlj1 ~]# chattr +i /etc/passwd /etc/shadow    锁定文件并查看状态

[root@xlj1 ~]# lsattr /etc/passwd /etc/shadow

----i-------- /etc/passwd

----i-------- /etc/shadow

1.2.密码安全控制

  • 设置密码有效期
  • 要求用户下次登录时修改密码

适用于新用户

[root@localhost ~]# vi /etc/profile             进入配置文件修改限制命令条数。适合新用户

export HISTSIZE=200                              修改限制命令为200条,系统默认是1000条profile

[root@localhost ~]# source /etc/profile     刷新配置文件,使文件立即生效

适用于当前用户

[root@localhost ~]# export HISTSIZE=200 

[root@localhost ~]# source /etc/profile

[root@localhost ~]# source /etc/profile     刷新配置文件,使文件立即生效

强制在下次登录时更改密码

[root@xlj1 ~]# chage -d 0 zhangsan   

1.3.命令历史限制

  • 减少记录的命令条数
  • 注销时自动清空命令历史

1.4.终端自动注销

  • 闲置600秒后自动注销

[root@xlj1~]# vi /etc/profile

HISTSIZE=200

登录时自动清空历史命令(永久)

[root@xlj1 ~]# echo"" > ~/.bash_history

登录时自动清空历史命令(临时)

[root@xlj1 ~]#vim ~/.bash_logout

history -c

clear

2.切换用户 su

2.1用途及用法

  • 用途:Substitute User,切换用户
  • 格式    su-目标用户

2.2密码验证

  • root→任意用户,不验证密码
  • 普通用户→其他用户,验证目标用户的密码

[jerry@xlj1 ~]$ su - root      带-选项表示将使用目标用户的登录Shell环境

口令:

[root@xlj1 ~]# whoami

root

2.3限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组
  • 启用pam_wheel认证模块

[root@xlj1 ~]# gpasswd -a tsengyia wheel

tsengyia

正在将用户"tsengyia"加入到“wheel"组中

2.4限制使用 su 命令的用户

  • 将允许使用su命令的用户加入wheel组
  • 启用pam_wheel认证模块

2.5查看 su 操作记录

  • 安全日志文件: /var/log/secure

3.PAM认证原理

  • PAM认证一般遵循的顺序:Service (服务)-->PAM (配置文件) --> pam *.so;
  • PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证模块(位于 /lib64/security/下)进行安全认证
  • 用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同的

3.1su命令的安全隐患

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

3.2PAM(Pluggable Authentication Modules)可插拔式认证模块

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

3.4PAM认证原理

  • 一般遵循的顺序       Service (服务) →PAM (配置文件) →pam_*.so
  • 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证
  • 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
  • 不同的应用程序所对应的PAM模块是不同的

3.5PAM认证的构成

(1)查看某个程序是否支持PAM认证,可以用Is命令

  • 查看su是否支持PAM模块认证       Is /etc/pam.d | grep su

(2)查看su的PAM配置文件:cat letc/pam.d/su

     每一行都是一个独立的认证过程

     每一行可以区分为三个字段

  • 认证类型
  • 控制类型
  • PAM模块及其参数

3.6PAM安全认证流程

控制类型也称做Control Flags,用于PAM验证类型的返回结果

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

(通常用于session类型)

4.sudo 机制提升权限

4.1配置sudo授权

visudo

vi /etc/sudoers (此文件的默认权限为440, 保存退出时必须执行 ":wq!" 命令来强制操作)

4.2语法格式:

用户  主机名=命令程序列表

用户  主机名=(用户)命令程序列表

用户:直接授权指定的用户名,或采用"组名"的形式(授权一个组的所有用户)

主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名, ALL则代表所有主机

(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命

命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径多个命令之间以逗号 "," 进行分隔。ALL则代表系统中的所有命令

4.3 sudo参数命令

-l列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的
-v验证用户的时间截;如果用户运行sudo后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo操作:用 -v 可以跟踪最新的时间戮
-u指定以以某个用户执行特定操作
-k删除时间截,下一个sudo命令要求用求提供密码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值