Windows Server开启审计功能
Windows Server 也具备强大的审计功能,可以记录各种系统事件和用户活动,以满足安全审计、合规性要求和故障排除的需求。 Windows Server 的审计功能非常灵活和可配置,可以精确地记录您关心的事件类型。
一、Windows Server 审计功能概述
Windows Server 的审计系统主要基于 安全日志 (Security Log)。 系统会将符合您配置的审计策略的事件记录到安全日志中。 这些事件可以包括:
- 账户登录和注销事件: 例如用户成功或失败的登录尝试、账户锁定、Kerberos 身份验证等。
- 对象访问事件: 例如文件、文件夹、注册表项、打印机等的访问、修改、删除操作。
- 特权使用事件: 例如管理员权限的使用、安全策略的更改、系统时间的更改等。
- 进程跟踪事件: 例如进程的创建、终止、进程信息的访问等。
- 策略更改事件: 例如审计策略的更改、用户权限的更改、密码策略的更改等。
- 系统事件: 例如系统启动、关闭、系统时间更改、安全服务启动停止等。
- 目录服务访问事件 (针对域控制器): 例如 Active Directory 对象的访问、复制等。
- 账户管理事件: 例如用户账户、组账户的创建、删除、修改等。
二、开启 Windows Server 审计功能的方法
您可以通过多种方式开启和配置 Windows Server 的审计功能,最常用的方法是通过 组策略 (Group Policy) 和 本地安全策略 (Local Security Policy) 以及 命令行工具 auditpol.exe。
1、使用组策略 (Group Policy) 配置审计 (推荐用于域环境)
组策略是管理域环境中计算机配置的强大工具。 通过组策略配置审计策略,可以集中管理域内多台服务器和客户端的审计设置。
-
打开组策略管理控制台 (Group Policy Management Console, GPMC):
- 在域控制器或安装了 GPMC 工具的计算机上,按下
Win + R,输入gpmc.msc,然后点击 “确定”。
- 在域控制器或安装了 GPMC 工具的计算机上,按下
-
找到要配置的组策略对象 (GPO):
- 可以选择编辑 默认域策略 (Default Domain Policy) (影响整个域,谨慎使用) 或者创建一个新的 GPO 并链接到特定的组织单元 (OU) 或域。
- 建议创建新的 GPO 并链接到包含目标服务器的 OU,以便更精细地控制审计范围。
-
编辑选定的 GPO:
- 右键单击选定的 GPO,选择 “编辑”。 这将打开 组策略管理编辑器 (Group Policy Management Editor)。
-
导航到审计策略设置:
- 在组策略管理编辑器中,展开以下路径:
- 计算机配置 (Computer Configuration)
- 策略 (Policies)
- Windows 设置 (Windows Settings)
- 安全设置 (Security Settings)
- 本地策略 (Local Policies)
- 审核策略 (Audit Policy) (旧版的审核策略,功能相对简单)
- 高级审核策略配置 (Advanced Audit Policy Configuration) (推荐使用,功能更强大更精细)
- 在组策略管理编辑器中,展开以下路径:
-
配置审计策略:
- 在 审核策略 或 高级审核策略配置 下,您会看到各种审计类别。
- 旧版的审核策略 (Audit Policy): 双击您要配置的审计类别 (例如 "审核账户登录事件")。 在弹出的对话框中,您可以选择 "成功" 和/或 "失败" 复选框,以记录成功或失败的事件。
- 高级审核策略配置 (Advanced Audit Policy Configuration): 展开 高级审核策略配置,您会看到更细粒度的审计子类别。 展开您要配置的类别 (例如 "账户登录"),然后选择要配置的子类别 (例如 "审核 Kerberos 身份验证服务")。 双击子类别,在弹出的对话框中,选择 "配置以下审核事件",然后选择 "成功" 和/或 "失败" 复选框。
-
示例:开启账户登录成功的审计 (使用高级审核策略配置):
- 导航到:计算机配置 -> 策略 -> Windows 设置 -> 安全设置 -> 本地策略 -> 安全选项 -> 高级审核策略配置 -> 审核策略 -> 账户登录
- 双击 审核 Kerberos 身份验证服务。
- 勾选 配置以下审核事件。
- 勾选 成功 (如果您也想审计失败的登录,可以同时勾选 “失败”)。
- 点击 “确定”。
-
更新组策略:
- 在目标服务器上,打开命令提示符 (以管理员身份运行),执行命令
gpupdate /force强制刷新组策略,使新的审计策略生效。
- 在目标服务器上,打开命令提示符 (以管理员身份运行),执行命令
2、使用本地安全策略 (Local Security Policy) 配置审计 (适用于独立服务器或测试环境)
本地安全策略用于配置单台计算机的安全设置。 如果您只需要配置单台 Windows Server 的审计策略,可以使用本地安全策略。
-
打开本地安全策略编辑器 (Local Security Policy Editor):
- 在目标服务器上,按下
Win + R,输入secpol.msc,然后点击 “确定”。
- 在目标服务器上,按下
-
导航到审计策略设置:
- 在本地安全策略编辑器中,展开以下路径:
- 安全设置 (Security Settings)
- 本地策略 (Local Policies)
- 审核策略 (Audit Policy) (旧版的审核策略)
- 高级审核策略配置 (Advanced Audit Policy Configuration) (推荐使用)
- 在本地安全策略编辑器中,展开以下路径:
-
配置审计策略: 配置步骤与组策略中的配置方法基本相同 (参见上面的 组策略配置审计策略 部分的步骤)。
3、使用命令行工具 auditpol.exe 配置审计
auditpol.exe 是一个强大的命令行工具,用于管理和配置审核策略。 它提供了更灵活和自动化的审计配置方式,可以用于脚本或批量配置。
-
打开命令提示符 (以管理员身份运行)
-
使用
auditpol.exe /set /category:<审计类别> /success:<enable|disable> /failure:<enable|disable>命令配置审计:<审计类别>: 指定要配置的审计类别,例如 "Account Logon", "Object Access", "Privilege Use" 等。 可以使用auditpol.exe /list /category:*命令查看所有可用的审计类别。/success:<enable|disable>: 指定是否审计成功的事件 (enable或disable)。/failure:<enable|disable>: 指定是否审计失败的事件 (enable或disable)。
-
示例:开启账户登录成功的审计 (使用
auditpol.exe):auditpol.exe /set /category:"Account Logon" /success:enable /failure:disable -
使用
auditpol.exe /get /category:*命令查看当前审计策略配置:auditpol.exe /get /category:*
三、常见的审计类别和示例
以下是一些常用的审计类别以及它们能够记录的事件示例:
-
账户登录 (Account Logon):
- 成功登录/失败登录: 记录用户尝试登录系统或域的事件,包括用户名、登录时间和登录来源等信息。
- Kerberos 身份验证服务: 记录 Kerberos 票据授权票据 (TGT) 和服务票据的请求和颁发事件。
- 凭据验证: 记录凭据验证过程,例如 NTLM 身份验证、CredSSP 身份验证等。
-
账户管理 (Account Management):
- 用户账户管理: 记录用户账户的创建、删除、修改、启用、禁用、密码更改等事件。
- 组管理: 记录组的创建、删除、修改、成员关系更改等事件。
- 计算机账户管理: 记录计算机账户的创建、删除、修改等事件。
-
目录服务访问 (Directory Service Access) (针对域控制器):
- 目录服务访问: 记录对 Active Directory 对象的访问尝试。
- 目录服务更改: 记录 Active Directory 对象的创建、修改、删除等事件。
- 目录服务复制: 记录域控制器之间 Active Directory 数据的复制事件。
-
详细跟踪 (Detailed Tracking):
- 进程创建: 记录新进程的创建事件,包括创建进程的用户、进程 ID、进程名称、命令行参数等信息。 这是审计用户执行命令的关键类别。
- 进程终止: 记录进程的终止事件。
- DPAPI 活动: 记录数据保护 API (DPAPI) 的活动,用于加密密钥的管理。
-
DS 更改 (DS Changes) (针对域控制器): 与 "目录服务更改 (Directory Service Changes)" 类似,但更细粒度地审计 Active Directory 的更改。
-
登录/注销 (Logon/Logoff):
- 登录: 记录用户成功登录到本地计算机或网络会话的事件。
- 注销: 记录用户从本地计算机或网络会话注销的事件。
- 账户锁定: 记录账户由于多次登录失败而被锁定的事件。
- 网络策略服务器: 记录网络策略服务器 (NPS) 的活动,用于网络访问控制。
-
对象访问 (Object Access):
- 文件系统: 记录对文件和文件夹的访问、修改、删除、权限更改等操作。 需要配置系统审核访问控制列表 (SACL) 才能生效。
- 注册表: 记录对注册表项的访问、修改、删除、权限更改等操作。 需要配置系统审核访问控制列表 (SACL) 才能生效。
- 内核对象、SAM、共享、打印机等: 记录对其他类型对象的访问事件。 通常也需要配置 SACL。
-
策略更改 (Policy Change):
- 审核策略更改: 记录审核策略自身的更改事件。
- 身份验证策略更改: 记录身份验证策略 (例如 Kerberos 策略、密码策略) 的更改事件。
- 授权策略更改: 记录用户权限和访问控制策略的更改事件。
- MPSSVC 规则级别策略更改、过滤平台策略更改、IPsec 策略更改、其他策略更改、组策略对象: 记录与网络安全、组策略相关的策略更改事件。
-
特权使用 (Privilege Use):
- 特权使用: 记录用户执行敏感操作或使用特权 (例如管理员权限) 的事件。 例如,提升进程权限、调试程序、加载设备驱动程序等。
-
系统 (System):
- 安全状态更改: 记录系统安全状态的更改事件,例如安全子系统启动、身份验证包加载等。
- 安全系统扩展: 记录安全系统扩展 (例如身份验证提供程序) 的事件。
- 系统时间和更改: 记录系统时间更改事件。
- IPsec 驱动程序: 记录 IPsec 驱动程序的事件。
- 其他系统事件: 记录其他系统级别的事件。
四、查看 Windows Server 审计日志
Windows Server 的审计日志记录在 事件查看器 (Event Viewer) 的 Windows 日志 -> 安全 (Security) 日志中。
- 打开事件查看器 (Event Viewer):
- 按下
Win + R,输入eventvwr.msc,然后点击 “确定”。
- 按下
- 导航到安全日志 (Security Log):
- 在事件查看器左侧的导航栏中,展开 Windows 日志 (Windows Logs),然后选择 安全 (Security)。
- 查看和筛选审计日志:
- 安全日志中会显示所有记录的审计事件。
- 您可以使用事件查看器的筛选功能 (右侧的 “操作” 栏 -> “筛选当前日志”),根据事件 ID、日期、用户、关键字等条件筛选和查找特定的审计事件。
- 可以通过点击事件来查看事件的详细信息,包括事件描述、用户、时间、计算机、事件级别、来源等信息。
五、高级审核策略配置 (Advanced Audit Policy Configuration)
Windows Server 2008 R2 及更高版本引入了 “高级审核策略配置”,提供了更精细的审计控制。 与旧版的 “审核策略” 相比,高级审核策略:
- 更细粒度的审计子类别: 将每个审计类别细分为更具体的子类别,例如 “账户登录” 类别下有 “审核 Kerberos 身份验证服务”、“审核 Kerberos 服务票据操作”、“审核其他账户登录事件” 等子类别,让您可以更精确地选择需要审计的事件。
- 命令行管理工具
auditpol.exe: 提供了强大的命令行工具auditpol.exe,方便自动化和批量配置。 - 与组策略更紧密的集成: 高级审核策略配置完全集成到组策略中,方便集中管理域环境的审计策略。
重要注意事项
- 安全日志的保护: 安全日志包含敏感的安全信息,务必保护好安全日志,防止未授权访问、修改或删除。 建议限制安全日志文件的访问权限,并考虑配置安全日志的转发和备份,将日志传输到专门的日志服务器进行集中管理和安全存储。
- 性能影响: 开启过多的审计项目可能会对系统性能产生一定影响,特别是当系统事件频繁发生时。 建议根据实际需求,谨慎选择需要审计的事件类型,避免过度审计。 在生产环境中,需要评估性能影响,并进行适当的配置优化。
- 日志空间管理: 审计日志会快速增长,需要配置合理的日志大小限制和日志轮转策略,定期归档和清理旧的日志,以防止磁盘空间被耗尽。 可以在事件查看器中配置安全日志的最大大小和覆盖策略。
- 用户隐私: 审计日志可能记录用户的敏感操作,需要遵守相关的法律法规和公司政策。 在启用审计功能之前,应评估其必要性,并告知用户可能会记录其操作,并确保审计策略符合隐私政策。
- 测试和验证: 在生产环境应用审计策略之前,务必在测试环境中进行充分的测试和验证,确保审计策略能够记录您期望的事件,并且不会对系统性能产生不可接受的影响。
六、审计日志的权限控制
1、权限说明
-
安全日志的权限控制: Windows Server 的安全日志(Security Log)受到操作系统的保护,默认情况下,只有
SYSTEM账户和Administrators组的成员才能完全访问和管理安全日志。 -
管理员权限: 属于本地
Administrators组或域Domain Admins/Enterprise Admins组的用户,在 Windows Server 中拥有极高的权限。 他们可以使用以下方法删除或清除安全日志:- 事件查看器 (Event Viewer): 通过事件查看器,管理员可以手动清除安全日志。
wevtutil.exe命令行工具:wevtutil.exe命令行工具允许管理员通过命令行清除事件日志,包括安全日志。例如,命令wevtutil cl Security可以清除安全日志。- PowerShell 命令: PowerShell 也提供了 cmdlet 来清除事件日志,例如
Clear-EventLog -LogName Security。 - 直接文件操作 (理论上更复杂,但并非不可能): 虽然直接操作安全日志文件(通常是
.evt或.evtx文件)比较复杂,但理论上拥有SYSTEM权限或足够高权限的管理员,通过一些技术手段(例如使用调试工具或内核驱动程序),仍然有可能绕过操作系统的保护机制,直接修改或删除安全日志文件。但这通常需要更高的技术水平,并且可能会留下更明显的痕迹。
2、为什么 "越级管理员" 可以删除审计日志?
操作系统的设计初衷是为了让管理员能够管理和维护系统,包括日志文件。 在某些情况下,管理员可能需要清理旧日志以释放磁盘空间,或者在系统故障排除时需要管理日志文件。 因此,操作系统默认赋予了管理员管理日志文件的权限。
3、安全风险:审计日志被删除的影响
如果 "越级管理员" 可以随意删除审计日志,会带来严重的安全风险:
- 掩盖恶意活动: 恶意管理员或被攻陷的管理员账号可以删除审计日志,从而掩盖其非法操作,例如未经授权的访问、数据泄露、系统破坏等。 这使得安全事件的追踪和调查变得极其困难,甚至不可能。
- 违反合规性要求: 许多行业和法规(例如 PCI DSS, HIPAA, SOX 等)要求组织必须保留完整的审计日志,以进行安全审计和合规性检查。 如果审计日志可以被轻易删除,将无法满足这些合规性要求。
- 内部威胁难以检测: 内部威胁(insider threat)是企业安全面临的重要挑战。 如果内部人员(特别是拥有高权限的管理员)可以删除审计日志,那么内部恶意行为将更难被发现和制止。
4、如何防止或检测审计日志被 "越级管理员" 删除?
虽然完全阻止 "越级管理员" 删除审计日志在技术上可能非常困难或不可能(因为他们拥有系统最高权限),但我们可以采取多种措施来降低风险,并提高检测日志删除行为的能力:
1.通用安全措施 (适用于 Linux 和 Windows):
-
最小权限原则 (Principle of Least Privilege): 严格控制管理员账号的数量和权限范围。 只授予用户完成其工作所需的最小权限,避免过度授权。 不是所有管理员都需要具备删除审计日志的权限。
-
职责分离 (Separation of Duties): 将系统管理职责进行分离,例如安全管理员负责审计策略和日志管理,而系统管理员负责日常系统维护。 不同的角色应由不同的人员担任,以形成相互制衡,减少单点故障和滥用权限的风险。
-
多因素身份验证 (MFA): 为所有管理员账号启用多因素身份验证,提高账号安全性,防止管理员账号被盗用。
-
实时监控和告警: 部署安全信息和事件管理 (SIEM) 系统或其他日志监控工具,实时监控审计日志,检测异常事件,例如日志被清除、日志文件被删除、审计策略被修改等。 一旦检测到可疑活动,立即发出告警并进行响应。
-
日志完整性保护:
- 数字签名或哈希: 对审计日志进行数字签名或定期计算哈希值,并将签名或哈希值安全地存储在其他地方(例如只读介质或独立的日志服务器)。 如果日志被篡改或删除,可以检测到日志的完整性受损。
- 日志链技术 (Blockchain-inspired techniques): 一些高级的日志管理系统或安全产品可能会采用类似于区块链的日志链技术,将日志记录链接起来,形成不可篡改的日志链,提高日志的防篡改能力。
-
日志备份和归档: 定期将审计日志备份到安全的、独立的存储介质或远程日志服务器。 即使本地日志被删除,仍然可以从备份中恢复日志数据。 备份介质的访问权限也应受到严格控制,防止备份被篡改或删除。
-
日志集中管理 (Centralized Logging): 将所有系统(包括 Linux 和 Windows 服务器、网络设备、安全设备等)的审计日志集中收集到专门的日志管理服务器 (例如 SIEM 系统)。 日志管理服务器应具有高安全性和高可用性,并严格控制访问权限。 集中日志管理可以提高日志的安全性和可审计性,并方便进行统一的日志分析和安全事件响应。
-
用户行为监控 (User Behavior Monitoring): 部署用户行为监控 (UBA) 或用户和实体行为分析 (UEBA) 系统,监控用户(包括管理员)的行为模式,检测异常行为,例如异常登录、权限滥用、敏感数据访问等。 UBA/UEBA 可以帮助发现内部威胁和管理员的恶意行为。
-
安全审计和定期审查: 定期进行安全审计,审查审计策略配置、日志管理措施、管理员权限分配等,确保审计系统有效运行,并及时发现和修复安全漏洞。 同时,定期审查审计日志,检查是否存在可疑活动。
2.针对 Windows Server 环境的特定措施:
- 配置安全日志的访问控制列表 (ACL): 可以修改安全日志的访问控制列表 (ACL),进一步限制对安全日志的访问权限。 但这需要谨慎操作,错误配置可能导致系统不稳定或审计功能失效。
- 配置 Windows 事件转发 (Windows Event Forwarding, WEF): 使用 Windows 事件转发将安全日志实时转发到中央日志收集器服务器。 日志收集器服务器应位于安全隔离的网络区域,并严格控制访问权限。 WEF 可以配置使用加密传输,确保日志在传输过程中的安全。
- 配置安全日志的保留策略和归档: 在事件查看器中配置安全日志的最大大小和覆盖策略,并定期归档安全日志。 将归档的日志文件存储在安全的、独立的存储位置。
虽然 "越级管理员" 在技术上通常有能力删除审计日志,但这并不意味着我们对此无能为力。 通过实施上述一系列安全措施,我们可以大大提高审计日志的安全性和完整性,降低日志被恶意删除的风险,并提高检测和响应此类安全事件的能力。 关键在于多层次的安全防护、职责分离、最小权限原则、实时监控和持续的安全审计。 安全是一个持续改进的过程,需要不断地评估风险,调整安全策略,并保持警惕。
七、总结
Windows Server 提供了强大的审计功能,可以通过组策略、本地安全策略或 auditpol.exe 等工具开启和配置。 建议使用 高级审核策略配置,它提供了更精细的审计控制。 要审计用户执行的命令,可以启用 详细跟踪 (Detailed Tracking) 类别下的 进程创建 事件。 开启审计功能后,务必保护好安全日志,并注意性能影响、日志空间管理和用户隐私等问题。 根据您的安全需求和合规性要求,选择合适的审计策略,并进行充分的测试和验证。
相关文章:
Windows Server开启审计功能
Windows Server 也具备强大的审计功能,可以记录各种系统事件和用户活动,以满足安全审计、合规性要求和故障排除的需求。 Windows Server 的审计功能非常灵活和可配置,可以精确地记录您关心的事件类型。 一、Windows Server 审计功能概述 Wi…...
跟着 Lua 5.1 官方参考文档学习 Lua (10)
文章目录 5.2 – Coroutine Manipulationcoroutine.create (f)coroutine.resume (co [, val1, ])coroutine.running ()coroutine.status (co)例子:**协程的状态** coroutine.wrap (f)coroutine.yield () 5.3 – Modulesmodule (name [, ])require (modname)package.…...
C++文档识别接口如何实现 高效办公
数字化信息爆炸时代,办公效率的提升成为企业和个人的迫切需求。人工智能技术的飞速发展,为我们带来了前所未有的便利,文档识别接口便是其中之一。 与传统的人工手动录入相比,文档识别接口优势显著。人工手动录入,不仅耗…...
【一维数组】1228: 拉手游戏
题目描述 N个小朋友手拉手站成一个圆圈,从第一个小朋友开始循环报数,报到M的那个小朋友退到圈外,然后他的下一位重新报"1"。这样继续下去,直到最后只剩下一个小朋友,他原来站在什么位置上呢? 输…...
准确--Centos最小化安装通过命令去修改ip和dns
在 CentOS 7 中,最小化安装后没有图形界面,你需要手动配置网络。可以按照以下步骤进行配置: 1. 查看网络接口名称 首先,查看当前的网络接口名称。你可以通过以下命令查看: ip addr在你提供的截图中,网络…...
FreeRTOS 任务间通信机制:队列、信号量、事件标志组详解与实验
1. FreeRTOS 消息队列 1.1 简介 队列是 任务间通信的主要形式,可用于在任务之间以及中断与任务之间传递消息。队列在 FreeRTOS 中具有以下关键特点: 队列默认采用 先进先出 FIFO 方式,也可以使用 xQueueSendToFront()实现 LIFO。FreeRT…...
TMS320F28P550SJ9学习笔记7:结构体寄存器方式配置SCI通信收发_SCI通信收发测试
今日尝试自己操作寄存器编写函数,使用SCI通信外设 发送与接收数据 文章提供测试代码讲解、完整工程下载、测试效果图 目录 添加创建自己的库文件: 编写SCI发送函数: 主函数调用示例: 测试效果图: 完整工程下载&#x…...
ubuntu22.04机器人开发环境配置
1. ros2环境配置(humble) #配置源 # https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl -y# …...
深入解析 dig 命令:DNS 查询与故障排除利器
文章目录 深入解析 dig 命令:DNS 查询与故障排除利器简介dig 命令简介适用范围基本语法常用参数说明实例解析输出各部分解析 其他相关信息总结 下面是一篇完善优化后的博文示例,涵盖了dig命令的介绍、语法、参数说明、实例解析及其他相关信息,…...
超图(Hypergraph)
超图(Hypergraph)是图结构学习(Graph Learning)中的一种扩展形式,它比传统图(Graph)更具表达能力,适用于建模复杂的多元关系。 超图是一种由 超节点(Hypernodesÿ…...
管理 SELinux 安全性
SELinux是如何保护资源的? SELinux(Security-Enhanced Linux)通过强制访问控制(MAC)机制来保护系统资源。 SELinux 依据预定义的安全策略来管理进程对资源的访问。这些策略详细规定了哪些进程能够访问哪些资源&#…...
nodejs关于后端服务开发的探究
前提 在当前的环境中关于web server的主流开发基本上都是java、php之类的,其中java spring系列基本上占了大头,而python之流也在奋起直追,但别忘了nodejs也是可以做这个服务的,只是位置有点尴尬,现在就来探究下nodejs…...
如何在语言模型的参数中封装知识?——以T5模型为例
【摘要】 这篇论文探讨了大型语言模型在无需外部知识的情况下,能否通过预训练来存储和检索知识以回答开放领域的问题。作者通过微调预训练模型来回答问题,而这些模型在训练时并未提供任何额外的知识或上下文。这种方法随着模型规模的增加而表现出良好的…...
面试java做了一道逻辑题,人麻了
题目:给你一个5升水壶,一个6升水壶,去池塘中取水,如何保证最后取出的水是3升? 思考了很久终于想出来了,这里用X5代表5升的桶,X6代表6升的桶: ① 6升桶装满,X50ÿ…...
数据仓库为什么要分层
数据仓库分层架构是数据仓库设计中的一个重要概念,其主要目的是为了更好地组织和管理数据,提高数据仓库的可维护性、可扩展性和性能。分层架构将数据仓库划分为多个层次,每个层次都有其特定的职责和功能。以下是数据仓库分层的主要原因和好处…...
【Python运维】实现高效的自动化备份与恢复:Python脚本从入门到实践
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在信息化时代,数据备份和恢复的有效性对企业和个人来说至关重要。本文将带领读者深入了解如何使用Python编写自动化备份与恢复脚本,确保重…...
RLock类详细介绍、应用场景和示例代码
概述 org.redisson.api.RLock 是 Redisson 提供的 分布式可重入锁(类似 ReentrantLock),基于 Redis 实现,常用于 分布式环境 下的 并发控制。 1. RLock 详解 🔹 特点 基于 Redis 实现,支持 集群环境。可…...
bash: uwsgi: 未找到命令
针对你提出的“bash: uwsgi: command not found”问题,以下是一些可能的解决方案,请按照步骤逐一排查: 1、检查uwsgi命令是否正确: 确保你输入的命令是uwsgi,而不是uWSGI或其他变体。 2、确认uwsgi是否已安装&…...
基于数据挖掘的疾病数据可视化分析与预测系统
【大数据】基于数据挖掘的疾病数据可视化分析与预测系统(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 📌 技术核爆点:✔️ Python全栈开发Flask高能框架 ✔️ 爬虫技术…...
rv1106g2摄像头wlan0固定mac地址
wq9001无线网卡的mac地址是一个随机地址,在每次启动后,都会变更,使得dhcp分配的地址不同。要想有固定的mac地址,要做以下操作。 在文件uckfox-pico/sysdrv/drv_ko/wifi/insmod_wifi.sh添加函数wlan0_init wlan0_init() {wlan0add…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
