目录
安全标识符(Security ldentifier,SID)
访问控制列表(AccessControl List,ACL)
操作系统安全目标
- 标识系统中的用户和进行身份鉴别
- 依据系统安全策略对用户的操作进行访问控制,防止用户和外来入侵者对计算机资源的非法访问
- 监督系统运行的安全性
- 保证系统自身的安全和完整性
实现目标的安全机制
标识与鉴别、访问控制、最小特权管理、信道保护安全审计、内存存储保护、文件系统保护等
操作系统的标识
系统用户在系统中身份的标记,类似于“证件”的作用。
操作系统的鉴别
将用户标识符与用户发生关联的动作,也即“门卫检查“证件”的过程。
这是操作系统中最基础的安全机制,后面所有的安全机制都是建立在标识和鉴别的基础上
Windows的主体标识
安全标识符(Security ldentifier,SID)
- 安全主体的代表(标识用户、组、计算机、服务等的唯一编码)
- 安全标识符的组成包括:大写字母S、修订级别、颁发机构、第一个颁发子机构、其余颁发机构和相对标识符等。
Linux系统的标识
安全主体
- 用户标识符(UID)
- 组标识符 (GID)
用户标识符 (UID)
UID是Linux/Uinx系统中唯一的用户标识,在系统内部管理进程和文件保护时使用UID字段。
组标识号 (GroupID)
GID是具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标识号相区分。
Windows的用户信息管理
用户数据库
- 在系统中文件体现(C:lwindowslsystem32\configlSAM)
- 密码散列等信息存储在注册表中,格式加密
- Windows密码散列值示(LM-Hash)
Administrator:500:C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC:::
只能通过注册表打开
信息保护
- SAM文件运行期锁定、无法拷贝、剪切
- 注册表数据操作权限system,依靠系统服务进行访问
Linux用户信息管理
用户账户文件(/etc/passwd)
存储用户的登录名、登录的散列、用户ID、登录后使用的ShelI等信息
使用不可逆DES算法加密的用户密码散列(早期)
文本格式、全局可读
数据范例
demo:x:523:100:J.demo:/home/demo:/bin/sh
数据格式
name:coded-passwd:UID:GID:userinfo:homedirectorv:shell
影子文件
/etc/shadow
存储存放用户密码散列、密码管理信息等
文本格式,仅对root可读可写
数据范例
#root;$1$acQMceF913402:0:99999:7:.
数据格式
name:passwd:lastchg:min:max:warn:inactive:expire:flag
Windows系统的鉴别
- 本地鉴别:本地鉴别组件 (GINA、LSA)Winlogon.exe,一个安全进程,用于加载登录组件及用户交互图形界面
- GINA(图形化识别和验证),提供能够对用户身份进行识别和验证的函数
- 本地安全授权 (LSA),从Winlogon.exe中获取用户的账号和密码,然后经过密码技术处理得到口令散列并交给SAM服务与存储在用户数据库中的散列进行对比
远程登录鉴别协议
- SMB (Server Message Block) :口令明文传输
- LM (LAN Manager) : 口令哈希传输,强度
- NTLM (NT LAN Manager) :提高口令散列加密强度、挑战/响应机制
- Kerberos:为分布网络提供单一身份验证
远程鉴别
-
组件调用SAM服务
Linux系统的鉴别
口令鉴别
- 口令登录
- 远程登录(talent,FTP等)
Windows的访问控制
安全对象
文件、目录、注册表项、动态目录对象、内核对象(如事件、信号量和互斥)、服务、线程、进程、Windows工作站和桌面等
访问控制机制
访问控制列表(ACL),仅NTFS文件系统支持
访问令牌 (包含SID和特权列表),以用户身份运行的进程都拥有该令牌的一个拷贝
授权管理器,用来实现第三方访问控制机制,作为系统访问机制的补充
访问控制列表(AccessControl List,ACL)
- 仅NTFS文件系统支持
- 权限存储流文件系统中
- 自主访问控制
- 灵活性高,安全性不高
Linux的访问控制
安全对象
文件,万物皆文件
访问控制机制
- 访问控制列表(ACL),需要文件系统格式支持
- 权限类型:读、写、执行
- 权限表示方式:模式位(UGO管理机制)
Windows的特权管理
访问令牌
包含SID和特权列表
以用户身份运行的进程都拥有该令牌的一个拷贝
用户帐户控制 (UAC)
完全访问令牌
标准受限访问令牌
Linux的访问控制
特权管理
- Linux继承了传统Unix的特权管理机制,即基于超级用户的特权管理机制。普通用户没有任何特权,而超级用户拥有系统内的所有特权。
- 限制对root使用,普通用户需要超级用户权限通过su、sudo短时间获得root权限。
- Suid位: 任何用户执行文件运行权限都为文件所有者的权限
-r-s--x--x 1 root root 10704 Apr 15 2002 /usr/bin/passwd
s指得是SUID程序
信道保护
正常信道的保护
- 可信通路 (Trusted Path)
- 安全键 (SAK)
隐蔽信道保护
隐蔽信道指利用系统中那些本来不是用于通信的系统资源绕过强制存取控制进行非法通信的一种机制
发现隐蔽信道
- 共同访问权限
- 共同修改权限
- 接收进程可检资源的改变,而发送进程有权限改变
- 某种机制可启动通信并改变通信事件的顺序
安全审计
对系统中有关安全的活动进行记录、检查以及审核,一般是一个独立的过程
安全审计目标:
- 一是可以对受损的系统提供信息帮助以进行损失评估和系统恢复;
- 二是可以详细记录与系统安全有关的行为,从而对这些行为进行分析,发现系统中的不安全的因素
操作系统的审计记录一般应包括如下信息
事件的日期和时间、代表正在进行事件的主体的唯一标识符、事件的类型、事件的成功与失败等。对于标识与鉴别事件,审计记录应该记录下事件发生的源地点(如终端标识符)
Windows系统的安全审计
- Windows日志(系统、应用程序、安全)
- 应用程序和服务日志(IIS日志等)
Linux系统的安全审计
- 连接时间日志
- 进程统计
- 错误日志
- 应用程序日志
内存保护与文件系统保护
内存保护
- 进程间/系统进程内存保护段式
- 保护、页式保护和段页式保护
文件系统保护机制
访问控制列表
加密
- Windows(EFS、Bitlocker)
- Linux(eCryptfs)
操作系统安全配置
安装软件来源
- 官方渠道
- 可靠镜像(哈希
安装
- 分区设置,不要只设置一个分区
- 安装最新安全补丁或最新版软件
- 最小化部署,明确需要的功能和组件,不需要的都关闭
账户安全
- 管理员更名并给予安全的口令
- 来宾账户更名并给予安全的口令
- 安全口令特点
- 自己容易记
- 别人不好猜
- 不安全口令实例: ZAQ!@WSXzaq12wsx
密码远程暴力破解
简单但有效的攻击方式
利用人性懒惰的弱点
密码策略:避免弱口令
- 密码必须符合复杂性要求
- 密码长度最小值
- 密码几碧最短使用期限
- 密码最长使用期限
- 强制密码历史
- 用可还原的加密来存储密码
帐户锁定策略:应对口令暴力破解
- 账户锁定时间
- 账户锁定阈值
- 重置账户锁定计数器
设置唤醒计算机时的登录密码
设置屏幕保护恢复时的登录密码
用户权限分配
- 从网络访问这台计算机
- 拒绝从网络访问这台计算机
- 管理审核和安全日志
- 从远程系统强制关机
服务运行安全
Windows服务(windows service)
- Windows服务程序是一个长时间运行的可执行程序,不需要用户的交互,也不需要用户登录
服务安全风险
- 自动启动(三种类型:自动、手动、禁用)
- 运行权限高 (system、Local Service、Network Service)
禁用不需要的服务,例如:
- 计划任务 (Task Scheduler)
- 远程操作注册表(Remote Registry)
控制服务权限
本地策略审核
- 策略用户权限
- 分配安全选项
安全选项
- 交互式登录:无须按Ctrl+Alt+Del,设置为已禁用
- 交互式登录:不显示最后的用户名,设置为已启用
- 设备:将CD-ROM的访问权限仅限于本地登录的用户设置为已启用
- 网络访问:不允许SAM账号的匿名枚举,设置为已启用
- 网络访问:可匿名访问的共享,删除策略设置里的值
- 网络访问:可匿名访问的命名管道,删除策略设置里的值
- 网络访问:可远程访问的注册表路径,删除策略设置里的值
日志及其他安全设置
日志设置
- 日志项、存储空间、访问权限
- 日志服务器
安全增强软件
- 防病毒
- 主机入侵检测
- 安全加固软件等
针对操作系统特性的设置
- Windows关闭共享、自动播放功能
- Linux中默认创建文件权限等