认证与访问控制(崔永泉)认证第五讲数字签名与PKI系统.ppt
文本预览下载声明
* * 目 录 Web安全概述 SSL SSL 程序设计 Apache Web Server 安全 * SSL 通讯模型为标准的C/S 结构,除了在 TCP 层之上进行传输之外,与一般的通讯没有什么明显的区 别 主要介绍如何使用OpenSSL进行安全通讯的程序设计。关于OpenSSL 的一些详细的信 息请参考OpenSSL的官方主页 SSL程序设计 * OpenSSL初始化 * SSL环境申请 * 证书验证 * 证书加载 * 绑定到套接字 * SSL握手 * SSL通信 * 关闭SSL连接 * 目 录 Web安全概述 SSL SSL 程序设计 Apache Web Server 安全 * Apache Web Server Apache是Internet上最流行的Web服务器,运行于 大约60%的Web站点 Apache的流行有以下若干原因: Apache是一个可配置的Web服务器 Apache是可扩展的(用户可以很容易地在其中添加模块, 如mod_perl和mod_ php3) Apache开放源代码 Apache是免费的 * * Apache 配置文件 Apache的配置文件通常是httpd.conf,这个文件包含了大量指定Apache行为方式的命令 Apache曾经使用过3个配置文件:httpd.conf,access.conf和srm.conf,但现在它们的内容已经被组合到单个httpd.conf文件中 * Apache 用户配置 Apache要绑定80端口,所以它必须由root启动,但一旦启动,它就能更改运行自己的用户 虽然可以改为任何用户,但通常由nobody用户来运行httpd 除了指定httpd进程的所有者之外,也可以配置其所属的组 在httpd.conf中,如下程序行用来配置其用户和组: User nobody Group nobody * Apache 符号连接配置 符号链接可以使Web服务器连向某些包含重要文档的目录,而不必复制这些文档。这样可以节省磁盘空间和系统的inode数,同时也便于web管理 将Web服务器访问的文件限制在文档树范围内是最重要的安全策略,但是,管理员也可以配置服务器以允许使用指向文档树之外的符号链接 * Apache 符号连接配置 为允许符号链接,要如下配置那些包含符号链接的目录: Options FollowSymLinks 更为严格的配置是只允许符号链接指向属于同一个用户的文件或目录 Options SymLinkIfOwnerMatch * Apache 符号连接配置 如果必须使用符号链接,应当考虑将它们集中放置于只有授权用户如root才能写入的目录中 拒绝普通用户创建符号链接能限制敏感信息被链接的数量 假设存在某个属于root的目录,其许可为rwxr-xr-x。使用Directory指令可限制Apache只使用给定目录下的符号链接 Directory /usr/local/apache/htdocs/links_dir Options FollowSymLinks /Directory * 防止返回目录内容列表 在一般的Apache配置下,如果用户访问web文档树下的某个目录,而目录中没有index.html文件,则Web服务器将返回该目录的内容列表 Apache配置中与允许服务器返回目录内容列表相应的指令为Option Indexes。在所有Option指令中去掉Indexes即可防止返回目录内容列表 * 返回目录内容列表 * 将CGI限制在某些目录下 一般的Apache CGI配置限制CGI程序只能在CGI目录下执行,这些目录通常被命名为cgi-bin或bin 这些目录下的所有文件都被看作是可执行程序,并以运行Web服务器的用户的身份运行。应当关注这些目录下文件的内容,因为它们将在被请求时执行 ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ * 不要基于文件名来启用CGI 也可以针对特定的文件名来执行CGI,通常基于特定扩展名(常见的扩展名有.cgi、.pl),这样就允许程序员将CGI程序放置在Web服务器目录结构下的任意位置,而不仅仅是特定目录(如cgi-bin)下 建议用将CGI程序限制在特定目录的方式取代这种根据文件扩展名判断的方法。通过将CGI程序限制在指定目录下,系统管理员就能限定哪些人在该目录下有创建程序的权限,从而限定了能创建CGI程序的用户 AddHandler cgi-script.cgi * Client Server * 一 建立安全能力 Client Hello SSL Cl
显示全部