系统安全组件

实现系统安全由如下核心组件和数据库组成:

1.安全引用监视器SRM:Windows执行体中的组件,负责定义代表安全上下文的访问令牌结构体,执行对象的访问检查,操作用户特权,生成任何导致安全审计的消息

2.本地安全授权子系统Lsass:Lsass.exe映像文件的用户模式进程,负责本地系统安全策略(如哪些用户可以允许登陆机器,密码策略,对用户和组的赋予特权,系统安全审计的设置),用户认证,向事件日志发送安全审计消息。本地安全授权服务Lsasrv(Lsasrv.dll)是Lsass加载的一个dll,实现了上述大部分功能

3.Lsass策略数据库:包含本地系统安全策略配置的数据库。该数据库存储于HKLM\SECURITY中。它包含了哪个域可以获得信任并允许登录、哪些用户可以访问权限并且以哪种方式进行访问(交互、网络、服务登录)、哪些用户被分配哪些特权、执行哪种审计。Lsass策略数据库也存储用于缓存域登录的登录信息和Windows服务的用户登录信息。

4.SAM服务(Security Accounts Manager):负责管理包含了定义本地机器的用户名和组的数据库的一系列子例程。SAM服务由\Windows\System32\Samsrv.dll实现,运行与Lsass进程中

5.SAM数据库:包含本地用户名和组账户的密码以及其他属性的数据库,不运行域控制器的功能。域控制器中SAM存储系统的管理员恢复账号定义和密码。SAM数据库存储于HKLM\SAM中

6.活动目录:目录服务包含一个存储域中对象信息的数据库。域是一些计算机以及这些计算机的安全组的集合,这些安全组由一个单独实体管理。活动目录存储了域中对象的信息,包括用户、组和计算机。密码信息和域中用户的特权存储在活动目录中,在域控制器的指派下复制给域中的计算机。活动目录服务端进程由\Windows\System32\Ntdsa.dll实现

7.认证包:包含了运行在Lsass进程和客户进程上下文的dll,实现了Windows认证策略。认证dll负责检查用户名与密码是否相匹配,若匹配,向Lsass进程返回用户的安全标示SID,LSASS使用该SID生成访问令牌

8.登录进程(WinLogon):运行\Windows\System32\Winlogon.exe映像的用户模式进程,负责响应SAS请求和管理交互的登录会话。

9.GINA:运行在Winlogon进程中的用户模式dll,winlogon使用它来获取用户名和密码或者智能卡PIN。标准GINA位于\Windows\System32\Msgina.dll

10.网络登录服务(Netlogon):一个Windows服务(\Windows\System32\Netlogon.dll),向域控制器建立安全隧道,发送安全请求,比如交互登录或者LAN管理器和NTLM认证验证

11.内核安全设备驱动:内核模式的函数库,实现LPC接口功能,其他内核模式安全组件包括EFS使用这些接口与用户模式的Lsass进行通信。KSecDD位于\Windows\System32\Driver\Ksecdd.sys

运行在内核模式的安全引用监视器与运行在用户模式的Lsass通过LPC进行通信。在系统初始化期间,SRM创建一个SeRmCommandPort的命名端口,Lsass连接至此端口。Lsass创建一个SeLsaCommandPort的命名端口,SRM连接到此端口后,双方开始进行私密通信。SRM创建一个共享内存区域,用于传输大于256字节的消息,SRM将这块共享内存区域的句柄在连接端口时传递给Lsass。只要在系统初始化时SRM和Lsass连接到对方的对应端口后,它们不再监听各自端口。因此,之后的用户进程没有办法以恶意目的连接到Lsass或者SRM得端口,因为请求永远得不到响应。

时间: 2024-10-10 22:17:44

系统安全组件的相关文章

warning MSB3162: 所选的“Microsoft Report Viewer 2012 Runtime”项需要“Microsoft.SqlServer.SQLSysClrTypes.11.0”。在“系统必备”对话框中选择缺少的系统必备组件,或者为缺少的系统必备组件创建引导程序包。

warning MSB3162: 所选的"Microsoft Report Viewer 2012 Runtime"项需要"Microsoft.SqlServer.SQLSysClrTypes.11.0".在"系统必备"对话框中选择缺少的系统必备组件,或者为缺少的系统必备组件创建引导程序包. 发布ReportViewer程序遇到这个问题. 到处查了下,发现解决方法是这样的. 1)打开这个路径下的xml文件: C:\Program Files (x

VS报:"dll标记为系统必备组件,必须对其进行强签名"错误

问题: VS生成程序时,报“要将程序集“XX.dll”标记为系统必备组件,必须对其进行强签名.”错误. 解决方法: 1)在报错的解决方案中找到一个可以发布的项目(引用该XX.dll的项目未必可以发布): 2)右击该项目,选择“属性”: 3)选择“发布”: 4)点击“应用程序文件”按钮: 5)找到该“XX.dll”,将发布状态有“系统必备”改为“包括(自动)”: 6)再次运行成功. 参考: 1. 首先说明一下:X是某程序集的名称,相当于数学中的未知数X. 看到这样的提示,开始我以为是把程序集X的发

一键脚本清理DEBIAN系统无用组件 减少系统资源

虽然如今我们选择服务器资源都比较多,以前我们看到很多128MB内存.甚至32MB内存的建站网站,感觉特别羡慕.其实这些也不是难事,相比之下,DEBIAN系统比CENTOS系统占用资源少,然后我们需要进行内存优化处理,删除不必要的组件,这样又可以节省一些资源.这里我找到几个减少资源的方式,如果我们需要节省不必要的组件的时候可以用到. 第一.一键删除无用组件 apt-get update -y && apt-get upgrade -y apt-get -y purge apache2-* b

django(权限、认证)系统——第三方组件实现Object级别权限控制

在我的系列blog<Django中内置的权限控制>中明确提及到,Django默认并没有提供对Object级别的权限控制,而只是在架构上留了口子.在这篇blog中,我们探讨一个简单流行的Django组件django-guardian来实现Object level permission. 安装配置django-guardian 首先需要安装django-guardian,一般我们喜欢用virtualenv创建一个虚拟环境: >>virtualenv --distribute venv

[转帖]当 K8s 集群达到万级规模,阿里巴巴如何解决系统各组件性能问题?

改天学习一下. https://www.cnblogs.com/alisystemsoftware/p/11570806.html 作者 | 阿里云容器平台高级技术专家 曾凡松(逐灵) 本文主要介绍阿里巴巴在大规模生产环境中落地 Kubernetes 的过程中,在集群规模上遇到的典型问题以及对应的解决方案,内容包含对 etcd.kube-apiserver.kube-controller 的若干性能及稳定性增强,这些关键的增强是阿里巴巴内部上万节点的 Kubernetes 集群能够平稳支撑 20

BootStrap——BootStrap练习(栅格系统、组件、插件)

1.头部:主要运用了栅格系统(对于不同的设备应该如何布局来适应屏幕,如何隐藏元素等) <div class="container"> <div class="row"> <div class="col-lg-4 col-md-6 col-sm-6 col-xs-12"> <img src="img/top1.jpg" /> </div> <div class=&

Delphi系统托盘组件 TTrayIcon 简介

TTrayIcon 的主要属性: TrayIcon.Icon指定托盘图标, 有几种用法:1.设计时选择;2.把一个 TIcon 对象给它;3.使用当前程序图标: TrayIcon1.Icon := Application.Icon;4.TrayIcon1.SetDefaultIcon; 这也是使用当前程序图标. TrayIcon.Icons 与 TrayIcon1.IconIndexTrayIcon.Icons 对应一个 TImageList, 用 TrayIcon.IconIndex 来指定使

Intent启动系统组件(activity,service,BroadReceiver)-android学习之旅(四十九)

android提供了统一的编程模型Intent来启动系统的组件,这样提供了松耦合性,是一种mvc的编程模式 版权声明:本文为博主原创文章,未经博主允许不得转载.

Unity3D研究院之拓展系统自带组件的Inspector视图

转自 http://www.xuanyusong.com/archives/3455 using UnityEngine; using System.Collections; using UnityEditor; public class CameraExtension : Editor { public override void OnInspectorGUI(){ base.DrawDefaultInspector(); if(GUILayout.Button("雨松MOMO"))