Linux系统安全及应用

.一、账号安全基本措施

1.1 系统账号清理

(1)将非登录用户的shell设为/sbin/nologin

命令:

  • user  -s  /sbin/nologin  用户名

(2)锁定长期不使用的账号

  • passwd  -l  用户名  (锁定用户密码)
  • usermod  -L  用户名  (锁定用户)

(3)删除无用账号

  • userdel  -r  用户名

(4)锁定账号文件

  • chattr  +i  /etc/passwd     (锁定文件passwd) 
  • chattr  -i   /etc/passwd     (解锁文件passwd)
  • lsattr  /etc/passwd           (查看passwd文件状态)

1.2 密码安全控制

(1)设置密码有效期

  • 通过修改密码配置文件/etc/login.defs,改变账号创建时的密码最大有效期(只针对新建用户有效)

 新建用户test的密码最大有效期为30天

  •  针对现有用户修改密码有效期,使用命令:chage 

 -M:指定密码保持有效的最大天数

 (2)强制用户下次登录时修改密码

 可以看到第3个字段被改为0,强制用户下次登陆时需要修改密码

可以查看到再次登录是需要修改密码的,此时修改的密码会有要求,要求需大于8个字符

Linux系统安全及应用_第1张图片

 1.3 命令的历史限制

(1)history  -c  临时修改

(2)修改配置文件/etc/profile

[root@localhost ~]# vim /etc/profile  ##进入修改配置文件

46 HISTSIZE=20  ##将第46行的历史记录条数进行修改;20表示只记录20条历史记录

1.4 设置登录超时时间(主要针对远程连接工具)

[root@localhost ~]# vim /etc/profile   ##进入配置文件
TMOUT=600  ##低行添加,表示600秒无操作就自动登出
[root@localhost ~]# source /etc/profile  ##刷新

二、使用su命令切换

用途:切换用户

格式:su  -  目标用户

 2.1 wheel组

概念:wheel组是一个特殊的组,用于控制用户的访问权限,加入wheel组后,就可以和管理员用户一样使用一些敏感命令,wheel组默认是空的,需要手动添加

sudo命令:敏感命令前加sudo,就可以和管理员一样执行管理员才可以执行的命令,但是这个用户必须是加入wheel组的

[root@localhost ~]# vim /etc/pam.d/su  ##进入配置文件
6 auth            required        pam_wheel.so use_uid  ##将第6行的注释删除,此行表示普通用户之间切换将会收到限制,除非加入wheel组
[root@localhost ~]# gpasswd -a test wheel  ##将用户test加入wheel组

Linux系统安全及应用_第2张图片

2.2 PAM安全验证

相当于身份认证的框架,提供一种标准的身份认证接口,管理员可以定制化配置各种认证

(1)认证原理(机制)

  1. 先查看配置文件
  2. su命令是否启动
  3. 用户UID在不在wheel组
  4. 在,正常切换/不在,切换失败

(2)PAM认证的构成

  1. 认证类型
  2. 控制类型
  3. PAM模型类型
  • auth:用户身份认证
  • account:账户的有效性
  • password:用户修改密码时的机制校验
  • seession:会话控制,控制最多打开文件数,能打开多少进程
  • required:一票否决,只有认证成功才能进行下一步,如果认证失败,结果也不会立即通知用户,而是等所有步骤走完
  • requisite:一票否决,只要返回失败,立刻反馈用户
  • suffericient:一票通过,返回成功,就不会执行跟他相同模块内的认证,其他认证失败,也会忽略
  • optional:不用验证,只显示信息,可选项

Linux系统安全及应用_第3张图片

 

 三、使用sudo机制提升权限

用途:以其他用户执行授权命令

用法格式:sudo  授权命令

例1:对zgc用户使用sudo命令做限制,限制只能使用特定命令

  • 未限制之前:用户zgc使用sudo命令可删除/opt目录下的文件,所以需要对zgc用户进行限制

Linux系统安全及应用_第4张图片

  •  对zgc用户使用sudo命令进行限制
[root@localhost opt]# vim /etc/sudoers  ##进入配置文件

 99 #%wheel ALL=(ALL)       ALL        ##对第99行添加注释 
102 # %wheel        ALL=(ALL)       NOPASSWD: ALL      ##对第102行添加注释
zgc ALL=(root) /sbin/ifconfig,/bin/touch    ##在低行添加表示用户zgc只能使用ifconfig和touch命令
  • 限制之后:用户zgc使用sudo命令无法删除;同时可以使用允许使用的命令

Linux系统安全及应用_第5张图片

 Linux系统安全及应用_第6张图片

例2:对zgc用户使用sudo命令做限制,限制哪些命令不能使用

[root@localhost ~]# vim /etc/sudoers   ##进入配置文件
zgc ALL=(root) ALL    ##在低行添加,此命令表示允许用户执行管理员所有能够使用的命令
  • 配置完允许指定所有权限后:用户zgc可删除可创建文件可刷新

Linux系统安全及应用_第7张图片

  • 配置文件:Linux系统安全及应用_第8张图片
  • 配置 完后:无法删除和创建Linux系统安全及应用_第9张图片

 四、开关机安全控制

  • 设置grub菜单密码:

你可能感兴趣的:(linux,系统安全,运维)