Linux主机安全配置详解
系统安全分为:
第一部分:
BIOS密码,更改合适启动选项(禁止改bios/禁止更改第一启动选项,防止恶意的引导)
GRUB密码
系统密码(密码策略)
分区加密
第二部分:
最小权限法(su/sudo)
最小服务法
文件安全(suid/sgid/stick/chattr)
pam模块的使用
升级系统和软件
系统安全:
BIOS密码(bios/cmos)
调整BIOS引导设置
修改启动顺序,正确做法:第一启选项为磁盘
设置管理密码
禁用Ctrl+Alt+Del重启热键
RHEL5:
# vim /etc/inittab
32 #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# init q--让更改的配置马上生效,不需要重启服务器。
RHEL6:
# vim /etc/init/control-alt-delete.conf --注释以下两行
#start on control-alt-delete
#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
# init q
GRUB密码
--加密引导菜单的作用:修改启动参数时需要验证密码
--进入所选择的系统前需要验证密码
在grub.conf文件中设置密码的方式
password 明文密码串
password --md5 加密密码串
密码设置行的位置
全局部分(第一个“title”之前)
系统引导参数部分(每个“title”部分之后)
# grub-md5-crypt
$1$Qq15d$bEjy8VeMCrNcIJCEESqyY/
# vim /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
password --md5 $1$Qq15d$bEjy8VeMCrNcIJCEESqyY/--修改启动菜单时需要输入此密码
title Red Hat Enterprise Linux Server (2.6.18-8.el5)
password 123456--启动某个系统时需要输入的密码,一般不设置
root (hd0,0)
……
系统策略(密码策略)
1.检查系统中有无空密码账号:
# awk -F: '($2 == "") {print}' /etc/shadow
# awk -F: '($2 == "") {print}' /etc/passwd
2.检查系统中有无多余的管理员账号:
# awk -F: '($3 == "0") {print}' /etc/passwd
3.设置账号的属性:
账号的过期时间设置:
# usermod -e 2012-10-1 u01--修改一个已经存在的账号的过期时间
# useradd -e 2012-10-1 02--在新建用户时指定过期时间
# chage -M 30 -m 7 -W 7 -I 3 userName
# chage -d 0 userName
-M多长时间改一次密码
-m修改密码的最小间隔
-W密码过期警告时间
-I密码过期延时时间
-d定义最一次修改密码的时间,-d 0从来都没改过密码,所以第一次登录时需要修改密码
4.检查程序用户的登录Shell是否异常
# awk -F: '$7!="/sbin/nologin" {print $1,$7}' /etc/passwd
5.减少记录命令历史的条数
环境变量 HISTSIZE
# vim /etc/profile
HISTSIZE=50
6.设置在命令行界面中超时自动注销(shell的超时时间)
环境变量 TMOUT
# vim /etc/profile
TMOUT=300
7、记录用户的每个命令操作(录屏):
# vim /etc/profile
exec /usr/bin/script -t 2>/tmp/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /tmp/$USER-$UID-`date +%Y%m%d%H%M`.log
# last--查看所有用户在线的情况
# lastlog--查看用户最后一次登录的时间
/var/log/wtmp
# lastb--查看用户登录失败记录
# /var/log/secure--跟验证相关的日志信息在记录在此文件
给一个已经存在的分区加密( i/o-->disk-->partion-->crypt-->logic_partion(ext3))
1.进入单用户模式
telinit 1
2.Cpoy data and unmount your existing /home:
cp -a /home/* /backup
umount /home
3.如何无法卸载,可以使用强制杀死访问这个分区程序,然后再次卸载:
fuser -mvk /home
4.确认分区是否还被挂载着:
grep home /proc/mounts
5.给分区设置加密(加密的分区是无法访问的)
# rpm -q cryptsetup-luks--确认加密工具是否已经安装
# cryptsetup --verbose --verify-passphrase luksFormat /dev/VG00/LV_home
YES--回答大写的yes,这一步会把分区原来所有的数据全部清空
6.给加密分区设置映射名称:
cryptsetup luksOpen /dev/VG00/LV_home home
7.映射设备存放的路径:/dev/mapper/home
ls -l /dev/mapper | grep home
8.格式化分区
mkfs.ext3 /dev/mapper/home
9.挂载分区
mount /dev/mapper/home /home
10.Make sure the file system is visible:
df -h | grep home
实现加密分区的自动挂载:
# vim /etc/crypttab
xxx/home/mapper/GLSvg-lv_home/root/.password
映射设备原始设备加密密码
# vim /root/.password--输入假密码,不需要写真密码,提高安全性
uplooking
# chmod 600 /root/.password
# cryptsetup luksAddKey /dev/mapper/GLSvg-lv_home /root/.password--告知设备密码验证文件存储路径
Enter any LUKS passphrase:
Verify passphrase:
key slot 0 unlocked.
Command successful.
# vim /etc/fstab
/dev/mapper/xxx /mnt ext3 defaults 1 2
# reboot--检验一下是否能够开机自动挂载
本文出自 “运维!解放!” 博客,谢绝转载!