奇宝库 > 应用:基于Unix的Web服务器安全指南

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

在计算机网络日益普及的今天,计算机安全不仅需要防治计算机病毒,提高系统抵御黑客非法入侵的能力,还需要提高远程数据传输的保密性,避免传输过程中被非法窃取。本文只讨论构建web服务器时可能出现的一些情况,希望引起注意。

一.安全漏洞

Web上的漏洞可以从以下几个方面考虑:

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

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

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

4.4中的漏洞。CGI安全性包括:

(1)有意无意的遗漏主机系统的bug,为非法黑客创造了条件。

(2)当使用CGI脚本编写的程序涉及远程用户从浏览器输入表格和搜索索引,或者直接操作主机上的命令如form-mail时,可能对Web主机系统造成危险。

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

所以无论是配置服务器还是编写CGI程序都要注意系统的安全性。努力堵塞任何现存的漏洞,创造一个安全的环境。

二。提高系统的安全性和稳定性

服务器安全预防措施:

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

2.对于在Web服务器上开设的账户,对密码长度和定期更改做出要求,防止盗用。

3.尽量把ftp、邮件等服务器从中分离出来,去掉一些无关的应用如FTP、sendmail、tftp、NIS、NFS、finger、netstat等

4.在Web服务器上去掉一些绝对不用的解释器比如SHELL,也就是在你的CGI程序中不使用PERL的时候,尽量从系统解释器中删除PERL。

5.定期检查服务器中的日志文件,并分析所有可疑事件。当errorlog中出现rm、login、/bin/perl、/bin/sh等记录时,你的服务器可能已经被一些非法用户入侵了。

6.在Web服务器上设置系统文件的权限和属性,给人可以访问的文档分配一个公共组,比如WWW,只分配它的只读权限。所有的HTML文件都属于WWW组,WWW组由网站管理员管理。只有网站管理员有权为网站编写配置文件。

7.当一些Web服务器在同一个目录下引用Web文档目录和FTP目录时,要注意不要在同一个目录下指定FTP目录和CGI-BIN。这是为了防止一些用户通过FTP上传PERL或SH等一些程序,并使用Web的CGI-BIN来执行它们,造成不良后果。

8.通过限制权限来访问用户IP或DNS,例如添加:

《Directory /full/path/to/directory》

《Limit GET POST》

订单互失败

全部否认

允许从168.160.142开始。abc.net.cn

《/Limit》

《/Directory》

只有域名为abc.net.cn或IP地址属于168.160.142的客户才能访问Web服务器。

对于CERN或W3C服务器,您可以将以下内容添加到httpd.conf:

保护本地用户{

GetMask @(*.capricorn.com,*.zoo.org,18.157.0.5)

}

保护/相对/路径/到/目录/*本地用户

9.9岁以下的HTTPD。窗子

(1)用于NT的Netscape通信服务器

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 *,它可能会导致删除服务器当前目录中的文件的危险。然而,其他如O'Reilly网站或Purveyor没有这种漏洞。

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

文件test.bat的内容如下:

@关闭回声

回显内容类型:文本/纯文本

回声

回声你好世界!

如果客户端浏览器的网址是:/cgi-bin/test.bat?dir,然后执行调用命令解释器来完成DIR列表。这使访问者有可能执行其他命令。

(2)用于Windows NT/95的O’Reilly网站服务器

WebSite1.1B之前的批处理文件的使用与Netscape有相同的漏洞,但新版本关闭了。CGI里的bat。支持PERL,新版本使用VB和C作为CGI开发工具。

(3)微软的iis网络服务器

1996年3月5日之前的IIS在NT下有一个严重的BUG,可以随意使用command命令。不过,此后该漏洞已被修复。您可以检查可执行文件的创建日期。IIS3.0还是有一些安全漏洞的,主要是CGI-BIN下的override权限。另外,很多Web服务器本身都有一些安全漏洞,在版本升级的过程中不断更新,这里就不一一列举了。

第三,从CGI编程的角度考虑安全性

1.使用编译语言比解释语言更安全,CGI程序要放在独立于HTML存储目录的CGI-BIN下。这是为了防止一些非法访问者从浏览器获取解释语言的原始代码后寻找漏洞。

2.用C、popen()、system()编写CGI程序时,所有涉及/bin/sh的SHELL命令,以及PERL中的system()、exec()、open()和eval()等exec或eval命令都要尽量少用。

当用户填写的表单返回到CGI时,不要直接调用system()等函数。

此外,还有SSL、SHTTP、SHEN等协议用于数据加密和传输。

四。防火墙(防火墙)

1.防火墙的概念

防火墙是指位于企业或网络组中的计算机与外部通道(互联网)之间的一种软件或软硬件设备的组合。它限制外部用户访问内部网络,并管理内部用户对外部网络的访问权限。

2.防火墙措施

(1)代理主机

"内部网络-代理网关)-互联网"

这样,内部网络不会直接与互联网通信。即内部网络中的计算机用户与代理网关采用一种通信方式,即提供内部网络协议(Netbios、TCP/IP等。),而网关与互联网采用标准的TCP/IP网络通信协议。使得网络数据包不能在内外网之间直接传送。内部计算机必须通过代理网关访问互联网,因此很容易在代理服务器上限制内部网络计算机访问外部计算机。此外,由于代理服务器两端采用不同的协议标准,也可以直接防止外界非法入侵。此外,代理服务器的网关可以验证数据包并确认密码和其他安全控制。这样就可以很好的控制管理两端的用户,防火墙就可以用了。

由于这种防火墙措施是通过代理服务器进行的,当在线用户较多时,效率必然会受到影响,代理服务器负担较重,因此很多访问互联网的客户端软件可能无法在内网电脑中正常访问互联网。

(2)路由器和过滤器完成。

"内部网络-过滤器)-路由器)-互联网"

在这种结构中,路由器和过滤器用于限制外部计算机从IP地址或域名访问内部网络,也可以指定或限制内部网络访问互联网。路由器仅在主机上的特定端口上路由数据流量,而过滤器执行筛选、过滤、验证和安全监控,可以在很大程度上切断内外网络之间的异常访问和登录。

本文来自网络,不代表本站立场,转载请注明出处: