一、基本安全
1.系统账号清理
Linux中账号有root,手工创建的,维护系统运作的,和非登录用户,常见的非登录用户有bin.daemon.adm.mail.nobody.apache.mysql.ftp等,其中一部分很少用到,可以删除,如news.uucp.games.gopher。还有就是应用卸载后残留用户,需管理员手工删除,可以在/etc/passwd中查询
grep "/sbin/nologin$" /etc/passwd
有长期不使用账号的,不确定是否删除的,可以将用户锁定
usermod -L 用户名 锁定
usermod -U 用户名 解锁
如果服务器中的账号以固定,不在进行修改,可以采取锁定账号配置文件的方法
chattr +i 文件 锁定文件
chattr -i 文件 解锁文件
lsattr 文件 查看锁定状态
锁定/etc/passwd /etc/shadow就不能再添加用户了
2.密码安全控制
限制用户密码的最大有效天数
vim /etc/login.defs #适用于新建用户
修改为30天
chage -M 30 tom #适用于已有用户
批量创建用户时,指定用户下一次登录时修改密码
chage -d 0 tom
3.清除命令历史
修改变量HISTSIZE,默认为1000条
vim /etc/profile #适用于新登录用户
HISTSIZE=200 #修改为200条
export HISTSIZE=200 #适用于当前用户
还可以设置退出时,自动清除命令历史
vim ~/.bash_logout
添加 history -c clear 两条命令
设置终端闲置超时时间,当一段时间没有输入命令时自动注销终端
vim /etc/profile #适用于新登录用户
export TMOUT=600 #超过600秒关闭
export TMOUT=600 #适用于当前用户
必要时可以用unset TMOUT 取消TMOUT变量
二、给用户权限设置
1.su命令
切换用户
限制用户使用su命令,可提高root用户密码安全性
添加用户至wheel组
gpasswd -a tom wheel
grep wheel /etc/group 确认wheel组成员
vim /etc/pam.d/su
启用pam_wheel认证,未加入wheel组的,无法使用su命令
使用su命令切换的操作会记录到安全日志/var/log/secure文件中
2.sudo命令
提升执行权限,使普通用户也能执行特定命令
在配置文件/etc/sudoers中添加授权
用专门的命令工具visudo编辑
基本格式为:user MACHINE=COMMANDS
user:用户名,或采取%组名
MACHINE:使用此配置文件的主机名称,方便多台主机之间共用一台sudoers文件
COMMANDS:命令,填写命令的完整路径,多条命令以“,”分割,‘!‘表示取反,例:在/usr/bin/下,除了userdel都可以执行
defaults logfile... 开启sudo日志记录
sudo -l 查看sudo配置
在/var/log/sudo中看到用户sudo操作记录
三、开关机安全
1.调整BIOS引导设置
将第一优先引导设备(first boot device)设为当前系统所在磁盘
禁止从其他设备(光盘,U盘,网络)引导系统,设为disabled
将BIOS安全级别设为setup,设置好管理密码
2.对于多终端的服务器禁止ctrl+alt+del重启,
注释掉最后一行
3.设置grub引导菜单密码
加密密码
复制加密后的密码
重新进入grub菜单式,按E键不能直接进入,需P键,输入密码
四、终端及登录
1.减少开放的tty终端个数
/etc/init/tty.conf 控制tty终端的开启
/etc/init/start-ttys.conf 控制tty终端的开启数量、设备文件
/etc/sysconfig/init 控制tty终端的开启数量、终端颜色
通过修改start-ttys.conf、sysconfig/init 文件限制个数
2.限制root用户登录的终端
修改/etc/securetty文件,可以注释掉禁止登录的终端
3.禁止普通用户登录‘’
当服务器进行备份或调试等工作时,不希望用户登录可以简单的建立/etc/nologin文件即可,删除文件则可以登录
.
原文地址:http://blog.51cto.com/12879627/2072526