[系统账号清理]
将非登录用户的Shell设为/sbin/nologin
如bin,daemon,adm,lp,mail,nobody,apache,mysql,dbus,ftp,gdm,haldaemon等
锁定长期不使用的账号
usermod -L abc //锁定账号
usermod -U abc //解锁账号
passwd -S //查看账号状态
删除无用的账号
如new,uucp,games,gopher等
锁定账号文件passwd、shadow
chattr +i /etc/passwd /etc/shadow //锁定文件
chattr -i /etc/passwd /etc/shadow //解锁文件
lsattr /etc/passwd /etc/shadow //查看锁定状态
[密码安全控制]
设置密码有效期
[root@steven ~]# vi /etc/login.defs #适用于新建的用户 …… PASS_MAX_DAYS 30 [root@steven ~]# chage -M 30 lisi #使用于已有的lisi用户
要求用户下次登录时修改密码
[root@steven ~]# chage -d 0 zhangsan #强制在下次登录时更改密码
[命令历史限制]
减少记录的命令条数
[root@steven ~]# vi /etc/profile …… HISTSIZE=200 #适用于新登录用户 export HISTSIZE=200 #适用于当前用户
注销时自动清空命令历史
[root@steven ~]# vi ~/.bash_logout …… history -c clear
[终端自动注销]
闲置600秒后自动注销
[root@steven ~]# vi ~/.bash_profile …… export TMOUT=600
[su用途及用法]
用途:Substitute User,切换用户
格式:su - 目标用户
"-"等同于"--login"或"-l",表示切换后进入目标用户的登录shell环境
密码验证
root → 任意用户, 不验证密码
普通用户 → 其他用户,验证目标用户的密码
限制使用su命令的用户
启用pam_wheel认证模块
[root@steven ~]# vim /etc/pam.d/su #%PAM-1.0 auth required pam_wheel.so use_uid
将允许使用su命令的用户加入wheel组
[root@steven ~]# gpasswd -a abc wheel Adding user abc group wheel
查看su操作记录
安全日志文件:/var/log/secure
[sudo用途及用法]
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
密码验证
初次执行sudo命令时,验证当前用户的密码
不需验证目标用户的密码
配置sudo授权
visudo 或者 vi /etc/sudoers
记录格式:用户 主机名列表=命令程序列表
[root@steven ~]# visudo …… %wheel ALL=NOPASSWD: ALL jerry localhost=/sbin/ifconfig #支持“*”通配,“!”取反 syriane localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route #支持命令别名,类似别名还包括:User_Alias、Host_Alias Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum mike localhost=PKGTOOLS
查看sudo操作记录
需启用 Defaults logfile 配置
默认日志文件:/var/log/sudo
[root@steven ~]# visudo …… Defaults logfile = "/var/log/sudo"
查询授权的sudo操作
sudo -l
[abc@steven ~]$ sudo -l [sudo] password for syrianer: #初次使用sudo时需验证当前用户的密码 …… User syrianer may run the following commands on this host: (root) /sbin/*, (root) !/sbin/ifconfig, (root) !/sbin/route #默认超时为5分钟,在此期间不再重复验证 [abc@steven ~]$ sudo /sbin/fdisk -l …… Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 10443 83778975 8e Linux LVM
[开关机安全控制]
调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理员密码
禁用重启热键Ctrl+Alt+Del
避免因用户误操作导致重启
[root@steven ~]# vi /etc/inittab …… #ca::ctrlaltdel:/sbin/shutdown -t3 -r now [root@steven ~]# init q #重新读取配置
GRUB菜单限制
未经授权禁止修改启动参数
未经授权禁止进入指定系统
密码设置方式(grub.conf)
password 明文密码串
password --md5 加密密码串
密码记录的位置
全局部分(第一个“title”之前)
系统引导部分(每个“title”部分之后)
GRUB限制的实现
使用grub-md5-crypt获得加密字串
[root@steven ~]# grub-md5-crypt Password: Retype password: $1$Kndw50$wRW2w1v/jbZ8n5q2fON4y/
修改grub.conf文件,添加密码记录
[root@steven ~]# vi /boot/grub/grub.conf …… password --md5 $1$Kndw50$wRW2w1v/jbZ8n5q2fON4y/ title Red Hat Enterprise Linux Server (2.6.18-194.el5) root (hd0,0) kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-194.el5.img
修改系统登录提示
本机登录提示:/etc/issue
网络登录提示:/etc/issue.net
减少开放终端个数
[root@steven ~]# vi /etc/inittab …… #禁用三个终端:tty1、tty2、tty3 # Run gettys in standard runlevels #1:2345:respawn:/sbin/mingetty tty1 #2:2345:respawn:/sbin/mingetty tty2 #3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 [root@steven ~]# init q
限制root只在安全终端登录
安全终端配置:/etc/securetty
[root@steven ~]# vi /etc/securetty …… #禁止root用户从终端tty5、tty6登录 tty1 tty2 tty3 tty4 #tty5 #tty6
禁止普通用户登录
建立/etc/nologin文件
删除nologin文件或重启后即恢复正常
[root@steven ~]# touch /etc/nologin #禁止普通用户登录 [root@steven ~]# rm -rf /etc/nologin #取消上述登录限制