Web安全.ppt_第1页
Web安全.ppt_第2页
Web安全.ppt_第3页
Web安全.ppt_第4页
Web安全.ppt_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web安全 胡建斌北京大学网络与信息安全研究室E mail hjbin 目录Web安全概述SSLSSL程序设计ApacheWebServer安全 Web安全概述 Web安全威胁及对策 Web安全的特点 提供双向的服务 攻击防范能力脆弱作为可视化窗口和商业交互平台 提供多种服务 事关声誉底层软件庞大 如apache约10M 历来是漏洞之最 攻击手段最多如果被攻破可能导致成为进入企业的跳板配置比较复杂 Web安全的组成部分 Browser安全WebServer安全Browser与WebServer之间网络通信安全 Web安全方案 网络层 IPSec传输层 SSL TLS应用层 SET SHTTP 目录Web安全概述SSLSSL程序设计ApacheWebServer安全 SecureSocketsLayer SSL SSL设计目标 在Browser和WebServer之间提供敏感信息传输通道SocialSecurityNumber SSN CreditCard etc提供访问控制OpenClosedSSL被设计用来使用TCP提供一个可靠的端到端安全服务 为两个通讯个体之间提供保密性和完整性 身份鉴别 SSL历史 Netscape公司于1994开发SSLv2releasedin1995SSLv3alsoreleasedin1995duetobugsinv21996年IETF成立TransportLayerSecurity TLS committeeTLSv1wasbaseduponSSLv3Netscape Microsoft都支持TLSv1 SSL功能 SSL提供四个基本功能AuthenticationEncryptionIntegrityKeyExchange 采用两种加密技术非对称加密认证交换加密密钥对称加密 加密传输数据 SSL功能 SSL的结构 SSL是独立于各种协议的常用于HTTP协议 但也可用于别的协议 如NNTP TELNET等 建立在可靠的传输协议 如TCP 基础上提供连接安全性保密性 使用了对称加密算法完整性 使用HMAC算法用来封装高层的协议 SSL记录协议 客户和服务器之间相互鉴别协商加密算法和密钥提供连接安全性身份鉴别 至少对一方实现鉴别 也可以是双向鉴别协商得到的共享密钥是安全的 中间人不能知道协商过程是可靠的 SSL握手协议 协议的使用 SSL体系结构 连接会话 SSL基本概念 连接是能提供合适服务类型的传输 在OSI分层模型中的定义 对SSL 这样的连接是对等关系连接是暂时的 每个连接都和一个会话相关 连接 SSL会话是指在客户机和服务器之间的关联会话由握手协议创建会话定义了一组可以被多个连接共用的密码安全参数对于每个连接 可以利用会话来避免对新的安全参数进行代价昂贵的协商 会话 在任意一对的双方之间 也许会有多个安全连接理论上 双方可以存在多个同时会话 但在实践中并未用到这个特性 连接Vs会话 会话状态参数 连接状态参数 各种密钥 pre master secret SSLHandshake SSL握手协议报文格式 一建立安全能力 ClientHello SSLClient SSLServer Port443 TheClientHellomessageiscomposedofSSLVersion highest thatisunderstoodbytheclient TLSv1elseSSLv3b KeyExchangetoidentifythemethodofexchangingkeys RSAifnotthenD H c DataEncryptiontoidentifytheencryptionmethodsavailabletotheClient TripleDesorelseDESd MessageDigestfordataintegrity SHAorelseMD5e DataCompressionmethodformessageexchangePKZiporelsegzipf ARandomnumbertocomputethesecretkey SSLClient SSLServer ServerHello TheServerHellomessageiscomposedofSSLVersion highest thatisunderstoodbytheclient TLSv1b KeyExchangetoidentifythemethodofexchangingkeys RSA c DataEncryptiontoidentifytheencryptionmethodsavailabletotheClient DESd MessageDigestfordataintegrity MD5e DataCompressionmethodformessageexchangePKZipf ARandomnumbertocomputethesecretkey 一建立安全能力 DataEncryption RC2 40RC4 128DESDES403DESIDEAFortezzaMessageDigest MD5SHA CipherSuiteAlternatives KeyExchange RSAFixedDiffie HellmanEphemeralDiffie HellmanAnonymousDiffie HellmanFortezzaDataCompression PKZipWinZipgzipStuffIt SSLClient SSLServer ServerCertificate TheServerCertificatemessageiscomposedofTheserverIdentifierinformationADigitalCertificateoftheseverinformationencryptedwiththeCAsPrivateKey Thiscontainstheserver sPublicKey ClientCertificateRequest TheClientCertificateRequestmessageiscomposedofTheCertificatetypetoindicatethetypeofpublickeyTheCertificateAuthorityisalistofdistinguishednamesofCertificateAuthoritiesacceptabletotheServer ServerDoneMessage ThisServerDonemessagehasnoparameters 二服务器鉴别和密钥交换 SSLClient SSLServer ClientCertificate TheClientCertificatemessageiscomposedofTheserverIdentifierinformationADigitalCertificateoftheclientinformationencryptedwiththeCAsPrivateKey TheClientAuthenticatestheServerwiththeCA a ExtractsthepublickeyoftherootsignedcertificatethatcameinstalledwiththeclientandComputesaMDoftheservercertificateinformation b Decryptstheservercertificate thatwasissuedbytherootCA thatcontainsthehashcomputedbytheCAPrivateKeyc ComparesthecomputedhashwiththehashcontainedintheserverDigitalCertificate Generatesasessionkey psuedo randomnumber touseasaPre MasterKeythen3 Encryptsthesessionkeywiththeserver spublickey 三客户机验证和密钥交换 SSLClient SSLServer ClientKeyExchange TheClientKeyExchangemessageiscomposedofTheencryptedsessionkeywhichwillserveasapre mastersecretkeyencryptedwiththeserver spublickey Boththeclientandtheserverusethepre mastersecretkeytocomputethreeidenticalsetsofsecretkeypairsThefirstpair i e DES isusedtoencryptoutgoingtrafficfromtheclienttotheserverandtodecryptincomingtraffictotheserverwhileThesecondpair i e HMAC isusedtoencryptoutgoingtrafficfromtheserverandtodecryptincomingtraffictotheclientc ThethirdpairisusedtoinitializethecipherIV InitializationVector Note BoththeClientandtheServereachgeneratethreesetsofkeys 三客户机验证和密钥交换 SSLClient SSLServer C S S C C S S C Encryption MAC IV Encryption MAC IV 密钥交换结果 TheClientFinishmessageiscomposedofTheclientauthenticatestheserverwithamessageencryptedwiththenewlygeneratedsharedkeys Thisvalidatestotheserverthatasecureconnectionhasbeencreated SSLClient SSLServer ClientFinish ServerFinish TheServerFinishmessageiscomposedofTheserverauthenticatestheclientwithamessageencryptedwiththenewlygeneratedsharedkeys Thisvalidatestotheclientthatasecureconnectionhasbeencreated Note theServerandclientcannowbegintousetheirsixsharedkeysforbulkdataencryptionutilizingtheSSLRecordLayerprotocol 四完成 SSLRecordProtocol 1 分片 无损压缩不会增加1024字节以上长度的内容没有默认压缩算法 3 MAC计算 4 加密 5 封装 机密性 握手协议定义了共享的 可用于对SSL有效载荷进行常规加密的密钥及初始 后续的IV完整性 握手协议还定义了共享的 可用于生成报文MAC的密钥 SSL记录协议提供的服务 SSLChangeCipherSpecProtocol 由单个报文组成 报文值为1的单个字节使得挂起状态被复制到当前状态 改变了这个连接将要使用的密文族 SSL修改密码规格协议 SSLAlertProtocol 用于将SSL有关的告警传输给对方实体传输时按照当前状态说明被压缩和加密 SSL告警协议 SSL密码计算 主密钥的创建 共享主密钥 MasterSecret 由客户机和服务器共享 是通过安全密钥交换生成的临时48字节值MasterSecret分两个步骤生成 交换pre master secret双方计算master secretpre master secret交换方法 RSADiffie Hellman 主密钥的创建 密码参数的生成 pre master secret 密码参数的生成 目录Web安全概述SSLSSL程序设计ApacheWebServer安全 SSL通讯模型为标准的C S结构 除了在TCP层之上进行传输之外 与一般的通讯没有什么明显的区别主要介绍如何使用OpenSSL进行安全通讯的程序设计 关于OpenSSL的一些详细的信息请参考OpenSSL的官方主页http www openssl org SSL程序设计 OpenSSL初始化 SSL环境申请 证书验证 证书加载 绑定到套接字 SSL握手 SSL通信 关闭SSL连接 目录Web安全概述SSLSSL程序设计ApacheWebServer安全 ApacheWebServer 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中 如下程序行用来配置其用户和组 UsernobodyGroupnobody Apache符号连接配置 符号链接可以使Web服务器连向某些包含重要文档的目录 而不必复制这些文档 这样可以节省磁盘空间和系统的inode数 同时也便于web管理将Web服务器访问的文件限制在文档树范围内是最重要的安全策略 但是 管理员也可以配置服务器以允许使用指向文档树之外的符号链接 Apache符号连接配置 为允许符号链接 要如下配置那些包含符号链接的目录 OptionsFollowSymLinks更为严格的配置是只允许符号链接指向属于同一个用户的文件或目录OptionsSymLinkIfOwnerMatch Apache符号连接配置 如果必须使用符号链接 应当考虑将它们集中放置于只有授权用户如root才能写入的目录中拒绝普通用户创建符号链接能限制敏感信息被链接的数量假设存在某个属于root的目录 其许可为rwxr xr x 使用Directory指令可限制Apache只使用给定目录下的符号链接OptionsFollowSymLinks 防止返回目录内容列表 在一般的Apache配置下 如果用户访问web文档树下的某个目录 而目录中没有index html文件 则Web服务器将返回该目录的内容列表Apache配置中与允许服务器返回目录内容列表相应的指令为OptionIndexes 在所有Option指令中去掉Indexes即可防止返回目录内容列表 返回目录内容列表 将CGI限制在某些目录下 一般的ApacheCGI配置限制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程序的用户AddHandlercgi script cgi 根据名字限制对文件的访问 为根据名字限制对文件的访问 应当使用Files或FilesMatch指令 如果使用Files指令 则应当使用 号来表示引号内的字符串是正则表达式下面的例子给出了拒绝访问所有以 bak结尾的文件的设置方法 Orderallow denyDenyfromall 根据名字限制对文件的访问 使用FilesMatch指令时 提供的字符串直接被认为是正则表达式下面的例子给出了拒绝访问所有以 old结尾的文件的设置方法Orderallow denyDenyfromall 配置HTTP身份认证 配置服务器允许使用 htaccess文件是实施身份认证的一个便利办法 此时 web开发者只须在需要身份认证的目录下放置一个名为 htaccess的文件 就可控制访问为将服务器配置为启用 htaccess文件 可以使用AllowOverride和AccessFileName指令将下列指令写入httpd conf 以启用 htaccess文件 AllowOverride指令设定 htaccess可以取代的项目 用于身份认证应设为AuthConfig AllowOverrideAuthConfig 配置HTTP身份认证 为了指定由名为 htaccess的文件控制文件访问 应使用AccessFileName指令 AccessFileName htaccess应用 htaccess文件时 它本身决不应当被服务器提供给客户端 因为其中包含了与服务器配置有关的信息 因此 必须使用Files命令来配置服务器 使其拒绝浏览器对 htaccess的访问Orderallow denyDenyfromall 配置HTTP身份认证 ht

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论