Linux服务器构建与运维管理 第7章:系统安全 阮晓龙 13938213680/ rxI@hactcmeducn http://linux.xg.hactcm.edu.cn http://www.5lxueweb.cn 河南中医药大学管理科学与工程学科 018.5
Linux服务器构建与运维管理 第7章:系统安全 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://linux.xg.hactcm.edu.cn http://www.51xueweb.cn 河南中医药大学管理科学与工程学科 2018.5 1
2 提纲 口系统安全 SELinux SELinux框架 ■ SELinux文件 SELinux配置管理 口防火墙 Linux防火墙 iptables 系统安全检测工具 安全审计工具:Nmap 入侵检测工具: snort、last、 lastb、 lastlog、 history 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 提纲 系统安全 SELinux SELinux框架 SELinux文件 SELinux配置管理 防火墙 Linux防火墙 iptables 系统安全检测工具 安全审计工具:Nmap 入侵检测工具:snort、last、lastb、lastlog、history 2
3 1系统安全 1.1目前存在的安全隐患 □ Linux是一个开放式操作系统,许多现成的程序或工具对 LInux操作系 统进行管理,使得潜入Linx更容易。 Linux目前存在如下安全隐患。 ■操作系统进行文件操作时可大致分为读、写和执行三种。 口一些系统文件一旦可写,就可能会被任意修改。在 Linux中,有许多重要文件 如/bin/ogin)如果被入侵者修改,那么入侵者就可以随意侵入系统 进程终止后其运行时使用的内存等资源未能重置或清空,入侵者可能通过 未重置或清空资源获取信息,造成信息泄露。 重要进程不受保护。 Linux中有些重要进程(如VEB服务器守护进程),并 没有得到操作系统的严格保护,非常容易受到入侵者的破坏。 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.系统安全 3 1.1目前存在的安全隐患 Linux是一个开放式操作系统,许多现成的程序或工具对Linux操作系 统进行管理,使得潜入Linux更容易。Linux目前存在如下安全隐患。 操作系统进行文件操作时可大致分为读、写和执行三种。 一些系统文件一旦可写,就可能会被任意修改。在Linux中,有许多重要文件 (如/bin/login)如果被入侵者修改,那么入侵者就可以随意侵入系统。 进程终止后其运行时使用的内存等资源未能重置或清空,入侵者可能通过 未重置或清空资源获取信息,造成信息泄露。 重要进程不受保护。Linux中有些重要进程(如VJEB服务器守护进程),并 没有得到操作系统的严格保护,非常容易受到入侵者的破坏
1系统安全 1.1目前存在的安全隐患 □ Linux是一个开放式操作系统,许多现成的程序或工具对 LInux操作系 统进行管理,使得潜入Linx更容易。 Linux目前存在如下安全隐患。 ■服务性攻击。 口网络中存在的服务性攻击越来越多,如众所周知的smur攻击,如果某台服务器 将大量含有虚假源地址的ICMP包发送到一个或多个服务器上,那么在一个多路 广播的网络中,会导致多个服务器分别响应每一个CMP包,使整个网络中充满 广播包,导致操作系统忙于应答。 扫描工具恶意攻击 ¤扫描工具可以对系统进行扫描,检测服务器是否存在安全漏洞,尽管其本身不 进行攻击,但是它可以被入侵者配置成自动攻击的脚本进行攻击,具有很高的 安全隐患 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.系统安全 4 1.1目前存在的安全隐患 Linux是一个开放式操作系统,许多现成的程序或工具对Linux操作系 统进行管理,使得潜入Linux更容易。Linux目前存在如下安全隐患。 服务性攻击。 网络中存在的服务性攻击越来越多,如众所周知的smurf攻击,如果某台服务器 将大量含有虚假源地址的ICMP包发送到一个或多个服务器上,那么在一个多路 广播的网络中,会导致多个服务器分别响应每一个ICMP包,使整个网络中充满 广播包,导致操作系统忙于应答。 扫描工具恶意攻击。 扫描工具可以对系统进行扫描,检测服务器是否存在安全漏洞,尽管其本身不 进行攻击,但是它可以被入侵者配置成自动攻击的脚本进行攻击,具有很高的 安全隐患
1系统安全 12 Linux安全机制 口 Linux内置多种安全保护机制。 PAM机制。 口PAM( Pluggable Authentication Modules)是一套共享库,其目的是提供一个 框架和一套编程接口,将认证工作由程序员交给管理员,PAM允许管理员在多 种认证方法之问进行选择,它能够在不重新编译与认证相关的应用程序的情况 下改变本地认证方法。 安全审计机制。 ¤即使运维人员在 Linux中采取了各种安全措施,但还会被发现一些新的漏洞。入 侵者可以在漏洞被修补之前攻破尽可能多的服务器。虽然Linu不能预测何时服 务器会受到攻击,但是它可以记录入侵者的行踪。同时记录事件信息和网络连 接情况,这些信息将保存到日志列表中为后续进行复查提供支持 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.系统安全 5 1.2 Linux安全机制 Linux内置多种安全保护机制。 PAM机制。 PAM(Pluggable Authentication Modules)是一套共享库,其目的是提供一个 框架和一套编程接口,将认证工作由程序员交给管理员,PAM允许管理员在多 种认证方法之间进行选择,它能够在不重新编译与认证相关的应用程序的情况 下改变本地认证方法。 安全审计机制。 即使运维人员在Linux中采取了各种安全措施,但还会被发现一些新的漏洞。入 侵者可以在漏洞被修补之前攻破尽可能多的服务器。虽然Linux不能预测何时服 务器会受到攻击,但是它可以记录入侵者的行踪。同时记录事件信息和网络连 接情况,这些信息将保存到日志列表中为后续进行复查提供支持
6 1系统安全 12 Linux安全机制 口 Linux内置多种安全保护机制。 强制访问控制机制。 口强制访问控制(MAC, Mandatory Access Control)是一种由系统管理员从全 系统的角度定义和实施的访问控制机制,它通过标记系统中的主客体,强制性 地限制信息的共享和流动,使不同的用户只能访问到与其相关的、指定范围的 信息,从根本上防止信息泄密和访问混乱的现象。 防火墙机制。 ¤防火墙是在被保护服务器和互联网之间,或者在其他网络之间限制访问的—种 部件或一系列部件,通过配置防火墙的访问控制、审计以及抗攻击等功能,可 以保障服务器自身的安全性。 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.系统安全 6 1.2 Linux安全机制 Linux内置多种安全保护机制。 强制访问控制机制。 强制访问控制(MAC,Mandatory Access Control)是一种由系统管理员从全 系统的角度定义和实施的访问控制机制,它通过标记系统中的主客体,强制性 地限制信息的共享和流动,使不同的用户只能访问到与其相关的、指定范围的 信息,从根本上防止信息泄密和访问混乱的现象。 防火墙机制。 防火墙是在被保护服务器和互联网之间,或者在其他网络之间限制访问的一种 部件或一系列部件,通过配置防火墙的访问控制、审计以及抗攻击等功能,可 以保障服务器自身的安全性
2 seLinux 21 SELinux简介 SELinux( Security- Enhanced linux)是基于 Linux内核的强制访问控制 机制的实现,是由美国国家安全局(NAS)开发的项目,旨在增强传 统 Linux操作系统的安全性。 SELinux起源于1980年开始的微内核和操作系统安全的硏究,这两条研 究线路最后形成了分布式信任计算机( DTMach, Distribute trusted Mach)的项目,并融合了之前研究项目的成果 口美国国家安全局的研究组织参加了 DTMach项目,付出了巨大努力, 并且继续参与了大量的后续安全微内核项目。最终引发了一个新的项 目产生,即Fask,它支持更丰富的动态类型的强制机制。 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2. SELinux 7 2.1 SELinux简介 SELinux(Security-Enhanced Linux)是基于Linux内核的强制访问控制 机制的实现,是由美国国家安全局(NAS)开发的项目,旨在增强传 统Linux操作系统的安全性。 SELinux起源于1980年开始的微内核和操作系统安全的研究,这两条研 究线路最后形成了分布式信任计算机(DTMach,Distribute Trusted Mach)的项目,并融合了之前研究项目的成果。 美国国家安全局的研究组织参加了DTMach项目,付出了巨大努力, 并且继续参与了大量的后续安全微内核项目。最终引发了一个新的项 目产生,即Flask,它支持更丰富的动态类型的强制机制
8 2 seLinux 21 SELinux简介 口美国国家安全局认为需要通过社区推广Fask,并广泛收集使用意见。 1999年夏天,美国国家安全局在 Linux内核中实现Fask安全架构 ■2000年12月,美国国家安全局发布研究的第一个公共版本,叫做安全增强的 Linux。 因为是在主流的操作系统中实现的,所以 SeLinux开始受到Linu社区的注意, SELina燝最早是在Linuⅹ2.2.x内核中以一套内核补丁的形式发布的。 口美国国家安全局在2001年的 Linux核心高峰会上,以普通Lnux为基础 架构提出了 SeLinux并使用较具有弹性的MAC和Fask架构,将 ALinux安 全等级提升至B1,同时具有资料标记与强制存取控制的功能,号称是 最安全的 Linux操作系统 ■ SELinux可以被用来限制程序的最小执行权限,提高程序安全,从而保护程序和资料 的完整性和机密性。 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2. SELinux 8 2.1 SELinux简介 美国国家安全局认为需要通过社区推广Flask,并广泛收集使用意见。 1999年夏天,美国国家安全局在Linux内核中实现Flask安全架构。 2000年12月,美国国家安全局发布研究的第一个公共版本,叫做安全增强的Linux。 因为是在主流的操作系统中实现的,所以SELinux开始受到Linux社区的注意, SELinux最早是在Linux 2.2.x内核中以一套内核补丁的形式发布的。 美国国家安全局在2001年的Linux核心高峰会上,以普通Linux为基础 架构提出了SELinux并使用较具有弹性的MAC和Flask架构,将Linux安 全等级提升至B1,同时具有资料标记与强制存取控制的功能,号称是 最安全的Linux操作系统。 SELinux可以被用来限制程序的最小执行权限,提高程序安全,从而保护程序和资料 的完整性和机密性
9 2 seLinux 21 SELinux简介 ¤目前所有25及以上版本的 Linux内核中都集成了 SeLinux。 口使用 SeLinux后,操作系统中的文件、目录、设备甚至端口都将作为 对象”,而用户运行的进程则被当做“主题 口一个主题”(进程)不能直接访问到任何“对象”(文件、目录、设备甚 至端口),需要经过以下如图所示步骤。 推绝 允许 文件、目录等对 操作系统 Linux 对象 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2. SELinux 9 2.1 SELinux简介 目前所有2.6及以上版本的Linux内核中都集成了SELinux。 使用SELinux后,操作系统中的文件、目录、设备甚至端口都将作为 “对象”,而用户运行的进程则被当做“主题” 。 一个“主题”(进程)不能直接访问到任何“对象”(文件、目录、设备甚 至端口),需要经过以下如图所示步骤
10 2 seLinux 22 SELinux术语 口身份: 在 SELinux中,身份( identity)的概念不同于传统的 UNIX uid( user id)。 它们可以共存于一个操作系统,但却是不同的概念。 在 SELinux中身份是安全上下文的一部分,它会影响到哪个域可以进入 个 SeLinux的身份会跟标准的UNⅨX登录名有很相似的文本标识,但它们是 两个完全不同的概念,如运行5u命令将不会改变 SELinux中的身份。 角色 ■角色决定了哪些域可以使用。有关哪些域被哪些角色使用可以预先定义在 策略的配置文件中。 如果一个策略数据库中定义了一个角色不可以使用一个域,它将被拒绝。 河南中医药大学/阮晓龙/13938213680/http://linux.xg.hactcm.edu.cn/http:/www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2. SELinux 10 2.2 SELinux术语 身份: 在SELinux中,身份(identity)的概念不同于传统的UNIX uid(user id)。 它们可以共存于一个操作系统,但却是不同的概念。 在SELinux中身份是安全上下文的一部分,它会影响到哪个域可以进入。一 个SELinux的身份会跟标准的UNIX登录名有很相似的文本标识,但它们是 两个完全不同的概念,如运行su命令将不会改变SELinux中的身份。 角色: 角色决定了哪些域可以使用。有关哪些域被哪些角色使用可以预先定义在 策略的配置文件中。 如果一个策略数据库中定义了一个角色不可以使用一个域,它将被拒绝