1、网络安全知识入门近日,因为工作需要,对于网络安全的一些基础的知识做了一些简单的了解,并整理成总结文档以便于学习和分享。网络安全的知识体系非常庞大,想要系统的完成学习非简单的几天就可以完成的。所以这篇文章是以实际需求为出发点,把需要用到的知识做系统的串联起来,形成知识体系,便于理解和记忆,使初学者可以更快的入门。1、什么是网络安全首先我们要对网络安全有一个基本的概念。网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。简单来说就是,保护网络不会因为恶意攻击而中断。了解了网络安全的职责,我们就可以从网络
2、攻击的方式,网络攻击检测手段等几个方面来处理。在实际的学习中,我发现直接上手去学习效率并不是很好,因为网络安全也有很多的专业名词是不了解的所以在系统的学习之前对本文可能涉及到的专业名词做一个解释很有必要。2、网络安全名词解释1. IRC 服务器:RC 是 Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。IRC 的工作原理非常简单,您只要在自己的 PC 上运行客户端软件,然后通过因特网以IRC 协议连接到一台 IRC 服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。2. TCP 协议:TCP(Transmission Co
3、ntrol Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 的安全是基于三次握手四次挥手的链接释放协议(握手机制略)。3. UDP 协议:UDP 是 User Datagram Protocol 的简称,UDP 协议全称是用户数据报协议,在网络中它与 TCP 协议一样用于处理数据包,是一种无连接的协议。其特点是无须连接,快速,不安全,常用于文件传输。4. 报文:报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。5. DNS:DNS(Domain Nam
4、e System,域名系统),因特网上作为域名和 IP 地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。 DNS 协议运行在 UDP 协议之上,使用端口号 53。DNS 是网络攻击中的一个攻击密集区,需要重点留意。6. ICMP 协议:ICMP 是(Internet Control Message Protocol)Internet 控制报文协议。它是TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息。7. SNMP 协议:简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(appli
5、cation layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。8. 僵尸病毒:僵尸网络病毒,通过连接 IRC 服务器进行通信从而控制被攻陷的计算机。僵尸网络(英文名称叫 BotNet),是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击。僵尸病毒的目的在我看来是黑客在实施大规模网络攻击之前做好准备工作,提供大量可供发起攻击的“僵尸电脑” 。9. 木马病毒:木马(Trojan),也称木马病毒,是指通过特定的程序(木马程序)来控制另一台计算机。“
6、木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种主机的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种主机。木马病毒对现行网络有很大的威胁。10. 蠕虫病毒:蠕虫病毒,一种常见的计算机病毒。它的传染机理是利用网络进行复制和传播,传染途径是通过网络和电子邮件。对于蠕虫,现在还没有一个成套的理论体系。一般认为:蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服
7、务,以及和黑客技术相结合,等等。3、常见网络攻击方式网络攻击的方式多种多样,本文就以其中六种常见的攻击方式来做分析和了解。3.1 半连接攻击众所周知 TCP 的可靠性是建立在其三次握手机制上面的,三次握手机制如果没有正常完成是不会正常连接的。半连接攻击就是发生在三次握手的过程之中。如果 A 向 B 发起 TCP请求,B 也按照正常情况进行响应了,但是 A 不进行第 3 次握手,这就是半连接攻击。实际上半连接攻击时针对的 SYN,因此半连接攻击也叫做 SYN 攻击。SYN 洪水攻击就是基于半连接的 SYN 攻击。3.2 全连接攻击全连接攻击是一种通过长时间占用目标机器的连接资源,从而耗尽被攻击主
8、机的处理进程和连接数量的一种攻击方式。客户端仅仅“连接”到服务器,然后再也不发送任何数据,直到服务器超时处理或者耗尽服务器的处理进程。为何不发送任何数据呢? 因为一旦发送了数据,服务器检测到数据不合法后就可能断开此次连接;如果不发送数据的话,很多服务器只能阻塞在 recv 或者 read调用上。这是我们可以看出来全连接攻击和半连接攻击的不同之处。半连接攻击耗尽的是系统的内存;而全连接攻击耗尽的是主机的处理进程和连接数量。3.3RST 攻击RST 攻击这种攻击只能针对 tcp、对 udp 无效。RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非
9、法数据和请求。如果接收到 RST 位时候,通常发生了某些错误。RST 攻击的目的在于断开用户的正常连接。假设一个合法用户(1.1.1.1)已经同服务器建立的正常的连接,攻击者构造攻击的 TCP 数据,伪装自己的 IP 为 1.1.1.1,并向服务器发送一个带有 RST 位的 TCP 数据包。TCP 收到这样的数据后,认为从 1.1.1.1 发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户 1.1.1.1 再发送合法数据,服务器就已经没有这样的连接了,该用户必须重新开始建立连接。3.4IP 欺骗IP 欺骗是利用了主机之间的正常信任关系来发动的,所以在介绍 IP 欺骗攻击之前,先
10、说明一下什么是信任关系。这种信任关系存在与 UNIX 主机上,用于方便同一个用户在不同电脑上进行操作。假设有两台互相信任的主机,hosta 和 hostb。从主机 hostb 上,你就能毫无阻碍的使用任何以 r开头的远程调用命令,如:rlogin、rsh、rcp 等,而无需输入口令验证就可以直接登录到hosta 上。这些命令将充许以地址为基础的验证,允许或者拒绝以 IP 地址为基础的存取服务。值得一提的是这里的信任关系是基于 IP 的地址的。既然 hosta 和 hostb 之间的信任关系是基于 IP 址而建立起来的,那么假如能够冒充 hostb的 IP,就可以使用 rlogin 登录到 ho
11、sta,而不需任何口令验证。这,就是 IP 欺骗的最根本的理论依据。然后,伪装成被信任的主机,同时建立起与目标主机基于地址验证的应用连接。连接成功后,黑客就可以入置 backdoor 以便后日使用 J 。许多方法可以达到这个目的(如 SYN 洪水攻击、TTN、Land 等攻击)。3.5DNS 欺骗DNS 欺骗就是攻击者冒充域名服务器的一种欺骗行为。 原理:如果可以冒充域名服务器,然后把查询的 IP 地址设为攻击者的 IP 地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是 DNS 欺骗的基本原理。DNS 欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替
12、、招摇撞骗罢了。DNS 欺骗主要的形式有 hosts 文件篡改和本机 DNS 劫持。3.6DOS/DDOS 攻击DOS 攻击:拒绝服务制造大量数据,使受害主机或网络无法及时接收并处理外界请求,或无法及时回应外界请求。故意的攻击网络协议实现的缺陷或直接通过野蛮手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来
13、的后果。 DDOS 攻击:分布式拒绝服务。多台傀儡机(肉鸡) 同时制造大量数据。实际上是分布式的 DOS 攻击,相当于 DOS 攻击的一种方式。4、网络监测网络攻击的受害面积广,受害群体多,造成损失非常大,因此,对于网络做监控从而达到风险的预测是非常有必要的。做好网络监测可以有效拦截网络攻击,提醒管理者及时处理,挽回损失。网络监测的手段有多种,本文根据具体业务情景来进行了解。其一是 netFlow 网络监控,其二是 DNS 报文分析。4.1 使用 NetFlow 分析网络异常流量在对 NetFlow 进行学习之前,我们需要对网络上的数据流有一个了解-IPFlow。IPFlow 包含有七个重要的
14、信息。 who:源 IP 地址 when:开始结束时间 where:From(源 IP,源端口)、 To(目的 IP,目的端口)从哪到哪 what:协议类型,目标 IP,目标端口 how:流量大小,流量包数 why:基线,阈值,特征NetFlow 最初是由 Cisco 开发,检测网络数据流。Netflow 提供网络流量的会话级视图,记录下每个 TCP/IP 事务的信息。Netflow 利用分析 IP 数据包的 7 种属性,快速区分网络中传送的各种类型的业务数据流。一个 NetFlow 流定义为在一个源 IP 地址和目的 IP 地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号
15、。以 NFC2.0 来说,一个完整的字段中包好有如下信息:源地址,目的地址,源自治域,目的自治域,流入接口号,流出接口号,源端口,目的端口,协议类型,包数量,字节数,流数量。通过匹配监测到的流量与已有网络攻击的流量特征进行匹配就可以完成网络攻击的监测和预警。4.2DNS 数据报分析通过上面的学习我们也不难发现,DNS 是互联网中相对薄弱的一个环节,也是很多黑客的首选攻击目标。因此,通过对 DNS 报文的分析也能在一定程度上进行网络攻击的监测。要对 DNS 报文进行分析,首先需要对 DNS 的报文结构进行了解。 DNS 数据报主要分为头部和正文。 头部主要包括: 会话标识(2 字节):是 DNS
16、 报文的 ID 标识,对于请求报文和其对应的应答报文,这个字段是相同的,通过它可以区分 DNS 应答报文是哪个请求的响应。 标志(2 字节): QR(1bit) 查询/响应标志, 0 为查询,1 为响应opcode(4bit ) 0 表示标准查询, 1 表示反向查询,2 表示服务器状态请求AA(1bit) 表示授权回答TC(1bit ) 表示可截断的RD(1bit) 表示期望递归RA(1bit) 表示可用递归rcode(4bit) 表示返回码,0 表示没有差错,3 表示名字差错,2 表示服务器错误(Server Failure) 数量字段(总共 8 字节):Questions、Answer R
17、Rs、Authority RRs、Additional RRs 各自表示后面的四个区域的数目。Questions 表示查询问题区域节的数量,Answers 表示回答区域的数量,Authoritative namesversers 表示授权区域的数量,Additional recoreds 表示附加区域的数量。正文部分包括以下内容: Queries 区域: 查询名:长度不固定,且不使用填充字节,一般该字段表示的就是需要查询的域名(如果是反向查询,则为 IP,反向查询即由 IP 地址反查域名),一般的格式如下图所示。 查询类型一般为 A,代表 IPV4 查询类通常为 1,代表 Internet 资
18、源记录(RR)区域(包括回答区域,授权区域和附加区域): 域名(2 字节或不定长):它的格式和 Queries 区域的查询名字字段是一样的。有一点不同就是,当报文中域名重复出现的时候,该字段使用 2 个字节的偏移指针来表示。 查询类型:表明资源纪录的类型 查询类:对于 Internet 信息,总是 IN 生存时间(TTL):以秒为单位,表示的是资源记录的生命周期,一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间,它同时也可以表明该资源记录的稳定程度,极为稳定的信息会被分配一个很大的值(比如 86400,这是一天的秒数)。 资源数据:该字段是一个可变长字段,表示按照查询段的要求返回的相关资源记录的数据。可以是 Address(表明查询报文想要的回应是一个 IP 地址)或者 CNAME(表明查询报文想要的回应是一个规范主机名)等。通过对 DNS 的数据的分析也可以完成对网络攻击的分析与检测。5、总结本文主要是对网络安全的一个入门,包括基础知识的阐述,对网络攻击类型的一个简单介绍,网络监测手段的介绍几个部分。通过学习可以对网络安全以及,如何监测网络攻击,网络异常行为能有一个大概的了解。