预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共70页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux和Unix安全编程HOWTODavidA.WheelerCopyright©19992000byDavidA.Wheeler本文对在Linux和Unix系统下编写安全程序给出了一组设计和实现的指导原则。这样的程序包括用来浏览远端数据的应用程序、CGI脚本程序、网络服务器和setuid/setgid程序。本文还包含了针对C、C++、Java、Perl、Python和Ada95的特别指导。TableofContents1.导言2.背景知识Unix、Linux与开放源码软件的历史Unix自由软件基金会Linux开放源码软件Linux与Unix的比较安全准则安全程序的类型多疑症是个优点为什么要编写本文档?设计和实现原则的来源文档习语3.Linux和Unix安全特性概要进程进程属性POSIX能力进程创建与操作文件文件系统对象的属性创建时的初始值改变存取控制属性使用存取控制属性文件系统分级结构SystemV的IPC套接字和网络连接信号配额与限制动态连接库审核PAM4.证实所有的输入命令行环境变量有些环境变量是危险的环境变量的存储格式是危险的解决方案--提取和清除文件描述符文件内容CGI输入其它输入字符编码限制合法的输入时间和负载水平5.避免缓存溢出C/C++中的危险C/C++中库的解决方案标准C库的解决方案静态和动态分配缓存strlcpy和strlcatlibmibLibsafe其它库C/C++的编译解决方案其它语言6.程序内部结构与解决方案保证接口的安全特权最小化最小化授予的特权最小化可以使用特权的时间最小化特权有效的时间>最小化获得特权的模块考虑用FSUID来限制特权考虑使用chroot来最小化可用文件避免创建Setuid/Setgid脚本安全地配置并使用安全的缺省值安全地失败避免竞争状态次序问题锁定只信任值得信任的通道使用内部一致性检查代码自我限制资源7.小心对其它资源的调用出口限制调用出口为合法值检查系统调用的所有返回值8.明断地发回信息最小化反馈处理完整的/不响应的输出9.特定语言的问题C/C++PerlPythonShell脚本语言(sh及csh的变种)AdaJava10.专题密码随机数加密算法与协议PAM其它事项11.结论12.参考文献A.历史回顾B.感谢C.关于文档许可D.GNU自由文档许可证(原文)E.关于作者ListofTabl