Linux操作系统学习笔记8【Linux网络信息安全】

    科技2024-03-14  81

    文章目录:

    一:网络信息安全简介

    二:网络中存在的威胁

    三:常见的攻击类型

    1.端口扫描

    2.DoS和DDoS攻击

    3.特洛依木马(Trojan)

    3.1 木马的工作原理

    3.2 特洛伊木马具有的特性

    3.3 木马的种类

    3.4 被感染后的紧急措施


    四:防火墙技术

    1. 防火墙的概念及作用

    2.防火墙的分类

    2.1 从防火墙的软、硬件形式分

    2.2 从防火墙技术分

    2.3 防火墙结构分

    2.4 按防火墙的应用部署位置分

    2.5 按防火墙性能分

    3.使用firewalld防火墙框架

    3. 1 简介

    3.2 安装Firewalld系统

    3.3 使用iptable的过滤规则

    (1)表(table)  

    (2)命令(command) 

    (3)匹配(match) 

    (4)目标(target)


    五:入侵检测系统(IDS)

    1.入侵检测系统简介

    2.Snort简介

    3.使用Snort

    3.1 命令简介

    3.2 查看ICMP数据报文

    3.3 配置Snort的输出方式

    4.配置Snort规则

    5.编写Snort规则

    5.1 规则动作

    5.2 协议

    5.3 IP地址

    5.4 端口号

    5.5 方向操作符(direction operator)

    5.6 activate/dynamic规则

    6.Snort规则应用举例

    6.1 PHPUpload溢出攻击的检测

    6.2 SNMP口令溢出漏洞规则

    6.3 /etc/passwd文件非法访问的检测规则


    信息安全是当前学术界及工业界研究的热点,而网络信息安全更是近年来发展最迅速、最受人们关注的研究领域之一。本章将介绍信息安全的背景、概念、研究重点以及网络信息安全的重要性问题,并且介绍如何使用防火墙、入侵检测系统、Tripwire等保护网络系统安全。

    一:网络信息安全简介

    以Internet为代表的全球性信息化浪潮日益深刻,信息网络技术的应用正日益普及和广泛,安全日益成为影响网络效能的重要问题,而Internet所具有的开放性、国际性和自由性在增加。

    在自由度增加的同时,对信息安全提出了更高的要求,这主要表现在如下几个方面。

    (1)开放性 (2)国际性 (3)自由性

    信息安全包括5个基本要素:机密性、完整性、可用性、可控性与可审查性。

    (1)机密性 (2)完整性 (3)可用性 (4)可控性 (5)可审查性

    二:网络中存在的威胁

    研究及实践表明,目前网络中存在的对信息系统构成的威胁主要表现在如下几个方面。

    (1)非授权访问 (2)信息泄漏或丢失 (3)破坏数据完整性 (4)拒绝服务攻击 (5)网络病毒

    三:常见的攻击类型

    对计算机网络进行攻击的手段可以分为几个主要种类,它们的危害程度和检测防御办法也各不相同,这里介绍几种最常用的攻击类型。

    1.端口扫描

    对于位于网络中的计算机系统来说,一个端口就是一个潜在的通信通道,也就是一个入侵通道。

    对目标计算机进行端口扫描,能得到许多有用的信息从而发现系统的安全漏洞。

    通过其可以使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种参考的手段。

    1.全连接扫描 2.半连接(SYN)扫描

    2.DoS和DDoS攻击

     DoS的英文全称是Denial of Service,也就是“拒绝服务”的意思。          

    DoS攻击的基本过程是:首先攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息,由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。

     DDoS(分布式拒绝服务),其英文全称为Distributed Denial of Service,是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,像商业公司、搜索引擎和政府部门的站点。  

           

    DoS根据按照利用漏洞产生的来源来分,可以分为如下几类。

    1.利用软件实现的缺陷 2.利用协议的漏洞 3.资源消耗

    3.特洛依木马(Trojan)

    3.1 木马的工作原理

    目前木马入侵的主要途径还是先通过一定的方法把木马执行文件弄到被攻击者的计算机系统里,利用的途径有邮件附件、下载软件中等手段,然后通过一定的提示故意误导被攻击者打开执行文件。

    比如故意谎称这个木马执行文件,是用户朋友送给用户贺卡,可能用户打开这个文件后,确实有贺卡的画面出现,但这时可能木马已经悄悄在用户的后台运行了。          

    木马也可以通过Script、ActiveX及ASP.CGI交互脚本的方式植入。

    3.2 特洛伊木马具有的特性

    (1)包含干正常程序中,当用户执行正常程序时,启动自身,在用户难以察觉的情况下,完成一些危害用户的操作,具有隐蔽性。  

    (2)具有自动运行性。  

    (3)包含具有未公开并且可能产生危险后果的功能的程序。

    (4)具备自动恢复功能。

    (5)能自动打开特别的端口。

    (6)功能的特殊性。

    3.3 木马的种类

    (1)破坏型

    (2)密码发送型

    (3)远程访问型

    (4)键盘记录木马

    (5)DoS攻击木马

    (6)代理木马

    (7)FTP木马

    (8)程序杀手木马

    (9)反弹端口型木马

    3.4 被感染后的紧急措施

    (1)所有的账号和密码都要马上更改。

     (2)删掉所有硬盘上原来没有的东西。

     (3)更新杀毒软件检查一次硬盘上是否有病毒存在。

    四:防火墙技术

    1. 防火墙的概念及作用

      防火墙的本义原是指古代人们房屋之间修建的那道墙,这道墙可以防止火灾发生的时候蔓延到别的房屋。

    而这里所说的防火墙是指隔离在本地网络与外界网络之间的一道防御系统,是这一类防范措施的总称。

    应该说,在互联网上防火墙是一种非常有效的网络安全模型,通过它可以隔离风险区域(即Internet或有一定风险的网络)与安全区域(局域网)的连接,同时不会妨碍人们对风险区域的访问。

    2.防火墙的分类

    2.1 从防火墙的软、硬件形式分

    从防火墙的软、硬件形式来分,防火墙可以分为软件防火墙和硬件防火墙。

    2.2 从防火墙技术分

    (1)包过滤(Packet filtering)型  (2)应用代理(Application Proxy)型

    2.3 防火墙结构分

    (1)单一主机防火墙 (2)路由器集成式防火墙 (3)分布式防火墙

    2.4 按防火墙的应用部署位置分

    (1)边界防火墙 (2)个人防火墙 (3)混合式防火墙

    2.5 按防火墙性能分

    如果按防火墙的性能来分可以分为:

    百兆级防火墙

    千兆级防火墙两类

     

    因为防火墙通常位于网络边界,所以不可能只是十兆级的。

    这主要是指防火的通道带宽,或者说是吞吐率。

    当然通道带宽越宽,性能越高,这样的防火墙因包过滤或应用代理所产生的延时也就越小,对整个网络通信性能的影响也就越小。

    3.使用firewalld防火墙框架

    Linux系统提供了一个自带免费的防火墙——firewalld防火墙框架,该框架功能强大,下面详细介绍该框架的安装、配置和使用。

    3. 1 简介

    Firewalld可以对流入和流出的信息进行细化控制,且可以在一台低配置机器上很好地运行,被认为是Linux中实现包过滤功能的第四代应用程序。

     Netfilter主要提供如下3项功能。 (1)包过滤 (2)NAT (3)数据报处理

    3.2 安装Firewalld系统

    Firewalld组件在RHEL 7.x默认已经安装了,如果没有可以使用如下YUM命令进行安装

    yum install firewalld -y

    3.3 使用iptable的过滤规则

    通过向防火墙提供有关对来自某个源、到某个目的地或具有特定协议类型的信息包要做些什么的指令,规则控制信息包的过滤。

    通过使用firewalld系统提供的特殊命令 iptables建立这些规则,并将其添加到内核空间的特定信息包过滤表内的链中。

    关于添加/除去/编辑规则的命令的一般语法如下: 

    iptables [-t table] command [match] [target]  

    (1)表(table)  

    (2)命令(command) 

    (3)匹配(match) 

    (4)目标(target)

    五:入侵检测系统(IDS)

    入侵检测系统被安全领域称为是继防火墙之后,保护网络安全的第二道“闸门”。

    本节将介绍入侵检测系统的基本原理,并对Red Hat Enterprise Linux 7.3中的轻量级的入侵检测系统——Snort的使用进行详细介绍。

    1.入侵检测系统简介

     Intrusion Detection System(入侵检测系统)顾名思义,便是对入侵行为的发觉,其通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。

     通常说来,其具有如下几个功能。

    (1)监控、分析用户和系统的活动。

    (2)核查系统配置和漏洞。  

    (3)评估关键系统和数据文件的完整性。

    (4)识别攻击的活动模式并向网管人员报警。

    (5)对异常活动的统计分析。  

    (6)操作系统审计跟踪管理,识别违反政策的用户活动。

    按照技术以及功能来划分,入侵检测系统可以分为如下几类。  

    (1)基于主机的入侵检测系统  

    (2)基于网络的入侵检测系统

    (3)采用上述两种数据来源的分布式入侵检测系统

    2.Snort简介

    Snort是一个强大的轻量级的免费网络入侵检测系统,其作者是Martin Roesch。

    该入侵检测系统具有实时数据流量分析和对IP网络数据包做日志记录的能力,能够进行协议分析,对内容进行搜索/匹配,能够检查各种不同的攻击方式,并进行实时的报警。

    这个软件遵循通用公共许可证GPL,只要遵守GPL的任何组织和个人都可以自由地使用。

    该入侵检测系统的主要特点如下。

     (1)轻量级的网络入侵检测系统  

    (2)可移植性好  

    (3)功能非常强大  

    (4)扩展性较好  

    (5)遵循公共通用许可证GPL

    3.使用Snort

    Snort官方网站地址http://www.snort.org

    上面可以下载到最新版源代码。

    其安装方式和普通源代码安装方式相同,这里不再重复。

    这里从介绍使用Snort的基本命令入手,讲述如何使用Snort查看原始报文、配置Snort的输出等相关问题。

    3.1 命令简介

    Snort命令行格式如下所示:

    snort -[options] <filters>

    3.2 查看ICMP数据报文

    使用命令snort -v会运行Snort和显示IP和TCP/UDP/ICMP头信息。

    使用为verbose模式,把信息包打印在console中,这个选项使用后会使速度很慢,这样结果在记录多的是时候会出现丢包现象。

    #./snort -v

    3.3 配置Snort的输出方式

    有很多的方式来配置Snort的输出。

    在默认的情况下,Snort以ASCII格式记录日志,使用full报警机制,Snort会在报头之后打印包头之后打印报警消息。

    如果不需要日志包,可以使用-N选项。

    Snort有6种报警机制:full、fast、socket、syslog、smb和none。

    其中有如表12-4所示的4个可以在命令行状态下使用-A选项设置。

    4.配置Snort规则

     Snort最重要的用途是作为网络入侵检测系统,其具有自己的规则语言。

    从语法上看,这种规则语言非常简单,但是对于入侵检测来说其足够强大,并且有厂商以及Linux爱好者的技术支持。

    读者只要能够较好地使用这些规则,则将能较好地保证Linux网络系统的安全。

    5.编写Snort规则

    Snort的每条规则都可以分成逻辑上的两个部分:规则头和规则选项

    规则头包括规则动作(rule's action)、协议(protocol)、源/目的IP地址、子网掩码以及源/目的端口。

    规则选项包含报警消息和异常包的信息(特征码),使用这些特征码来决定是否采取规则规定的行动。

    最基本的规则只是包含4个域:处理动作、协议、方向、注意的端口。

    5.1 规则动作

    对于匹配特定规则的数据包,snort有三种处理动作:pass、log、alert。

    (1)pass:放行数据包;  

    (2)log:把数据包记录到日志文件;

    (3)alert:生报警消息并日志数据包。

    5.2 协议

    每条规则的第二项就是协议项。当前,snort能够分析的协议是:TCP,UDP和ICMP。

    将来,可能提供对ARP,ICRP,GRE,OSPF,RIP,IPX等协议的支持。

    5.3 IP地址

    规则头下面的部分就是IP地址和端口信息。

    关键词any可以用来定义任意的IP地址。snort不支持对主机名的解析。

    所以地址只能使用数字/CIDR的形式。 

    5.4 端口号

    在规则中,可以有几种方式来指定端口号,包括:any、静态端口号(static port)定义、端口范围,以及使用非操作定义。

    any表示任意合法的端口号;静态端口号表示单个的端口号,例如:111(portmapper)、23(telnet)、80(http)等。

    使用范围操作符可以指定端口号范围。有几种方式来使用范围操作符“:”达到不同的目的。

    5.5 方向操作符(direction operator)

    方向操作符“->”表示数据包的流向。

    它左边是数据包的源地址和源端口,右边是目的地址和端口。

    此外,还有一个双向操作符“<>”,它使Snort对这条规则中两个IP地址/端口之间双向的数据传输进行记录分析。

    5.6 activate/dynamic规则

    activate/dynamic规则对扩展了snort功能。

    使用activate/dynamic规则对,能够使用一条规则激活另一条规则。

    当一条特定的规则启动,如果想要snort接着对符合条件的数据包进行记录时,使用activate/dynamic规则对非常方便。

    除了一个必需的选项activates外,激活规则(activate rule)非常类似于报警规则(alert rule)。

    动态规则(dynamic rule)和日志规则(log rule)也很相似,不过它需要一个选项:activated_by。

    动态规则还需要另一个选项:count。

    当一个激活规则启动,它就打开由activate/activated_by选项之后的数字指示的动态规则,记录count个数据包。

    6.Snort规则应用举例

    6.1 PHPUpload溢出攻击的检测

    PHP语言为用户提供了上传文件的功能,用户可以使用提供的类进行各类文件、档案的上传功能传送数据给服务器。

    6.2 SNMP口令溢出漏洞规则

    简单网络管理协议(SNMP)是所有基于TCP/IP网络上管理不同网络设备的基本协议,比如防火墙、计算机和路由器。

    现在已经发现,如果攻击者发送怀有恶意信息给SNMP的信息接收处理模块,就会引起服务停止(拒绝服务)或缓冲区溢出;或者说通过向运行SNMP服务的系统发送一个畸形的管理请求,此时就存在一个缓冲区溢出漏洞,或者造成拒绝服务影响。

    一旦缓冲区溢出,可以获取部分SNMP口令、在本地运行任意的代码以及让攻击者进行任意的操作。

    因为SNMP的程序一般需要系统权限来运行,因此缓冲区溢出攻击可能会造成系统权限被夺取,而形成严重的安全漏洞。

    6.3 /etc/passwd文件非法访问的检测规则

    在Linux系统中,/etc/passwd是一个重要的文件,它包含用户名、组成员关系和为用户分配的shell等信息。

    黑客或者不法用户一旦获得了该文件的访问权,就有可能针对该文件进行暴力攻击或者是字典攻击,获得系统的用户和密码,从而获得了系统的使用权,将对系统造成极大的威胁。

    因而,我们须要对/etc/passwd 文件的访问进行检测。

    Processed: 0.010, SQL: 8