系统加固(服务器的本地安全)

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后就产生了日志文件