系统加固(服务器的本地安全)
1 用户账户安全
2 文件系统安全(系统配置文件的安全 服务的配置)
重要的数据文件
挂载的文件系统 mount
文件权限的种类 rwx suid sgid T位 facl
++++++++++++++++++++++++++++++++++++++++++
阻止普通用户关机: 建一个700文件夹 mkdir -m 700 文件夹名
cd /etc/security/console.spps
mv poweroff reboot halt 等拷贝到新建的目录下 普通用户就无法关机
++++++++++++++++++++++++++++++++++++++++++
创建用户并指定有效期 useradd -e 2016-04-30 tom
查看用户密码有效期 chage -l tom
添加用户登陆默认配置文件 /etc/login.defs
清除用户密码 passwd -d tom
+++++++++++++++++++++++++++++++++++++++++++++++++
mount [-t 文件系统类型] [ -o 挂载选项 ] 设备 系统目录
defaults 默认挂载 (man mount /defaults)
/etc/fstab 系统启动时自动挂载哪些设备
mount -t 文件系统类型 -o noexec.nosuid /dev/sdc1 /disk noexec表示此挂在目录无exec权限,nosuid表示去除root拥有的权限
实验:
vim a.sh
rm -rf /*
:wq
cp a.sh /disk/
chmod +x /disk/a.sh
cd /disk
./a.sh 因为/disk无exec权限 所以脚本有执行权限也无法执行
++++++++++++++++++++++++++++++++++++
给文件加a或者i(或者=)属性(i不可变 a仅可追加)
lsattr /etc/resolv.conf #查看文件的属性
chattr +a或+i 文件名 锁定保护文件
chattr -a或-i 文件名 解锁保护的文件
++++++++++++++++++++++++++++++++++++++++++
给grub加密
加密grup
title xxxxxxxx
引导 (启动系统)/boot/grub/grub.conf
/etc/grub.conf
加密明文密码 /boot/grub/grub.conf title上边一行 加password 1234567
加密密文加密 生成密码:grub-md-crypt 复制生成到密码 放在title上下边一行 password --md5 ***(生成到密码)
++++++++++++++++++++++++++++++++++++++++++++
停用Ctrl+Alt+Del热键配置
/etc/init/control-alt-delete.conf
#start on control-alt-delete 注销掉
立即禁止普通用户登录 touch /etc/nologin 普通用户就不能登录系统
++++++++++++++++++++++++++++++
删除以下文件内容或者修改防止外部入侵和查看:
/etc/issue 使用于本地登录(提示内核,系统版本信息)
/etc/issue.net 远程登录(提示内核,系统版本信息)
+++++++++++++++++++++++++++++
登录系统之前最后要加载的文件(执行各种脚本或命令都可以) /etc/rc.local
++++++++++++++++++++++++++++++
允许启用哪些tty终端
配置文件 /etc/sysconfig/init (默认23行)
ACTIVE_CONSOLES=/dev/tty[1-6] 修改此配置
只允许root从指定的几个终端登录
配置文件 /etc/securetty
++++++++++++++++++++++++++++++++++
查看当前登录账户 whoami
用户切换 su 用户名 或 su - 用户名
su - 用户名 -c "命令" 不切换用户的情况下用指定用户执行命令(需要知道指定用户密码)
su - oracle -c ".. ../bin/lsnrctl start"
su - oracle -c ".. ../bin/dbstart $ORACLE_HOME"
su - root -c "touch /tmp/test.txt"
查看 su切换的使用情况
cat /var/log/secure
++++++++++++++++++++++++++++++++++++++++++++++++++
提取 sudo
/etc/sudoers 配置文件 (快捷打开文件的命令 visudo )
给普通用户提权:sudo
sudo -l 查看自己的udo授权
sudo -u zhangsan mkdir /tmp/haha 在另外用户以用户zhangsan的权限新建一个文件夹
sudo /sbin/ifconfig eth0:1 1.1.1.1 切换到用户,执行sudo命令
举例:/%名(表示组)
用户 主机列表=命令列表
root ALL=(ALL) ALL 允许root在所有主机运行所有命令
root ALL=(ALL) NOPASSWD: ALL 允许root在所有主机不用输入密码运行所有命令
mike localhost,svr=/sbin/*,!/sbin/ifconfig eth0 允许mike以root权限执行/sbin/下的所有命令,但是禁止修改eth0网卡的参数
mike localhost,localdomain=/sbin/* 允许mike在localdomain主机以root权限执行/sbin/下的所有命令
mike localhost,localdomain=/sbin/ifconfig 允许mike在localdomain主机执行/sbin/下的ifconfig一个命令
sudo别名设置 (简化操作
User_Alias HAHAZU须大写)=tom,mike,jim 用户别名
Host_Alias SERVER=mail,svr,pc205 主机别名
Cmnd_Alias MINGLING=/bin/rpm,/usr/bin/yum 命令别名
HAHAZU SERVER=MINGLING
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
修改全局配置,启用日志
Defaults logfile="/var/log/sudo" 再次sudo后就产生了日志文件