本章需掌握知识点:
- 操作系统安全机制
- 了解操作系统标识与鉴别、访问控制、权限管理、信道保护、安全审计、内存存取、文件保护等安全机制;
- 操作系统安全配置、
- 了解安全补丁、最小化部署、远程访问控制、账户及口令策略、安全审计及其他操作系统配置要点。
一、操作系统与安全性目标介绍
- 概念:操作系统是管理系统资源、控制程序执行、提供良好人机界面和各种服务的一种系统软件。
- 操作系统在计算机系统中的位置从属关系
特征:
- 用户与计算机硬件之间的接口
- 操作系统为用户提供了虚拟计算机,把硬件的复杂性与用户隔离
- 计算机系统的资源管理者
- CPU管理
- 存储管理
- 设备管理
- 文件管理
- 网络与通信管理
- 用户接口 | 用户进程 | | —- | | 系统调用接口 | | 内核 | | 硬件:CPU、内存、硬盘、网络硬件等 |
操作系统基本构成 | 构成模块 | 功能作用 | | —- | —- | | 用户接口 | 为不用用户提供操作界面,实现对系统资源的控制; | | 进程管理 | 通过分片调度CPU执行周期,实现进程调度,从而实现多任务 | | 内存管理 | 管理和规划主机内存的使用,为其他模块提供接口 | | 文件系统管理 | 明确磁盘或分区上的文件数据结构,提高文件安全性 | | 磁盘管理 | 处理不同的磁盘高度和读写请求,保证磁盘的存储效率 | | 设备管理 | 管理不同的外设,保证设备的合理使用和分配 |
操作系统安全目标与实现机制
- 操作系统安全目标
- 标识系统中的用户、进行身份鉴别;
- 依据系统安全策略对用户的操作进行访问控制,防止用户和外来入侵者对计算机资源的非法访问;
- 监督(审计Audit)系统运行的安全性;
- 保证系统租自身的安全和完整性;
- 实现目标的安全机制
- 标识与鉴别
- 访问控制
- 最小特权管理
- 信道保护
- 安全审计
- 内存存取保护
- 文件系统保护等
- 操作系统安全目标
- 操作系统的安全度量标准与发展历史
- 桔皮书——TCSEC是美国1985年发布的《可信计算机系统评估准则》
- CC——ISO 15408-1999,1995年发布的国际通用评估准则,也是我国操作系统安全评估采用的标准
二、Windows标识与鉴别
- Windows系统的标识
- 安全主体(账户、计算机、服务等)
- 安全标识符(Security Identifier,SID)
- 安全主体的代表(标识用户、组、计算机账户的唯一编码)
- 范例: S-1-5-21-1736401710-1141508419-1540318053- 500 (whoami /all 命令)
- 第一项“S”表示该字符串是SID
- 第二项“1”表示SID的版本号
- 第三项“5”表示颁发机构,5是NT
- “21-1736401710-1141508419-1540318053”表示一系列的子颁发机构
- 第五项,此SID以“500”结尾,表明当前用户是administrator;如果是501的化则是代表Guest的账号
- Windows系统用户信息管理
- 存储在SAM文件中,系统运行时锁定
- 路径:C:\Windows\System32\config\SAM
- 操作权限system,依靠系统服务进行访问
- 示例如下:Windows密码散列值(LM-Hash)
Administrator:_**500:C8825DB10F2590EAAAD3B435B51404EE :683020925C5D8569C23AA724774CE6CC::**_
- 身份鉴别的方式
- 本地鉴别
- 远程鉴别
- Windows远程登录鉴别协议
windows远程登录协议按如下阶段发展- SMB协议:口令明文传输
- LM协议:口令哈希传输,强度低
- NTLM协议:提高口令散列加密强度、挑战/响应机制
- Kerberos协议:为分部网络提供身份验证协议
三、Linux标识与鉴别
- Linux/Unix系统的标识
- 安全主体:用户标识号(User ID)(id 命令)
- UID:0—65535的整数
- Linux系统用户信息管理
- 用户帐号文件
- 路径:/etc/passwd
- 使用加密算法加密的用户密码散列
- 文本格式、全局可读
- 影子文件
- 路径:/etc/shadow
- 存储存放用户密码散列、密码管理信息等
- 文本格式,仅对root可读可写
- 散列值示例如下
- 用户帐号文件
#root:**_$1$acXMce89_**:13402:0:99999:7:::
- Linux远程登录协议
- telnet
- ssh(telnet的加密传输版本)
四、访问控制
- Windows的访问控制
- 访问令牌(包含SAD和特权列表),以用户身份运行的进程都拥有该令牌的一个拷贝。
- 访问控制列表(ACL),仅NTFS文件系统支持
- Windows系统特权管理
- 用户控制(UAC,User Account Control)
- 标准受限访问令牌
- 完全访问令牌
- 用户控制(UAC,User Account Control)
- Linux下的访问控制
- 需要文件系统格式支持
- 权限类型:读,写,执行(UGO管理机制)
- 权限表示方式:模式位
- Linux文件/目录权限基本概念
- 权限类型:读、写、执行
- 权限表示方式:模式位
- 权限的数字表示
- 读权限(R)——4
- 写权限(W)——3
- 执行权限(X)——1
- 权限的数字表示
- Linux系统特权管理
- 限制对root使用,su及sudo明了
- Suid位:任何用户执行文件运行权限都为文件所有者的权限
- 信息道路保护(信道保护)
对信息道路的保护涉及两个方面:
1. 对显式(正常)信息道路的保护,防止非法或非授权信息经过显式(正常)信道
1. 堵住隐蔽信道,防止恶意用户通过隐蔽信道
- 正常信道的保护
- 采用可信道路机制(Trusted Path):可信道路使用安全键为基础实现。
- 安全键(SAK)输入机制:安全键是由终端驱动程序检测到的一个特殊按键组合,如Ctrl+Alt+delete
- 隐蔽信道保护
- 系统安全审计概念:对系统中有关安全的活动进行记录、检查以及审核;审计一般是一个独立的过程。
Windows系统的安全审计(通过日志进行审计)
- Windows日志(系统日志、应用程序日志、安全日志)
- 系统日志:记录操作系统组件产生的事件,主要包括驱动程序、系统组件、应用软件的崩溃,以及数据丢失错误等。
默认存储路径:%SystemRoot%\System32\Winevt\Logs\System.evtx - 应用程序日志:主要记录程序运行方面的事件,默认存放路径:
默认存放路径:%SystemRoot%\System32\Winevt\Logs\Application.evtx - 安全日志:记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。
默认存放路径:%SystemRoot%\System32\Winevt\Logs\Security.evtx
- 系统日志:记录操作系统组件产生的事件,主要包括驱动程序、系统组件、应用软件的崩溃,以及数据丢失错误等。
- 应用程序和服务日志
默认存放路径:%WinDir%\System32\LogFiles - 应用访问日志
- FTP访问日志
- IIS访问日志
- Windows日志常见的事件ID | Windows事件ID | 事件类型 | 描述 | | —- | —- | —- | | 4608, 4609, 4610, 4611, 4612, 4614, 4615, 4616 | 系统事件 | 本地系统进程,例如系统启动,关闭和系统时 间的改变 | | 4612 | 清除的审计日志 | 所有审计日志清除事件 |
- Windows日志(系统日志、应用程序日志、安全日志)
Linux安全审计(通过日志进行审计)
- Linux系统的安全审计(/var/log)
- 连接时间日志
- 进程统计
- 错误日志
- 应用程序日志 | 日志文件 | 注释 | | —- | —- | | Access-log | 记录http/web连接 | | Acct/pcct | 记录用户命令 | | boot.log | 记录开机自检过程信息 | | lastlog | 最近成功登录和不成功登录 | | message | 从syslog中记录信息 | | sudolog | 记录sudo发出的命令 | | syslog | 从系统日志中记录信息 | | utmp | 记录当前登录用户信息 | | wtmp | 用户每次登录进入和退出时间 | | xferlog | ftp会话信息 | | maillog | 记录电子邮件活动信息 |
- Linux系统的安全审计(/var/log)
六、内存保护与文件系统保护
- 内存保护机制
- 进程间/系统进程内存保护
- 段式保护、页式保护和段页式保护
- 文件系统保护机制
- 访问控制列表
- Windows加密(EFS、BitLocker)
- EFS
- BitLocker
- Linux(eCryptfs)