首页 > 基础设施 > 正文

网络服务器的安全性问题

2012-10-25 10:55:59  来源:互联网

摘要:Web服务器本身存在一些漏洞,使得一些人能侵入到主机系统,破坏一些重要的数据,甚至造成系统瘫痪。
关键词: Web服务器

    一 引言


    随着计算机应用的快速普及,很多企业和事业单位都有了自己的专用服务器。服务器是网络环境中为客户机提供各种服务的、特殊的计算机系统,在网络中具有非常重要的地位,它的安全性显得尤为重要。本文从对常用服务器的安全性问题行了阐述。


   Web服务器


    2.1 安全漏洞


    Web服务器上的漏洞可以从以下几方面考虑:


    a.在Web服务器上你不让人访问的秘密文件、目录或重要数据。


    b.从远程用户向服务器发送信息时。特别是信用卡之类东西时,中途遭不法分子非法拦截。


    c.Web服务器本身存在一些漏洞,使得一些人能侵入到主机系统,破坏一些重要的数据,甚至造成系统瘫痪。


    d.CGI安全方面的漏洞有:


    (1)有意或无意在主机系统中遗漏Bugs给非法黑客创造条件。


    (2)用CGI脚本编写的程序当涉及到远程用户从浏览器中输入表格(Form),并进行检索(Search index),或form-mail之类在主机上直接操作命令时,或许会给Web主机系统造成危险。


    2.2 提高系统安全性和稳定性


    a.限制在Web服务器开账户,定期删除一些断进程的用户。


    b.对在Web服务器上开的账户,在口令长度及定期更改方面作出要求,防止被盗用。


    c.尽量使FTP、MAIL等服务器与之分开,去掉ftp,sendmail,tftp,NIS,NFS,finger,netstat等一些无关的应用。


    d.在Web服务器上去掉一些绝对不用的如SHELL之类的解释器,即当在你的CGI的程序中没用到PERL时。就尽量把PERL在系统解释器中删除掉。


    e.定期查看服务器中的日志logs文件。分析一切可疑事件。在errorlog中出现rm,login,/bin/perl,/bin/sh等之类记录时,你的服务器可能已经受到了一些非法用户的入侵。


    f.设置好Web服务器上系统文件的权限和属性,对可让人访问的文档分配一个公用的组,如www,并只分配它只读的权利。把所有的HTML文件归属WWW组,由Web管理员管理WWW组。对于Web的配置文件仅对Web管理员有写的权利。


    g.有些Web服务器把Web的文档目录与FTP目录指在同一目录时,应该注意不要把FTP的目录与CGI-BIN指定在一个目录之下。这样是为了防止一些用户通过FTP上载一些如PERL或SH之类程序,并用Web的CGI-BIN去执行,造成不良后果。


    2.3 从CGI编程角度考虑安全


    1.采用编译语言比解释语言会更安全些。并且CGI程序应放在独立于HTML存放目录之外的CGI-BIN下,这是为了防止一些非法访问者从浏览器端取得解释性语言的原代码后从中寻找漏洞。


    2.在用C来编写CGI程序时应尽量少用popen()、system()、所有涉及/bin/sh的SHELL命令以及在PERL中的system()、exec()、open()、eval()等exec或eval之类命令在由用户填写的form还回CGI时,不要直接调用system()之类函数。


    另外,对于数据的加密与传输,目前有SSL、SHTTP、SHEN等协议供大家研究。


[page]    三 DATA服务器


    先来看看DATA服务器。它主要是存放数据库的服务器。以SQL数据库为例,从安全角度考虑。SQL服务器与BACKOFFICE组件中的所有程序一样,都是以Windows NT Server为基础,利用了Windows NT Server自身拥有的安全性能。而且,当你将SQL服务器与Internet相连时,为保证你数据的安全性和完整性,有些事情你需要特别考虑。


    1 支持SQL服务器的Internet Database Connector(简称IDC)的安全性在通常情况下,数据库的开发者在使用IDC来处理SQL服务器数据时,就应该考虑对你的数据库实施必要的保护措施。有哪些是必须要做到的呢!根据我的一些经验,以下几点是需要考虑的:


    (1)使用NTFS分区。


    (2)给予用户执行日常任务所必需的最低等级的访问许可权。


    (3)强制执行口令和登录策略。


    (4)TCP/IP过滤。


    (5)防火墙及代理服务器。


    通过以上几步措施,你的SQL服务器已经具备初级的安全防范的功能。但是这些是远远不够的,因为高级的网络入侵者往往能够绕过这些防御。那么我们就需要进一步提高服务器的安全性能。用户必须得到访问。IDC和。HTX文件的许可权才能处理数据。如果你赋予匿名访问权,那么IUSR_计算机为匿名访问设定的账户必须拥有访问这些文件的许可权。


    这里必须提出的是,Windows NT用户名必须严格符合SQL服务器综合性安全命名原则。下划线、美元符号和英镑符号都不允许使用(这意味着不能使用缺省的账户IUSR_计算机名进行SQL服务器访问)。另外IDC文件对于SQL数据库有效用户口令的保护等措施也是很必要的。


    2 IIS本身的安全性问题这个话题相信很多朋友看了都会感到很熟悉。在这里,我只想讨论一下IIS的SQLWeb Assistant的问题。通过使用SQL Web Assistant也可以多少地保证你的Microsoft Exchange服务器、Internet信息服务器和SQL的安全。一般来讲,只要您正确使用配置好SQL Web Assistant。都能够比较理想地达到SQL数据库的安全保障。


    四 DNS服务器


    DNS服务器是Internet上其它服务的基础,它处理DNS客户机的请求:将名字与IP地址进行互换,并提供特定主机的其它已公布信息(如MX记录等)。一般而言,网络管理者碰到的大多会有以下几种情况。


    1 名字欺骗


    当主机B访问主机A(同时也作为DNS服务器)如执行rlogin时,A接收到这个连接并获得发起本次连接主机B的IP地址。为验证本次连接的合法性,主机A就向本地DNS服务器逆向查询对应于这个IP地址的主机名字。当返回查询结果:主机名B为本机所信任的主机时,就允许来自B的远程命令rlogin。


    2 信息隐藏


    当某个企业由于保密等原因的需要。给某些特定主机以特定的内部主机名,而这些主机密码又被入侵者获取时,存放保密数据的服务器主机就会完全暴露。


    解决以上两个问题的办法主要有两种:


    (1)直接利用DNS软件本身具备的安全特性来实现;


    (2)以防火墙/NAT为基础,并运用私有地址和注册地址的概念。简而言之就是将内部DNS服务器和外部DNS服务器进行物理分开。内部DNS服务器解析私有的IP,而外部DNS则解析公开的IP。内部主机使用私有地址:对Internet服务的主机用NAT完成注册地址到其私有地址的静态映射:访问Internet的主机用NAT完成其私有地址到注册地址的动态映射。


    五 MAIL服务器


    MAIL服务器一直因其安全性而成为广大网络管理者抱怨的对象。的确,从理论上讲,MAIL服务是一种不安全的服务,因为它必须接受来自INTERNET的几乎所有数据。Internet上,服务器间的邮件交换是通过SMTP协议来完成的。主机的SMTP服务器接收邮件(该邮件可能来自外部主机上的SMTP服务器,也可能来自本机上的用户代理),然后检查邮件地址,以便决定在本机发送还是转发到其它一些主机。Unix系统上的SMTP程序通常是Sendmail。有关Sendmail的安全问题重要的原因在于它是一个异常复杂的程序,而另一个原因是它需root用户特权运行。


    解决的方法大致有三种:


    1 使用Unix系统自带的安全特性;


    2 使用代理:


    3 直接修改源码。


    以上是对网络服务器安全问题及其解决办法的一些初步探讨。其实,关键的问题还是在于网络管理员对网络安全意识的建立和实施。因为多数网络安全事件的发生,都是因为网络管理员安全意识的缺乏和防范措施实施的不到位。


    六 结束语


    网络服务器的安全性问题随着计算机技术的发展永远都是一个值得研究和探讨的话题。但是只要充分利用先进的技术和先进的管理手段,坚持发现问题就必须解决问题的态度。那么我们的网络服务器的安全就是有保障的。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。