分类: LINUX
2006-09-13 09:55:12
linux是一种类unix的操作系统。从理论上讲,unix本身的设计并没有什么重大的安全缺陷。多年来,绝大多数在unix操作系统上发现的安全问题主要存在于个别程序中,所以大部分unix厂商都声称有能力解决这些问题,提供安全的unix操作系统。但linux有些不同,因为它不属于某一家厂商,没有厂商宣称对它提供安全保证,因此用户只有自己解决安全问题。
linux是一个开放式系统,可以在上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入linux系统,或者盗取linux系统上的重要信息。不过,只要我们仔细地设定linux的各种系统功能,并且加上必要的安全措施,就能让黑客们无机可乘。
一般来说,对linux系统的安全设定包括取消不必要的服务、限制远程存取、隐藏重要资料、修补安全漏洞、采用安全工具以及经常性的安全检查等。本文教你十种提高linux系统安全性的招数。虽然招数不大,但招招奏效,你不妨一试。
第1招:取消不必要的服务
早期的unix版本中,每一个不同的服务都有一个服务程序在后台运行,后来的版本用统一的/etc/inetd服务器程序担此重任。inetd是internetdaemon的缩写,它同时监视多个端口,一旦接收到外界传来的连接信息,就执行相应的tcp或udp服务。
由于受inetd的统一指挥,因此linux中的大部分tcp或udp服务都是在/etc/inetd.conf文件中设定。所以取消不必要服务的第一步就是检查/etc/inetd.conf文件,在不要的服务前加上“#”号。
一般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、邮件存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。
还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的电话、使用目录以及其他重要信息。因此,很多linux系统将这些服务全部取消或部分取消,以增强系统的安全性。
inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全上的漏洞。
在linux中有两种不同的服务型态:一种是仅在有需要时才执行的服务,如finger服务;另一种是一直在执行的永不停顿的服务。这类服务在系统启动时就开始执行,因此不能靠修改inetd来停止其服务,而只能从修改/etc/rc.d/rc[n].d/文件或用run?level?editor去修改它。提供文件服务的nfs服务器和提供nntp新闻服务的news都属于这类服务,如果没有必要,最好取消这些服务