PowerShell 技能连载 - 强化 PowerShell 脚本块的日志
当您启用了 ScriptBlockLogging
后,PowerShell 将会记录所有在您机器上执行的所有 PowerShell 代码。如果没有启用它,所有安全相关的代码仍然会记录。这样很不错。然而,该任何用户都可以读取该日志,所以任何人都可以类似这样浏览记录下的代码:
1 | Get-WinEvent -FilterHashtable @{ ProviderName="Microsoft-Windows-PowerShell"; Id = 4104 } |
To harden security and limit the access to the log file, you have two choices:
要强化安全并限制日志文件的读取,您有两个选择:
- 您可以通过安装数字证书来设置加密的日志。通过这种方法,记录的数据可以被保护起来,甚至其他的管理员同事也无法读取。然而,设置和管理这些证书并不那么简单。
- 您可以增强 PowerShell 操作日志的存取安全,并且使用和传统的安全日志相同的存取方式。通过这种方法,只有管理员可以读取该日志。这是我们今天要在本技能中讨论的方案:
1 | #requires -RunAsAdministrator |
当您运行该脚本时,读取 PowerShell 操作日志的权限被限制为只有本地管理员。
PowerShell 技能连载 - 强化 PowerShell 脚本块的日志
http://blog.vichamp.com/2018/08/17/hardening-powershell-script-block-logging-log/