Red Hat Linux 安全设置指南 |
本文标签:Linux,安全,设置 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 |