Das numerosas ferramentas de administração do Windows, o PowerShell é uma das ferramentas mais valiosas. Ele oferece flexibilidade de linguagem de script e velocidade de linha de comando, tornando-se incrivelmente eficaz para automatizar importantes tarefas de segurança. Usando o PowerShell, os administradores do Windows ganham a capacidade de automatizar várias tarefas, como gerenciar usuários, implementar patches e girar logs. Usar PowerShell não é difícil, uma vez que você pegar o jeito dele. Na verdade, você pode usá-lo para tarefas baseadas em segurança e certas tarefas de administração do Windows. Você deseja monitorar atividades de ataque ou precisar gerenciar seus certificados? O PowerShell tem você coberto.
Devido à versatilidade do PowerShell, não é incomum que alguém crie um módulo ou script do PowerShell focado na segurança. Os administradores do Windows têm acesso a uma ampla gama de scripts da comunidade, capazes de lidar com tarefas de segurança de magnitude variável. Isso abrange tudo, desde forense de rede até testes de penetração, gerenciamento de certificados e log de eventos. Abaixo vamos dar uma olhada em como o potencial infinito de scripts de segurança do PowerShell prova indispensável para os administradores do Windows, e discutir os 10 melhores entre eles.

1. Lista $ Perfil

O usuário real conectado à máquina é apelidado de “usuário”. Por outro lado, “host” é usado para o aplicativo host que se conecta ao mecanismo PowerShell. Assim, um único host pode ter perfis diferentes, e cada um deles tem um arquivo associado armazenado em um local específico. Para fácil manutenção e segurança, um único arquivo pode ser usado para gerenciar vários perfis. Tudo o que o usuário precisa fazer é adicionar condições a este arquivo para evitar que um comando não suportado seja executado pelo “host”. Há muitas pessoas que se sentiriam mais à vontade para separar os perfis em arquivos individuais. Isso livrá-los da carga de ter que manter um PS1 que é extremamente complexo.

2. Adicionar-PSSnapIn

O script de segurança do Windows PowerShell permite a criação de perfis personalizados. Esses perfis suportam snap-ins e módulos. Embora isso diminua o tempo de inicialização do console PowerShell, isso é um bom sinal para a segurança do seu sistema.
Os perfis do PowerShell ajudam na administração do sistema, mas sendo apenas um arquivo PS1, ele permanece exposto ao risco de código malicioso. Mesmo quando o local padrão está no diretório de um usuário eo arquivo permanece protegido de acesso por todos os usuários, ele pode ser alterado para executar comandos sem o seu conhecimento. Para evitar que isso aconteça, você pode fazer duas coisas – ou você pode fazer uso de permissões NTFS para definir limites sobre a modificação de permissões para esses arquivos, especialmente para a conta de administrador ou você pode assinar o arquivo digitalmente e depois configurar o PowerShell de uma forma que Emprega uma estratégia mais restritiva para execução. As recentes versões do PowerShell adicionam uma camada extra de segurança, ajudando os usuários a configurar sua escolha de segurança estratégica.

3. Get-ExecutionPolicy

Suponha que você esteja trabalhando em um servidor totalmente desconhecido. Neste caso, primeiro você precisa saber que tipo de diretiva de execução está sendo usada atualmente antes de tentar executar algum script. Descobrir essas informações é fácil quando você usa o comando Get-ExecutionPolicy.

4. Get-EventLog

Powershell 1
Http://windowsitpro.com/site-files/windowsitpro.com/files/archive/windowsitpro.com/content/content/99879/figure1.jpg
O PowerShell pode realmente ser usado para analisar os logs de eventos presentes em seu sistema. Embora existam várias maneiras de realizar esse processo, o melhor para esse comando específico é apenas oferecer o switch -Log acompanhado pelo nome do arquivo de log. Por exemplo, você pode usar comandos como Get-EventLog -Log “Application” para exibir o log do aplicativo. Você precisa então filtrar a saída e entender se seu sistema é seguro ou não.

5. Obter-Serviço

Foreachservice
Https://redmondmag.com/articles/2016/01/22/~/media/ECG/redmondmag/Images/2016/01/ForEachService_Fig1.ashx
Quando você dá este comando, ele oferece uma lista de cada serviço que está instalado no seu sistema. Se você acha que um determinado serviço vale a pena verificar para a segurança, então é possível acrescentar a opção “-Name”, bem como o nome do serviço. Você tem permissão para usar curingas. Quando terminar, será mostrado o estado do serviço pelo Windows.

6. Get-Process

Obter processo
Https://i-technet.sec.s-msft.com/dynimg/IC308319.jpg
Ao contrário do comando Get-Service no PowerShell, que exibe uma lista dos diferentes serviços do sistema a seu critério, o comando Get-Process, se utilizado com capacidade, pode exibir uma lista completa de todos os processos que o sistema executa atualmente.

7. Stop-Process

Não é incomum para um determinado processo de retardar ou congelar de vez em quando. Isto é frequentemente um incômodo e causa muitos problemas. Para evitar isso, use o comando Get-Process para que você tenha o ID do processo ou o nome do programa que não respondeu. Você pode encerrar esse processo problemático usando o comando Stop-Process. Um processo pode ser encerrado com base em seu ID de processo ou nome. Entretanto, você deve entender que o ID do processo muda de uma sessão para outra.

8. Assinatura digital

O comando TimeStampServer ajuda a verificar se um determinado script do PowerShell foi assinado em um determinado momento. A maioria dos certificados permanece válida por um período de um ano. Uma vez que a data de expiração se aproxima, o uso desse parâmetro não permite que o próprio código expire. Você pode então usá-lo contanto que não tenha sido modificado. Se uma modificação foi conduzida, então você terá que assiná-la novamente usando um certificado válido.

9. Política de Execução de Conjuntos

Definir política de execução
Http://2.bp.blogspot.com/-DvqcAZzw_RM/T3GzmL_CRXI/AAAAAAAAAG4/b89yOhFrUIg/s1600/2.jpg
Você é capaz de criar e executar scripts do PowerShell conforme desejar. No entanto, a Microsoft não suporta scripts por padrão. Isso foi feito para evitar que qualquer código mal-intencionado seja executado em uma configuração do PowerShell. Esse comando pode ser usado para controlar o nível de segurança dos scripts do PowerShell. Há quatro diferentes camadas de segurança, variando de Unrestricted to Restricted, Remote Signed to All Signed. Esse tipo de flexibilidade é muito necessário em um script de segurança do PowerShell e você pode configurá-los com a ajuda do comando Set-Execution Policy juntamente com o nome da diretiva.

10. Set-AuthenticodeSignature

Ao tentar configurar um objeto de diretiva de grupo, você deve assinar seu perfil com esse certificado específico. Caso contrário, a segurança do seu sistema Windows será gravemente comprometida.
Em um ambiente PowerShell, é extremamente importante para os administradores do Windows para proteger seu sistema através de scripts, mas você não deve deixar que se transformam em uma restrição. Assim, antes de implantar sua política, você deve ter um plano de teste no lugar que irá garantir nenhum problema com os scripts assinados. Os scripts de segurança do PowerShell listados acima são indispensáveis, pois manterão o sistema bem protegido e eficiente.

Anúncios