一、如何确保重要系统配置文件的安全?
使用chattr命令可以设置指定文件的不可删除或修改的属性,可以达到保护文件的目的。这些都是通过该命令的诸多参数来进行的,防止文件被修改或删除的参数为i,可以通过输入下列命令来解决:
chattr +i /etc/inetd.conf
二、如何增加系统防御ICMP和SYN攻击的能力?
(1) 通过输入echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 命令就可以令系统对ping命令失去反应,从而确保系统不被ICMP攻击。
(2) 通过输入echo 1 > /proc/sys/net/ipv4/tcp_syncookies命令就可以增长系统抵御SYN功能的能力。
(3) 要确保这两项在重启系统后继续有效,需要将其加入到/etc/rc.d/rc.local文件中。
三、何防止其它帐户通过SU命令具有root帐户权限?
(1) 编辑su文件(vi /etc/pam.d/su),在文件的头部加入下面两行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
(2) 然后把不能通过su命令成为root的用户放入wheel组
usermod –G wheel <帐户名称> //将<帐户名称 >换成用要设置的用户帐户名即可
四、如何禁止通过SSH协议登录系统?
编辑SSH守护里程的配置文件/etc/ssh/sshd_config,把下面这行:
PermitRootLogin yes
改成:
PermitRootLogin no
五、如何防止某个服务过于占用系统资源而导致拒绝服务(DoS)攻击?
如果要控制的服务是由xinetd所管理的,那么,可以通过输入下列命令来控制其从属服务可利用的系统资源:
Cps=<number_of_connections> <wait_period> //指定每秒钟内被允许到服务的连接数量,用整数值替换<number_of_connections>即可。
Instances=<number_of_connections> //指定允许到服务的连接总数,用整数值替换<number_of_connections>即可。
Per_source=<number_of_connections> //指定每个主机被允许到服务的连接数,用整数值替换<number_of_connections>即可。
Rlimit_as=<number[K|M]> //指定服务可以占用的内存地址空间数量,以千字节或M字节为单位,用整数值替换<number>即可。
Rlimit_cpu_<number_of_seconds> //指定服务可占用的CPU时间(以秒为单位),用整数值替换<number_of_seconds>即可。
六、如何保护Portmap守护进程的安全?
Portmap服务主要用来为NIS和NFS等RPC服务分配端口的守护进程,我们可以通过使用iptables来限制可以使用此服务的网络或主机。例如只允许192.168.1.0/24网络的TCP协议连接,可以设计下列所示的iptables规则:
Iptables –A INPUT –p tcp –s! 192.168.1.0/24 –dport 111 –j DROP
另外,还需要设计TCP会绕程序来限制可以使用的portmap服务的网络或主机,并且以IP地址的方式来指明,尽量避免使用主机名。TCP会绕程序包括:/etc/hosts.deny和/etc/hosts.allow
七、如何保护网络文件系统(NFS)的安全?
(1) 将NFS服务器置于防火墙的后面。
(2) 注意/etc/exports配置文件中的语法格式。例如不能在主机名与其后的权限之间留空格,如果此文件内容中出现这样的行/temp/mynfs liuyuan@nfys (rw),就表示给全局以读写的权限,而真正的主机liuyuan@nfys只拥有只读权限,这都是由于其后的一个空格引起的,正确的语法为/temp/mynfs liuyuan@nfys(rw)。
(3) 不使用no_root_squash选项,防止远程用户可以上传木马程序给其它用户执行。
本文转自 雪源梅香 51CTO博客,原文链接:http://blog.51cto.com/liuyuanljy/384462,如需转载请自行联系原作者