☰
零基础学安全入门:Windows账户权限、注册表服务与日志基线
2026/11/2 20:56:24 网站建设 项目流程

零基础学安全,很多人第一反应是去找工具、找靶场、找现成的教程,结果折腾半个月,连“为什么这个文件双击没反应”“为什么任务管理器里那个进程杀不掉”都说不清楚。我见过太多这样的初学者:命令敲得挺溜,一问系统层面的原理就卡壳。安全这件事,本质上是和操作系统打交道——你得先知道它怎么运转,才能判断哪里不对劲。这篇内容就是围绕零基础学安全里的Windows 基础这一块来展开的,把账户权限、注册表、服务、进程、日志、基线加固这几块讲透,告诉你每个机制为什么存在、在安全视角下意味着什么、日常怎么查怎么做。适合完全没接触过系统底层的新手,也适合做了几年运维但一直靠经验办事、想补上原理课的朋友。看完你至少能做到一件事:面对一台陌生的 Windows 机器,知道从哪几个入口去观察它。

1. 学习路线的整体设计与取舍

1.1 为什么零基础安全要先啃操作系统而不是先学工具

我带过几个刚入行的朋友,最常见的误区是“工具即能力”——拿到一个扫描器,扫出一堆结果,然后对着结果发懵。问题出在:工具输出的是现象,判断现象需要的是模型。你脑子里得先有一张 Windows 的运行图:谁在管身份、谁在管权限、程序从哪来、配置存哪里、出事了谁记录。这张图建不起来,工具给再多数据也只是噪声。

从操作系统入手还有一层现实原因:Windows 在企业环境里的占比极高,绝大多数办公终端、内部业务系统、域环境都跑在它上面。你在安全岗位上遇到的第一个真实场景,大概率不是某个高深的东西,而是“这台机器为什么突然多了一个管理员账户”“这个服务为什么开机自启”“这个进程为什么连了外网”。这三个问题全部指向系统基础,一个都不指向工具。

所以这条路线的定位很明确:先建立系统模型,再谈检测与加固,最后才是工具。工具是会变的,有些用两年就没人维护了;系统模型是稳定的,二十年前的账户权限逻辑和今天没有本质差别。我个人的判断是,一个能把 Windows 账户、权限、注册表、服务、日志这五块讲清楚的人,转去做任何方向的安全工作,上手速度都会明显快一截。

1.2 四个知识面和它们之间的依赖关系

我把这块内容拆成四个互相咬合的面,拆分的依据不是教材目录,而是“排查一个问题时你会按什么顺序去看”:

知识面核心问题在排查中的位置
账户与权限谁在操作,他能做什么第一步,先定性
注册表与服务系统被改成了什么样第二步,找持久化痕迹
进程与网络此刻正在发生什么第三步,抓现场
日志与基线过去发生过什么,怎样才算正常第四步,回溯与固化

这个顺序不是随便排的。你去看任何一次真实的终端排查,几乎都是从“这台机器上现在有哪些账户”开始的,因为身份是权限的源头;账户没问题,再去看配置有没有被动手脚;配置也正常,就去看运行时状态;最后翻日志做时间线还原。这个顺序反过来用也行,但会很累——先看日志再看账户,等于先读结果再找原因。

依赖关系上,账户是地基。注册表里大量的键值都跟 SID 绑在一起,服务的运行身份也是账户,文件权限的 ACL 里也是一串 SID。SID 这个概念不理解,后面所有“为什么这个用户能访问那个目录”的问题都解释不通。所以我建议的学习节奏是:账户与权限花的时间要占到整体的三分之一,别急着往后赶。

1.3 环境准备:一台可以随便折腾的机器

学系统基础必须动手,而且必须敢把系统搞坏。我的做法永远是虚拟机,不碰物理机。理由很简单:你要验证权限、改注册表、停服务、删账户,这些操作在真机上有风险,在虚拟机里最坏也就是重装。

准备上没什么玄学,宿主机的配置够跑起来就行。我给一个参考:宿主机 16G 内存,给虚拟机分 4G,处理器 2 核,磁盘 60G 动态分配。这个配置跑完整的桌面版系统足够流畅,做实验也不会卡。虚拟机软件用哪家都行,看你习惯。

提示:装完系统第一件事是给虚拟机做一次快照,命名成“干净基线”。后面每做完一组实验就回滚一次,这样你永远不会陷入“上一步干了什么忘了”的困境。这个习惯我从第一天保持到现在,省下的重装时间至少几十个小时。

另外建议准备两样东西:一份系统自带的帮助文档(很多命令的参数说明官方写得比任何教程都准),以及一个纯文本的记录文件。每次做完实验记三行:改了什么、观察到什么、结论是什么。这个记录在半年后会变成你自己的排查手册,比任何外部资料都贴合你的思维习惯。

2. 账户、权限与访问控制

2.1 用户、组与 SID:系统眼里的“你是谁”

大部分人理解账户的方式是“用户名 + 密码”,这是从人的视角看的。系统不是这么认的。系统眼里,每个账户的唯一标识是一串 SID(安全标识符),形如S-1-5-21-一串数字-1001。用户名只是给人看的标签,可以改;SID 一旦生成就跟着这个账户走,改不了。

这个设计的意义在于:如果权限是绑在用户名上的,那我改个名字就能继承别人的权限,那还得了。绑在 SID 上就没这个问题——你改了名字,SID 没变,权限跟着你;你删了这个账户再建一个同名账户,新账户拿的是全新的 SID,之前授予那个名字的权限一个都继承不过来。这一点在排查“为什么重建了同名账户还是访问不了共享目录”时特别关键,几乎每次都要解释一遍。

组是权限的批量发放工具。系统内置了一批组,每个组对应一类职责,你把账户塞进组里,账户就自动获得这个组被授予的所有权限。常见的几个:

  • Administrators:本地最高权限,几乎不受限制。
  • Users:普通用户,能运行大多数程序,但不能改系统级配置。
  • Remote Desktop Users:允许远程登录桌面。
  • Guests:权限极低的访客账户,默认禁用。

我个人的习惯是:能用组解决的,绝对不单独给账户授权。原因很实际——单独授权的账户,半年后没人记得为什么给他这个权限,人员一变动就变成幽灵权限。用组的话,至少“谁在哪个组”这件事是可审计的,删人的时候从组里摘掉就干净了。

2.2 UAC 的真实作用:它不是权限控制,是提权确认

关于 UAC,网上流传最广的说法是“UAC 是防病毒的保护机制”,这个说法不准确。UAC 的本质是令牌分离:一个属于管理员组的账户登录时,系统会给他发两个访问令牌,一个标准权限的、一个高权限的。日常运行时用的是标准令牌,只有当程序明确请求提升时,系统才弹框问你,确认后才换成高权限令牌。

理解这一点,很多现象就通了:

  • 为什么管理员账户登录后打开某些系统设置还是要确认?因为那个操作需要高权限令牌,当前进程用的是标准令牌。
  • 为什么某些老程序在开了 UAC 之后行为异常?因为它假设自己有完整权限,写文件写到了受保护路径,被重定向了。
  • 为什么“以管理员身份运行”这个右键菜单项有用?它就是显式请求高权限令牌。

从安全视角看,UAC 的价值不在于拦住谁,而在于让提权变成一件需要用户知情的事。攻击链里常见的一环就是诱导用户点“允许”,所以 UAC 弹框出现时,第一反应应该是“这个程序为什么要提权”,而不是无脑点是。我在给同事做培训时反复强调这一点:弹框本身不是问题,无脑点是问题。

有一个实践建议:日常办公用一个标准用户账户,管理员账户只在需要时用,或者干脆单独建一个管理账户用来提权。这套做法在多起真实事件里都起到了作用——恶意程序想静默提权,在标准用户下根本走不通,必须弹框,弹框就有被发现的可能。

2.3 NTFS 权限与共享权限:两套规则叠加时听谁的

这是新手最容易搞混的地方。一个文件通过网络被访问时,实际要过两道门:共享权限(管的是“能不能看到这个共享”)和NTFS 权限(管的是“看到之后能做什么”)。两道门都过了,访问才成立;任何一道门没过,访问就被拒。

叠加规则记一句话:取两者中更严格的那个。共享权限给了“完全控制”,NTFS 只给“读取”,最终结果就是读取。反过来共享给了“读取”,NTFS 给了“完全控制”,结果还是读取。这个规则设计得非常朴素,但每年都有无数人在这上面栽跟头——在共享里开了完全控制,发现还是写不进去,然后开始怀疑人生。

NTFS 权限本身还有继承机制:子文件夹默认继承父文件夹的权限,父级改了,子级跟着变。这带来一个常见的坑:你给某个子目录单独设了权限,结果父目录一调整,子目录的权限被覆盖了。解决方法是打断继承(把继承来的权限转成显式权限),或者在子目录上设置拒绝项。拒绝项的优先级高于允许项,这是一条硬规则,善用它比到处加允许项要清晰得多。

注意:排查“某用户访问不了某个目录”时,标准路径是——先确认他用的是哪个账户(是不是还有人用同一个用户名登录了另一个会话),再确认这个账户在哪些组里(组权限是叠加的,可能有个组带了拒绝),最后才看目录本身的 ACL。按这个顺序走,八成的问题在第一步就能定位。

2.4 实操:用命令行盘一遍本机的账户与权限

图形界面点来点去容易漏,命令行又快又全。下面这几条都是系统自带的,不需要装任何东西:

# 查看本地账户列表,注意看账户是否启用 net user # 查看某个账户的详细信息,包括所属组、上次登录、密码过期策略 net user 账户名 # 查看本机所有组以及组内成员 net localgroup # 查看管理员组里有谁——这一条建议每周看一次 net localgroup administrators

PowerShell 的表达能力更强一些,尤其是需要批量看的时候:

# 列出启用的本地账户,关注 Enabled 和 LastLogon Get-LocalUser | Select-Object Name, Enabled, LastLogon # 列出所有本地组 Get-LocalGroup | Select-Object Name, Description # 查看某个组的成员 Get-LocalGroupMember -Group "Administrators" # 查看某个目录的权限条目,重点看 IdentityReference 和 FileSystemRights Get-Acl -Path "C:\某个目录" | Format-List

这套命令我一般建议新手每天跑一遍,连续跑一周。不是为了记住语法,是为了建立一个“正常长什么样”的印象——正常的管理员组里通常只有两三个条目,正常的本地账户列表通常和你入职时看到的一样。等你脑子里有了这个基线,哪天多出一条,你一眼就能感觉到不对。

3. 注册表与服务

3.1 注册表的树状结构:配置数据都存哪儿

注册表本质上就是一个分层的键值数据库,系统的大部分配置都放在里面。顶层是五个根键,重要的主要是两个:

  • HKEY_LOCAL_MACHINE(HKLM):本机级别的配置,对所有用户生效。系统设置、硬件驱动配置、服务定义、已安装软件信息都在这里。
  • HKEY_CURRENT_USER(HKCU):当前登录用户的个人配置。每个用户的 HKCU 是独立的,来源于用户配置文件里的一个隐藏文件。

除此之外还有 HKEY_USERS(所有用户的配置集合)、HKEY_CLASSES_ROOT(文件关联)、HKEY_CURRENT_CONFIG(当前硬件配置),日常排查用得少一些,但 HKEY_USERS 在某些场景下有用——比如你想看一个没登录的用户的配置。

从安全视角看注册表,最值得记住的是它的持久化价值。系统启动时要读注册表、用户登录时要读注册表、很多程序运行时要读注册表。这意味着只要往特定的键里写一条东西,就能实现“每次开机都执行”的效果。常见的位置有:

位置作用关注点
HKLM\...\CurrentVersion\Run开机自动运行本机级,所有用户触发
HKCU\...\CurrentVersion\Run用户登录自动运行当前用户触发,更隐蔽
HKLM\...\Winlogon下的 Shell/Userinit登录流程注入改动后影响整个登录过程
HKLM\...\Services服务定义每个子键对应一个服务
HKLM\...\Image File Execution Options调试器劫持正常软件不该有这个子键

理解这张表的意义不是让你去写,而是让你知道该去哪儿看。一台机器如果行为异常,先把这几个位置的键值过一遍,比乱翻效率高得多。

3.2 服务:以系统身份长期运行的进程

服务是 Windows 里一个很特别的东西:它没有用户界面,可以在用户登录之前就启动,通常以系统账户身份运行,出了异常还能自动重启。这三个特性加起来,让它既是系统正常运转的基础,也是恶意代码最喜欢的落脚点之一。

看服务主要看三个属性:

  • 启动类型:自动 / 手动 / 禁用 / 延迟自动。自动启动的服务会在开机时跑起来,是最需要关注的。
  • 登录身份:LocalSystem(本机最高权限)、LocalService、NetworkService,或者指定的用户账户。以 LocalSystem 运行的服务如果被替换,影响是全局的。
  • 可执行文件路径:这个最重要。路径指向的应该是正规安装目录下的程序,指向临时目录、用户目录、或者路径里带引号缺失的,都需要重点关注。

路径带引号缺失这一点值得单独说一下。如果可执行路径里有空格但没有加引号,系统在解析时会按顺序尝试若干个中间路径,理论上存在被利用的空间。所以看服务路径时,正常的应该是完整带引号的形式,不带引号的短路径值得记一笔。

排查时我一般用这条命令导出全部服务,然后在文本里搜索:

# 导出所有服务的名称、启动类型、运行身份和路径 Get-CimInstance Win32_Service | Select-Object Name, DisplayName, StartMode, StartName, PathName | Sort-Object StartMode | Export-Csv -Path "C:\temp\services_baseline.csv" -NoTypeInformation -Encoding UTF8

导出的这份 CSV 就是你的服务基线。以后每隔一段时间导一次,用文本比对工具一对比,新增或修改的服务立刻现形。这个方法看着土,但极其实用,尤其是在你同时管几台机器的时候。

3.3 实操:把自启动项和服务过一遍

完整流程我建议这样走:

第一步,打开注册表编辑器,定位到两个 Run 键(HKLM 的和 HKCU 的),把所有键值抄下来或者截图。这一步是建立个人基线,不需要判断对错。

第二步,用命令把这些键值导出来,方便后续比对:

# 导出当前用户的开机自启动项 Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" # 导出本机级的开机自启动项 Get-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" # 顺便看一眼启动文件夹里有什么 Get-ChildItem "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup" Get-ChildItem "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"

第三步,对照服务列表看启动类型为“自动”的那些,逐个确认路径和运行身份。这一步会比较花时间,第一遍可能要半小时,但做完之后你对这台机器的“正常状态”就有了完整的认识。

心得:第一遍做基线的时候,把每一项的用途都写一句备注。比如“这个是驱动配套服务,删了打印机不工作”。这个过程很枯燥,但做完之后你就有了一份带解释的资产清单。三个月后再看,那些你当初不耐烦记的备注会救你很多次。

4. 进程、网络与日志

4.1 进程和它背后的东西

任务管理器能看到的只是冰山一角。进程还有几个维度在任务管理器里默认不显示:父进程、命令行参数、加载的模块、打开的文件句柄、以及它的数字签名状态。这五个维度基本决定了一个进程是“正常软件”还是“需要进一步看”。

父进程这一项的价值在于发现异常调用链。正常的桌面程序,父进程通常是资源管理器;正常服务,父进程通常是系统进程。如果某个办公软件的父进程是一个命令行解释器,这个组合就值得看一眼——不一定有问题,但不常见就值得记下来。

命令行参数更关键。同一个程序,参数不同行为完全不同。举个最常见的例子:系统自带的某个组件,正常调用是定时任务用的,如果它被带着一段远程地址的参数跑起来,性质就变了。所以光看进程名不看参数,等于只看了一半。

数字签名是快速筛选器。正规厂商发布的程序一般带签名,签名无效或者完全没有签名,不代表有问题,但代表需要多看一眼。查签名的命令:

# 查看某个可执行文件的签名状态 Get-AuthenticodeSignature -FilePath "C:\路径\程序.exe" | Select-Object Status, SignerCertificate # 列出进程及其所属公司、描述、路径,快速筛选异常项 Get-Process | Where-Object { $_.Path } | Select-Object Name, Id, Company, Description, Path | Sort-Object Company

第二条命令我经常用。它把没有公司信息的进程排在前面(因为空值排序靠前),一眼就能看出哪些是没签名、没描述的东西。实测下来,正规系统上这个列表里的大部分条目都有公司名,剩下的那些无主条目就是你要确认的对象。

4.2 网络连接:谁在跟外面说话

看网络连接的核心是三列:本地地址、远程地址、对应进程。系统自带的工具就能做到:

# 查看所有活动的 TCP 连接及对应的进程号 netstat -ano # 只显示已建立连接的,过滤掉监听状态的 netstat -ano | findstr ESTABLISHED

拿到进程号之后,再去查这个进程是谁。PowerShell 里可以直接关联:

# 列出监听端口的进程及路径,重点看非系统目录下的程序 Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess, @{Name="Process";Expression={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name}}, @{Name="Path";Expression={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Path}}

判断一条连接是否需要关注,我一般看三点:远程地址是不是公网地址、这个进程平时会不会主动连外网、端口号是不是常见的业务端口。三个都不符合就要细看。注意不要把所有外网连接都当敌人——浏览器、更新服务、云同步工具都会连外网,这些是正常的。关键是建立“哪些程序本来就会连外网”的认知,剩下的才是异常。

4.3 事件日志:事后回溯的唯一依靠

日志这块,新手最容易犯的错是“全看”,结果被几万条记录淹没。正确的做法是先记住几类高价值的事件,按需查。

Windows 日志主要分三块:系统日志(驱动、服务、系统组件的事件)、安全日志(登录、权限使用、审计相关)、应用日志(应用程序自己写的事件)。其中安全日志默认记录的内容不多,需要先开审计策略才会有详细记录,这一点很多人不知道。

值得记住的事件类型(按大类记,不用背具体编号):

事件类别大致含义排查价值
登录成功 / 失败谁在什么时间用什么方式登录判断是否有异常时段登录
特权分配某进程获得了特殊权限关注非常规程序的提权行为
账户管理账户被创建、删除、加入组发现越权账户的直接证据
服务安装新服务被注册定位持久化的关键线索
审计策略变更日志记录规则被修改有人想降低可见性时会出现

查日志的命令行方式:

# 查看最近的安全日志,只看关键字段 Get-WinEvent -LogName Security -MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message # 按时间范围筛选,排查特定时段 Get-WinEvent -FilterHashtable @{ LogName = 'Security' StartTime = (Get-Date).AddHours(-24) } | Select-Object TimeCreated, Id, Message

日志的价值在于时间线。我处理过的一次终端异常,最后就是靠把安全日志、系统日志和文件访问时间三者对齐,才确定了顺序:先是账户被加进组,接着服务被注册,然后才有外联。单看任何一份日志都看不出这条链,三份一对就非常清楚了。

注意:日志的默认大小是有上限的,写满之后会覆盖最早的记录。如果你要做长期观察,记得把关键日志的容量调大一些,或者定期导出归档。这件事我吃过亏——需要回溯两周前的记录时,发现早就被覆盖了。

5. 基线加固与日常维护

5.1 补丁这件事,别想复杂

补丁的重要性不用多讲,我想说的是执行层面的两个细节。第一,优先保证浏览器和办公软件是最新的,因为这两类软件是日常接触外部内容最多的入口,暴露面最大。第二,不要迷信“打完补丁就安全”,补丁解决的是已知问题,未知的永远存在,所以补丁之外还得有权限控制和备份兜底。

检查更新状态可以用命令行快速看一眼:

# 查看已安装的更新列表,按安装时间倒序 Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 20 # 查看系统版本与内部版本号 Get-ComputerInfo | Select-Object WindowsProductName, OsVersion, OsBuildNumber

内部版本号这一项很有用。很多问题的排查第一步就是确认版本,因为不同版本的行为、支持周期、可用功能都不一样。记不住没关系,命令一跑就有。

5.2 本地安全策略:几个改动小、收益大的项

本地安全策略(secpol.msc)里有大量配置项,全调一遍不现实。我按投入产出比排了几个,都是改一次长期有效的:

  • 账户锁定策略:设置一个合理的阈值,比如连续失败若干次后锁定一段时间。这个能显著降低暴力尝试的成功率。
  • 密码策略:长度和复杂度要求写进策略,比口头要求有效得多。
  • 匿名访问限制:确认匿名枚举被禁用,避免账户列表被轻易拿到。
  • 审核策略:至少开启登录事件、账户管理、策略变更这几类的成功与失败审计。不开的话,安全日志几乎是空的。

组策略(gpedit.msc)里还有一个值得关注的点:可移动存储的限制。对涉及敏感数据的机器,限制外部存储设备的写入是一个很实在的措施。配置路径在管理模板下的系统相关分支里,按需启用即可。

心得:策略改完一定要重启或者强制刷新策略再验证,很多人改完发现没生效就是因为没刷新。验证方式是直接去看对应的策略状态,而不是凭感觉判断。这个细节我在早期栽过好几次。

5.3 备份与快照:最后一道防线

所有加固措施都可能失效,唯独备份不会骗你。备份策略我建议按三层来做:

第一层是系统快照,在做任何配置变更前打一个,出问题几分钟回滚。这一层主要针对实验环境和个人机器。

第二层是重要数据定期备份,频率按数据变化速度定,每天或每周,存到与主机物理隔离的位置。这一层的原则是“至少一份不在本机”。勒索类事件里,符合这条原则的人基本没受损失。

第三层是关键配置的文本化记录,也就是前面说的服务导出、自启动项导出、策略配置记录。这一层平时看不出价值,重装系统的时候价值巨大——照着记录重新配置,比凭记忆恢复快十倍,还不容易漏。

这三层里,我个人最看重第三层,因为它成本最低但复用性最高。一份好的配置记录,本质上就是你自己写的运维手册。

6. 常见问题与排查速查

6.1 高频问题速查表

下面这些是我被问得最多的问题,整理成对照表,遇到时直接查:

现象最常见原因优先检查项
提示无权限访问某目录组权限或显式拒绝项账户所属组、目录 ACL 中的拒绝条目
共享目录能看不能写共享权限与 NTFS 权限不一致两套权限分别确认,取更严格的那个
开机变慢,启动项增多自启动位置被追加条目两个 Run 键、启动文件夹、计划任务
某端口被占用但找不到程序进程隐藏或权限不足以高权限查看端口归属,再定位进程
管理员账户改不了某设置当前进程用的是标准令牌确认是否需要显式提权
日志里查不到登录记录审核策略未开启检查审核策略中登录事件的配置
同名账户重建后权限丢失新账户的 SID 与旧的不同重新按新 SID 授权,不要指望继承
策略修改后不生效策略未刷新强制刷新策略或重启后验证

这张表建议打印出来贴在工位上。不是因为里面的知识多高深,而是因为人在着急的时候容易跳过最基本的检查步骤,有张表在眼前能救命。

6.2 我自己的排查顺序和一些血泪教训

排查这件事,顺序比技巧重要。我固定的顺序是:账户 → 配置 → 运行态 → 日志 → 结论,中途不跳步。跳步的代价我印象很深:有一次直接去看进程,花了两个小时没找到问题,回头一看账户列表里多了一个本地管理员,两分钟就定位了。从那以后我再也不跳第一步。

第二条经验是先记录再操作。排查过程中你会改东西,改之前把当前状态记下来,包括你改的是哪一项、原值是什么。不记录的话,改完问题没解决,你连退回原状都做不到,最后只能重装。这个习惯的养成成本极低,收益极高。

第三条是不要相信单一证据。一个进程路径在临时目录,不代表它就是坏的;一个有签名的程序,也不代表它一定安全。判断要至少两到三个独立维度互相印证——路径、签名、父进程、网络行为、启动方式,凑齐两三条再说结论。这条经验在任何领域都适用,是排查工作的基本纪律。

第四条,也是我认为最重要的一条:把每次排查写成复盘。不用长,三五句话就行:现象是什么、怎么定位的、根因是什么、以后怎么预防。我自己的复盘文档攒了几年,现在遇到新问题,第一反应是先去里面搜一搜有没有类似的。很多时候答案就在自己过去踩过的坑里。

最后分享一个我觉得对新手最有用的做法:找一台干净的系统,把今天讲的这些位置全部导出一遍,做成一份“正常状态清单”,然后存在自己的资料里。这份清单不值钱,但它是你以后所有判断的参照系。安全工作的核心能力,说到底是“分辨正常与不正常”,而分辨的前提是你先知道正常长什么样。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询