Saiba mais sobre a segurança do script do PowerShell
Aplica-se a: Configuration Manager (branch atual)
É da responsabilidade do administrador validar a utilização de parâmetros do PowerShell e do PowerShell propostos no respetivo ambiente. Eis alguns recursos úteis para ajudar a informar os administradores sobre o poder do PowerShell e potenciais superfícies de risco. Esta orientação destina-se a ajudar a mitigar potenciais superfícies de risco e a permitir a utilização de scripts seguros.
Segurança do Script do PowerShell
A funcionalidade Configuration Manager scripts permite-lhe rever e aprovar visualmente scripts. Outro administrador pode pedir que o script seja permitido. Os administradores devem estar cientes de que os scripts do PowerShell podem ter scripts ocultados. Um script ocultado pode ser malicioso e difícil de detetar com inspeção visual durante o processo de aprovação do script. Reveja visualmente os scripts do PowerShell e utilize ferramentas de inspeção para ajudar a detetar problemas de scripts suspeitos. Estas ferramentas nem sempre podem determinar a intenção do autor do PowerShell, pelo que podem chamar a atenção para um script suspeito. No entanto, as ferramentas exigirão que o administrador a julgue se é sintaxe de script malicioso ou intencional.
Recomendações
- Familiarize-se com as orientações de segurança do PowerShell com as várias ligações referenciadas abaixo.
- Assinar os scripts: outro método para manter os scripts seguros é fazer com que sejam verificados e, em seguida, assinados, antes de os importar para utilização.
- Não armazene segredos (como palavras-passe) em scripts do PowerShell e saiba mais sobre como lidar com segredos.
Informações gerais sobre a segurança do PowerShell
Esta coleção de ligações foi escolhida para dar aos administradores Configuration Manager um ponto de partida para saber mais sobre as recomendações de segurança de scripts do PowerShell.
Defender contra ataques do PowerShell
Proteger Contra Injeção de Código Malicioso
API para a interface de análise antimalware
Segurança dos parâmetros do PowerShell
Transmitir parâmetros é uma forma de ter flexibilidade com os seus scripts e adiar decisões até ao tempo de execução. Também abre outra superfície de risco.
A lista seguinte inclui recomendações para evitar parâmetros maliciosos ou injeção de script:
- Permitir apenas a utilização de parâmetros predefinidos.
- Utilize a funcionalidade de expressão regular para validar os parâmetros permitidos.
- Exemplo: se apenas for permitido um determinado intervalo de valores, utilize uma expressão regular para marcar apenas para os carateres ou valores que podem comutar o intervalo.
- A validação de parâmetros pode ajudar a impedir que os utilizadores tentem utilizar determinados carateres que podem ser escapados, como aspas. Podem existir vários tipos de aspas, pelo que utilizar expressões regulares para validar os carateres que decidiu serem permitidos é, muitas vezes, mais fácil do que tentar definir todas as entradas que não são permitidas.
- Utilize o módulo do PowerShell "caçador de injeções" no Galeria do PowerShell.
- Podem existir falsos positivos, por isso procure a intenção quando algo for sinalizado como suspeito para determinar se é um problema real ou não.
- O Microsoft Visual Studio tem um analisador de scripts que pode ajudar a verificar a sintaxe do PowerShell.
O seguinte vídeo intitulado: "DEF CON 25 - Lee Holmes - Get $pwnd: Attacking Battle Hardened Windows Server" dá uma descrição geral dos tipos de problemas que pode proteger (especialmente a secção 12:20 às 17:50):
Recomendações de ambiente
A lista seguinte inclui recomendações gerais para administradores do PowerShell:
- Implemente a versão mais recente do PowerShell, como a versão 5 ou posterior, que está incorporada no Windows 10 ou posterior. Também pode implementar o Windows Management Framework.
- Ative e recolha registos do PowerShell, incluindo opcionalmente o Registo de Eventos Protegidos. Incorpore estes registos nos seus fluxos de trabalho de assinaturas, investigação e resposta a incidentes.
- Implemente a Administração Just Enough em sistemas de alto valor para eliminar ou reduzir o acesso administrativo sem restrições a esses sistemas.
- Implemente políticas de Controlo de Aplicações do Windows Defender para permitir que as tarefas administrativas pré-aprovadas utilizem a capacidade total da linguagem do PowerShell, limitando simultaneamente a utilização interativa e não aprovada a um subconjunto limitado da linguagem do PowerShell.
- Implemente Windows 10 ou posterior para conceder ao seu fornecedor antivírus acesso total a todo o conteúdo (incluindo conteúdo gerado ou descontinuado no runtime) processado pelos Anfitriões de Scripts do Windows, incluindo o PowerShell.