一. 账号安全的基本措施
1.将非登录用户的shell设置为/sbin/nologin
usermod -s /sbin/nologin 用户名 ------禁止用户登陆系统
2.锁定长期不使用的账户
usermod -L 用户名 ------锁定用户账户
passwd -l 用户名 ------锁定用户密码
passwd -S 用户名 ------查看用户账户是否被锁定
3.删除无用的账号
userdel -r 用户名 ------添加 -r 选项时,表示连用户的宿主目录一并删除
4.chattr锁定重要文件(如passwd、shadow、fstab等)
lsattr命令:查看文件的状态
这个- - - - - -代表的就是当前文件正常未被锁定
chattr +i ##锁定文件
现在我们可以看到两个文件都被锁定了,i代表的就是锁定,现在我们来给他解锁
解锁的命令就是chattr -i ,可以看到已经解锁了
二 密码安全控制
1. 设置密码有效期
1.1修改配置文件(只对新用户有效)
vim /etc/login.defs ##修改配置文件
PASS_MAX_DAYS 30 #修改密码有效期为30天
我们首先shift+冒号切换到底行模式
然后 set nu 查看编号
我们到第25行将PASS_MAX_DAYS 修改为30
这样最大密码有效期就被我们修改为了30天
这个命令只对新用户生效,现在我们来添加一个用户
useradd niuma
passwd niuma
可以看到刚刚添加的用户niuma的最大密码有效期已经变成了30天
一般情况下是不要动配置文件来修改最大密码有效期的
1.2 使用命令的方式来修改密码最大有效期(只对已有用户生效)
chage -M 60 【用户名】
我们可以看到最大密码有效期已经变成了60天
2 强制用户下次登录成功时修改密码
chage -d 0 【用户名】
root用户切换普通用户不需要密码
所以我们先切换到普通用户
再切到niuma这个用户去,可以看到需要我们立即修改密码(root强制)
这里设置的密码跟passwd修改的密码可就不一样了,需要修改的严格一点
三 命令历史记录限制
减少记录的命令条数;
登录时自动清空命令历史;
系统默认保存1000条历史命令记录
history -c 命令只可以临时清除记录,重启后记录还在
1 临时修改当前用户的历史命令条数
export HISTSIZE=200
#临时修改历史命令条数为200条
2.进入配置文件永久修改历史命令条数
vim /etc/profile
#进入配置文件
我们切换到46行将这个1000修改为300
修改完了以后我们使用source刷新一下配置文件,使文件立即生效
3 退出当前终端将命令清除
我们进入一下编辑模式
vim .bash_logout
在最底下输入echo " " > ~/.bash_history
这样方便我们后续修改,简单明了
然后再使用source命令刷新一下
4.开机后当前终端将命令清除
进入编辑模式
vim .bashrc
输入echo " " > ~/.bash_history
还是一样的,在最底下输入!!!
然后再使用soure刷新一下
四 设置登录超时时间
1 设置登录超时时间
先进入我们的全局配置文件
vim /etc/profile
在最底下输入TMOUT=3600 这里是按秒来算的
然后我们再使用source命令刷新一下配置文件,这样我们3600秒内没有操作的话,系统就会帮我们自动登出了
五 切换和限制用户
1 .su:切换用户
可以切换用户身份,并且以指定用户身份执行命令
1.1 切换用户的方式
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换
su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
1.2 密码验证
超级管理员切换普通用户,不需要密码
普通用户切换普通用户,需要密码
普通用户切换超级管理员,需要密码
注意:su 切换新用户后,使用 exit 退回至旧的用户身份,而不要再用 su 切换至旧用户,
否则会生成很多的bash子进程,环境可能会混乱。
1.3 限制使用su命令的用户
1.3.1su命令的安全隐患
默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,
带来安全风险
为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
1.3.2 wheel 组
wheel 组是一个特殊的组,它通常被用于控制系统管理员(root)权限的访问。
具体来说,wheel 组可以被用来授权一些非特权用户访问一些只有管理员才能访问的系统命令或文件,
这些用户可以使用 sudo 命令以 root 用户身份执行这些命令或访问这些文件
默认情况下wheel组是没有任何成员的,管理员需要手动将用户添加到该组中
1.3.3 启用pam_wheel 认证模块
将允许使用su命令的用户加入wheel组。
启用pam_wheel认证模块。则只有wheel组内的用户可以使用su命令切换用户
vim /etc/pam.d/su
进入编辑模式以后,我们将这个第六行的#给他删除掉,这一步叫取消注释
六 使用sudo机制提升权限
sudo命令的用途及用法
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
配置sudo授权
使用vim /etc/sudoers进行配置(此文件默认权限为440,保存时必须 wq!强制执行操作)
权限生效后,输入密码后5分钟可以不用重新输入密码
七 开关机安全控制
调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理员密码
grub加密方法(为GRUB菜单设置密码)
按e键可以查看并修改GRUB引导参数,这对服务器是一个极大的威胁。
可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数
八 终端登录安全控制
1 限制root只在安全终端登录
安全终端配置:/etc/securetty
tty1~ 6是文本型控制台,tty7 是X Window图形显示管理器。
可以通过CtrI+Alt+F1 (F1-F7键) 切换到对应的登录控制台。
2 禁止普通用户登录
建立/etc/nologin文件
删除nologin文件或者重启后即恢复正常
touch /etc/nologin
#禁止普通用户登录,只对图形化界面生效
rm -rf /etc/nologin
#取消上述登录限制,删除后即可恢复