全部博文(2065)
分类: LINUX
2010-06-07 20:22:17
◆三、"/etc/exports"文件设置
如果通过NFS把文件共享出来,那么一定要配置"/etc/exports"文件,使得访问限制尽可能的严。这就是说,不要用通配符,不允许对根目录有写权限,而且尽可能只给只读权限。编辑exports文件(vi /etc/exports)加入:
例如:
/dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash) |
"/dir/to/export"是你想共享出来的目录,host.mydomain.com是允许访问这个目录的计算机。
代表只读,代表不允许对根目录进行写操作。使这些改变生效,你还要运行 "/usr/sbin/exportfs -a"命令。
注意:在服务器上装NFS服务是会有安全隐患的,就我个人而言,不建议你使用NFS。
◆四、禁止使用控制台程序
一个最简单而且最常用的保证系统安全的方法就是禁止使用所有的控制台程序,如:shutdown和halt。可以运行下面的命令来实现:
[root@aid /]# rm -f /etc/security/console.apps/servicename |
这里servicename是你要禁止的控制台程序名。除非你使用xdm,否则不要把xserver文件删掉,如果这样除了root之外,没有人可 以启动 X服务器了。(如果使用xdm启动X服务器,这时root是唯一需要启动X服务器的用户,这才有必要把xserver文件删掉)。例如:
[root@deep]# rm -f /etc/security/console.apps/halt [root@deep]# rm -f /etc/security/console.apps/poweroff [root@deep]# rm -f /etc/security/console.apps/reboot [root@deep]# rm -f /etc/security/console.apps/shutdown [root@deep]# rm -f /etc/security/console.apps/xserver (如果删除,只有root可以启动X). |
这些命令就可以禁止所有的控制台程序:halt、poweroff、reboot和shutdown。记住,只有装了Xwindow,删除xerver文件才会有效果。
◆五、"/etc/aliases"文件
aliases文件可能会造成安全隐患。例如:很多的软件产商都把 "decode"这个别名放在aliases文件里。这样做的目的是为了方便通过email传送二进制文件。在发送邮件的时候,用户把二进制文件用 "uuencode"转成ASCII文件,然后把结果发给接收端的"decode"。由这个别名让邮件信息通过"/usr/bin/uuencode"程 序把二进制文件重新转换成ASCII文件。如果允许"decode"出现在aliases文件中,可以想象将会有什么样的安全隐患。
把定义"decode"这个别名的行从aliases文件中删除。同样地,每一个会运行程序的别名都要好好查看一下,很有可能要把它们删除掉。要使改动生效,还必须运行:
[root@deep]# /usr/bin/newaliases |
编辑aliases文件(vi /etc/aliases),删除或注释掉下面这些行:
# Basic system aliases -- these MUST be present. |
最后记得运行"/usr/bin/newaliases"使改变生效。
作者: FOX 出处:51CTO论坛整理
◆六、使系统对ping没有反应
防止你的系统对ping请求做出反应,对于网络安全很有好处,因为没人能够ping你的服务器并得到任何反应。TCP/IP协议本身有很多的弱点, 黑客可以利用一些技术,把传输正常数据包的通道用来偷偷地传送数据。使你的系统对ping请求没有反应可以把这个危险减到最小。用下面的命令:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all |
运行完这个命令后,系统对ping就没有反应了。可以把这一行加到"/etc/rc.d/rc.local"文件中去,这样当系统重新启动的时候, 该命令就会自动运行。对ping命令没有反应,至少可以把绝大多数的黑客排除到系统之外,因为黑客不可能知道你的服务器在哪里。重新恢复对ping的响 应,可以用下面的命令:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all" |
◆七、不要显示系统提示信息
如果你不想让远程登录的用户看到系统的提示信息,你可以改变"/etc/inetd.conf"文件中的telnet设置:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h |
在末尾加上"-h"参数可以让daemon不显示任何系统信息,只显示登录提示。当然,只有在服务器上装了telnet服务器才有这样做的必要。
◆八、"/etc/host.conf"文件
Linux用解析器(resolver)库把主机名翻译成IP地址。"/etc/host.conf"文件定义主机名是怎样解析的。"/etc/host.conf"文件中的项告诉解析器库用什么服务,以什么顺序解析主机名。
编辑"host.conf"文件(vi /etc/host.conf)加入下面这些行:
# Lookup names via DNS first then fall back to /etc/hosts. order bind,hosts # We have machines with multiple IP addresses. multi on # Check for IP address spoofing. nospoof on |
order选项指明的是选择服务的顺序。上面"order bind, hosts"说的是解析器库解析文件名的时候先查询域名服务器,然后再查看"/etc/hosts"文件。因为性能和安全上的原因,最好将解析器库的查找 顺序设成先查域名服务器(bind)。当然也要先安装了DNS/BIND软件,否则这样配置根本没有任何作用。
multi选项决定在"/etc/hosts"文件中出现的主机能不能有多个IP地址(多个网络界面)。具有多个IP网络界面的主机被称为具有多个 网络界面(multiomed),因为同时有多个IP地址也就意味着这台主机有多个网络界面。例如:网关服务器就有多个IP地址,必须把这个选项设成 ON。
nospoof选项指明不允许IP伪装。IP伪装是把自己伪装成别的计算机去欺骗其它的计算机,获得它的信任。这种攻击方法把自己伪装成别的服务 器,并且与其它客户机、服务器和大型数据存储系统建立网络连接或其它类型的网络活动。不管对任何类型的服务器,这个选项都要设成ON。