CISP-UNIX操作系统安全课件_第1页
CISP-UNIX操作系统安全课件_第2页
CISP-UNIX操作系统安全课件_第3页
CISP-UNIX操作系统安全课件_第4页
CISP-UNIX操作系统安全课件_第5页
已阅读5页,还剩307页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CNITSEC11:47:041UNIX操作系统安全中国信息安全测评中心2022年12月19日CNITSEC22:51:211UNIX操作系统安全2课程目的了解UNIX系统的安全性增强安全意识提高UNIX系统安全性2课程目的了解UNIX系统的安全性3主要内容操作系统安全UNIX系统原理UNIX系统安全机制UNIX系统安全问题如何加强UNIX系统安全性总结3主要内容操作系统安全4一、操作系统安全安全性安全威胁安全特征4一、操作系统安全安全性5一、操作系统安全安全性安全威胁安全度量5一、操作系统安全安全性6安全性保密性完整性可用性6安全性保密性7一、操作系统安全安全性安全威胁安全度量7一、操作系统安全安全性安全威胁威胁:对安全的潜在破坏泄露:对信息的非授权访问欺骗:虚假数据被接收破坏:中断或者妨碍正常操作篡夺:对系统某些部分的非授权控制攻击:导致破坏发生的行为8安全威胁威胁:对安全的潜在破坏8SOS安全威胁安全威胁的来源计算机结构上的安全缺陷操作系统的不安全性网络协议的不安全性人的问题9SOS安全威胁安全威胁的来源9安全威胁操作系统面临的安全威胁保密性威胁完整性威胁可用性威胁10安全威胁操作系统面临的安全威胁10保密性威胁信息的保密性:信息的隐藏目的是让信息对非授权的用户不可见主要来源于计算机在敏感领域的使用军事应用企业应用保密性也指保护数据的存在性存在性有时候比数据本身更能暴露信息保密性威胁主要是信息泄露11保密性威胁信息的保密性:信息的隐藏11保密性威胁方式嗅探(窃听):对信息的非法拦截,是某种形式的信息泄露木马和后门间谍软件隐通道12保密性威胁方式嗅探(窃听):12完整性威胁信息的完整性指的是信息的可信程度。具有完整性的信息应该是没有经过非法的或者是未经授权的数据改变。包括信息内容的完整性信息来源的完整性:如何获取信息和从何处获取信息完整性被破坏的信息是不可信的信息被非法改变了信息的来源改变了13完整性威胁信息的完整性指的是信息的可信程度。13完整性威胁方式破坏和欺骗。破坏。数据遭到破坏后,其内容就可能会发生非正常改变,破坏了信息内容的完整性。数据被破坏后,会中断或妨碍正常操作。病毒。绝大部分病毒都会对信息内容的完整性产生危害。安全操作系统设计过程中,要考虑如何有效地减少病毒对OS的安全威胁14完整性威胁方式破坏和欺骗。14完整性威胁方式欺骗:接收到虚假的数据或信息。用户或程序可能会根据虚假的数据做错误的反应。有的用户可能会接收或发布不正确的信息。例如,假冒的网站。

特点:网址和页面均与真网站相似。

常见假冒各种银行的网站。15完整性威胁方式欺骗:接收到虚假的数据或信息。用户或程序可能会可用性威胁可用性是指对信息或资源的期望使用能力。是系统可靠性与系统设计中的一个重要方面。一个不可用的系统还不如没有系统拒绝服务攻击DoS(Denialofservice)

企图破坏系统的可用性的攻击DoS目的:使计算机或网络无法提供正常的服务可能发生在服务器的源端可能发生在服务器的目的端可能发生在中间路径16可用性威胁可用性是指对信息或资源的期望使用能力。是系统可靠性可用性威胁方式最常见的拒绝服务攻击计算机网络带宽攻击

以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过连通性攻击

用大量的链接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求17可用性威胁方式最常见的拒绝服务攻击17可用性威胁方式计算机软件设计实现中的疏漏操作系统功能越来越复杂,规模越来越庞大每千行代码的bug,5~50个之间Linux从发布到2.4.17的源码行数变化18可用性威胁方式计算机软件设计实现中的疏漏Linux从发布到219一、操作系统安全安全性安全威胁安全度量19一、操作系统安全安全性安全度量度量标准:TCSEC"TrustedComputerSystemEvaluationCriteria"(1985)历史上第一个计算机安全评价标准在基于安全核技术的安全操作系统研究的基础上制定出来系统安全程度的七个等级:(D1、C1、C2、B1、B2、B3、A1)20安全度量度量标准:TCSEC20安全度量安全级别描述D最低的级别。如MS-DOS计算机,没有安全性可言C1自主安全保护。系统不需要区分用户。可提供根本的访问控制。大部分UNIX达到此标准。C2可控访问保护。系统可通过注册过程、与安全相关事件的审计以及资源隔离等措施,使用户对他们的活动分别负责。NT属于C2级的系统B1标记安全保护。系统提供更多的保护措施包括各式的安全级别。如AT&T的SYSTEMV和UNIXwithMLS以及IBMMVS/ESAB2结构化保护。支持硬件保护。内容区被虚拟分割并严格保护。如TrustedXENIXandHoneywellMULTICSB3安全域。提出数据隐藏和分层,阻止层之间的交互。如HoneywellXTS-200A校验级设计。需要严格的准确的证明系统不会被危害。如HoneywellSCOMP安全度量安全级别描述D最低的级别。如MS-DOS计算机,没有安全度量D级:用来标识那些不能达到其他6个等级中任意等级需求的产品自主保护C1:只有身份识别、身份认证需求和自主访问控制需求;安全保障需求也只有测试需求和文档需求,1986年后,不再加以评估受控访问保护C2:C1;客体重用;审计;严格的安全测试需求。是商业产品最常用的等级。22安全度量D级:用来标识那些不能达到其他6个等级中任意等级需求安全度量标签安全保护B1:增加强制访问控制,可以限定在特定的一组客体中。标签支持MAC的实现,安全测试需求更严格;需要一个非形式化的安全策略模型,该模型与相关公理的一致性必须得到说明。大多数操作系统软件商都提供B1级的产品,但在技术上往往落后于主流产品23安全度量标签安全保护B1:增加强制访问控制,可以限定在特定的安全度量结构化保护B2:某些政府应用程序可接受的等级。要求对所有客体进行MAC。扩展标签;引入登录可信路径;最小授权;安全保障中要包含隐通道分析、配置管理需求、更加严格的文档需求以及形式化的安全策略模型及其与相关公理的一致性证明24安全度量结构化保护B2:某些政府应用程序可接受的等级。要求对安全度量安全域B3,实现了完整的参考验证机制。增强了可信路径需求,限制了代码的开发过程。更严格的测试需求、更多关于DTLS(描述性的高层规范)的需求、管理者指南以及设计文档验证保护A:功能需求同B3,但安全保障需求不同。要求在隐通道分析、设计会犯以及验证过程中,有效的使用形式化方法,还要包括可信发布,更严格的测试和设计文档需求,还要求代码与FTLS(形式化的高层规范)保持一致。25安全度量安全域B3,实现了完整的参考验证机制。增强了可信路径UNIX系统的安全特征按照可信计算机评价标准(TCSEC)达到C2级访问控制对象的可用性个人身份标识与认证审计记录操作的可靠性26UNIX系统的安全特征按照可信计算机评价标准(TCSEC)达系统为什么不安全网络建设非常迅猛,较少考虑安全问题缺乏安全知识和意识,对安全不够重视部分安全产品及工具不能完全自动处理安全漏洞和威胁缺乏专门的安全管理人员各种网络协议及应用方面的缺陷其它原因27系统为什么不安全网络建设非常迅猛,较少考虑安全问题27绝对安全的OS是不存在的,只能尽可能地减少OS本身的漏洞需要在设计时就以安全理论作指导,始终贯穿正确的安全原则在使用时要正确使用安全配置,提高系统安全性28绝对安全的OS是不存在的,只能尽可能地减少OS本身的漏洞2829二、UNIX系统原理UNIX系统发展历史UNIX系统启动过程UNIX系统结构29二、UNIX系统原理UNIX系统发展历史30二、UNIX系统原理UNIX系统发展历史UNIX系统启动过程UNIX系统结构30二、UNIX系统原理UNIX系统发展历史31UNIX后门1970198331UNIX后门197032UNIX系统发展历史KenThompson32UNIX系统发展历史KenThompson33UNIX系统发展历史MulticsMULTiplexedInformationandComputingSystem:多路信息计算系统

UNICSUNiplexed

Information

and

ComputingSystemUNIX后来做了一下改动,称为UNIX。1969年到197033UNIX系统发展历史Multics34UNIX系统发展历史DennisM.Ritchie34UNIX系统发展历史DennisM.Ritchie35UNIX系统发展历史35UNIX系统发展历史UNIX系统发展历史36UNIX系统发展历史3637Linux的官方定义:“Linux是一种UNIX操作系统的克隆,它(的内核)由LinusTorvalds以及网络上组织松散的黑客队伍一起从零开始编写而成。Linux的目标是保持和POSIX的兼容。”LINUX是一个可独立运作的POSIX兼容操作系统,它也包含了SYSV和BSD的功能。它完全是独立发展的,其中没有包含任何有版权问题的代码。LINUX可以在符合GNUPublicLicense的情况下自由传播。Linux3737Linux的官方定义:“Linux是一种UNIXKernel+cmds/libs+apps+installer=aDISTROLinux38KernelLinux3839UNIXMinixLinuxRichard.StallmanDennis.RitchieKen.ThompsonAndrews.TanenbaumLinux3939UNIXMinixLinuxRichard.Stallm40Minix操作系统

GNU计划

POSIX标准

Linux内核的诞生

Linux

Linux发展背景4040Minix操作系统Linux发展背景4041内核版本内核版本发展史:1.0—2.0—2.2—2.4—2.6发行版本如Ubuntu、Fedora、Redhat、TurboLinux、中科红旗等。

Linux版本4141内核版本Linux版本4142二、UNIX系统原理UNIX系统发展历史UNIX系统启动过程UNIX系统结构42二、UNIX系统原理UNIX系统发展历史UNIX系统启动过程Solaris的启动过程

系统自检、显示系统信息、读取启动设备的0扇区、在启动设备寻找启动程序、加载启动程序、启动内核、当系统内核运行完毕,加载好所有的驱动之后,就会把控制权移交给/sbin/init进程,也就是所有进程的父进程,然后由init读取/etc/inittab,依次执行/etc/rc1(2,3)启动脚本,最终到达inittab中指定的默认运行级别。

43UNIX系统启动过程Solaris的启动过程

系统自检UNIX系统启动过程solaris系统在多用户模式下的启动过程Init0→Init1→Init2→Init3init0/openboot模式:引导内核,加载硬件驱动,此时可以选择从cdrom引导进入维护模式。init1/单用户模式:(加载/分区)登陆进入维护模式,或按Ctrl+D进入多用户模式init2/网络工作站模式:(连接网络,运行网络工作站服务)运行/etc/rc2脚本连接网络,启动S69inet服务,运行部分inetd网络服务init3/网络服务器模式:(运行各种网络服务)运行/etc/rc3脚本启动网络服务器44UNIX系统启动过程solaris系统在多用户模式下的启动过Linux启动过程45Linux启动过程45init的进程号是1,从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序。init程序需要读取配置文件/etc/inittabinittab是一个不可执行的文本文件,它有若干行指令所组成。Linux启动过程46init的进程号是1,从这一点就能看出,init进程是系统所/etc/inittab文件内容:#TherunlevelsusedbyRHSare:

#

0-halt(DoNOTsetinitdefaulttothis)

#

1-Singleusermode

#

2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)

#

3-Fullmultiusermode

#

4-unused

#

5-X11

#

6-reboot(DoNOTsetinitdefaulttothis)

#

#表示当前缺省运行级别为5(initdefault);

id:5:initdefault:Linux启动过程47/etc/inittab文件内容:Linux启动过程47#启动时自动执行/etc/rc.d/rc.sysinit脚本#Systeminitialization.

si::sysinit:/etc/rc.d/rc.sysinit

rc.sysinit是一个bashshell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。rc.sysinit约有850多行,但是每个单一的功能还是比较简单,而且带有注释,建议大家阅读自己机器上的该文件,以了解系统初始化所详细情况。Linux启动过程48#启动时自动执行/etc/rc.d/rc.sysinit脚本

l0:0:wait:/etc/rc.d/rc0

l1:1:wait:/etc/rc.d/rc1

l2:2:wait:/etc/rc.d/rc2

l3:3:wait:/etc/rc.d/rc3

l4:4:wait:/etc/rc.d/rc4

l5:5:wait:/etc/rc.d/rc5

l6:6:wait:/etc/rc.d/rc6#当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,init将等待其返回(wait)

Linux启动过程49l0:0:wait:/etc/rc.d/rc0

/etc/rc.d/rc是一个Shell脚本,它接受5作为参数,去执行/etc/rc.d/rc5.d/目录下的所有的rc启动脚本/etc/rc.d/rc5.d/目录中的这些启动脚本实际上都是一些链接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。Linux启动过程50/etc/rc.d/rc是一个Shell脚本,它接受5作为参rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。通过按Alt+Fn(n对应1-6)可以在这6个终端中切换。在inittab中的以下6行就是定义了6个终端:

1:2345:respawn:/sbin/mingettytty1

2:2345:respawn:/sbin/mingettytty2

3:2345:respawn:/sbin/mingettytty3

4:2345:respawn:/sbin/mingettytty4

5:2345:respawn:/sbin/mingettytty5

6:2345:respawn:/sbin/mingettytty6Linux启动过程51rc执行完毕后,返回init。这时基本系统环境已经设置好了,启动过程启动过程类似于UNIX,但在Linux中,系统运行级别是并行式的,也就是系统加载完内核和mount/文件系统之后,就会直接跳转到相应的默认运行级别。在Solaris中,采取了一种串行化的引导方式。52启动过程启动过程类似于UNIX,但在Linux中,系统运行级53二、UNIX系统原理UNIX系统发展历史UNIX系统启动过程UNIX系统结构系统框架文件系统网络服务53二、UNIX系统原理UNIX系统发展历史UNIX系统框架54UNIX系统框架54UNIX系统框架55UNIX系统框架55UNIX系统框架56UNIX系统框架56UNIX内核结构57UNIX内核结构57UNIX文件系统58UNIX文件系统58UNIX文件系统类型正规文件:(ASCII文本文件,二进制数据文件,二进制可执行文件等)目录特殊文件(如块设备文件等)链接(软链接、硬链接)Sockets(进程间通信时使用的特殊文件,以.sock结尾)59UNIX文件系统类型正规文件:(ASCII文本文件,二进制数UNIX文件系统的权限#ls–altest drwxr-xr-x3rootroot1024Sep1311:58test在unix中用模式位表示文件的类型及权限 通常由一列10个字符来表示,每个字符表示一个模式设置第1位:表示文件类型。d表示目录,-表示普通文件,l表示链接文件等等

每个文件和目录有三组权限,一组是文件的拥有者、一组是文件所属组的成员、一组是其他所有用户。

第2-10位:表示文件权限"r"表示可读,"w"表示可写,"x"表示可执行。一共9位(每组3位),合起来称为模式位(modebits)

60UNIX文件系统的权限#ls–altest60UNIX系统网络服务一些重要的文件说明/etc/inetd.conf /etc/inetd.conf决定inetd启动网络服务时,启动哪些服务,用什么命令启动这些服务,以及这些服务的相关信息

/etc/service /etc/services文件记录一些常用的接口及其所提供的服务的对应关系。/etc/protocols /etc/protocols文件记录协议名及其端口的关系。61UNIX系统网络服务一些重要的文件说明61UNIX系统网络服务/etc/Rc*.d /etc/inittab定义了系统缺省运行级别,系统进入新运行级别需要做什么/etc/init.d /etc/init.d目录包含了系统的一些启动脚本62UNIX系统网络服务/etc/Rc*.d62Inetd服务#more/etc/inetd.conf#systatstreamtcpnowaitroot/usr/bin/psps-ef#系统进程监控服务,允许远程察看进程#netstatstreamtcpnowaitroot/usr/bin/netstatnetstat-finet#网络状态监控服务,允许远程察看网络状态#timestreamtcp6nowaitrootinternal#timedgramudp6waitrootinternal#网络时间服务,允许远程察看系统时间#echostreamtcp6nowaitrootinternal#echodgramudp6waitrootinternal#网络测试服务,回显字符串63Inetd服务#more/etc/inetd.conf63Inetd服务#namedgramudpwaitroot/usr/sbin/in.tnamedin.tnamed#named,DNS服务器#telnetstreamtcp6nowaitroot/usr/sbin/in.telnetdin.telnetd#telnet服务器#ftpstreamtcp6nowaitroot/usr/sbin/in.ftpdin.ftpd-a#ftp服务器64Inetd服务#namedgramudp/etc/servicesmore/etc/services#Networkservices,Internetstyle#tcpmux1/tcpecho7/tcpecho7/udpdiscard9/tcpsinknulldiscard9/udpsinknullsystat11/tcpusersdaytime13/tcpdaytime13/udpnetstat15/tcp65/etc/servicesmore/etc/service/etc/serviceschargen19/tcpttytstsourcechargen19/udpttytstsourceftp-data20/tcpftp21/tcpssh22/tcp#SecureShelltelnet23/tcpsmtp25/tcpmailtime37/tcptimservertime37/udptimservername42/udpnameserverdomain53/udpdomain53/tcp66/etc/serviceschargen167三、UNIX系统安全机制身份验证访问控制网络服务安全备份/恢复日志系统内核安全技术67三、UNIX系统安全机制身份验证68三、UNIX系统安全机制身份验证访问控制网络服务安全备份/恢复日志系统内核安全技术68三、UNIX系统安全机制身份验证身份验证Linux系统登录过程Linux帐号管理PAM安全验证机制69身份验证Linux系统登录过程69Linux系统登录过程基于用户名和口令通过终端登录Linux的过程:Init进程确保为每个终端连接(或虚拟终端)运行一个getty进程,getty进程监听对应的终端并等待用户登录Getty输出一条欢迎信息(此欢迎信息保存在/etc/issue文件中),并提示用户输入用户名,接着getty激活loginlogin要求用户输入口令,并根据系统中的etc/passwd文件来检查用户名和口令的一致性若一致,启动一个shell;否则login进程推出,进程终止Init进程注意到login进程终止,则会再次为该终端启动getty进程70Linux系统登录过程基于用户名和口令70身份验证Linux系统登录过程Linux帐号管理PAM安全验证机制71身份验证Linux系统登录过程71Linux帐号管理口令文件/etc/passwd/etc/passwd文件用于存放用户的基本信息每个账户在该文件中有拥有一个相应的条目72Linux帐号管理口令文件/etc/passwd72/etc/passwd举例73/etc/passwd举例73/etc/passwd中条目定义登录帐号:密码域:UID:GID:用户信息:主目录:用户shell登录帐号:即用户的登录名密码域:口令被加密后的密文UID,用户ID,为0~MAXINT-1之间的一个整数GID,组ID,来自/etc/group,为0~MAXINT-1之间的一个整数用户信息,用于标识诸如用户的全名、位置和电话号码等信息,可以不设置主目录,为用户的起始登录目录,如/home/chenxl用户shell,用户登录后所用的shell路径名,如/bin/sh74/etc/passwd中条目定义登录帐号:密码域:UID:G用户可以修改口令条目中的部分信息:命令passwd:更改口令命令chfn:更改第五个字段中的用户信息命令chsh:更改第七个字段,shell路径名其余的字段由系统管理员设置75用户可以修改口令条目中的部分信息:75身份验证Linux系统登录过程Linux帐号管理文件PAM安全验证机制76身份验证Linux系统登录过程76PAM安全验证机制PluggableAuthenticationModules目的:提供一个框架和一套编程接口,将认证工作由程序员交给管理员允许管理员在多种认证方法之间做出选择,能够改变本地认证方法而不需要重新编译与认证相关的应用程序以共享库的形式提供77PAM安全验证机制PluggableAuthenticatPAM安全验证机制功能包括:加密口令(包括DES和其他加密算法)对用户进行资源限制,防止DOS攻击允许随意Shadow口令限制特定用户在指定时间从指定地点登录引入概念“clientplug-inagents”,使PAM支持C/S应用中的机器78PAM安全验证机制功能包括:7879三、UNIX系统安全机制身份验证访问控制网络服务安全备份/恢复日志系统内核安全技术79三、UNIX系统安全机制身份验证特权管理Linux继承了传统Unix的特权管理机制,即基于超级用户的特权管理机制。基本思想:1)普通用户没有任何特权,超级用户拥有系统内所有的特权2)当进程要进行某特权操作时,系统检查进程所代表的用户是否为超级用户,即检查进程的UID是否为03)当普通用户的某些操作涉及特权操作时,通过setuid/setgid来实现缺点:容易被hacker利用从2.1版开始,Linux内核中实现了基于权能的特权管理机制80特权管理Linux继承了传统Unix的特权管理机制,即基于超Linux基于权限字的文件系统访问控制在Linux中,所有的活动都可以看成是主体对客体的一系列操作客体:一种信息实体,或是从其他主体/客体接受信息的实体如文件、内存、进程消息、网络包或者I/O设备主体:一个用户或者代表用户的进程,它引起信息在客体之间的流动81Linux基于权限字的文件系统访问控制在Linux中,所有的Linux中自主访问控制机制的基本思想系统中每个主体都有唯一的UID,并且总是属于某一个用户组,而每个用户组有唯一的GID对客体的访问权限:r/w/x三种。针对某客体,用户:u/g/o三种。上述信息构成一个访问控制矩阵82Linux中自主访问控制机制的基本思想系统中每个主体都有唯一setuid/setgid为维护系统的安全性,对于某些客体,普通用户不应具有某种访问权限,但是出于某些特殊需要,用户由必须能超越对这些客体的受限访问例如,对/etc/passwd文件,用户不具有写访问权限,但又必须允许用户能够修改该文件,以修改自己的密码。setuid/setgid使得代表普通用户的进程不继承用户的uid和gid,而是继承该进程所对应的应用程序文件的所有者的uid和gid,即普通用户暂时获得其他用户身份,并通过该身份访问客体83setuid/setgid为维护系统的安全性,对于某些客体,84三、UNIX系统安全机制身份验证访问控制网络服务安全备份/恢复日志系统内核安全技术84三、UNIX系统安全机制身份验证Linux网络服务Linux的网络层次结构图85Linux网络服务Linux的网络层次结构图85早期的网络服务管理程序inetd/etc/rc.d/rc.local激活inetd根据/etc/inetd.conf监听处理客户连接应当禁止不需要的服务,降低风险86早期的网络服务管理程序inetd/etc/rc.d/rc.l扩展后的xinetd配置文件:/etc/xinetd.conf与前者完全不同,而且不兼容组合了下列文件/etc/inetd.conf/etc/hosts.allow/etc/hosts.deny87扩展后的xinetd配置文件:/etc/xinetd.con系统默认使用xinetd的服务标准internet服务,如http,telnet,ftp等信息服务,如finger,netstat,systat等邮件服务,如imap,pop3,smtp等RPC服务,如rquotad,rstatd,rusersd,sprayd,walld等BSD服务,如comsat,exec,login,ntalk,shelltalk等内部服务,如chargen,daytime,echo等安全服务,如irc等其他,如name,tftp,uucp,wu-ftp等88系统默认使用xinetd的服务标准internet服务,如h89三、UNIX系统安全机制身份验证访问控制网络服务安全备份/恢复日志系统内核安全技术89三、UNIX系统安全机制身份验证Linux备份/恢复备份技术脚本…一些商业化软件备份的存储设备远程网络设备、磁带驱动器、其他可移动媒体备份单位文件(目录)驱动器映像90Linux备份/恢复备份技术90Linux备份/恢复一般情况下,以下目录需要备份/etc/var/home/root/opt一般不需备份的/proc/dev等等91Linux备份/恢复一般情况下,以下目录需要备份9192三、UNIX系统安全机制身份验证访问控制网络服务安全备份/恢复日志系统内核安全技术92三、UNIX系统安全机制身份验证Linux日志系统记录和捕捉各种活动,包括黑客的活动系统记账连接记账:跟踪当前用户的会话、登录和退出的活动/var/log/utmp/var/log/wtmp进程记账:对进程活动的记录/var/log/pacct93Linux日志系统记录和捕捉各种活动,包括黑客的活动93安全审计Linux系统的审计机制,基本思想:审计事件分为系统事件和内核事件系统事件由审计服务进程syslogd来维护与管理配置文件:/etc/syslog.conf内核事件由内核审计线程klogd来维护与管理获得并记录Linux内核信息94安全审计Linux系统的审计机制,基本思想:9495三、UNIX系统安全机制身份验证访问控制网络服务安全备份/恢复日志系统内核安全技术95三、UNIX系统安全机制身份验证Linux内核安全技术可加载的内核模块LKMLinux的内核防火墙96Linux内核安全技术可加载的内核模块LKM96可加载的内核模块LKM早期,Monolithic的缺陷混杂,各组成部分之间的界限不明显可扩展性、可剪裁性差;需要重新编译Linux0.99,引入LKM

LoadableKernelModule内核功能动态扩充技术双刃剑威胁:内核级入侵97可加载的内核模块LKM早期,Monolithic的缺陷97Linux内核防火墙内核防火墙早期的ipfwadmIpchainsNetfilter/iptables组合98Linux内核防火墙内核防火墙98其他安全机制口令脆弱性警告口令有效期一次性口令口令加密算法影子文件帐户加锁限制性shell文件系统加载限制加密文件系统与透明加密文件系统根用户的限制安全shell防火墙入侵检测99其他安全机制口令脆弱性警告文件系统加载限制99100四、UNIX系统安全性问题启动威胁口令破解权限提升信息窍取系统崩溃拒绝服务其它100四、UNIX系统安全性问题启动威胁101五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级安全工具101五、如何加强UNIX系统安全性安全设置102五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级102五、如何加强UNIX系统安全性安全设置启动项安全设置BIOS的安全设置加密码LILO的安全配置设置权限#chmod600/etc/lilo.conf/etc/lilo.conf设置为不可变

#

chattr

+i

/etc/lilo.conf103启动项安全设置BIOS的安全设置103LILO的安全配置/etc/lilo.conf的例子

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=00

default=linux

image=/boot/vmlinuz-2.2.12-20 label=linux

root=/dev/hda1

read-only

restricted

password=kpAsSb0rv_f/etc/lilo.conf的例子

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=00

default=linux

image=/boot/vmlinuz-2.2.12-20 label=linux

root=/dev/hda1

read-only

restricted

password=kpAsSb0rv_f104LILO的安全配置/etc/lilo.conf的例子

bo105五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级105五、如何加强UNIX系统安全性安全设置linux账号安全设置一个合适的密码Root帐号安全性使root只能从console或者使用ssh登陆修改/etc/securetty,去除终端ttyp0-ttyp9请使用全路径执行命令不要允许有非root用户可写的目录存在root的路径里禁止root用户远程登录编辑文件/etc/pam.d/login,添加/etc/pam.d/loginauthrequiredpam_securetty.so106linux账号安全设置一个合适的密码106禁止root用户远程登录禁止root用户远程登录编辑文件/etc/pam.d/login,添加/etc/pam.d/loginauthrequiredpam_securetty.so107禁止root用户远程登录禁止root用户远程登录编辑文件/elinux账号安全密码长度的强制定义修改/etc/login.defs将PASS_MIN_LEN5改为PASS_MIN_LEN8

自动注销帐号的登录Vi/etc/profile

在"HISTFILESIZE="后面加入下面这行: TMOUT=3005分钟内都没有动作,那么系统会自动注销这个账户108linux账号安全密码长度的强制定义108linux账号安全使用PAM(可插拔认证模块)禁止任何人通过su命令改变为root#vi/etc/pam.d/su,在开头添加下面两行:authsufficient/lib/security/pam_rootok.soauthrequired/lib/security/Pam_wheel.sogroup=wheel#usermod–G10username这表明只有“wheel”组的成员可以使用su命令成为root用户109linux账号安全使用PAM(可插拔认证模块)禁止任何人通过linux账号安全删除不需要的特殊的帐号#userdeladm#userdellp#userdelsync#userdelshutdown#userdelhalt#userdelnews#userdeluucp#userdeloperator#userdelgopher110linux账号安全删除不需要的特殊的帐号110linux账号安全删除不需要的特殊的组[root@kcn]#groupdeladm[root@kcn]#groupdellp[root@kcn]#groupdelnews[root@kcn]#groupdeluucp[root@kcn]#groupdeldip[root@kcn]#groupdelpppusers[root@kcn]#groupdelpopusers(deletethisgroupifyoudon’tusepopserverforemail).[root@kcn]#groupdelslipusers111linux账号安全删除不需要的特殊的组111linux账号安全chattr命令给口令和组文件加上不可更改属性#chattr+i/etc/passwd#chattr+i/etc/shadow#chattr+i/etc/group#chattr+i/etc/gshadow112linux账号安全chattr命令给口令和组文件加上不可更改113五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级113五、如何加强UNIX系统安全性安全设置Linux系统服务安全设置防止IP欺骗修改“/etc/host.conf”文件,加入下面这行:

#LookupnamesviaDNSfirstthenfallbackto/etc/hosts.

orderbind,hosts

#WehavemachineswithmultipleIPaddresses.

multion

#CheckforIPaddressspoofing.

nospoofon

114Linux系统服务安全设置防止IP欺骗114Linux系统服务安全设置检查/etc/inetd.conf服务#chmod600/etc/inetd.conf#chattr+i/etc/inetd.conf关闭无用的服务取消下列服务中不需要的:ftp,telnet,shell,login,exec,talk,ntalk,imap,pop-2,pop-3,finger,auth等115Linux系统服务安全设置检查/etc/inetd.con116五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级116五、如何加强UNIX系统安全性安全设置IP关闭ip转发(或创建/etc/notrouter)#ndd–set/dev/ipip_forwarding0关闭转发包广播由于转发包广播在默认状态下是允许的,为了防止被用来实施smurf攻击,关闭这一特性。#ndd–set/dev/ipip-forward_directed_broadcasts0关闭源路由转发#ndd–set/dev/ipip_forward_src_routed0网络安全设置117IP网络安全设置117IP关闭响应echo广播#ndd–set/dev/ipip_respond_to_echo_broadcast0关闭响应时间戳广播#ndd–set/dev/ipip_respond_to_timestamp_broadcast0关闭地址掩码广播#ndd–set/dev/ipip_respind_to_address_mask_broadcast0#ndd–set/dev/ipip-forward_directed_broadcasts0关闭源路由转发#ndd–set/dev/ipip_forward_src_routed0网络安全设置118IP网络安全设置118网络安全设置ICMP防止ping在/etc/rc.d/rc.local文件中增加如下一行:echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all119网络安全设置ICMP119网络安全设置ARP攻击加固减少过期时间#ndd–set/dev/arparp_cleanup_interval60000#ndd-set/dev/ipip_ire_flush_interval60000默认是300000毫秒(5分钟)加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现ARP请求和回复请不要在繁忙的网络上使用。120网络安全设置ARP攻击加固120网络安全设置ARP攻击加固建立静态ARP编辑文件filename,内容如下:

08:00:20:ba:a1:f2

user.

08:00:20:ee:de:1f

这是一种很有效的方法,而且对系统影响不大。缺点是破坏了动态ARP协议使用arp–ffilename加载上述文件禁止ARPifconfiginterface–arp网卡不会发送ARP和接受ARP包。但是使用前提是使用静态的ARP表,如果不在apr表中的计算机,将不能通信。121网络安全设置ARP攻击加固121122五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级122五、如何加强UNIX系统安全性安全设置Linux其它安全配置使“/etc/services”文件免疫防止未经许可的删除或添加服务:

#chattr+i/etc/services限制root从不同的控制台进行登陆#Vi/etc/securetty在不需要登陆的TTY设备前添加“#”标志123Linux其它安全配置使“/etc/services”文件免Linux其它安全配置限制用户对系统资源的使用,防止DOS攻击编辑limits.conf文件(vi/etc/security/limits.conf)加入或改变下面这些行:*hardcore0 /*表示禁止创建core文件

*hardnproc20 /*进程数限制到20*hardrss5000 /*除root之外,其他用户都最多只能用5M内存124Linux其它安全配置限制用户对系统资源的使用,防止DOS攻Linux其它安全配置禁止Control-Alt-Delete键盘关闭命令在"/etc/inittab"文件中注释掉下面这行#ca::ctrlaltdel:/sbin/shutdown-t3-rnow

#/sbin/initq使这项改动生效。给"/etc/rc.d/init.d"下文件设置权限#chmod-R700/etc/rc.d/init.d/*表示只有root才允许读、写、执行该目录下的script文件125Linux其它安全配置禁止Control-Alt-DeletLinux其它安全配置隐藏系统信息#Vi/etc/rc.d/rc.local

在下面显示的这些行前加一个“#”,把输出信息的命令注释掉。

#Thiswilloverwrite/etc/issueateveryboot.So,makeanychangesyou#wanttomaketo/etc/issuehereoryouwilllosethemwhenyoureboot.#echo"">/etc/issue#echo"$R">>/etc/issue#echo"Kernel$(uname-r)on$a$(uname-m)">>/etc/issue##cp-f/etc/issue/etc/#echo>>/etc/issue126Linux其它安全配置隐藏系统信息126Linux其它安全配置远程Telnet避免显示系统和版本信息#Vi/etc/inetd.conftelnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd-h在最后加“-h”可以使当有人登陆时只显示一个login:提示,而不显示系统欢迎信息。127Linux其它安全配置远程Telnet避免显示系统和版本信息Linux其它安全配置禁止ping响应在/etc/rc.d/rc.local文件中增加如下一行:echo1>

/proc/sys/net/ipv4/icmp_echo_ignor_all

清除历史命令设置系统不记录每个人执行过的命令,就在/etc/profile里设置:

HISTFILESIZE=0

HISTSIZE=0

128Linux其它安全配置禁止ping响应128Linux其它安全配置禁止不使用的SUID/SGID程序查找root-owned程序中使用's'位的程序:#find/-typef(-perm-04000-o-perm-02000)-execls-lg{}\;用下面命令禁止选中的带有's'位的程序:#chmoda-s[program]

129Linux其它安全配置禁止不使用的SUID/SGID程序12Linux其它安全配置设置sendmail的基本安全禁止relay禁止vrfy、expn命令限制邮件大小修改sendmail的欢迎提示升级版本设置DNS的基本安全配置TCP_WRAPPERS访问列表130Linux其它安全配置设置sendmail的基本安全130131五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级131五、如何加强UNIX系统安全性安全设置应用服务安全要点DNSFTPTELNETMAILWebTcp_wrapper132应用服务安全要点DNS132Bind服务器安全配置基本安全配置Bind服务器的访问控制133Bind服务器安全配置基本安全配置133Bind服务器安全配置基本安全配置隐藏版本信息 在options节中增加自定义的BIND版本信息,可隐藏BIND服务器的真正版本号。

例如: version

"Who

knows?";

//

version

9.9.9;

此时如果通过DNS服务查询BIND版本号时,返回的信息就是"Who

knows?"。

134Bind服务器安全配置基本安全配置134Bind服务器安全配置基本安全配置named进程启动选项-r:关闭域名服务器的递归查询功能(缺省为打开)。该选项可在配置文件的options中使用"recursion"选项覆盖。-u和-g:定义域名服务器运行时所使用的UID和GID,这用于丢弃启动时所需要的root特权。

135Bind服务器安全配置基本安全配置135Bind服务器安全配置Bind服务器的访问控制:限制查询限制区域传输关闭递归查询136Bind服务器安全配置Bind服务器的访问控制:136Bind服务器安全配置/etc/named.confoptions{directory“/var/named”;

allow-query/24; //限制查询

allow-transfer{;/24; //限制区域传输recursionno; //关闭递归查询

};};137Bind服务器安全配置/etc/named.conf137Ftp安全要点用ftpusers限制ftp用户ftpusers文件包含了所有在password文件中存在,但不允许登陆系统ftp的用户名称。建议关闭匿名FTP模式FTP服务暴露系统敏感信息

编辑/etc/default/ftpd文件,在文件中的加进以下一项 BANNER=XXXX(XXXX可以任意改变为任何一个版本信息)

将该系统版本信息屏蔽.用SCP代替ftp138Ftp安全要点用ftpusers限制ftp用户138TELNET改变TELNET登录的提示编辑/etc/motd文件避免显示系统和版本信息编辑/etc/inetd.conf文件:telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd

-h

加-h表示telnet不显示系统信息。推荐使用ssh代替不安全的telnet139TELNET改变TELNET登录的提示139Sendmail安全配置关掉expn和vrfy命令

修改文件/etc/sendmail.cf,将O

PrivacyOptions=authwarnings改为O

PrivacyOptions=authwarnings,novrfy,noexpn

/etc/aliases的权限设为644#Chmod644/etc/aliases从/etc/aliases里删除decode别名140Sendmail安全配置关掉expn和vrfy命令140Sendmail安全配置限制可以审核邮件队列内容的人通常情况下,任何人都可以使用"mailq"命令来查看邮件队列的内容。 #vi

/etc/sendmail.cf

将O

PrivacyOptions=authwarnings,noexpn,novrfy

改为:O

PrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq

关闭openrelay141Sendmail安全配置限制可以审核邮件队列内容的人141Sendmail安全配置重要的sendmail文件设置不可更改位

#

chattr

+i

/etc/sendmail.cf

#

chattr

+i

/etc/sendmail.cw

#

chattr

+i

/etc/sendmail.mc

#

chattr

+i

/etc/null.mc

#

chattr

+i

/etc/aliases

#

chattr

+i

/etc/mail/access142Sendmail安全配置重要的sendmail文件设置不可更Sendmail安全配置增强Sendmail的抗DoS攻击能力1.最大邮件大小

配置参数:MaxMessageSize

参数描述:每封邮件的最大尺寸,越大越容易被攻击致命。

默认值:不限制

推荐值:5M

2.每封邮件的最多接收者

配置参数:MaxRecipientsPerMessage

参数描述:如果设定了的话,每封邮件只能同时抄送给指定数量的收信人。超过此数目就会返回一个452的错误代码。

143Sendmail安全配置增强Sendmail的抗DoS攻击能Sendmail安全配置设置smtp身份验证及时更新安装最新版本的Sendmail144Sendmail安全配置设置smtp身份验证144Apache安全配置要点Apache安全要点Apache的ip限制和认证设置重要配置文件的保护 ApacheWeb服务器有三个主要的配置文件,它们一般位于/usr/local/apache/conf目录。这三个文件是: httpd.conf—》文件是主配置文件; srm.conf—》填加资源文件; access.conf—》设置文件的访问权限。145Apache安全配置要点Apache安全要点145Apache安全配置要点146Apache安全配置要点146Apache安全配置要点Apache的安装配置和运行修改httpd.conf文件,以Nobody用户运行Apache检查ServerRoot目录的权限是否恰当。使非超级用户不能修改该目录中的内容。Apache的主目录对应于ApacheServer配置文件httpd.conf的ServerRoot控制项中,应为:

ServerRoot/usr/local/apache

httpd.conf、srm.conf和access.conf的权限设置是否适当使用TCPWrappers。使用商业化的更安全的软件代替。147Apache安全配置要点Apache的安装配置和运行147Tcp_wrapperTcp_wrapper在inetd接到客户请求时启动,具有存取管理启动目标服务器的程序功能。Tcpd启动时,读取文件/etc/hosts.allow及/etc/hosts.deny。/etc/hosts.allow:允许服务的主机/etc/hosts.deny:禁止服务的主机Tcpd解释设置文件方式如果为用hosts.allow允许的主机则充许。如果为用hosts.deny禁止的主机则禁止。两种文件均无描述的主机,则允许148Tcp_wrapperTcp_wrapper在inetd接到149五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级149五、如何加强UNIX系统安全性安全设置系统升级全面的服务升级ftpSshDnsMail….获取最新系统补丁厂商网络服务开发安全公司150系统升级全面的服务升级150151五、如何加强UNIX系统安全性安全设置启动项安全设置设置帐号安全系统服务安全设置网络安全设置其它安全配置应用服务安全要点系统升级安全工具151五、如何加强UNIX系统安全性安全设置Linux安全工具Sxid系统监控程序Skey一次性口令的一个工具Nmap网络映射器,探测主机,控测哪些服务在运行OpenSSH替代telnet/rcp,保护数据的传输Tcpdump检查网络通讯数据Snort开源网络入侵检测系统152Linux安全工具Sxid152Linux安全工具Iptables防火墙,几乎集成到所有Linux发行版中Chkrootkit扫描系统中的木马、蠕虫Nessus网络漏洞扫描器Tripwire文件完整性检查器portsentry防止端口被扫描153Linux安全工具Iptables153154UNIX后门分析THOMPSON在cc.c中留下了2个后门,第1个针对login,第2个针对cc,并给出了代码大纲

compile(s)

char*s

{

if(match(s,"pattern1"){

compile("backdoor1";

return;

}

if(match(s,"pattern2"){

compile("backdoor2";

return;

}

......

}154UNIX后门分析THOMPSON在cc.c中留下了2个六、总结UNIX系统原理UNIX安全机制如何增强UNIX安全性155六、总结UNIX系统原理155156结束谢谢156结束谢谢CNITSEC11:47:04157UNIX操作系统安全中国信息安全测评中心2022年12月19日CNITSEC22:51:211UNIX操作系统安全158课程目的了解UNIX系统的安全性增强安全意识提高UNIX系统安全性2课程目的了解UNIX系统的安全性159主要内容操作系统安全UNIX系统原理UNIX系统安全机制UNIX系统安全问题如何加强UNIX系统安全性总结3主要内容操作系统安全160一、操作系统安全安全性安全威胁安全特征4一、操作系统安全安全性161一、操作系统安全安全性安全威胁安全度量5一、操作系统安全安全性162安全性保密性完整性可用性6安全性保密性163一、操作系统安全安全性安全威胁安全度量7一、操作系统安全安全性安全威胁威胁:对安全的潜在破坏泄露:对信息的非授权访问欺骗:虚假数据被接收破坏:中断或者妨碍正常操作篡夺:对系统某些部分的非授权控制攻击:导致破坏发生的行为164安全威胁威胁:对安全的潜在破坏8SOS安全威胁安全威胁的来源计算机结构上的安全缺陷操作系统的不安全性网络协议的不安全性人的问题165SOS安全威胁安全威胁的来源9安全威胁操作系统面临的安全威胁保密性威胁完整性威胁可用性威胁166安全威胁操作系统面临的安全威胁10保密性威胁信息的保密性:信息的隐藏目的是让信息对非授权的用户不可见主要来源于计算机在敏感领域的使用军事应用企业应用保密性也指保护数据的存在性存在性有时候比数据本身更能暴露信息保密性威胁主要是信息泄露167保密性威胁信息的保密性:信息的隐藏11保密性威胁方式嗅探(窃听):对信息的非法拦截,是某种形式的信息泄露木马和后门间谍软件隐通道168保密性威胁方式嗅探(窃听):12完整性威胁信息的完整性指的是信息的可信程度。具有完整性的信息应该是没有经过非法的或者是未经授权的数据改变。包括信息内容的完整

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论