第9章其它Internet应用的安全性分析本章学习目标FTP的安全性Telnet的安全性DNS和NFS的安全性9.1文件传输服务FTP的安全性9.2远程登录服务Telnet的安全性分析9.3DNS的安全性分析9.4NFS的安全性分析9.1文件传输服务FTP的安全性文件传输协议规定将文件从一台计算机传送到另一台计算机上,使得用户能够在网络上方便的传输文件的一组规则的集合。文件传输服务文件传输服务提供了在网络中任意计算机之间传输文件的能力,使用户可通过对远程系统上文件的存取实现共享。文件共享方式:全文复制联机存取全文复制(支持协议:FTP、TFTP)当存取一个远程文件时,必须先复制该文件到本地,如要修改,也只能对本地文件副本修改,修改后的文件传回原站点。联机存取(支持协议:NFS)多程序可同时存取一个文件。该机制嵌入到操作系统中,用户感觉不到本地文件和远程文件的差别,实现透明存取。文件传输协议(FTP)FTP文件传输协议,Internet中最早的协议之一建立在TCP运输服务基础上,按照C/S模式交互式工作可用于传输二进制文件、图形文件、音频文件、视频文件、打印文件等FTP的访问类型有名FTP匿名FTPFTP的目标促进文件(程序或数据)的共享支持间接或隐式的使用远程计算机可靠并有效的传输数据9.1文件传输服务FTP的安全性9.1.1FTP的工作原理9.1.2FTP的安全漏洞及其防范措施9.1.1FTP的工作原理FTP的连接模式匿名FTPFTP的连接模式FTP的工作模式为客户机/服务器模式FTP使用两个独立的TCP连接CS命令通道数据通道21号端口20号端口FTP支持两种连接模式主动方式Standard(也就是Active)Standard模式,FTP的客户端发送PORT命令到FTP的服务器端被动方式Passive(也就是PASV)Passive模式,FTP的客户端发送PASV命令到FTP的服务器端FTPC分配2个TCP端口分配第一个端口作为命令通道端口建立连接C要收数据发送PORT命令S发送数据使用S的20端口C的接收数据端口(第二个端口)建立新连接发送数据S的21端口++主动方式:FTP服务器主动连接客户机FTPC分配2个TCP端口分配第一个端口作为命令通道端口建立连接C要收数据发送PASV命令S告知C使用S的XX端口C用接收数据端口(第二个端口)建立S新连接接收数据S的21端口++被动方式:FTP服务器被动等待客户机连接匿名FTPAnonymous\FTP为注册名密码:任意字符、邮件地址可能成为不良信息的集散地检查Anonymous的权限,不能删除、改写文件。确保任何文件所有权不是Anonymous只能在公共区读写文件,其他目录禁止。9.1.2FTP的安全漏洞及防范措施保护密码(ProtectingPasswords)访问控制(RestrictedAccess)端口盗用(PortStealing)保护用户名(Usernames)私密性(Privacy)保护密码漏洞:FTP服务器允许无限次输入密码“PASS”命令以明文传送密码攻击:在同一连接上直接强力攻击和服务器建立多个、并行的连接进行强力攻击防范措施:服务器应限制尝试输入正确口令的次数,在几次尝试失败后,服务器应关闭和客户的控制连接。服务器在相应无效的“PASS”命令之前应暂停几秒来消减强力攻击的有效性。服务器可以限制控制连接的最大数目,或探查会话中的可疑行为并在以后拒绝该站点的连接请求。访问控制漏洞:基于网络地址的访问控制攻击:攻击者可控制连接建立在可信任的主机上防范措施:在建立连接前,双方需要同时认证远端主机的控制连接、数据连接的网络地址是否可信。端口盗用漏洞:分配端口号时,通常都是按增序分配。攻击:攻击者可以通过规律,根据当前端口分配情况,确定要分配的端口。防范措施:由操作系统无关的方法随机分配端口号,让攻击者无法预测。保护用户名漏洞:用户名无效,返回码530用户名是有效但需要密码,返回码331攻击:攻击者可以通过利用USER操作的返回码确定一个用户名是否有效防范措施:不论用户名是否有效FTP都返回相同的返回码。私密性网络上被传送的数据和控制信息都未被加密。为了保障FTP传输数据的私密性,应尽可能使用强壮的加密系统。小型文件传输协议TFTP小型文件传输协议建立在UDP运输服务基础上,按照C/S模式交互式工作只能支持最基本的文件传输,不支持存取权限,用户无需账号、口令,但只能存取全局共享文件9.2Telnet的安全性分析9.2.1Telnet的工作原理9.2.2Telnet的安全漏洞9.2.3Telnet的防范措施9.2.4常用的安全Telnet软件9.2.1Telnet的工作原理当你使用Telnet登录进入远程计算机系统时,实际启动了两个程序:Telnet客户端程序——该程序运行在你的本地机上Telnet服务器端程序——该程序运行在你要登录的远程计算机上Telnet客户端程序本地机上的客户端程序要完成如下功能:建立与服务器的TCP联接从键盘上接收你输入的字符把你输入的字符串转换成标准格式并传送给远程服务器从远程服务器接收输出的信息把该信息显示在你的屏幕上Telnet服务器端程序远程服务器等待接收客户端的请求,远程服务器端程序要完成的功能:通知客户端计算机,远程计算机已经准备好了等候你输入命令对你的命令作出反应(如显示目录内容,或执行某个程序等)把执行命令的结果送回给你的计算机重新等候你的命令9.2.2Telnet的安全漏洞1.Telnet本身的安全漏洞2.入侵Telnet会话Telnet本身的安全漏洞(1)没有口令保护,远程用户的登陆传送的账号和密码都是明文,使用普通的sniffer(监听工具)都可以被截获。(2)没有强力认证过程。只是验证连接者的账户和密码。(3)没有完整性检查。传送的数据没有办法知道是否完整的,而不是被篡改过的数据。(4)传送的数据都没有加密。攻击者的入侵机原来的Telnet连接Telnet客户端被欺骗的Telnet服务器攻击者的空数据流/空操作命令(a)攻击者向Telnet客户端和被欺骗的Telnet服务器的两方发送空数据流Telnet客户端攻击者的入侵机被欺骗的Telnet服务器Telnet连接Telnet连接(b)攻击者成了Telnet客户端和被欺骗的Telnet服务器的中间者攻击者的空数据流/空操作命令图9–1入侵Telnet会话示意图入侵Telnet会话9.2.3Telnet的防范措施1.使用者认证KERBERROS—V4/V5、SPX、RSA、LOKI2.数据传送保密DES、IDEA、RSA9.2.4常用的安全Telnet软件StanfordUniversity的SRPSRATelnetStelSSHSPX,SSLtelnet,KerberosS/key,IOIE一次性口令系统Deslogin9.3DNS的安全性分析9.3.1DNS工作原理9.3.2DNS安全问题9.3.1DNS工作原理DNS——域名系统为了便于记忆引进了域名这一概念但是计算机是不能识别这样的域名的(计算机只认识0和1的数字),于是也就有了DNS服务器来对我们输入的域名进行解析,转换成该服务器的IP地址以达到访问的目的。域名解析过程1.输入域名后,客户机向设置的DNS服务器发问,以确定其所对应的IP地址2.DNS服务器查询记录,如果有,立即返回给客户机;3.如果没有,从此域名的根域到最后一层域,一步一步的采用递归方式或迭代方式查出该域名所映射的IP地址。9.3.2DNS安全问题目前DNS存在以下几个安全问题DNS欺骗拒绝服务攻击(DoS,Denialofservice)偷取服务(Theftofservices)DNS欺骗客户机向DNS发出以特定标志的域名查询数据报攻击者在真正的DNS返回查询结果之前假冒DNS向客户机发送一个自定义的IP地址控制真正的DNS服务器,修改服务器上的DNS记录假设主机A使用域名来验证用户身份主机A的IP地址为1.1.1.1欺骗主机B,IP地址为2.2.2.2假设主机A设定的DNS服务器主机C的地址为:3.3.3.3主机B---主机A请求服务主机A认证主机B的域名,主机A--主机C(dns)主机C-其他DNS其他DNS-主机C(找主机B,2.2.2.2)主机C-主机B主机B-主机C(欺骗信息)主机C-主机A(欺骗信息)拒绝服务利用DNS欺骗,将客户机请求的域名映射到一个根本不存在的IP地址上,从而实现拒绝服务偷取服务利用DNS欺骗,将客户机请求的域名映射到一个自定义的IP地址上,从而实现偷取服务9.4NFS的安全性分析1、NFS网络文件系统简称,实现异种网络上共享和装配远程文件系统2、NFS(NetworkFileSystem)的安全漏洞过多的访问共享目录,导致数据泄露,文件访问限制安全级别不高。3、对NFS共享目录漏洞扫描,修补。