系统安全常规优化

用户账号安全优化

1禁用(锁定)zhangsan用户

passwd l

[root@s2 ~]# passwd -l zhangsan

Locking password for user zhangsan.

passwd: Success

或 者   直接修改shadow文件,密码字符串前加!

[root@s2 ~]# vi /etc/shadow

zhangsan:!!:14724:0:99999:7:::

2、将不需要使用终端的用户的登录shell改为/sbin/nologin

[root@s2 ~]# vi /etc/passwd

zhangsan:x:500:500::/home/zhangsan:/sbin/nologin

或者

[root@s2 ~]# usermod -s /sbin/nologin  zhangsan

3限制用户的密码有效期

PASS_MAX_DAYS   30        //只对新建立的用户有效

或者

[root@s2 ~]# chage -M 30 zhangsan   //只对已存在的用户有效

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

[root@s2 ~]# chage -d 0 zhangsan

或者

zhangsan:!!:0:0:30:7:::     第三列改为0

5、限制密码的最小长度

[root@s2 ~]# vi /etc/pam.d/system-auth

password    requisite     pam_cracklib.so try_first_pass retry=3

6、限制记录命令历史的条数

[root@s2 ~]# vi /etc/profile

HISTSIZE=1000

7、设置超时自动注销终端

[root@s2 ~]# vi /etc/profile

TMOUT=600

使用su  切换用户身份

8、如何拒绝使用su 切换用户

[root@s2 ~]# vi /etc/pam.d/su

auth            required        pam_wheel.so use_uid

9、允许zhangsan使用su 切换用户

[root@s2 ~]# gpasswd -a zhangsan wheel

Adding user zhangsan to group wheel

使sudo提升执行权限

1、授权用户jerry可以以root权限执行ifconfig

jerry   ALL=/sbin/ifconfig        用户主机=命令绝对路径

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

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

tom     ALL=SYSVCTRL

3、授权wheel组的用户不需验证密码即可执行名令

%wheel  ALL=(ALL)       NOPASSWD: ALL

*代表通配符!表示取反

4、为sudo启用日志功能,将记录写入/var/log/sudo文件中

Defaults logfile = "/var/log/sudo"

local2.debug                                 /var/log/sudo   修改系统日志配置文件

[root@s2 ~]# service syslog restart   //重启syslog系统服务

Shutting down kernel logger:                               [  OK  ]

Shutting down system logger:                               [  OK  ]

Starting system logger:                                    [  OK  ]

Starting kernel logger:                                    [  OK  ]

5、使用sudo执行命令

tom查看自己被授权使用命令,并使用sudo执行命令

[tom@s2 ~]$ sudo -l

Password:

User tom may run the following commands on this host:

(root) /sbin/service

[tom@s2 ~]$ sudo /sbin/service httpd start

文件和文件系统安全优化

1、锁定不希望改改的系统文件

[root@s2 ~]# chattr +i /etc/services  /etc/passwd /boot/grub/grub.conf

2、解除/etc/passwd文件中的+i属性锁定

[root@s2 ~]# chattr -i /etc/passwd

3、关闭不必要的系统服务

[root@s2 ~]# service bluetooth stop

[root@s2 ~]# chkconfig bluetooth off

4、禁止普通用户执行init.d目录中的脚本

[root@s2 ~]# chmod -R o-rwx /etc/init.d/

或者

[root@s2 ~]# chmod  750 /etc/init.d/

5、禁止普通用户执行poweroffhalltreboot 控制台程序

[root@s2 console.apps]# tar -jcpvf /etc/conhlp.pw.tar.bz2 poweroff halt reboot --remove

poweroff

halt

reboot

6、查找系统中设置了set-uidset-gid权限的文件,并结合-exec选项显示这些文件的详细权限属性。

[root@s2 console.apps]# find / -type f -perm +600 -exec ls -lh {} \

7、去除程序文件的suid/sgid为权限

drwsr-sr-t 2 root root  4096 Mar 18 18:20 aa

[root@s2 ~]# chmod a-s aa

系统引导和登录安全优化

1、阻止用户通过Ctrl+Alt+Del

[root@s2 ~]# vi /etc/inittab

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

2、在grup.conf文件中设置明文密码

[root@s2 ~]# vi /boot/grub/grub.conf

default=0

timeout=5

splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

password 123456

title Red Hat Enterprise Linux Server (2.6.18-8.el5)

       root (hd0,0)

       kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet

       initrd /initrd-2.6.18-8.el5.img

3、在grup.cof文件中设置md5加密的密码字符串

[root@s2 ~]# grub-md5-crypt

Password:

Retype password:

$1$x.20Z0$hY6SYWzlbDBnir./dS87o0

[root@s2 ~]# vi /boot/grub/grub.conf

default=0

timeout=5

splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

password $1$x.20Z0$hY6SYWzlbDBnir./dS87o0

title Red Hat Enterprise Linux Server (2.6.18-8.el5)

       root (hd0,0)

       kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet

       initrd /initrd-2.6.18-8.el5.img

4、禁用tty4-tty6终端

[root@s2 ~]# vi /etc/inittab

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

#4:2345:respawn:/sbin/mingetty tty4

#5:2345:respawn:/sbin/mingetty tty5

#6:2345:respawn:/sbin/mingetty tty6

5、禁止root用户从tty2-tty3终端

[root@s2 ~]# vi /etc/securetty

#tty2

#tty3

6、将登录提示内容修改为“Welcome to Server

root@s2 ~]# vi /etc/issue

Welcome to Server

7、禁止除了root以外的用户从tty1终端上登录系统

[root@s2 ~]# vi /etc/pam.d/login

account    required     pam_access.so   //pam配置文件login中添加认证支持

[root@s2 ~]# vi /etc/security/access.conf

-:ALL EXCEPT root:tty1

8、禁止root用户从192.168.1.0/24网络登录

[root@s2 ~]# vi /etc/pam.d/sshd

account    required     pam_access.so//添加pam配置文件sshd中添加认证支持

[root@s2 ~]# vi /etc/security/access.conf

- : root : 192.168.1.0/24