liunx系统安全及应用

文章目录

系统账号清理

1.将非登录用户的Shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名
如图:liunx系统安全及应用
2.锁定长期不使用的账号
命令:usermod -L用户名,passwd -l 用户名,passwd -S 用户名
如图liunx系统安全及应用
3.删除无用的账号
命令:userdel [-r] 用户名
4.锁定账号文件
命令:passwd,shadow.

  • chattr +i /etc/passwd/etc/shadow(锁定)
  • lsattr /etc/passwd /etc/shadow
  • chattr -i /etc/passwd /etc/shadow(解锁)

如图:

liunx系统安全及应用
liunx系统安全及应用
liunx系统安全及应用

密码安全控制

1.设置密码有效期
2. 要求用户下次登录时修改密码
命令:vi /etc/login.defs
chage -M 30 用户名(适用于新建用户)
chage -d 0 用户名(强制下次登录时更改密码)
如图:liunx系统安全及应用
liunx系统安全及应用

liunx系统安全及应用
liunx系统安全及应用

命令历史限制

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

liunx系统安全及应用
命令:vi /etc/profile
找到HISTSIZE=1000(修改这个文件)
liunx系统安全及应用
注:改完之后不会立即生效

liunx系统安全及应用
注:只会保留最后50行
liunx系统安全及应用
或者登录清除历史命令
如图
liunx系统安全及应用
liunx系统安全及应用

终端自动注销

闲置600秒后自动注销
命令:
vi /etc/profile
export TMOUT=600
source /etc/prodile
如图
liunx系统安全及应用

liunx系统安全及应用
liunx系统安全及应用
注:这个值代表三分钟内没有任何操作便会自动注销
取消命令:unset TMOUT

使用SU命令切换用户

用途及用法

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

密码验证

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

命令
su -root (带-选项表示将使用目标用户的登录shell环境)
whoami(查看当前用户)

限制使用su命令的用户

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

命令
gpasswd -a anan wheel (正在将用户“anan ”加入“wheel”组中)
vi /etc/pam.d/su

如图
liunx系统安全及应用
liunx系统安全及应用

linux中的pam安全认证

1.su命令的安全隐患
●默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
●为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
2.PAM(Pluggable Authentication, Modules)可插拔式认证模块
●是一种高效而且灵活便利的用户级别的认证方式
●也是当前Linux服务器普遍使用的认证方式
命令:
cd /lib64/security/
ls

PAM安全认真流程

控制类型也称做Control Flags,用于PAM验证类型的返回结果
1.required验证失败时仍然继续,但返回Fail
2.requisite验证失败则立即结束整个验证过程,返回Fail
3.sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
4.optional不用于验证,只显示信息sudo(通常用于session类型)
liunx系统安全及应用

使用sudo机制提示权限

1.su命令的缺点
2.sudo命令的用途及用法

  • 用途:以其他用户身份(如root)执行授权的命令
  • 用法:sudo 授权命令,用户 主机名=(用户)命令程序

配置sudo授权

  • visudo或者vi /etc/sudoers(此文件的默认权限为440,保存退出时必须执行":wq!"命令来强制操作)
  • 记录格式 :用户 主机名=命令程序列表

注:
用户:直接授权指定的用户名,或采用"*组名"的形式(授权一个组的所有用户)。
主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名AAL则代表所有主机
(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令
命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号" ,"进行分隔。ALL则代表系统中的所有命令
命令格式例如:
admin ALL=/sbin/ifconfig #说明admin在所有主机上拥有ifconfig权限

admin1 localhost=/sbin/,!/sbin/reboot,!/sbin/poweroff #通配符“”表示所有、取反符号“!”表示排除 #说明admin1拥有除了重启和关机的所有权限

%wheel ALL=NOPASSWD: ALL #表示wheel组成员无需验证密码即可使用sudo执行任何命令(删除#就需要密码了)

admin2 ALL=(root)NOPASSWD: /bin/kill, /usr/bin/killall #说明admin2用户不需要输入密码即可执行kill和killall命令
liunx系统安全及应用
注:退出之后,使用命令前面需要加sudo,使用命令需要密码
创建别名
用户别名 User_Alias
主机别名 Host_Alias
命令别名 Cmnd_Alias
如图所例
liunx系统安全及应用
注:在root用户输入vim /etc/sudoers

启用sudo操作日志

命令:
visudo
Defaults logfile = “/var/log/sudo”
如图
liunx系统安全及应用
查看sudo操作记录

  • 需启用Defaults logfile配置
  • 默认日志文件:/var/log/sudo

查询授权的sudo操作
命令:sudo -l

liunx系统安全及应用

开关机安全控制

调整BIOS引导设置

  • 将第一引导设备设为当前系统所在硬盘
  • 禁止从其他设备(光盘、U盘、网络)引导系统
  • 将安全级别设为setup,并设置管理员密码

GRUB限制

  • 使用grub2-mkpasswd-pbkdf2生成密钥
  • 修改/etclgrub.d/00_header文件中,添加密码记录
  • 生成新的grub.cfg配置文件

liunx系统安全及应用
liunx系统安全及应用
liunx系统安全及应用
命令
grub2-mkpasswd-pbkdf2–>#根据提示设置GRUB 菜单的密码
PBKDF2 hash of your password is grub.pbkdf2…–>#省略部都分内容为经过加密生成的密码字符串
cp /boot/grub2/grub.cfg /boot/grub2/ grub.cfg.bak
cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
vim /etc/grub.d/o0_header
cat <<EOF
set superusers=“root”–>#设置用户名为root
password pbkdf2 root grub.pbkdf2…–>#设置密码,省略部分内容为经过加密生成的密码字符串
grub2-mkconfig -o /boot/grub2/grub.cfg–>#生成新的grub.cfg文件
重启系统进入GRUB菜单时,按e键将需要输入账号密码才能修改引导参数。

上一篇:安装/开机Ubuntu18.04出现花屏


下一篇:顺序结构