Linux从入门到提高第17章网络信息安全ppt课件.ppt
第17章 网络信息安全,网络信息安全简介 常见的攻击类型 防火墙技术 入侵检测系统 使用Tripwire保护网络系统的数据安全 本章小结,以Internet为代表的全球性信息化浪潮日益深刻,信息网络技术的应用正日益普及和广泛,安全日益成为影响网络效能的重要问题,而Internet所具有的开放性、国际性和自由性在增加应用自由度的同时,对信息安全提出了更高的要求,这主要表现在以下几个方面: 开放性 国际性 自由性,17.1 网络信息安全简介,信息安全包括五个基本要素: 机密性 完整性 可用性 可控性 可审查性国际标准化组织(ISO)定义计算机信息系统的安全概念为:为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄漏。,17.1.1 网络信息安全的要素,目前网络中存在的对信息系统构成的威胁主要表现在以下几个方面: 非授权访问 信息泄漏或丢失 破坏数据完整性 拒绝服务攻击 网络病毒,17.1.2 网络中存在的威胁,针对上述信息安全的概念以及网络中存在的各种威胁,当前信息安全研究领域主要包括以下几个方面: 密码理论与技术 安全协议理论与技术 安全体系结构理论与技术 信息对抗理论与技术 网络安全与安全产品,17.1.3 网络信息安全领域的研究重点,目前,在市场上比较流行,又能够代表未来发展方向的安全产品大致可以分为以下几类: 防火墙 安全路由器 虚拟专用网(VPN) 安全服务器 电子签证机构(CA和PKI) 用户认证产品 安全管理中心 入侵检测系统(IDS) 安全数据库 安全操作系统,17.1.3 网络信息安全领域的研究重点,本节将对网络安全中经常出现的攻击类型的原理、特点、防范等进行介绍,包括端口扫描、特洛伊木马、拒绝服务攻击(DoS)和病毒。,17.2 常见的攻击类型,从技术原理上来说,端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是否打开,进而得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入/流出IP数据包来监视本地主机的运行情况,不仅能对接收到的数据进行分析,而且能够帮助用户发现目标主机的某些内在问题,而不会提供进入一个系统的详细步骤。端口扫描主要有经典的扫描器(全连接)和所谓的SYN(半连接)扫描器,此外还有间接扫描、秘密扫描等 。,17.2.1 端口扫描,特洛伊木马是一个包含在合法程序中的非法代码。这些非法代码会被用户在不知情的情况下执行。一般的木马都包含客户端和服务器端两个执行程序,其中客户端用于攻击者远程控制植入木马的主机,服务器端程序便是木马程序。攻击者要通过木马攻击系统,它所做的第一步是把木马的服务器端程序植入到被攻击用户的电脑里面。,17.2.2 特洛伊木马,木马主要有如下几种类型,用户需要多加注意: 破坏型 密码发送型 远程访问型 键盘记录木马 DoS攻击木马 代理木马 FTP木马 程序杀手木马 反弹端口型木马,17.2.2 特洛伊木马,木马的防护手段和基本原则: 提高安全意识 小心电子邮件的附件 不要从非正规站点下载文件 使用反病毒防火墙 随时监控系统 定期检查系统当前开放的端口,17.2.2 特洛伊木马,DoS的英文全称为Denial of Service,也就是拒绝服务的意思。其目的就是拒绝用户的服务访问,破坏服务器的正常运行,最终使用户的部分Internet连接和网络系统失效。DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。根据利用漏洞产生的来源来分,可以分为: 利用软件实现的缺陷 利用协议的漏洞 资源消耗,17.2.3 DoS攻击,从目前发现的病毒来说,Linux系统下的病毒相对于Windows系统下的来说要少很多,但并不能忽视。Linux平台下病毒主要有如下几类: 可执行文件型病毒 蠕虫(worm)病毒 脚本病毒 后门程序,17.2.4 Linux下的病毒,防火墙(Firewall)的本义是指古代建筑木质结构房屋的时侯,为防止火灾的发生和蔓延,人们将坚固的石块堆砌在房屋周围作为屏障,这种防护构筑物就被称之为防火墙。其实与防火墙一起起作用的就是“门”。这个门就相当于这里所讲述的防火墙的安全策略,所以防火墙实际并不是一堵实心墙,而是带有一些小孔的墙。这些小孔就是用来留给那些允许进行的通信,这就是所谓的防火墙单向导通性。,17.3 防火墙(FireWall)技术,防火墙的一端连接企事业单位内部的局域网,而另一端则连接着Internet。所有的内、外部网络之间的通信都要经过防火墙。只有符合安全策略的数据流才能通过防火墙。防火墙之所以能保护企业内部网络,就是依据这样的工作原理或者说是防护机制进行的。它可以由管理员自由设置企业内部网络的安全策略,使允许的通信不受影响,而不允许的通信全部被拒绝于内部网络之外。,17.3.1 防火墙简介,防火墙发展到今天,分类的方式多种多样,下面给出几种常用的分类方式。 按防火墙的软、硬件形式分类 按防火墙技术分类 按防火墙结构分类 按防火墙的应用部署位置分类 按防火墙性能分类,17.3.2 防火墙的分类,传统的防火墙种类繁多,各有各的特点,在应用中应该区别对待,以最大限度地发挥它们的优势,下面分别介绍各种传统防火墙技术及其特点。 数据包过滤防火墙技术 应用层网关防火墙技术 代理防火墙技术,17.3.3 传统防火墙技术及其特点,新一代防火墙的目的主要是综合包过滤和代理技术,克服二者在安全方面的缺陷;能从数据链路层一直到应用层施加全方位的控制;实现TCP/IP协议的微内核,从而在TCP/IP协议层进行各项安全控制;基于上述微内核,使速度超过传统的包过滤防火墙;提供透明代理模式,减轻客户端的配置工作;支持数据加密/解密,提供对虚拟网VPN的强大支持;内部信息完全隐藏;产生一个新的防火墙理论。,17.3.4 新一代防火墙的主要技术特点,针对传统边界防火墙的缺陷,专家提出了分布式防火墙的概念。从狭义上讲,分布式防火墙产品是指那些驻留在网络中的主机(如服务器或桌面客户机),并对主机系统提供安全防护的软件产品;从广义上讲,分布式防火墙是一种新的防火墙体系结构,它主要包含以下几类产品: 网络防火墙 主机防火墙 中心管理,17.3.5 新一代分布式防火墙概述,嵌入式防火墙就是内嵌于路由器或交换机的防火墙。嵌入式防火墙是某些路由器的标准配置。用户也可以购买防火墙模块,安装到已有的路由器或交换机中。嵌入式防火墙也被称为阻塞点防火墙。由于互联网使用的协议多种多样,所以不是所有的网络服务都能得到嵌入式防火墙的有效处理。嵌入式防火墙工作于IP层,所以无法保护网络免受病毒、蠕虫、以及特洛伊木马程序等来自应用层的威胁。就本质而言,嵌入式防火墙通常是无监控状态的,它在传递信息包时并不考虑以前的连接状态。,17.3.6 新一代嵌入式防火墙技术,智能防火墙从技术特征上讲,是利用统计、记忆、概率和决策的智能方法来对数据进行识别,并达到访问控制的目的。新的数学方法,消除了匹配检查所需要的海量计算,快速发现网络行为的特征值,直接进行访问控制。由于这些方法多是人工智能学科中所采用的方法,因此被称为智能防火墙。它的关键技术包括: 防攻击技术 防扫描技术 防欺骗技术 入侵防御技术 包擦洗和协议正常化技术,17.3.7 新一代智能防火墙技术,随着新的网络攻击的出现,防火墙技术也有一些新的发展趋势。这主要体现三个方面: 包过滤技术 防火墙体系结构 防火墙系统管理,17.3.8 防火墙技术的发展趋势,Linux系统提供了一个免费的netfilter/iptables防火墙框架,该框架功能强大,可以对流入和流出的信息进行控制,而且能够在一台低配置的计算机上很好地运行,它被认为是Linux系统中实现包过滤功能的第四代应用程序。,17.3.9 使用netfilter/iptables防火墙框架,iptables -t 表 命令 匹配 目标 表 filter nat mangle 命令 -A或-append:将一条规则添加到链的末尾 -D或-delete :指定要匹配的规则或者指定规则在链中的位置编号,从链中删除该规则 -P或-policy :设置链的默认目标,即策略。 -N或-new-chain :使用指定的名称创建一个新链 -F或-flush :如果指定链名,该命令删除链中的所有规则,如果未指定链名,该命令删除所有链中的所有规则。 -L或-list :列出指定链中的所有规则。,17.3.9 使用netfilter/iptables防火墙框架,iptables -t 表 命令 匹配 目标 匹配 -p或-protocol:用于检查某些特定协议。 -s 或 -source : 用于根据信息包的源IP地址来与它们匹配。 -d 或 -destination : 用于根据信息包的目的IP地址来与它们匹配目标 ACCEPT:允许它前往目的地 DROP:阻塞,并且不对它做进一步处理 REJECT:该目标的工作方式与DROP目标相同,将错误消息发回给信息包的发送方。 RETURN:停止遍历包含该规则的链。,17.3.9 使用netfilter/iptables防火墙框架,示例# iptables -A INPUT -s 198.168.80.10 -j ACCEPT # iptables -D INPUT -dport 80 -j DROP# iptables -A FORWARD -p tcp -d 198.168.80.13 -dport smtp -i eth0 -j ACCEPT# iptables -A FORWARD -p udp -d 198.168.80.0/24 -i eth0 -j ACCEPT # iptables -A FORWARD -p tcp -d 198.168.80.11 -dport www -i eth0 -j REJECT,17.3.9 使用netfilter/iptables防火墙框架,入侵检测系统被安全领域称为是继防火墙之后,保护网络安全的第二道闸门。,17.4 入侵检测系统(IDS),入侵检测系统(Intrusion Detection System)顾名思义,是对入侵行为的发觉,它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。通常说来,它具有如下几个功能: 监控、分析用户和系统的活动 核查系统配置和漏洞 评估关键系统和数据文件的完整性 识别攻击的活动模式并向网管人员报警 对异常活动进行统计分析 审计跟踪管理,识别违反安全策略的用户活动,17.4.1 入侵检测系统简介,按照技术和功能来划分,入侵检测系统可以分为以下几类: 基于主机的入侵检测系统:它的输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵。 基于网络的入侵检测系统:它的输入数据来源于网络的信息流,能够检测该网段上发生的网络入侵。 采用上面两种数据来源的分布式入侵检测系统:能够同时分析来自主机系统审计日志和网络数据流的入侵检测系统,一般为分布式结构,由多个部件组成。,17.4.1 入侵检测系统简介,Snort是一个轻量级的免费网络入侵检测系统,具有实时数据流量分析和对IP网络数据包做日志记录的能力,能够进行协议分析,对内容进行搜索/匹配,可以检查各种不同的攻击方式,并进行实时的报警。Snort的主要特点如下: 轻量级的网络入侵检测系统。 可移植性好。 功能非常强大。 扩展性较好,对于新的攻击反应迅速。 遵循公共通用许可证GPL。,17.4.2 Snort介绍,Snort的官方主页为http:/www.snort.org/,当前最新的版本为2.8.6,读者可以下载源代码包snort-2.8.6.tar.gz进行安装。,17.4.3 安装Snort,17.4.4 使用Snort,snort 选项 选项: -A:设置Snort的警报模式。 -a:显示ARP报文。 -b:以Tcpdump格式记录报文到日志文件,报文以二进制形式记录,速度相对较快,因为不需要把信息转化为文本。 -C:使用ASCII码显示报文,而不用十六进制。 -c:指定配置文件。 -d:显示应用层数据。 -D:以守护进程形式运行。 -e:显示并记录数据包的链路层包头。 -i:在指定网络接口上监听。 -I:添加网络接口名称到警报输出。 -l:将日志文件放到指定的目录中。,17.4.4 使用Snort,snort 选项 选项: -m:设置所有Snort输出文件的访问掩码。 -N:关闭日志记录,但警报功能仍正常工作。 -s:使用syslog日志警告信息。 -t:初始化改变Snort的根目录到目录。 -T:进入自检模式,检查所有的命令和规则文件是否正确。 -v:显示TCP/IP数据报头信息。 -V:显示版本信息,然后退出。 -?:显示使用列表,然后退出。,17.4.4 使用Snort,示例:# snort -v 07/12-18:09:51.155779 192.168.89.1 - 192.168.89.100ICMP TTL:64 TOS:0 x0 ID:0 IpLen:20 DgmLen:84 DFType:8 Code:0 ID:21021 Seq:6 ECHO07/12-18:09:51.156002 192.168.89.100 - 192.168.89.1ICMP TTL:128 TOS:0 x0 ID:7752 IpLen:20 DgmLen:84 DFType:0 Code:0 ID:21021 Seq:6 ECHO REPLY# snort vde07/12-18:28:49.691936 8:0:27:F8:C1:5B - 2:0:4C:4F:4F:50 type:0 x800 len:0 x62192.168.89.1 - 192.168.89.100 ICMP TTL:64 TOS:0 x0 ID:0 IpLen:20 DgmLen:84 DFType:8 Code:0 ID:36125 Seq:6 ECHO,Snort最主要的用途是作为网络入侵检测系统,它具有自己的规则语言。从语法上看,这种规则语言非常简单,但是对于入侵检测来说已足够强大,并且有厂商和Linux爱好者的技术支持。读者只要能够较好地使用这些规则,就能够保证Linux网络系统的安全。/snort.conf/配置环境变量var RULE_PATH /usr/local/snort/rules/定制规则include $RULE_PATH/exploit.rules/包含对漏洞利用的检测规则include $RULE_PATH/ftp.rules/包含对FTP应用的检测规则include $RULE_PATH/telnet.rules/包含对Telnet远程登录应用的检测规则include $RULE_PATH/rpc.rules/包含对远程调用应用的检测规则,17.4.5 配置Snort规则,Snort的每条规则都可以分为逻辑上的两个部分:规则头和规则选项。规则头包含规则动作、协议、源/目的IP地址、子网掩码、以及源/目的端口等。规则选项包含报警消息和异常包信息(特征码),使用这些特征码来决定是否采取规则规定的动作。最基本的规则只包含四个域:动作、协议、方向和端口 log udp any any - 192.168.1.0/24 1:1024 log tcp any any - 192.168.1.0/24 :600 log !192.168.1.0/24 any 192.168.1.0/24 23,17.4.6 编写Snort规则,用于检测/etc/passwd文件非法访问的Snort规则:alert tcp $EXTERNAL_NET any - $HTTP_SERVERS 80 (msg:WEB-MISC /etc/passwd;flags: A+; content:/etc/passwd; nocase; classtype:attempted-recon; sid:1122; rev:1) 上述规则使用字符串匹配算法对包含“/etc/passwd”字符串的HTTP请求进行检测,一旦发现非法访问,Snort立刻发出警报,17.4.7 Snort规则应用举例,Tripwire是一套用于数据和网络完整性保护的工具,主要是检测和报告系统中任意文件被改动、增加、删除的详细情况,可以用于入侵检测、损失的评估和恢复、证据保存等多个用途。目前,Tripwire已被广泛地应用于保护网络中关键的信息系统的数据完整性和一致性,例如网站服务器的数据安全等。本节将对该软件的工作原理、安装和使用方法等进行介绍。,17.5 使用Tripwire保护网络系统的数据安全,Tripwire是UNIX安全规范中最有用的工具之一,l992年由Eugene Spafford和Gene Kim在Purdue大学开发完成,并于1998年被商业化,现在由Tripwire Security Inc进行维护。该公司提供了商业和免费两种版本,能在大多数UNIX系统中运行。,17.5.1 Tripwire简介,Tripwire基于预编写的策略工作,在基准数据库生成时,会根据策略文件中的规则读取指定的文件,同时生成该文件的数字签名并存贮在自己的数据库中。为了达到最高的安全性,Tripwire提供了四种Hash算法:CRC32、MD5、SHA和HAVAL来生成签名。通常情况下采用前两种算法生成签名已经足够了,当然也可以采用全部算法。不过后两种算法对系统资源的消耗较大,使用时可根据文件的重要性灵活地取舍。进行完整性检查时,Tripwire会根据策略文件中的规则对指定的文件重新生成一次数字签名,并将此签名与存贮在数据库中的签名做对照。如果完全匹配,则说明文件没有被更改。如果不匹配,则文件被改动了。然后在Tripwire生成的报告中查阅文件被改动的具体情况。,17.5.2 Tripwire工作原理,下要给出Tripwire的安装和使用方法。(1)使用源代码包安装Tripwire(2)初始化,创建签名的基线数据库,17.5.3 使用Tripwire,安装Tripwire最好的时机是在刚刚建立好系统之后,不论是新建还是升级。一个已经运行了一段时间的系统可能已经被破坏了,这之后运行Tripwire将几乎没有任何价值。如果不可能在系统刚安装或更新的时候安装Tripwire,那么考虑以单用户模式重新安装系统文件。这是保证系统干净的惟一方法。Tripwire要求一个先进的存储规划。用户需要将基线数据库同程序文件一起保存在一个安全的地方,以免攻击者更改文件而使该程序达不到监控的目的。最好的方法是将这些文件保存在一个移动的只读介质中,比如写保护的软盘、光盘或潜在攻击者不能访问的CD-ROM。还可以把文件放在一个安全的远程主机分区中并以只读方式输出。,17.5.4 使用Tripwire的技巧,在安全性和Tripwire性能之间的均衡也是很重要的。用户可以选择运行程序的6个签名算法和两个校验和中的任一个来保护文件,但这些算法中有些开销是很大的。只有那些有极大危险性的系统才需要为每个文件和目录运行所有的算法。Tripwire默认使用MD5和Snefru,这两个一起提供强大的保护,但同时也会消耗大量的CPU时间。,17.5.4 使用Tripwire的技巧,17.6 本章小结,本章主要知识点: 网络信息安全的基本现状 网络中常见的攻击类型 防火墙技术 入侵检测系统技术 使用Tripwire保护网络系统的数据安全,