操作系统安全

0x00 基本概念

0.1 信息安全评估标准 TCSEC

  • A :校验级保护,提供低级别手段
  • B3:安全域,数据隐藏与分层,屏蔽
  • B2: 结构化内容保护,支持硬件保护
  • B1:标记安全保护,如System V等
  • C2:有自主的访问安全性,区分用户
  • C1:不区分用户,基本的访问控制
  • D:没有安全性可言,例如MS DOS

    Windows的C2级别的安全性策略

  • 强制的用户标识和认证

    所有用户都必须以唯一的登录标识和密码来鉴别自身

  • 自主控制访问

    资源的所有者必须能够控制对资源的访问

  • 可记账性和审核

    能够审计所有安全相关事件和个人活动

    只有管理员才有权限访问

  • 对象的重用

    必须能够保护对象在完成其使命后,不再被其他对象所利用

0.2.windows系统安全概述

0.2.1win的安全体系结构

  • 内核模式 (Kernel mode)

    内核模式中的代码具有极高的特权,可以直接对硬件进行操作和直接访问所有的内存空间。

  • 用户模式(User mode)

    用户模式的代码拥有较低的特权,不能对硬件直接进行访问,内存访问受限。

0.2.2 本地安全授权 LSA

  • LSA负责是所有本地和远程的用户登录生效,生成安全访问令牌
  • 访问令牌:访问令牌是一个二进制的数据包,它描述了用户的访问权限以及用户所属地组。
  • 管理本地安全策略
  • LSA负责记录安全引用监视器的任何审核消息所产生的事件日志。

0.2.3 安全引用监控器SRM

  • SRM和对象管理器联合起来。实施控制访问策略和审核策略。
  • SRM在对象句柄创建时进行安全性检查,而并不是在每次访问时进行检查。

###0.2.4 对象管理器 Object Manager

  • 负责对象的命名,保护,分配和处理
  • 管理的对象包括
    • 目录,文件,设备,符号链接
    • 进程 ,线程
    • 网络共享资源
    • 端口
    • 窗口
  • 每一个资源对象都与一个安全描述符相关联。

0.2.5 系统资源访问过程

0.3 windows的用户和组

  • 用户账户
    • 使用用户名和密码进行标识
    • SID:账户的关键标识符,所有的内部进程都是用SID识别用户账号。
  • 用户组账户
    • 具有相似工作或资源要求的用户可组成一个用户组。
    • 对资源的存取权限许可分配给一用户组,就是同时分配给该组中的所有成员。
  • 内置用户账号
    • Aministrator 最高级别的账号,应重命名该账号并设置密码以隐藏它,以免受到攻击。
    • Guest 保持Guest账号的禁用状态。
  • 内置用户组账号
    • Administrator:管理员组
    • USERS:普通用户组
    • Gusts:来宾用户组
    • Backup Operatoes:备份操作组,做系统的备份操作
    • Replicator:复制操作组
    • *Operators (Print,Accout, Server)
    • Domain:只在域服务器上的组
    • 特殊组(Network,Intrative….)

0.4工作组,域和信任关系

0.4.1 工作组

  • 为小型办公系统提供了资源共享功能,使用户可共享其他计算机上的本地资源。
  • 不共享任何用户账户信息和组账户信息,每个系统使用独立的SAM数据库独立验证。
  • 适用于小型环境,不进行集中控制,用户数量增多时,难以管理。

0.4.2 Domain

  • 域是一批具有集中安全授权机构好若干台工作站和成员服务器得计算机集合、

  • 特点

    • 域为用户,组合计算机账户定义了管理边界范围
    • 一个域中的所有用户共享域用户账户数据库和普通的安全策略。
    • 每台计算机不需要提供自己的验证服务。
    • 一旦用户用域验证服务通过验证,就可以在域内访问权限内资源了
      ###0.4.3 信任关系

    • 信任关系是域之间的关系

      • 当域之间建立信任关系后,一个域就可以信任另一个域中的用户访问自己的资源,而又不必在本域拥有这个用户的账户和口令。
    • 信任关系的好处
      • 实现跨域的集中安全验证
      • 支持用户的单一登录
    • 信任关系的种类
      • 单向信任
      • 双向信任
      • NT的信任关系是单向且不具有传递性,win2000之后默认信任关系是双向且可传递。

0.4.5 域和工作组的对比

  • 域可定义安全管理边界,工作组无集中管理,相互独立。

    • 域中所有用户共享普通的用户账户数据库和安全策略。
    • 工作组中计算机使用本地账户和本地策略。
  • 验证

    • 安全账户数据库

      工作组中计算机上的用户账户SAM,使用在登录本机时。当登录到域时用的是域上的用户账户数据库。

    • 验证服务:

      • 域验证时,每台计算机不需要提供自己的验证服务
      • 工作组中登录验证用的是本机的验证服务。
  • 登陆成功访问范围:

    域在整个受信任域中访问许可的资源,工作组为本机资源。

0x01 活动目录

活动目录提供了完全集成的在windows中的一个安全,分布式,可扩展以及重复的分层目录服务。

winserver AD 域服务的核心价值是提供一套完整的用户身份验证系统,这是一个基础身份验证平台,用户实现单点登录。在此基础上再实现对共享资源和服务的管理及访问。

1.1基础

  • 活动目录是以层次化方式村塾网络资源信息的目录
  • 通过它,组织机构可以有效地对分布式环境的网络对象进行共享和管理。
  • 目录在网络安全方面扮演着中心授权机构的角色,从而使操作系统可以轻松验证用户身份并控制其对网络资源的访问。

1.2 活动目录功能的机制

单点登录,全局目录,智能的信息复制,组策略。

1.2.1单点登录(kerberos)

屏幕快照 2019-05-11 下午6.56.28

###1.2.2全局目录

  • 默认情况下,全局目录在域森林的初始域控制器上自动创建,该域控制器就成为全局目录服务器。
  • 全局目录是一个域树或者域森林中的所有对象信息的中心仓库。它记录了AD中所有域对象的部分信息,以及架构信息和配置信息的完整副本。
  • 执行关键目录任务:登录和查询。

活动目录保存的信息

  • 域数据

    包含该域内所有对象信息,这些信息被复制到该域的每个域控制器(不超出域范围)

  • 架构数据

    定义了可在AD中存储哪些对象,属性和操作规则。属于目录林的范畴,在林中的每一个域控制器上存储。

  • 配置数据

    定义了复制拓扑与AD配置有关的其他数据,也被复制到森林的所有域控制器。

  • (若是GC服务器)

    为所有的域保存”域数据”的部分副本。

全局目录的任务

  • 在客户登录时,向域控制器提供通用组成员信息

    用户登录网络时,必须存在一台全局目录服务器,否则只能登录到本地,例外是域管理员组中的成员。

  • 在客户查询目录信息时:

    查询请求首先会发送到最近的全局目录,当查询对象信息不在GC时,服务器才会将查询转至对象所在域。从而实现跨所有域的搜索。

  • 注意

    • 多个GC会减少客服查询的时间,但是会导致网络的复制通信量增加。
    • 推荐在每一个主要站点上设置一台GC。

1.2.3智能的信息复制

  • 通过安装域控制器,可在整个网络环境中创建多分副本。
  • 网络任何地方发生的变化都会在整个网络中自动复制,保证数据一致性。

1.2.4组策略

可在不同层次上定义控制规则

1.3活动目录管理的对象

  • 容器对象

    可存储其他对象,如域,组织单元,文件夹等。

  • 叶对象

    不能存储其他对象,如计算机,用户,文件等。

  • 常见对象

屏幕快照 2019-05-11 下午6.56.28

1.3.1 对象标准属性

  • DN(识别名称)定义了LDAP中到对象的完整路径。

    完整路径包括对象名称以及直到域根节点的所有父对象名称,DN标识了域层次中的唯一对象。

  • RDN(相对识别名称)是DN中属于对象完整路径属性的一部分。

  • 全局唯一标识符(GUID)

    GUID是对象创建时由活动目录分配的128位数字。每一位对象都具有唯一标示。GUID不能被修改和删除。

  • 主体属性:安全主题名称

    • 安全主体分三类:用户,组,计算机。
    • 在单个域内用来唯一标识用户,计算机或组的名称。
    • 域内必须唯一,域间无需唯一。
  • 安全标识符(SID)

    SID是Windows系统安全子系统为安全主体对象创建的唯一数字,属于主体属性。

    win系统内部进程引用的是账户的SID,而不是账户的用户或者组名。

  • 注意

    • 单一域内 SID,GUID,LDAP都可唯一的标识目录中的每个用户或计算机

    • 当对象被重命名或移到另一个域内

      SID,LADP专用名称以及相对专用名称都会改变。GUID不变。

1.4 活动目录组件

1.4.1活动目录中资源组织的逻辑结构

  • 组织单位

    主要用来委派对用户,组及资源集合的管理权限。组织单位是委派管理权限的最小分组,其特殊在于可连接组策略。

    • 分类组织对象
    • 委派管理控制权
    • 配置组策略
    • 同一个域中的计算机共享配置,架构和全局目录
    • 域是网络中复制和安全管理的基本单元

    域控制器

    • 域控制器保存了整个域范围内的目录数据,并管理用户域交互。
    • 安装活动目录就能把windows服务器变成域控制器
    • 一个域可以有多个域控制器,一个域控制器只能控制一个域
    • win2x中域控制器是对等角色;NT中有主域控制器(pdc)和备份域控制器(BDC),只有pdc有目录的可读写副本。
    • 混合模式域和本地模式域
      • 混合模式:既有NT又有win2x域控制器的域(默认安装)
      • 本地模式:只有win2x域控制器的域。
      • 混合模式域升级到本地模式域不可逆
  • 域树

    具有连续命名空间的多个域成为树。

  • 目录树中所有域共享相同的配置,架构和全局目录

  • 通常我们将一个企业的总公司和分公司的域配置为树,其中总公司的域称为父域,分公司为子域。

  • 域森林

    不构成连续命名空间的域树的集合,这些目录树通过双向的可传递信任关系连接到一起。

    AD中建立的第一个域被称为林的根域。

1.4.2 物理结构

  • 站点

    • 是指一个由高速连接所形成的较快通信速率网络。一般指LAN。

    • 主要用于:确定复制拓扑,以便进行有效而快速的复制。

    • 站点链路并不是自动生成的,而是必须用Active Directory Sites And Snap-In工具来创建。

  • 活动目录复制

  • 站点内复制

其中的三个域控制器复制森林的架构数据,配置数据以及具有每个对象完整属性的所有目录对象。
  • 站点间复制

    • 通过桥头堡控制器进行站点间复制。
    • 如果是架构,配置信息每个域控制器都接受,如果是域数据信息,则只有全局目录服务器会接受它的部分副本。
  • 站点间连接

    • 两个或多个站点间的一个低带宽或不可靠连接
    • 站点链接不是自动生成的,必须使用活动目录站点和服务工具来创建。
    • 站点链接可传递。
  • 总结

    • 站点是对网络上计算机的实际的物理分布的客观反映

    • 站点是独立于域的

      • 站点映射网络的物理结构,域映射组织的逻辑结构
      • 网络的物理结构和域结构之间没有必然联系。
      • 活动目录允许在一个站点出现多个域,与允许一个域出现在多个站点中。

1.5活动目录搭建

0x02 组策略

2.1组策略简介

  • 是管理员针对网络中的用户和计算机所作的一系列设置

  • 计算机和用户是仅有的接受组策略的活动目录对象类型

    • 计算机设置:提供计算机的基本设置
      • 计算机启动时生效,已启动时,域控5分钟,分域控90-120
    • 用户的设置:设置用户的环境
      • 登录时生效,用户已登录,每隔90-120分钟自动应用。
    • 手工强制刷新:gpupdate /force
  • 组策略使管理员可以集中控制用户环境,减轻管理负担

  • 组策略对象(GPO)

    它存储了组策略的具体配置,每一个GPO都链接到一个具体的活动目录容器,包括站点,域组织单元。

  • 组策略与活动目录的结合

    • 联合使用,则可实现策略的集中与分散管理,适应从小到大的各种规模。
    • 组策略管理单元提供了管理组策略的自称工具,并提供了MMC管理工具的扩展。

2.2组策略的设置对象

  • 针对站点,域,OU设置组策略
  • 不在域内的可以利用本地组策略管理计算机

2.3组策略应用顺序

2.3.1组策略继承

  • 默认情况下,子容器继承父容器的策略设置
  • 子容器设置优于父容器继承下来的设置

2.3.2累加性和相应优先级

  • 组策略默认的处理顺序

    • 本地策略对象
    • 链接在站点上的GPO
    • 链接在域上的GPO
    • 链接在OU上的GPO对象
  • 注意:

    • 排在最后的GPO被最后处理,因此具有最高的优先级。
    • 工作组成员只处理本地组策略对象
  • 默认处理顺序的例外

    • “禁止替代”选项:防止随后处理的组策略对象覆盖该组策略对象中的策略设置。

      如果发生冲突,优先采用在活动目录层次架构中更高层的那一个。

    • “阻止策略继承”选项

      • 任何一个站点,域或组织单元上,都可以被选择性标记为组织策略继承,来禁止从父目录容器继承组策略。
      • 设置为”禁止替代”的组策略对象链接将始终都会被采用,且不能阻止。

2.3.3 首先处理计算机配置,然后处理用户

  • 组策略对象可以禁止其用户设置或者计算机设置,默认都不禁止。

  • 环回选项

    • 替换模式

      用户GPO列表在启动启动时整体被计算的GPO替代

    • 合并模式

      计算机GPO添加到用户的GPO列表,计算的GPO具有更高的优先权。

2.4组策略的处理总结

  • 组策略能够从站点,域和最后的组织单元继承而来
  • 应用组策略对象的顺序和级别决定了用户和计算机实际能收到的组策略设置
  • 组策略能够在站点,域,组织单元上被阻塞
  • 组策略本身还能够以非覆盖的方式来强制实施
  • 组策略可以有条件的实施和执行

2.5组策略的实现和管理

0x03公钥基础结构PKI

PKI是一组组件和规程,用非对称密码算法原理和技术实现的安全基础设施。

3.1 PKI的组件

3.1.1核心块

证书

认证机构

证书吊销列表

3.1.2 组件1 证书注册机构RA

  • CA委派给注册权威机构RA一些责任

    • 个人认证,令牌分发
    • 吊销报告,名称指定
    • 密钥生成,存储密钥对
  • 多数情况下,RA用于在证书登记过程中核实证书申请者的身份。

3.1.3 组件2 证书颁发机构 CA

  • CA是公钥基础设施中受信任的第三方实体

  • CA向主体颁发证书

  • 续借和更新证书

  • CA是信任的起点
    第三方信任指两个实体从前没有信任关系,但双方与共同的第三方有信任关系,由此建立起来的信任。
    PKI中,第三方就是CA。通常是国家认定的权威机构。

  • 证书将主体公钥和名字等其他信息绑定起来,CA使用它的签名私钥对证书信息进行数字签名。

  • CA机构的数字签名使得攻击者不能伪造和篡改证书,CA不能否认它签名的证书。

3.1.4 组件3 证书库

  • 目录服务是一个在线存储库,目录服务包含对象的有关信息。
  • LDAP 轻量级目录访问协议
  • PKI实现中FTP服务器和Web服务器可以作为存储库

3.1.5 组件4 档案库

档案库是一个被用来解决将来争执的信息库,为CA承担长期存储文档信息的责任。

档案的主要任务是存储和保护充足的信息来决定在一份旧的文档中数字签名是可以信任的。

3.1.6 组件5 密钥备份及恢复系统

  • 密钥备份与恢复应由可信机构来完成
  • 密钥的备份与恢复只能针对解密私钥,不能备份签名私钥

3.1.7 组件6 证书吊销 CRL

证书在有效期之内由于某些原因可能需要废除。

CRL的数据结构类似于证书

3.1.8 组件7 PKI应用系统接口

  • pKI的价值在于使用户能够方便地使用加密,数字签名等安全服务
  • 一个完整的PKI必须提供良好的应用接口,使各种应用能够与PKI交互,确保所建立的网络环境的可信性。

3.3 证书的使用及验证

0x04 文件系统

4.1文件系统基础

  • 机器硬盘,固态硬盘。

  • 基本分区

    MBR磁盘 :32位 x86硬盘系统

    • 引导盘的第一个扇区

    GPT磁盘 :64位 Itanium处理器

  • DBR:引导扇区,文件系统的第一个扇区、

  • MFT文件记录结构

    • 每个记录项分为记录头和属性列表两个部分
    • 记录头里包含了本记录向的总体情况和信息
    • 属性列表列出了该文件的所有属性

4.2NTFS

又称文件夹与文件的访问权限。NTFS分为特殊访问和标准访问权限。特殊权限是最小粒度的权限,标准权限是将某些常用的特殊权限配套组成的六种。

  • 权限控制的原则
    • 权限积累
    • 以文件夹为权限的设置对象
    • 拒绝权限优于其他权限

4.3 EFS

  • 基于混合加密机制
  • EFS机制
  • 提供数据恢复功能

4.3.1加密过程

  • 文件被考到临时文本文件

  • 文件被一个随机生成的key加密

  • 用户公钥对FEK加密,数据解密区生产。

  • 使用恢复代理的公钥对FEK加密,数去恢复区域产生
  • 所有内容被写进磁盘
  • 临时文件删除

4.3.2

  • DDF以及私钥对FEK解密
  • FEK解密文件

4.3.3优势

基于公钥与文件系统紧密结合的加密技术

操作上完全透明

支持对单个文件或文件夹加解密

提供数据恢复

4.3.4 局限性

  • 增加花费,降低性能
  • 无法检测到病毒
  • 恢复代理影响性能
  • EFS对一切进程,系统中如有泄密者可将文件传出。

4.4 磁盘配额

  • 作用

    避免由于磁盘空间使用的失控可能造成的系统崩溃。

  • 配额是以文件所有权为基础的,不受位置限制。

  • 只适用于卷,且不受卷的文件夹结构以物理磁盘影响。

4.5 数据备份的策略,RAID机制的几种备份机制

4.5.1完全备份

4.5.2差异备份

在一次完全备份后对修改的文件备份。不清除标记。

4.5.3增量备份

备份自上一次备份之后有变化的数据。清除标记。

4.6 数据恢复机制

0x05身份验证

5.1 针对字典,穷举攻击的防范策略

操作系统认证过程有一定的时延,增大穷举难度

多重口令。组合口令。

安全策略设定

  • 账号策略,密码策略和kerberos策略
    • 启动口令复杂化
    • 设定账户锁定阈值
    • 启动日志审计功能
    • 禁用无人使用账户,锁定ADMIN账户
  • 在域环境中,账户设置一般在域策略中制定,应用于整个域的所有计算机上。

5.2交互式本地登录,域登录各组件作用

5.2.1 winlogon

  • 注册SAS,默认为Ctrl+Alt+Del
  • 加载GINA和身份验证程序包
  • 生成三个桌面
  • 向GINA发送事件通知消息,提供GINA调用的接口函数。
  • 保证操作对其他进程不可见。

5.2.2 GINA动态链接库

提供了winlogon用户表示和验证用户的输出函数

5.2.3 网络提供程序的动态链接库

提供通过标准协议到其他类型的网络的辅助身份验证功能。

5.3 kerberos用户身份验证服务和票据授予服务

kerberos在对称加密基础上,基于可信赖的第三方实现分布式环境下的双向用户实时认证,保证数据的安全传输。

实现用户级身份认证,并通过构造适当票据格式和认证符防止IP地址伪造和重放。

  • 第一 从AS服务器中获取TGT票据

    C输入密码,得到Kc,tgs Ticket tgs.

  • 第二 用户C从TGS服务器获取票据tickets

    C得到Kc,s Tickets

  • 第三 访问服务

0x06 访问控制

限制访问主体对访问客体的访问权限,从而使计算机系统在合法范围内使用

6.1windows的访问控制模型及组件

6.2 主体和客体的安全描述

  • 主体:访问令牌

    用户认证通过后,系统为其创建访问令牌,线程获取令牌的拷贝

  • 程序请求访问客体时,提交令牌,SRM使用令牌与客体的安全描述进行比较来执行访问检查和控制

  • 客体:安全描述符

    每一个安全性对象都有一个安全性描述符。

    • 对象所有者的SIP
    • 基本所有组的SID
    • 自定义的访问控制列表
    • 系统访问控制列表

6.3 客体中策略的冲突解决办法

  • 直接把访问及控制信息分配给对象
  • 从父对象中检查可继承的访问控制信息。(下级的优先权更高)
  • OM所提供的默认访问控制信息,并分配给对象。

6.4 分布式访问控制实现

0x07网络传输安全

7.1 IPSEC封装协议

  • IPsec是一种网络层保护协议

    通过对传输前每个IP数据包进行保护来保障网络传输。

  • 作用:提供了身份验证,机密性,完整性三个安全服务。防止重放

7.1.1 工作模式

  • 传输模式

    两部主机之前,端对端。

  • 隧道模式

    两个不同网段所传送的数据内容加密,适于建立安全VPN隧道。网关对网关。

7.1.2 安全协议

IPSEC由一系列安全协议组成,它把通信过程分成协商和数据交互两个阶段。

  • 协商:通信双方互相认证对方的身份,并根据安全策略协商使用的加密。认证算法,生成共享的会话密钥。
  • 数据交互:利用商量好的算法和密钥对数据进行安全处理。

7.2 直接访问 主机对主机

7.3 VPN访问