computer 版 (精华区)

发信人: Aug (如风), 信区: network
标  题: CGI的安全<转载> (1)
发信站: 听涛站 (Tue Mar 14 15:53:09 2000), 转信

发信人: ct (二甲基硅油), 信区: CGI
标  题: CGI的安全<转载>
发信站: 华南网木棉站 (Tue Feb 15 16:40:04 2000), 转信

如果你以前从未编写过应用于网络的软件,那么安全问题可能是你在编程时
最不注重的了。毕竟,在单机上,你没有必要担心写了不安全的程序,因为,
大概也只能有一个人可以接近那台计算机。

  但是,在编写应用于Internet的软件中需要非常强调安全问题。有一个挺老
的计算机格言说:"使一台计算机真正安全的唯一方法是将它与世界断开连接并
把计算机放到紧锁的房间里。"可见,将计算机和一个网络简单相连就会降低你
的计算机的安全性。

  对于越大的相连的网络这句话越适用,比如Internet,这里有成千上万的人可
能会访问你的计算机。很多基于Internet的服务,特别是WWW,别设计成能使其
他人很容易的从你的计算机中获取信息。这些你允许接受访问的服务(或者是
有意的,或者是无意的)都有可能成为老谋深算、心怀恶意的人的攻击途径。
一个很糟糕的网络服务器很容易被攻破,甚至潜在给出了可以访问你的整个计
算机和重要数据的权限。

  我说你提供的每一项网络就象进入你系统中另一个门,是指什么呢?什么才
是安全破坏呢?不管是什么目的,安全破坏是指一个人从你的计算机中获得了
未经授权的访问权。"Unauthorized access"(未经授权的访问权)也可以理解
为很多事情,试图从服务器上运行一个非公共的程序,甚至是获得在Unix中
获得root权限。

  你过多的依赖于为网络服务器编写安全程序的程序员的知识和细心。毕竟,
没有人指望你详细审查几千行的源码只为了弄清楚软件是否有安全漏洞;大多
数情况,你依赖编程者的可靠性和其他审阅源码和仔细的帮助测试软件的专家。
假如网虫们证明了你不能完全相信这些程序员可以写出完美的安全的代码,那
么你可以采取措施最大限度的减少风险。

  在后面的"保护你的Web服务器",你将学习Web服务器的安全。目前,假定你的
应用于Web服务器的软件是安全的,并且正确的配置了;也就是说,没有人可以
仅仅通过你的Web服务器从你的机器中获得未经授权的权限。为什么写安全的CGI
脚本很重要呢?CGI是一个允许你拓展Web服务器的一般协议。通过编写CGI程序,

你能够增加Web服务器的功能。这些功能很可能无意中引入新的安全漏洞。一个
糟糕的CGI应用程序很可能允许任何人拥有你的机器的完全的权限。

  用户提交一个表单或者是以另一种方式访问CGI脚本的时候,本质上来说,是
你允许他们远程运行你的服务器中的应用程序。因为很多的CGI应用程序接受用
户的表单输入(或通过填写表,或是通过命令行),从另一个角度来说,你允许
用户控制CGI程序的运行。作为CGI程序的作者,你需要确定你的CGI脚本只能用
来实现它指定的功能。这一章提到了相关的Web安全问题,提供了编写安全的CGI
程序的深入的资料。在本章的最后,你也会学会怎样安全的编写CGI。

--
※ 来源:.听涛站 cces.net.[FROM: 匿名天使的家]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:0.959毫秒