应用层安全技术.ppt
计算机网络安全基础,第5章 应用层网络安全技术,1 因特网的应用层安全隐患2.Web站点安全 3.安全电子邮件4.SSH保护TELNET和FTP 5.DNS安全协议 6.SNMP安全协议,计算机网络安全基础,因特网的应用层安全隐患,电子邮件(SNMP和POP3)文件传输(FTP)远程登录(Telnet)域名服务(DNS)万维网(WWW)网络管理协议(SNMP),计算机网络安全基础,WWW服务,浏览器一般只能理解基本的数据格式如 HTML、JPEG和GIF格式,对其它的数据格式,浏览器要通过外部程序来观察,因此其中的数据可能对系统造成危害,攻击者经常利用http协议进行攻击。www服务易受攻击的另一个原因:默认情况下该服务是完全开放的,任何人都可以在任何地方访问该服务,没有鉴别和机密性保护。,计算机网络安全基础,文件传输(FTP),匿名FTP是ISP的一项重要服务,它允许用户通过FTP,访问FTP服务器上的文件,而不正确的配置将严重威胁系统的安全。FTP的使用者可能利用这些配置上的缺陷对系统造成破坏,因此需要保证使用它的人不会申请系统上其它的区域或文件,也不能对系统做任意的修改。对于非匿名的访问,FTP亦缺乏严格的身份鉴别机制,这些原因使得FTP可能成为攻击者的目标。,计算机网络安全基础,远程登录(Telnet),Telnet早期是比较安全的,它要用户认证。但Telnet送出的所有信息是不加密的,很容易被攻击者攻击。现在Telnet被认为是最危险的服务之一,计算机网络安全基础,域名服务(DNS),DNS采用简单的查询和应答机制,记录数据没有保护措施,通信过程没有鉴别,因此DNS容易成为攻击者的攻击目标或利用它作为攻击手段。,计算机网络安全基础,电子邮件(SNMP和POP3),E-mail在Internet上传输,在其所经过网络上的任一系统管理员或攻击者都有可能截获和更改该邮件,甚至伪造E-mail。因此,电子邮件和SNMP面临的安全威胁十分突出,如E_mail欺骗、E_mail炸弹、电子邮件携带病毒等。E_mail炸弹可能导致邮件的溢出,而“特洛伊木马”也可携带在邮件系统中,从而对接受者的系统造成危害。,计算机网络安全基础,构建安全WEB应用,计算机网络安全基础,排除站点中的安全漏洞,(1)物理的漏洞由未授权人员访问引起,他们可能浏览那些敏感数据。(2)软件漏洞是由“错误授权”的应用程序引起。例如脚本和Applet,它会执行不应执行的功能。因此不要轻易相信脚本和Applet,使用时应确信能掌握它们的功能。(3)不兼容问题漏洞是由不良系统集成引起。一个硬件或软件运行时可能工作良好,一旦和其它设备集成后(例如作为一个系统),就可能会出现问题。这类问题很难确认,所以对每一个部件在集成进入系统之前,都必须进行测试。(4)缺乏安全策略。如果用户用他们的电话号码作为口令,无论口令授权体制如何安全都没用。必须有一个包含所有安全必备的安全策略。,计算机网络安全基础,增强Web服务器安全特性的策略,(1)认真配置服务器,使用它的访问和安全特性。(2)可将Web服务器当作无权的用户运行。(3)检查驱动器和共享的权限,将系统设为只读状态。(4)可将敏感文件放在基本系统中,再设二级系统,所有的敏感数据都不向因特网开放。(5)检查 HTTP服务器使用的Applet脚本和客户交互作用的CGI脚本。防止外部用户执行内部指令。(6)使用安全协议,如HTTPS/SHTTP/IPSEC等。,计算机网络安全基础,监视控制Web站点的访问,为了防止和追踪黑客闯入和内部滥用,需要对Web站点上的出入情况进行监视控制。(1)服务器日常受访次数是多少?受访次数增加了吗?(2)用户从那里连接的?(3)一周中哪天最忙?一天中何时最忙?(4)服务器上哪类信息被访问?哪些页面最受欢迎?每个目录下有多少页被访问?(5)每个目录下有多少用户访问?访问站点的是哪些浏览器?与站点对话的是哪种操 作系统?(6)更多的选择哪种提交方式?,计算机网络安全基础,监视控制Web站点的访问,(7)确定访问次数:访问次数指标直接影响安全保护,也会促进安全性的提高和改善。确定站点访问次数。访问次数是一个原始数字,仅仅描述了站点上文件下载的平均数目。确定站点访问者数目。得到的数据是站点上某个文件被访问的次数。显然,将访问次数与主页文件联系在一起时,该数字接近于某个时期内访问者数目,但也不是百分之百的准确。,计算机网络安全基础,HTTP安全协议,可使用HTTPS(HTTP over SSL)和S-HTTP(Secure HyperText Transfer Protocol)对HTTP协议数据包进行加密和鉴别。,计算机网络安全基础,SHTTP,安全超文本传输协议S-HTTP是EIT公司结合 HTTP 而设计的一种消息安全通信协议。S-HTTP协议处于应用层,它是HTTP协议的扩展,它专门针对HTTP。S-HTTP 支持端到端的安全传输,它通过在S-HTTP所交换包的特殊头标志来建立安全通讯。S-HTTP可提供通信保密、身份识别、可信赖的信息传输服务及数字签名等。S-HTTP 提供了完整且灵活的加密算法及相关参数。选项协商用来确定客户机和服务器在安全事务处理模式、加密算法(如用于签名的非对称算法 RSA 和 DSA等、用于对称加解密的 DES 和 RC2 等)及证书选择等方面达成一致。,计算机网络安全基础,SHTTP VS HTTPS,S-HTTP比SSL更灵活,功能更强大,但是实现较困难,而使用也更困难,因此现在使用基于SSL的HTTPS要比S-HTTP要更普遍。,计算机网络安全基础,安全电子邮件,计算机网络安全基础,安全电子邮件,PGPSMIME,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,(使用b的公钥加密Ks),(b的私钥),常规解密,(a的私钥),计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,SSH,保护TELNET和FTP,计算机网络安全基础,SSH提供的服务,安全的传输层协议,提供:主机和服务器认证(基于公钥,可使用已有的证书基础设施)机密性:在对称加密方法的秘密信道上传输数据;(基于会话密钥传输的对称加密)数据完整性:使用MAC,其值由共享密钥、包序列号和包的内容计算得到。传输数据压缩功能,加快传输速度。也可认为是会话层安全协议.,计算机网络安全基础,SSH协议工作过程,SSH版本版本协商,TCP连接,会话密钥协商,基于主机的认证,交互式会话,利用RSA公钥加密,基于RSA和Cookie,计算机网络安全基础,SSH 的会话密钥协商过程,Server,产生8字节随机数,cookie,=,RSA主机公钥,RSA服务公钥,RSA主机私钥,RSA服务私钥,cookie,Client,Session_ID=MD5(主机公钥模数 n|服务公钥模数 n|cookie),32位随机数=Session_key,(Session_ID的前16位)XOR(Session_Key的前16位),Server,32位串,=,加密串,利用公钥加密该串,Session_ID=MD5(主机公钥模数 n|服务公钥模数 n|cookie),32位串,利用RSA私钥解密,Session_Key=,(Session_ID的前16位)XOR(32位串的前16位),cookie,计算机网络安全基础,SSH 的认证过程,Server,cookie,Client,Server,服务器验证客户机,Clinet公钥,=32位随机数,cookie,产生一对 RSA密钥,私钥,公钥,利用公钥加密COOKIE,cookie,Client,利用私钥解密cookie,cookie,+Session_ID,MD5水印,MD5水印,比较MD5水印和自己计算出的值,相符则通过认证,计算机网络安全基础,思考,SSH认证过程和数字签名的区别?,数字签名不使用cookie,客户端直接用私钥加密一个原文的散列函数(MD5);SSH中需要客户加密的是由服务器传递来的cookie;因此SSH认证比数字签名中多了一次服务器向客户的加密(使用客户的公钥)传递cookie的过程,此过程也可用来进行鉴别和抗抵赖。Ssh认证不提供数据完整性服务,只提供主机身份认证服务;(因为ssh只提供身份鉴别,不需要报文鉴别)相似地方:均用私钥加密某个标识(散列或COOKIE),计算机网络安全基础,SSH vs SSL,工作过程类似于SSL,也是通过公钥认证后双方协商产生会话密钥(公享密钥-对称加密),然后使用会话密钥进行加密通信,以及数据完整性服务(使用MAC)区别:设计目标不同:主要用于安全远程登陆和FTP等服务,防止明文口令被截取SSH的认证是基于主机的(需要在SSH上为用户认证设计一种高层协议),而SSL是基于用户的,计算机网络安全基础,SSH 总结,公钥算法采用RSA会话密钥不是直接传递给服务器,而是传递经数据变换后的32位串,服务器端可由该串还原出会话密钥算法保证双方的session_ID和Session_KEY均保持一致客户端回传cookie可防止IP欺骗,计算机网络安全基础,SSH 实验,WINDOWS 2000和LINUX下配置和使用SSHOPENSSH V2.X,计算机网络安全基础,DNS安全协议,计算机网络安全基础,DNS脆弱性分析,DNS高效率的设计同时也给其带来了负面影响,那就是众多的安全性漏洞。DNS面临的攻击包括:数据包拦截攻击(packet interception attack)基于名字的攻击(name based attack)信任服务器出卖(betrayal by trusted server),计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,RR,In the Internet(IN)class the following Resource Record(RR)TYPEsand QTYPEs are defined:TYPE value and meaning Reference-A 1 a host address RFC 1035NS 2 an authoritative name server RFC 1035NULL 10 a null RR(EXPERIMENTAL)RFC 1035WKS 11 a well known service description RFC 1035SOA 6 marks the start of a zone of authorityCNAME 5 the canonical name for an alias HINFO 13 host information RFC 1035MINFO 14 mailbox or mail list information RFC 1035MX 15 mail exchange RFC 1035,计算机网络安全基础,计算机网络安全基础,DNS不安全的原因是DNS体系中缺乏鉴别能力,因此应引入鉴别和数据完整性保护。,计算机网络安全基础,DNSSEC协议,由于DNS协议的局限,IETF已成立了DNSSEC工作组,目的是在现有的DNS协议上增添附加的DNSSEC部分,从而解决DNS缺乏安全性的问题。伯克利Internet域名保护协议(Berkeley Internet Name Daemon,BIND)中就包含了一些DNSSEC的功能。,计算机网络安全基础,DNSSEC协议,DNSSEC的目标就是为在DNS内部的信息同时提供权限认证和信息完整性,通过密码技术可以实现这些目标。DNSSEC主要提供如下服务:记录数据保护:对所有记录进行签名保护;公钥分发:使用DNS服务作为公钥基础设施为用户分发公钥。为DNS安全定义了扩展的记录,如图所示。,计算机网络安全基础,计算机网络安全基础,当使用DNSSEC协议后,DNS应答信息中不仅包含了验证信息所需的签名和关键字,而且包含了原始的询问(challenge)。这就是所谓的“事务处理和请求认证”。这种方式向询问者保证所得到的应答确实是针对其原始问题的。,计算机网络安全基础,DNS中的安全机制,DNSSEC主要依靠公钥技术对于包含在DNS中的信息创建签名,签名通过计算出一个密码hash数来提供DNS中数据的完整性,并将该hash 数封装进行保护。私/公钥对中的私钥用来封装hash数,然后接收者就可以用公钥把hash数解码出来。如果这个解码的hash值匹配接收者刚刚计算出来的hash树,那么表明数据是完整的。,计算机网络安全基础,普通 DNS记录示例,计算机网络安全基础,DNSSEC保护后的记录,计算机网络安全基础,TSIG和TKEY,和DNSSEC对DNS记录进行签名保护不同,TSIG和TKEY对DNS消息(request/query)进行鉴别和加密保护。其中TSIG用来对消息进行鉴别和完整性保护,而TKEY用来产生TSIG中的会话密钥。,计算机网络安全基础,计算机网络安全基础,计算机网络安全基础,SNMP安全协议,计算机网络安全基础,SNMP发展,最初的SNMP中存在不可靠的认证和接入控制等安全问题。1993 发布的SNMPv2中对这些问题进行了部分改进。但是,SNMPv2中增加的安全功能过于复杂,SNMPv2的安全特性因此未得到广泛使用。目前的SNMPv3在2002年3月被定为一项互联网标准,它充分更正了以前的安全问题,提供了增强的、对管理网络至关重要的安全功能。,计算机网络安全基础,SNMPv3层次,计算机网络安全基础,SNMPv3的机密性,SNMPv3的安全报头采用用户安全模式(USM),其提供具有机密性和完整性的网络管理通信。机密性通过采用数据加密标准(DES)来提供。,计算机网络安全基础,SNMPv3的完整性,完整性服务通过散列信息认证码算法与安全散列功能:MD5 或SHA-1相结合提供。SNMPv3的USM还允许基于用户的认证和访问控制。管理员可以为每一个SNMP用户建立特别帐号,并根据这些用户帐号授予权限。,计算机网络安全基础,问题,有些较老的设备不支持SNMPv3可以对其软件或固件进行升级,以得到支持SNMPv3的功能。,