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