第一章 系统安全常规优化

1,禁用或解锁用户zhansan

passwd -l zhansan

passwd -u zhansan

或者直接修改配置文件vi /etc/shadow,在用户信息前加!锁定,不加不锁

2,确定程序或服务用户的登陆shell不可用

vi /etc/passwd

ftp:x:14:50:FTP User/var/ftp:/sbin/nologin

或者usermod -s /sbin/nologin rpm

3,限制用户密码的有效天数

vi /etc/login.defs

PASS_MAX_DAYS   30或者chage -M 30 zhangsan(针对已经存在的用户)或者直接修改配置文件/etc/shadow

4,指定用户在下次登录时必须修改密码

chage -d 0 zhangsan

或者

vi /etc/shadow 

修改第三个:之后的参数为0

5,限制用户密码的最小长度

vi /etc/pam.d/system-auth

password requisite pam_cracklib.so try_first_pass retry=3 minlen=12

6,限制历史命令的条数和超时时间

vi /etc/profile

HISTSIZE=100

Export TMOUT=30 

7,使用su切换身份

su -】 用户名

1)将允许使用su的用户加入wheel

2)修改PAM设置,添加pam_wheel

vi /etc/pam.d/su

Auth required pam_wheel.so use_uid

3)验证只能加入wheel组的用户可以su切换

8sudo提升执行权限

1)/etc/sudoers配置文件默认权限440,通常使用专门的visudo命令进行编辑

格式 user MACHINE=COMMANDS

比如:授权用户jerry可以以root权限执行ifconfig命令

visudo 

jerry ALL=/sbin/ifconfig

:wq

通过别名定义一组命令。并授权用户tom可以使用改组命令

visudo

Cmnd_Alias SYS=/sbin/service,/bin/kill,/bin/killall

tom ALL=NOPASSWD: SYS

:wq

sudo启动日志功能,将记录写入/var/log/sudo文件中

1visudo 

Default logfile = "/var/log/sudo"

:wq

2vi /etc/syslog.conf

local2.debug        /var/log/sudo

:wq

3service syslog restart(重启syslog服务)

4)切换终端登录用户,使用sudo命令

5)使用tail /var/log/sudo命令查看日志

文件及文件系统安全及优化

1,合理规划系统分区

/boot:该目录中包含系统内核,grub程序等关键性的引导文件

/home:该目录是用户默认宿主目录所在的上一级的文件夹

/var:该目录用于保存系统日志

/opt:用于安装服务器的附加应用程序及其他可选的工具

2,通过挂载选项禁止直行set位程序,二进制程序

vi /etc/fstab

/dev/sdc1     /var    ext3   defaults,noexec    1 2

:wq

mount -o remount /var

3,锁定不希望更改的系统文件

Chattr + i 文件

+i 锁定

-i 解锁

+a 只能以追加的形式写入

-a 解锁

Lsattr 查看文件的属性状态

4,禁止普通用户执行poweroff halt reboot控制台程序

cd /etc/security/console.apps/

tar jxvf /etc/conhlp.pw.tar.bz2 poweroff halt reboot --remove

系统引导和登陆安全控制

1,防止用户通过ctrl+alt+del热键重启系统

vi /etc/inittab

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Init q(使上述配置生效)

2grub引导菜单加密

vi /boot/grub/grub.conf

password   123

Title Red Hat Enterprise Linux Server 

:wq

然后开机进入grub的时候必须输入密码才能进入单用户模式

终端及登陆控制

1,即时禁止普通用户登陆系统

touch /etc/nologin

2.控制服务器开放的tty终端

1vi /etc/inittab

在终端2-6前面加#注释行

2init q

3vi /etc/securetty 

删除tty2-tty6的终端

4)用普通用户在tty2-tty6登陆 不能登陆,但是普通用户可以再tty1登陆

5)vi /etc/pam.d/login

account required pam_access.so

:wq

6)vi /etc/security/access.conf

-: ALL EXPECT root : tty1

:wq

7)验证只有root用户可以再tty1登陆