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-03 14:50:50

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

基于Unix的Web服务器安全指南

基于Unix的Web服务器安全指南 一. 安全漏洞 Web服务器上的漏洞可以从以下几方面考虑: 1.在Web服务器上你不让人访问的秘密文件.目录或重要数据. 2.从远程用户向服务器发送信息时,特别是信用卡之类东西时,中途遭不法分子非法拦截. 3.Web服务器本身存在一些漏洞,使得一些人能侵入到主机系统,破坏一些重要的数据,甚至造成系统瘫痪. 4.CGI安全方面的漏洞有: (1)有意或无意在主机系统中遗漏Bugs给非法黑客创造条件. (2)用CGI脚本编写的程序当涉及到远程用户从浏览器中输入表格(

CentOS Web服务器安全配置指南

这一章我们将向大家介绍CentOS http://www.aliyun.com/zixun/aggregation/17117.html">Web服务器安全设置,这也是很多提供Web服务功能安全设置的重中之重,作为服务器的管理员我们应该养成良好的系统维护习惯,勤打补丁,对于目录的权限设置也应该有一个非常清楚的了解,对于用户及用户组的管理也应该养成良好的习惯,如果你是刚看到这篇文章,可以先了解一下<CentOS系统安全配置指南>的部分. 关于Centos的安装及初始化设置等工作,

利用微软自带IIS组件架设Web服务器指南

IIS是微软主推的Web服务器,在Windows 2000/2003 Server和Windows XP中都自带了IIS组件,通过IIS组件我们可以架设WEB.FTP.Mail等服务器.本文就以Windows XP为平台,向大家简要介绍一下如何安装和配置IIS. 一.安装IIS组件 第一步:依次选择"开始"→"设置"→"控制面板"→"添加或删除程序",打开"添加或删除程序"对话框. 第二步:在该对话框的左侧

利用IIS架设Web服务器指南

IIS是微软主推的Web服务器,在Windows 2000/2003 Server和Windows XP中都自带了IIS组件,通过IIS组件我们可以架设WEB.FTP.Mail等服务器.本文就以Windows XP为平台,向大家简要介绍一下如何安装和配置IIS. 一.安装IIS组件 第一步:依次选择"开始"→"设置"→"控制面板"→"添加或删除程序",打开"添加或删除程序"对话框. 第二步:在该对话框的左侧

win2008 R2 WEB 服务器安全设置指南之组策略与用户设置_win服务器

通过优化设置组策略.对系统默认的管理员.用户进行重命名.创建陷阱帐户等措施来提高系统安全性. 接上篇,我们已经改好了远程连接端口,已经能拒绝一部份攻击了,但是这些设置还远远不够.在做以下安全时,必须确保你的服务器软件已经全部配置完毕,并且能正常使用,不然如果在安全设置后再安装软件的话,有可能会安装失败或发生其它错误,导致环境配置失败. 密码策略 系统密码的强弱直接关系到系统的安全,如果你的密码太简单,万一你的远程连接端口被扫到,那破解你的密码就是分分钟钟后了.所以,我们的系统密码必须要设置一个符

和我一起学《HTTP权威指南》——Web服务器

Web服务器 Web服务器会做些什么 1.建立连接(接受或关闭一个客户端连接) 2.接收请求(读取HTTP报文) 3.处理请求(解释请求报文并采取行动) 4.访问资源 5.构建响应(创建带有正确首部的HTTP响应报文) 6.发送响应 7.记录事务处理过程(将已完成事务有关的内容记录在日志文件中) 1.接受客户端连接 处理新连接 客户端请求TCP连接---->Web服务器建立连接--->服务器判断是哪一个客户端,从TCP连接中解析出IP地址--->服务器将新连接添加到Web服务器连接列表中

Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁_win服务器

3389端口是指windows系统中的远程桌面端口,可以使用它本管理远程计算机,就像操作本地的电脑一样,但是也容易被一些黑客利用,所以对于这个端口我必须要修改,且必须在安装完系统后就马上修改它. 随着云主机的普及和微软的大力更新,用windows server 2008 R2作为web服务器的人越来越多,而其强大的性能和可操作性得到了好评.连卖win2008的虚拟主机商也多起来了,所以今天我来讲讲我是怎么设置Win2008服务器安全的,拙见希望能帮到大家.一起远离肉鸡吧... 千里之行始于足下,

Win2008 R2 WEB 服务器安全设置指南之禁用不必要的服务和关闭端口_win服务器

安全是重中之重,以最少的服务换取最大的安全.通过只启用需要用到的服务.关闭暂时用不到的服务或不用的服务,这样最大程度来提高安全性. 作为web服务器,并不是所有默认服务都需要的,所以像打印.共享服务都可以禁用.当然了,你的系统补丁也需要更新到最新,一些端口的漏洞已经随着补丁的更新而被修复了.网上的一些文章都是相互复制且是基于win2003系统较多,而win2008相比win2003本身就要安全很多. 那我们为什么还要谈关闭端口呢,因为我们要防患于未然,万一服务器被黑就不好玩了. 禁用不必要的服务

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

在计算机网络日益普及的今天,计算机安全不但要求防治计算机病毒,而且要提高系统抵抗黑客非法入侵的能力,还要提高对远程数据传输的保密性,避免在传输途中遭受非法窃取.本文仅仅讨论在构造Web服务器时可能出现的一些情况,希望能引起重视.  一. 安全漏洞  Web服务器上的漏洞可以从以下几方面考虑: 1.在Web服务器上你不让人访问的秘密文件.目录或重要数据. 2.从远程用户向服务器发送信息时,特别是信用卡之类东西时,中途遭不法分子非法拦截. 3.Web服务器本身存在一些漏洞,使得一些人能侵入到主机系统