Red Hat Linux 安全设置指南

时间:2021-09-28 17:14:28

1.最小化安全系统,删除不必要的软件,关闭不必要的服务。

# ntsysv

以下仅列出需要启动的服务,未列出的服务一律推荐关闭,必要运行的服务再逐个打开。

atd

crond

irqbalance

microcode_ctl

network

sshd

syslog

2.删除finger程序,具体方法如下

#rpm –e finger

3.BOIS安全设置

4.帐号安全设置

修改/etc/login.def文件

PASS_MAX_DAYS 120 ?设置密码过期日期

PASS_MIN_DAYS 0 ?设置密码最少更改日期

PASS_MIN_LEN 10 ?设置密码最小长度

PASS_WARN_AGE 7 ?设置过期提前警告天数

确保/etc/shadow为root只读

确保/etc/passwd为root读写

定期用密码工具检测用户密码强度

5./etc/exports

如果通过NFS把文件共享出来,那么一定要配置”/etc/exports”文件,使得访问限制尽可能的严格。这就是说,不要使用通配符,不允许对根目录有写权限,而且尽可能的只给读权限。在/etc/exports文件加入:

/dir/to/export host1.mydomain.com(ro,root_squash)

/dir/to/export host2.mydomain.com(ro,root_squash)

建议最好不要使用NFS.

6.inetd.conf或xinetd.conf

如果是inetd.conf建议注释掉所有的r开头的程序,exec等

7.TCP_Wrappers

在/etc/hosts.allow中加入允许的服务,在/etc/hosts.deny里加入这么一行ALL:ALL

8./etc/aliases文件

Aliases文件如果管理错误或管理粗心就会造成安全隐患。把定义”decode”这个别名的行从aliases文件中删除。

编辑aliases,删除或注释下面这些行:

#games: root

#ingres: root

#system: root

#toor: root

#uucp: root

#manager: root

#dumper: root

#operator: root

#decode: root

运行/usr/bin/nesaliases重新加载。

9.防止sendmail被没有授权的用户滥用

编辑sendmail.cf

把PrivacyOptions=authwarnings

改为PrivacyOptions=authwarnings,noexpn,novrfy

10.不响应ping

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

11.使TCP SYN Cookie保护生效

Echo 1 > /proc/sys/net/ipv4/tcp_syncookies

12.删除不必要的用户和组用户

删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等

删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等

可以设置不可更改位

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/gshadow

13.防止任何人都可以用su命令成为root

编辑su文件(vi /etc/pam.d/su),加入如下两行

auth sufficient /lib/security/pam_rootok.so debug

auth required /lib/security/pam_wheel.so group=wheel

把能su为root的用户加入wheel组

usermod -G10 username

14.使Control+Alt+Delete关机键无效

编辑inittab文件,注释掉

Ca:ctrlaltdel:/sbin/shutdown –t3 –r now

运行/sbin/init q 使设置生效

15.创建所有重要的日志文件的硬拷贝

如果服务器比较重要,可以考虑把ssh,mail,引导信息等打印出来。在/etc/syslog.conf文件中加入一行。:

Authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0

执行/etc/rc.d/init.d/syslog restart

或者把日志发送到其它服务器保存

authpriv.* /var/log/secure

要把它发送到192.168.0.2,就可以这样修改

authpriv.* @192.168.0.2 /var/log/secure

16.改变/etc/rc.d/init.d目录下的脚本文件的访问许可

chmod –R 700 /etc/rc.d/init.d/*

注意:慎重修改此安全设置

17./etc/rc.d/rc.local

把此文件中无关的信息全部注释,不让任何人看到任何有关主机的信息。

删除/etc下的issue和issue.net

18.带S位的程序

可以清除s位的程序包括但不限于:

从来不用的程序;

不希望非root用户运行的程序;

偶尔用用,但是不介意先用su命令变为root后再运行。

find / -type f \( -perm 04000 –o –perm -02000 \) -print

chmod a-s 程序名

19.查看系统隐藏文件

find / -name “。*” –print

20.查找任何人都有写权限的文件和目录

find / -type f \( -perm -2 -o perm -20 \) ls

find / -type f \( -perm -2 –o –perm -20 \) ls

21.查找系统中没有主人的文件

find / -nouser –o –nogroup

22.查找。rhosts文件

find /home -name ".rhosts"

如果有,请删除它。

23.收回系统编译器的权限或删除

如: chmod 700 /usr/bin/gcc