about_Logging
Breve descrição
O PowerShell registra operações internas do mecanismo, provedores e cmdlets no log de eventos do Windows.
Descrição longa
O PowerShell registra detalhes sobre as operações do PowerShell, como iniciar e parar o mecanismo e os provedores e executar comandos do PowerShell.
Nota
O Windows PowerShell 5.1 (e mais antigo) inclui cmdlets EventLog para os logs de eventos do Windows. Nessas versões, para exibir a lista de cmdlets EventLog , digite:
Get-Command -Noun EventLog
. Para obter mais informações, consulte a documentação e o about_EventLogs do cmdlet para sua versão do Windows PowerShell.
Para obter informações sobre como fazer logon no PowerShell 7, consulte os seguintes artigos:
Exibindo as entradas do log de eventos do PowerShell no Windows
Os logs do PowerShell podem ser exibidos usando o Visualizador de Eventos do Windows. O log de eventos está localizado no grupo Logs de Aplicativos e Serviços e é chamado Microsoft-Windows-PowerShell. O provedor GUID
ETW associado é {A0C1853B-5C40-4B15-8766-3CF1C58F985A}
.
Quando o Log de Bloqueio de Script está habilitado, o PowerShell registra os seguintes eventos no log Microsoft-Windows-PowerShell /Operacional :
Campo | Value |
---|---|
EventId | 4104 / 0x1008 |
Canal | Operational |
Level | Verbose |
Opcode | Create |
Task | CommandStart |
Palavra-chave | Runspace |
Ativando o log de blocos de script
Quando você habilita o Log de Blocos de Script, o PowerShell registra o conteúdo de todos os blocos de script que processa. Uma vez habilitada, qualquer nova sessão do PowerShell registra essas informações.
Nota
Para garantir que os dados confidenciais estejam protegidos, habilite o Log de Eventos Protegidos ao usar o Log de Bloqueio de Script para qualquer outra finalidade que não seja de diagnóstico.
O Registo de Blocos de Scripts pode ser ativado através da Política de Grupo ou de uma definição de registo.
Utilizar a Política de Grupo
Para habilitar a transcrição automática, habilite o recurso Ativar Log de Bloqueio de Script do PowerShell na Política de Grupo por meio de Modelos Administrativos ->Componentes do Windows ->Windows PowerShell.
Utilizar o Registo
Execute a seguinte função:
function Enable-PSScriptBlockLogging {
$basePath = @(
'HKLM:\Software\Policies\Microsoft\Windows'
'PowerShell\ScriptBlockLogging'
) -join '\'
if (-not (Test-Path $basePath)) {
$null = New-Item $basePath -Force
}
Set-ItemProperty $basePath -Name EnableScriptBlockLogging -Value "1"
}
Registo de Eventos Protegido
Aumentar o nível de registro em um sistema aumenta a possibilidade de que o conteúdo registrado possa conter dados confidenciais. Por exemplo, com o log de scripts habilitado, as credenciais ou outros dados confidenciais usados por um script podem ser gravados no log de eventos. Quando uma máquina que registrou dados confidenciais é comprometida, os logs podem fornecer a um invasor as informações necessárias para estender seu alcance.
Para proteger essas informações, o Windows 10 introduz o Log de Eventos Protegido. O Log de Eventos Protegido permite que os aplicativos participantes criptografem dados confidenciais gravados no log de eventos. Mais tarde, você pode descriptografar e processar esses logs em um coletor de logs mais seguro e centralizado.
O conteúdo do log de eventos é protegido usando o padrão CMS (Cryptographic Message Syntax) IETF. O CMS usa criptografia de chave pública. As chaves usadas para encriptar conteúdo e desencriptar conteúdo são mantidas separadas.
A chave pública pode ser compartilhada amplamente e não são dados confidenciais. Qualquer conteúdo encriptado com esta chave pública só pode ser desencriptado pela chave privada. Para obter mais informações sobre Criptografia de Chave Pública, consulte Wikipedia - Criptografia de Chave Pública.
Para habilitar uma política de Log de Eventos Protegido, implante uma chave pública em todas as máquinas que tenham dados de log de eventos para proteger. A chave privada correspondente é usada para pós-processar os logs de eventos em um local mais seguro, como um coletor de log de eventos central ou agregador SIEM . Você pode configurar o SIEM no Azure. Para obter mais informações, consulte Integração SIEM genérica.
Habilitando o log de eventos protegidos por meio da Diretiva de Grupo
Para habilitar o Log de Eventos Protegidos, habilite o recurso na Diretiva de Grupo por meio do Enable Protected Event Logging
Administrative Templates -> Windows Components -> Event Logging
. Essa configuração requer um certificado de criptografia, que você pode fornecer de várias formas:
- O conteúdo de um certificado X.509 codificado em base 64 (por exemplo, conforme oferecido pela
Export
opção no Gerenciador de certificados). - A impressão digital de um certificado que pode ser encontrado no armazenamento de certificados do Computador Local (pode ser implantado pela infraestrutura PKI).
- O caminho completo para um certificado (pode ser local ou remoto).
- O caminho para um diretório que contém um certificado ou certificados (pode ser local ou um compartilhamento remoto).
- O nome do assunto de um certificado que pode ser encontrado no armazenamento de certificados do Computador Local (pode ser implantado pela infraestrutura PKI).
O certificado resultante deve ter Document Encryption
como um uso de chave aprimorado (1.3.6.1.4.1.311.80.1
) e um ou Key Encipherment
usos Data Encipherment
de chave habilitados.
Aviso
A chave privada não deve ser implantada nas máquinas registrando eventos. Deve ser mantido num local seguro onde desencripta as mensagens.
Desencriptação de mensagens de Registo de Eventos Protegidos
O script a seguir recupera e descriptografa eventos, supondo que você tenha a chave privada:
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Consulte também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários