Web 安全技术与防火墙
● 文 / 陈 昌 新
-------
1、概述
计算机的安全性历来都是人们讨论的主要话题之一。而计算机安全主要研究的是计算机病毒的防治和系统的安全。在计算机网络日益扩展和普及的今天,计算机安全的要求更高,涉及面更广。不但要求防治病毒,还要提高系统抵抗外来非法黑客入侵的能力,还要提高对远程数据传输的保密性,避免在传输途中遭受非法窃取。
在防治网络病毒方面,在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