Pontos principais
- Separe dados sensíveis dos scripts: evite colocar credenciais diretamente no código; use armazenamento seguro, como variáveis de ambiente ou campos criptografados.
- Guarde segredos no Registro do Windows: centralize e restrinja o acesso a valores sensíveis para executar scripts com mais segurança.
- Use variáveis de ambiente no treinamento: forneça dados fictícios seguros para que os técnicos aprendam sem expor credenciais reais.
- Crie scripts de treinamento e de produção: use marcadores nos scripts de treinamento e fontes seguras nos scripts em produção.
- Audite a atividade dos scripts: registre o uso e as alterações para garantir segurança, responsabilização e boas práticas de treinamento.
Um bom treinamento de técnicos de TI é essencial para escalar as operações de TI, principalmente quando há automação envolvida. Os scripts contêm variáveis sensíveis fixadas no código ou expostas durante a execução. O manuseio inadequado aumenta a chance de vazamento de dados e cria maus hábitos entre os técnicos juniores.
Um processo estruturado de treinamento e gerenciamento de scripts é fundamental para qualquer equipe de TI proteger dados e dar confiança aos técnicos.
Como treinar novos técnicos no uso de scripts sem expor dados sensíveis
Um bom treinamento de técnicos de TI envolve separar variáveis seguras da lógica do script, armazenar variáveis no Registro do Windows, usar variáveis de ambiente com dados fictícios seguros para treinamento, criar versões de treinamento dos scripts de produção e auditar as alterações e execuções durante o treinamento.
📌 Pré-requisitos:
- Modelos padronizados de script para o onboarding
- Direitos de administrador para implantar os scripts de treinamento
- Mecanismo de armazenamento seguro para valores protegidos
- Documentação definida sobre a estrutura dos scripts e práticas seguras de edição
📌 Estratégias de implantação recomendadas:
| Clique para escolher um método | 💻 Melhor para usuários individuais | 💻💻💻 Melhor para empresas |
| Método 1: separe as variáveis seguras da lógica do script | ✓ | |
| Método 2: armazene as variáveis seguras no Registro do Windows | ✓ | |
| Método 3: use variáveis de ambiente com dados fictícios seguros para treinamento | ✓ | |
| Método 4: crie versões de treinamento dos scripts de produção | ✓ | |
| Método 5: audite alterações e execuções de scripts durante o treinamento | ✓ |
🎥 Veja o guia em vídeo Como treinar novos técnicos no uso de scripts sem expor variáveis sensíveis.
Método 1: separe as variáveis seguras da lógica do script
No onboarding de novos técnicos de TI, a primeira coisa a fazer é separar as variáveis seguras da lógica do script. Essa separação reduz riscos de segurança e permite uma automação mais segura.
📌 Caso de uso: impede que novos técnicos vejam e compartilhem informações sensíveis, já que elas vêm de um armazenamento seguro
Evite fixar no código dados sensíveis como:
- Senhas de administrador
- Tokens de API
- Credenciais SMTP
- Chaves de backup
- Nomes de servidores internos
Em vez disso, faça referência a:
- Cofres de credenciais criptografados
- Variáveis de ambiente
- Caminhos do registro
- Campos injetados pelo NinjaOne ou pelo RMM
Método 2: armazene as variáveis seguras no Registro do Windows
Este método guarda dados sensíveis no Registro do Windows, garantindo que apenas processos autorizados ou administradores tenham acesso.
📌 Caso de uso: dá a vários scripts acesso seguro a valores sensíveis, mantendo o acesso restrito
- Pressione Win, digite PowerShell e clique em Executar como administrador.
- Copie e cole o código a seguir no prompt e pressione Enter:
- Proteja em HKLM os valores ocultos dos técnicos (HKEY_LOCAL_MACHINE):
New-Item -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SMTPHost" -Value "mail.domain.com"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SecureToken" -Value "XYZ123"
💡 Observação: SMTPHost, mail.domain.com e XYZ123 são apenas marcadores. Substitua pelo servidor de e-mail e pelo SecureToken.
Esse script centraliza tudo: todos os scripts podem referenciar os mesmos valores armazenados sem incorporá-los ao código.
- Acesse com segurança nos scripts de treinamento:
$smtp = Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SMTPHost"
$token = Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SecureToken"
💡 Dica: use permissões NTFS (New Technology File System) ou GPO para restringir o acesso à chave do registro a processos com privilégio de administrador
⚠️ Aviso: antes de aplicar a mudança de configuração em vários endpoints, teste primeiro em uma máquina local. (Para saber mais, consulte: Pontos de atenção)
Método 3: use variáveis de ambiente com dados fictícios seguros para treinamento
Este método define uma variável que permite a todos os scripts referenciarem um caminho específico de forma consistente, sem precisar editar cada um deles.
📌 Caso de uso: padroniza caminhos não sensíveis em todas as máquinas sem editar scripts individualmente
- Pressione Win, digite PowerShell ou cmd e clique em Executar como administrador.
- Copie e cole o código a seguir no prompt (conforme a ferramenta usada) e pressione Enter:
- CMD:
setx NOC_SCRIPTS "C:\NOC\Scripts"
💡 Observação: C:\NOC\Scripts representa o caminho de um diretório no sistema. É a pasta que será armazenada como valor da variável NOC_SCRIPTS.
- PowerShell:
$path = $env:NOC_SCRIPTS
Os scripts acima são uma forma prática de dar a todos os scripts um ponto de referência consistente para caminhos ou valores que qualquer pessoa pode ver.
⚠️ Aviso: copie e cole o script correto, porque uma sintaxe errada pode gerar erros. (Para saber mais, consulte: Pontos de atenção)
Método 4: crie versões de treinamento dos scripts de produção
Este método garante que o script de produção busque valores sensíveis em fontes seguras, enquanto o script de treinamento usa marcadores inofensivos, que podem ser compartilhados sem risco.
📌 Caso de uso: fornece scripts de treinamento com marcadores inofensivos
Antes de criar scripts de produção, é fundamental ter duas versões:
- Treinamento: esse script deve ter marcadores como “smtp.placeholder.local”
- Produção (protegido): já esse script lê de fontes protegidas, arquivos criptografados ou cofres de credenciais.
Também vale adotar padrões de scripting como:
- Em seguida, inclua os padrões de scripting pressionando Win + R, digitando PowerShell e clicando em Executar como administrador.
- Copie e cole o script abaixo no prompt e pressione Enter.
# BEGIN: Do not edit
$APIKey = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "ProdAPIKey"
# END: Do not edit
💡 Observação: o script acima marca com comentários as seções restritas e aplica permissões somente leitura aos scripts.
⚠️ Aviso: tenha cuidado para não usar o script de treinamento fora do contexto de treinamento. (Para saber mais, consulte: Pontos de atenção)
Método 5: audite alterações e execuções de scripts durante o treinamento
Este método registra em uma chave do registro quem executou scripts críticos e quando, criando um histórico que pode ser revisado.
📌 Caso de uso: mantém um registro de quem executou os principais scripts e quando, facilitando a revisão
- Pressione Win, digite PowerShell e clique em Executar como administrador.
- Copie e cole o código a seguir no prompt e pressione Enter:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptAudit"
-Name "LastRunBy" -Value "$env:USERNAME - $(Get-Date -Format u)"
Também é possível validar as alterações seguindo os passos abaixo:
- Pressione Win, digite cmd e clique em Executar como administrador.
- Copie e cole o código a seguir no prompt e pressione Enter:
reg query HKLM\SOFTWARE\Org\ScriptAudit
💡 Dica: agende revisões dos logs para garantir o uso seguro dos scripts.
⚠️ Pontos de atenção
| Riscos | Consequências possíveis | Como reverter |
| Não testar em uma máquina local | Implantar um script sem teste pode fazer os dispositivos travarem por problemas como incompatibilidade da chave do registro. | Aplique as alterações desejadas em uma máquina local e verifique se a configuração produz o resultado esperado. |
| Sintaxe de comando incorreta | Uma sintaxe incorreta pode corromper o registro, causar comportamento estranho do sistema ou simplesmente não surtir efeito. | Copie e cole o script correto no prompt. Você também pode usar aplicativos como o PSScriptAnalyzer para verificar a qualidade do código. |
| Script de treinamento usado em produção por engano | A produção pode falhar por causa dos valores fictícios. | Identifique os scripts com clareza para manter o controle de versões. |
Outras considerações
As boas práticas a seguir ajudam a reduzir riscos sem perder eficiência operacional.
Execução baseada em função
Use contas de privilégio mínimo ou funções do RMM para controlar a execução dos scripts. Para isso:
- Atribua permissões de modo que cada conta execute apenas os scripts necessários.
- Restrinja o acesso a tipos de script sensíveis, como os que alteram configurações do sistema.
Essas práticas reduzem o estrago causado por contas comprometidas.
Sanitização da saída
Garanta que os scripts nunca exibam segredos como senhas, tokens e chaves de API no console ou nos logs. Esse processo envolve:
- Mascarar dados sensíveis na saída.
- Evitar armazenar credenciais em texto simples nos logs.
- Revisar o tratamento da saída do script antes da implantação.
Parametrização
Use blocos param() no PowerShell para tratar as entradas com segurança.
- Exija parâmetros em vez de fixar valores sensíveis no código.
- Evite imprimir os valores dos parâmetros no console.
- Implemente atributos de validação para impor formatos de entrada e evitar ataques de injeção.
Assinatura de scripts
Assine digitalmente os scripts finais usados em produção para impedir modificações, executando apenas scripts de autores confiáveis. Combine isso com políticas de execução para reforçar essa confiança.
Solução de problemas comuns
Veja a seguir os problemas de scripting mais comuns durante o treinamento de técnicos de TI e como resolvê-los.
O técnico vê variáveis protegidas
O ideal é restringir os scripts que contêm variáveis sensíveis. Use controles de acesso adequados, como ACLs de sistema de arquivos que limitam quem pode ler ou alterar os scripts. Às vezes, é mais seguro separar os valores confidenciais em cofres seguros ou repositórios de parâmetros criptografados, mantendo-os fora do código do script.
O script falha no treinamento
Scripts podem falhar nas fases de treinamento ou de teste. Para resolver, implemente tratamento de erros que detecte e responda a recursos ausentes. Envolver as consultas críticas em blocos try/catch evita falhas.
Também é recomendável usar verificações como Test-Path ou Get-ItemProperty antes de acessar arquivos, para que o script confirme que eles existem.
A injeção de variáveis não funciona
A injeção de variáveis pode falhar por restrições da política de execução ou por divergências no script. É fundamental conferir as configurações da política de execução com Get-ExecutionPolicy -List para verificar se o script tem permissão para rodar.
Recursos do NinjaOne que apoiam o onboarding de técnicos de TI
Com NinjaOne, os MSPs conseguem integrar novos técnicos a funções de automação sem abrir mão da segurança nem expor dados sensíveis.
- Restrição da edição e execução de scripts às funções atribuídas a cada técnico
- Injeção de valores seguros em tempo de execução por meio de campos personalizados ou modelos de política
- Registro da atividade e da saída dos scripts por dispositivo e por técnico
- Repositórios de scripts com controle de versão para separar treinamento e produção
- Fluxos de revisão de scripts antes de liberá-los para uso em produção
Evite vazamentos acidentais com um bom treinamento dos técnicos de TI
Treinar novos técnicos de TI para usar e alterar informações evita a exposição de dados sensíveis. Para isso, abstraia valores com o registro e GPO, crie versões seguras de treinamento dos scripts de automação e use o acesso, a execução e os relatórios controlados de scripts do NinjaOne.
Temas relacionados:
- Três motivos para aprender PowerShell (com recursos de treinamento em PowerShell)
- Por que aprender PowerShell (com recursos para começar)
- Guia de gerenciamento de TI: como criar uma cultura de aprendizado em TI
- Guia do departamento de TI: como treinar funcionários em novas ferramentas de TI
- Torne-se um IT Ninja certificado
Guia de início rápido
NinjaOne oferece vários recursos para ajudar no treinamento de técnicos sobre o uso de scripts:
- Opções de treinamento:
- Minitreinamentos: vídeos curtos, de 5 minutos, sobre tópicos específicos
- Trilhas de treinamento no Workramp: materiais de aprendizagem estruturados para técnicos
- Treinamento individual para técnicos de suporte: treinamento personalizado para desenvolver habilidades específicas
- Gerenciamento de scripts e treinamento:
- A Automation Library traz uma ampla variedade de scripts prontos
- Os técnicos podem acessar modelos de script e aprender a usá-los
- NinjaOne oferece compartilhamento de scripts e recursos da comunidade
- Proteção de variáveis:
- NinjaOne tem mecanismos nativos para proteger variáveis sensíveis:
- Campos seguros para informações sensíveis
- Campos personalizados com acesso controlado
- Scripts com tokens seguros para gerenciar credenciais
- NinjaOne tem mecanismos nativos para proteger variáveis sensíveis:
- Tipos de variáveis de script:
- Os scripts aceitam vários tipos de variáveis
- As variáveis podem ser configuradas para criar formulários interativos
- Os técnicos aprendem a usar variáveis com segurança, sem expor informações sensíveis
- Recursos de treinamento:
- Página Community Script Share
- Biblioteca de minitreinamentos
- Materiais de treinamento do Workramp
- Documentação com exemplos de scripts
Para treinar novos técnicos, use esses recursos já disponíveis e monte um programa completo de treinamento em scripts com foco em segurança e no tratamento correto das variáveis.
