Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->文档库 ->正文

CGI的安全

来源:linuxdby.com 作者:Webmaster 时间:2007-04-12 点击: [收藏] [投稿]
CGI的安全
 ----摘自<>
 原作者:Eugene Eric Kim,中译:broarrow
目录:
1. 基本的安全问题
  1-1. 操作系统
  1-2. 增强服务器安全
  1-2-1.你应该在什么地方放置你的CGI程序?
  1-2-2.SSI(Server-Side Includes)
  1-2-3.增强你的Unix服务器安全
  1-2-4.例子:安全的配置NCSA服务器
2.写出安全的CGI程序
  2-1.语言的风险性
  2-2.shell危险性
3.安全处理
  3-1.SSL
  3-2.SHTTP
4.概要

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

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

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

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

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

  在后面的"保护你的Web服务器",你把学习Web服务器安全。目前,假定你的
应用于Web服务器的软件是安全的,并且正确的配置了;也就是说,没有人可以
仅仅通过你的Web服务器从你的机器中获得未经授权的权限。为什么写安全的CGI
脚本很重要呢?CGI是一个允许你拓展Web服务器的一般协议。通过编写CGI程序,
你能够增加Web服务器的功能。这些功能很可能无意中引入新的安全漏洞。一个
糟糕的CGI应用程序很可能允许任何人拥有你的机器的完全的权限。

  用户提交一个表单或者是以另一种方式访问CGI脚本的时候,本质上来说,是
你允许他们远程运行你的服务器中的应用程序。因为很多的CGI应用程序接受用
户的表单输入(或通过填写表,或是通过命令行),从另一个角度来说,你允许

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇: Windows实用技巧五则   下一篇: 用LKM更改linux缺省安全等级

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号