LINUX安全加固规范( 五 )


* hard core 0 (禁止创建core文件)
* hard rss 5000 (除root外,其他用户最多使用5M内存)
* hard nproc 20 (最多进程数限制为20)
编辑/etc/pam.d/login,在文件末尾加上:
session required /lib/security/pam_limits.so
 
对TCP SYN Cookie的保护:(防止SYN Flood攻击)
[root@deep]# echo 1 > /proc/sys/net/ipv4/tcp_syncookies
5.8 LILO安全在“/etc/lilo.conf”文件中添加3个参数:time-out、restricted 和 password 。这些选项会在启动时间(如“linux single”)转到启动转载程序过程中,要求提供密码 。
步骤1
编辑lilo.conf文件(/etc/lilo.conf),添加和更改这三个选项:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=00#change this line to 00
prompt
Default=linux
restricted#add this line
password=#add this line and put your password
image=/boot/vmlinuz-2.2.14-12
label=linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only
 
步骤2
由于其中的密码未加密,“/etc/lilo.conf”文件只对根用户为可读 。
[root@kapil /]# chmod 600 /etc/lilo.conf (不再为全局可读)
 
步骤3
作了上述修改后,更新配置文件“/etc/lilo.conf” 。
[Root@kapil /]# /sbin/lilo -v (更新lilo.conf文件)
 
步骤4
还有一个方法使“/etc/lilo.conf”更安全,那就是用chattr命令将其设为不可:
[root@kapil /]# chattr +i /etc/lilo.conf
它将阻止任何对“lilo.conf”文件的更改,无论是否故意 。
5.9 Control-Alt-Delete 键盘关机命令编辑“/etc/inittab”文件,只要在下面行前面加“#”,改为注释行 。
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
然后,为使更改生效,在提示符下输入:
[root@kapil /]# /sbin/init q
5.10日志系统安全为了保证日志系统的完整性,防止黑客删除日志,需要对日志系统进行安全配置 。本专题将有专门文档来讲述日志系统的安全 。
5.11修正脚本文件在“/etc/rc.d/init.d”目录下的权限对脚本文件的权限进行修正,脚本文件用以决定启动时需要运行的所有正常过程的开启和停止 。添加:[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/*
这句指的是,只有根用户允许在该目录下使用 Read、Write,和 Execute 脚本文件 。
6 文件系统安全(File System Security)6.1文件权限l 去掉不必要的suid程序,可以通过脚本查看
[root@deep]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls –lg {};
通过下面的命令来去掉不需要的程序的‘s’位
[root@deep]# chmod a-s /usr/bin/commandname
l 重要的配置文件如/etc/passwd,/etc/shadow,/etc/inetd.conf等设置为0755,并设置为不可更改
l /etc, /usr/etc, /bin, /usr/bin, /sbin, /usr/sbin, /tmp and/var/tmp的属主是root,并且设置粘滞 。
l /dev目录下没有特殊文件 。
l 查找任何人可写的文件和目录
[root@deep]# find / -type f ( -perm -2 -o -perm -20 ) -exec ls -lg {} ;
[root@deep]# find / -type d ( -perm -2 -o -perm -20 ) -exec ls -ldg {} ;
l 查找异常文件,如..文件,…文件等
find / -name ".. " -print –xdev
find / -name ".*" -print -xdev | cat -v
l 检查没有属主的文件 。
Find / -nouser –o –nogroup
l 检查在/dev目录以外还有没有特殊的块文件
find / ( -type b -o -type c ) -print | grep -v '^/dev/'
l 使用checksum md5 或者PGP来效验文件
6.2控制mount上的文件系统可以使用noexec, nodev, nosuid来控制mount上的文件系统.在/etc/fstab中设置,比如:
将/dev/sda11 /tmp ext2 defaults 1 2
/dev/sda6 /home ext2 defaults 1 2
改为:/dev/sda11 /tmp ext2 nosuid,nodev,noexec 1 2
/dev/sda6 /home ext2 nosuid,nodev 1 2
noexec表示不允许可执行,nodev表示不允许块设备,nosuid表示不允许suid位
6.3备份与恢复定期对文件系统进行备份,可以将损失减小到最小程度 。
Linux下有多种方法进行备份,如:dd, cpio, tar, dump等
7 其它7.1使用防火墙防火墙是网络安全的重要方面,我们将另有专题来详细阐述防火墙,包括防火墙的原理,linux 2.2内核下IPChains实现,linux 2.4内核下netfilter实现,商业防火墙产品应用等 。
7.2使用第三方安全工具Linux下有很多很好的安全工具,比如:Tripwire, SSH, Sudo, Tcpdump, nmap, nessus, snort, sniffit… …我们将安排专题来具体讲述这些非常实用的安全工具 。


推荐阅读