基于TCP/IP协议的服务很多,人们比较熟悉的有WWW服务,FTP服务,电子邮件服务,不太熟悉的有TFTP服务,NFS服务,Finger服务等等。这些服务都存在不同程度上的安全缺陷,当用户用防火墙保护站点时,就需要考虑,该提供哪些服务,要禁止哪些服务,在这里只对一些服务作一些简单介绍。
一、WWW服务
WWW服务相对于其它服务出现比较晚,是基于超文本传输协议(HTTP),它是由瑞士日内瓦欧洲粒子物理实验室发明的,并在短时间内得到迅猛发展,是人们最常使用的因特网服务。随着Netscape公司推出安全套接口层(SSL),WWW服务器和浏览器的安全性得到大大的提高,现在人们已经把这种技术应用于电子商务(E-business),例如在美国,人们可以在因特网上买卖股票和使用信用卡购物。既然把WWW服务说得那么安全,那到底它存在什么安全问题呢?安全套接口层(SSL)确实对WWW服务的安全提高很多,但它主要解决了数据包被窃听和劫持的问题,除此之外WWW服务还有其它的问题,如 WWW服务使用的CGI程序,服务器端附件(SSI,Server Side Include), Java Applet小程序等。
最初WWW服务只提供静态的HTML页面,这种页面显得很呆板,用户看到主页没有变化,于是人们引入了CGI程序,CGI程序让人们的主页活起来。当用户进入hotmail时,会发现下面的广告是不断变化的,这就是应用了CGI程序的结果。CGI程序可以接收用户的输入信息,一般用户是通过表格把输入信息传给CGI程序的,然后CGI程序可以根据用户的要求进行一些处理,一般情况下会生成一个HTML文件,并传回给用户。CGI程序很多都存在安全漏洞,很容易被黑客利用做一些非法的事情,如把/etc/passwd文件传给黑客,删除服务器上的文件等等。还有,现在很多人在编CGI程序时,可能对CGI软件包中的安全漏洞并不了解,而且大多数情况下不会重新编写程序的所有部分,只是对其加以适当的修改,这样很多CGI程序就不可避免的具有相同的安全漏洞,所以用户若要编写一个安全的CGI程序,就应先去了解这些软件包中的安全漏洞,这些在网上可以得到。CGI程序程序很多是用Perl来编写的,Perl的功能很强大,但也很不安全,其中有很多UNIX的特殊字符可用来执行UNIX的系统命令,一般入侵者就是利用这些特殊字符实施攻击的。
二、电子邮件服务
电子邮件服务给人们提供了一种便宜,方便和快捷的服务,现在在清华几乎人人都有一个e-mail地址,e-mail地址也开始出现在人们的名片上了。现在,Unix环境下的电子邮件服务器一般是Sendmail,它是一个复杂的功能强大的应用软件,正因为这样它就具有更多的安全漏洞。程序越庞大,越复杂,就越有可能出现多的安全漏洞,这是一个公认的原理。Sendmail在Unix环境下以root帐户运行,所以如果该程序被黑客利用,用户的主机的损失将会是十分巨大的。因特网蠕虫病毒曾经震惊世界,它使大批的服务器陷于瘫痪之中,这种病毒就是利用了Sendmail的安全缺陷。如果要把这些功能以更安全的方式实现,需要对Sendmail进行重新设计和重新实现,但人们又会担心新的版本会出现更多的人们不知道的安全漏洞。Sendmail的问题被人们修修补补,但总是有新的问题出现,“最新Sendmail修订版”在网络安全中已经成了一种笑料。
除此之外,电子邮件的附着的WORD文件或其他文件中有可能会带有病毒,电子邮件炸弹也是一个令人头疼的问题。试想,一下子收到了一大堆垃圾邮件,直到邮件箱被塞满,用户会有什么感想。
三、FTP服务和TFTP服务
这两个服务都是用于传输文件的,但用的场合不同,安全程度也不同。TFTP服务用于局域网,在无盘工作站启动时用于传输系统文件,安全性极差,常被人用来窃取密码文件/etc/passwd,因为它不带有任何安全认证。FTP服务对于局域网和广域网都可以,可以用来下载任何类型的文件。网上有许多匿名FTP服务站点,上面有许多免费软件,图片、游戏,匿名FTP是人们常使用的一种服务方式。FTP服务的安全性要好一些,起码它需要用户输入用户名和口令,当然匿名FTP服务就象匿名WWW服务是不需要口令的,但用户权力会受到严格的限制。匿名FTP存在一定的安全隐患,因为有些匿名FTP站点提供可写区给用户,这样用户可以上载一些软件到站点上。但这些可写区常被一些人用作地下仓库,存放一些盗版软件和黄色图片,这会浪费用户的磁盘空间、网络带宽等系统资源,可能会造成“拒绝服务”攻击。匿名FTP服务的安全很大程度上决定于一个系统管理员的水平,一个低水平的系统管理员很可能会错误配置权限,从而被黑客利用破坏整个系统。
四、Finger服务
Finger服务于查询用户的信息,包括网上成员的真实姓名、用户名、最近的登录时间、地点等,也可以用来显示当前登录在机器上的所有用户名,这对于入侵者来说是无价之宝,因为它能告诉他在本机上的有效的登录名,然后入侵就可以注意其活动。
五、其它的安全性极差的服务
除了上面提到的Finger和TFTP,还有X-Window服务,基于RPC的NFS服务,BSD Unix的以“r”开头的服务,如Rlogin, rsh, rexec。这些服务在设计上安全性很差,一般只在内部网使用。如果有防火墙,应把这些服务限制在内网中。