Linux系统安全及应用

82 阅读2分钟

账号安全基本措施

系统账号清理

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

usermod -s /sbin/nologin

·锁定长期不使用的账号

usermod -L 用户名

passwd -l 用户名

passwd -S 用户名

·删除无用的账户

userdel -r 用户名 ###删除连带家目录-r

·锁定账户文件passwd、shadow

chattr +i /etc/passwd /etc/shadow ###锁定文件并查看状态

lsattr /etc/passwd /etc/shadow

image.png chattr -i /etc/passwd /etc/shadow ###解锁文件

·设置密码有效期

·要求用户下次登录是修改密码

vi  /etc/login.defs ###修改密码配置文件适用于新建用户

PASS_MAX_DAYS  XX ###打开login.defs文件后修改密码有效期时间,xx表示天数

chage  -M 30 用户名  ###适用于已有用户

chage -d 0 用户名 ###强制在下次登录是更改密码

命令历史限制

减少记录的命令条数

vi /etc/profile

image.png

登录时自动清空命令历史

vi ~/.bashrc

echo "" >~/.bash_history

终端自动注销

vi /etc/profile

export TMOUT=600(闲置600秒后自动注销)

使用su命令切换用户

su -目标用户(切换用户)(-选项表示将使用目标用户的登录shell)

密码验证

root用户可以随意切换到任意一个用户,不需要验证密码

普通用户切换到其他用户,需要验证目标用户的密码

限制使用su命令的用户

将允许使用su命令的用户加入wheel组

启用pam_wheel认证模块

vi /etc/pam.d/su

image.png

image.png

Linux中的PAM安全认证

su命令的安全隐患

默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户的登录密码,带来安全风险。

为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

PAM认证的构成

查看某个程序是否支持PAM认证,可使用ls命令

image.png

查看su的PAM配置文件:cat /etc/pam.d/su

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

每一行可以区分为三个字段(认证类型;控制类型;PAM模块及其参数)

使用sudo机制提升权限

sudo命令的用途及用法

用途:以其他用户身份(如root)执行授权的命令

用法:sudo 授权命令

配置sudo授权

visudo或者vi /etc/sudoers

记录格式:用户 主机名=命令程序列表(可以使用通配符和取反符号!)

sudo 命令 第一次执行需要验证密码,默认超时时长为5分钟,在此期间不再重复验证密码

使用关键字User_Alias、Host_Alias、Cmnd_Alias来进行设置别名(别名必须为大写)

查看sudo操作记录

需要启用Defaults logfile配置

默认日志文件:/var/log/sudo

sudo -l 可以查看当前用户获得那些 sudo 权限

终端登录安全控制

限制root只在安全终端登录

安全终端配置:/etc/securettly

image.png