Web服务器安全完全指南_服务器

在计算机网络日益普及的今天,计算机安全不但要求防治计算机病毒,而且要提高系统抵抗黑客非法入侵的能力,还要提高对远程数据传输的保密性,避免在传输途中遭受非法窃取。本文仅仅讨论在构造Web服务器时可能出现的一些情况,希望能引起重视。 

一. 安全漏洞 

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

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

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

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

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

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

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

  5.还有一些简单的从网上下载的Web服务器,没有过多考虑到一些安全因素,不能用作商业应用。

  因此,不管是配置服务器,还是在编写CGI程序时都要注意系统的安全性。尽量堵住任何存在的漏洞,创造安全的环境。 

二. 提高系统安全性和稳定性 

  Web服务器安全预防措施:

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

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

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

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

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

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

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

  8.通过限制许可访问用户IP或DNS,如在NCSA中的access.conf中加上:

  《Directory /full/path/to/directory》
  《Limit GET POST》
  order mutual-failure 
  deny from all 
  allow from 168.160.142. abc.net.cn 
  《/Limit》
  《/Directory》

  这样只能是以域名为abc.net.cn或IP属于168.160.142的客户访问该Web服务器。

  对于CERN或W3C服务器可以这样在httpd.conf中加上:

  Protection LOCAL-USERS { 
  GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5) 
  } 
  Protect /relative/path/to/directory/* LOCAL-USERS 

  9.WINDOWS下HTTPD 

  (1)Netscape Communications Server for NT

 PERL解释器的漏洞:

  Netscape Communications Server中无法识别CGI-BIN下的扩展名及其应用关系,如.pl文件是PERL的代码程序自动调用的解释文件,即使现在也只能把perl.exe文件存放在CGI-BIN目录之下。执行如:/cgi-bin/perl.exe?&my_script.pl。但是这就

  给任何人都有执行PERL的可能,当有些人在其浏览器的URL中加上如:/cgi-bin/perl.exe?&-e+unlink+%3C*%3E时,有可能造成删除服务器当前目录下文件的危险。但是,其他如:O′Reilly WebSite或Purveyor都不存在这种漏洞。

  CGI执行批处理文件的漏洞: 

  文件test.bat的内容如下:
  @echo off 
  echo Content-type: text/plain 
  echo 
  echo Hello World! 

  如果客户浏览器的URL为:/cgi-bin/test.bat?&dir,则执行调用命令解释器完成DIR列表。这就让访问者有执行其他命令可能性。

  (2)O′Reilly WebSite server for Windows NT/95 

  在WebSite1.1B以前的版本中使用批处理文件存在着与Netscape同样的漏洞,但是,新版关闭了.bat在CGI中的作用。支持PERL,新版将VB和C作为CGI开发工具。

  (3)Microsoft′s IIS Web Server 

  1996年3月5日前的IIS在NT下的BUG严重,可以任意使用command命令。但之后已修补了该漏洞,你可检查你的可执行文件的建立日期。IIS3.0还存在一些安全BUG,主要是CGI-BIN下的覆给权利。另外,许多Web服务器本身都存在一些安全上的漏洞,都是在版本升级过程中被不断更新了,在此就不一一列举了。

三. 从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等协议供大家研究。

四. 防火墙(Firewall) 

  1.防火墙的概念

  防火墙(Firewall)是指一个由软件或由软件和硬件设备组合而成,处于企业或网络群体计算机与外界通道(Internet)之间,限制外界用户对内部网络的访问及管理内部用户访问外界网络的权限。

  2.防火墙的措施

  (1)代理(Proxy)主机"内部网络--代理网关(Proxy Gateway)--Internet"

  这种方式是内部网络与Internet不直接通讯。就是内部网络计算机用户与代理网关采用一种通讯方式,即提供内部网络协议(Netbios、TCP/IP等),而网关与Internet之间采取的是标准TCP/IP网络通讯协议。这样使得网络数据包不能直接在内外网络之间进行。内部计算机必须通过代理网关访问Internet,这样容易在代理服务器上对内部网络计算机访问外界计算机进行限制。另外,由于代理服务器两端采用不同协议标准也可以直接阻止外界非法入侵。还有,代理服务器的网关可对数据封包进行验证和对密码进行确认等安全管制。这样,能较好地控制管理两端的用户,起到防火墙作用。

  因为这种防火墙措施是采用透过代理服务器进行,在联机用户多时,效率必然受到影响,代理服务器负担很重,所以许多访问Internet的客户软件在内部网络计算机中可能无法正常访问Internet。

  (2)路由器加过滤器完成

  "内部网络--过滤器(Filter)--路由器(Router)--Internet"

  这种结构由路由器和过滤器共同完成从IP地址或域名上对外界计算机访问内部网络的限制,也可以指定或限制内部网络访问Internet。路由器仅对主机上特定的PORT上的数据通讯加以路由,而过滤器则执行筛选、过滤、验证及其安全监控,这样可以很大程度上隔断内外网络间的不正常的访问登录。

时间: 2024-10-27 09:04:14

Web服务器安全完全指南_服务器的相关文章

用 Win2003 架设邮件服务器 图文详解_服务器其它

其实我们可以通过Windows Server 2003提供的POP3服务和SMTP服务架设小型邮件服务器来满足我们的需要. 一.安装POP3和SMTP服务组件 Windows Server 2003默认情况下是没有安装POP3和SMTP服务组件的,因此我们要手工添加. 1.安装POP3服务组件 以系统管理员身份登录Windows Server 2003 系统.依次进入"控制面板→添加或删除程序→添加/删除Windows组件",在弹出的"Windows组件向导"对话框

配置Domino服务器详细步骤分享_服务器其它

1.配置新的服务器(包括(1)独立的服务器安装(2)附加服务器安装) (1)独立的服务器安装 第一步:点击Lotus Domino,显示Domino服务器设置窗口 第二步:选择第一个Domino服务器,点击下一步 第三步:一般选择高级配置,点击下一步 第四步:选择你所需要的服务,一般HTTP都要点中, 里面的参数说明如下: 标准服务:这是缺省项,即系统一定需要设置的,不能取消,其中包括:管理进程.索引服务.复制器.代理管理器.邮件路由器. 附加服务:日历管理器.事件管理器.日程安排管理器.统计信

Windows2003 建立WEB服务器的图文教程_服务器

Windows 2003 Standard Edition.Windows 2003 Enterprise Edition.Windows XP Professional .Windows 2000 Server.Windows 2000 Advanced Server 以及 Windows 2000 Professional 的默认安装都带有 IIS .在系统的安装过程中IIS是默认不安装的,在系统安装完毕后可以通过添加删除程序加装 IIS. IIS 是微软推出的架设 WEB.FTP.SMTP

创建安全的个人Web服务器(winserver2003、sql2000)_服务器

一.Windows Server2003的安装   1.最小2个分区,分区格式都采用NTFS格式   2.在断开网络的情况安装好2003系统   3.安装IIS,仅安装必要的 IIS 组件.(禁用不需要的如FTP 和 SMTP 服务)   默认情况下,IIS服务没有安装,在添加/删除Win组件中选择"应用程序服务器",然后点击"详细信息",   双击Internet信息服务(iis),勾选以下选项:   Internet 信息服务管理器:公用文件:后台智能传输服务 

Windows2000安全配置指南_服务器

本文并没有什么高深的东西,所谓的清单,也并不完善,很多东西要等以后慢慢加了,希望能给管理员作一参考.  具体清单如下:初级安全篇1.物理安全  服务器应该安放在安装了监视器的隔离房间内,并且监视器要保留15天以上的摄像记录.另外,机箱,键盘,电脑桌抽屉要上锁,以确保旁人即使进入房间也无法使用电脑,钥匙要放在另外的安全的地方. 2.停掉Guest 帐号 在计算机管理的用户里面把guest帐号停用掉,任何时候都不允许guest帐号登陆系统.为了保险起见,最好给guest 加一个复杂的密码,你可以打开

Apache Web让JSP“动”起来_服务器

  ---- JSP是一种较为常用的动态网页制作技术,但Apache本身只支持静态网页,因此需要与其他特定的应用服务结合使用.本文要介绍的是一种将Apache与Tomcat服务相结合来支持JSP动态网页的最新实用技术,即用"apache/jk"方式支持JSP动态网页.  ---- 起初,Apache与Tomcat结合支持JSP动态网页是通过一个名为"mod_jserv" 的插件来实现的.采用这种Apache/Jserv方式配置参数十分复杂,运行效率很低,而且对SSL

IIS 网站服务器性能优化指南_win服务器

但配置.优化IIS的性能,使得网站访问性能达到最优状态却不是一件简单的事情,这里我就介绍一下如何一步一步的优化你的IIS服务器. 服务器端环境,我们以Windows Server 2003的IIS6.0为例,客户端环境为Mozilla Firefox 3.0,同时安装Yahoo的YSlow扩展. YSlow是Yahoo开发者团队发布的一款基于Firebug的插件.用于分析网页,并根据一些高性能网站的规则进行相应的评级打分,对于网页性能优化有很好的帮助作用,告诉你那些部分影响了你的网页速度,并告诉

备份和恢复Windows IIS服务器设置的方法_服务器

我们在使用Windows 2000 Server自带的IIS(Internet Information Server,Internet信息服务器)时,经常需要设置一些Web服务.FTP服务等,但是经过一段时间的使用之后,Web站点.FTP站点.虚拟目录比较多了,其配置也变得越来越复杂.IIS能不能恢复到以前的状态呢?答案是肯定的.    备份IIS设置:IIS本身自带了备份和恢复IIS设置的功能.在恢复IIS设置之前需要备份IIS.备份的过程很简单:在Windows 2000 Server中找到

花生壳与Windows2003 建立FTP服务器的图文教程_服务器

Windows 2003 Standard Edition.Windows 2003 Enterprise Edition.Windows XP Professional .Windows 2000 Server.Windows 2000 Advanced Server 以及 Windows 2000 Professional 的默认安装都带有 IIS .在系统的安装过程中IIS是默认不安装的,在系统安装完毕后可以通过添加删除程序加装 IIS. IIS 是微软推出的架设 WEB.FTP.SMTP