Permitir permissão de não administradores para gerenciar o Firewall do Windows

0

Estou tentando configurar um processo para que nossa equipe de suporte (não administradores) tenha acesso para habilitar ou desabilitar remotamente um grupo de regras de firewall do Windows.

Eu fiz o seguinte para chegar ao ponto de permitir o acesso remoto ...

Enable-PSRemoting -Force

winrm quickconfig

Set-Item -Path WSMan:\Localhost\Client\TrustedHosts -Value '$supteam' -Concatenate

New-NetFirewallRule -DisplayName <dispName> -Profile <profile> -Enabled True -Action Allow -RemoteAddress $supteam -Direction Inbound -LocalPort <winRMport> -Protocol TCP -Program System

Ao executar o comando ...

Invoke-Command -ComputerName <ipAddress> -ScriptBlock { netsh advfirewall firewall set rule group="<ruleGroupName>" new enable=<yes/no> } -Credential $creds

Eu recebo a seguinte saída ...

A operação solicitada requer elevação (Executar como administrador).

A sessão do PowerShell da qual estou executando o comando acima é aberta como Administrador (ou seja, a barra de título indica "Administrador: Windows PowerShell"). O Controle de Conta de Usuário (UAC) está desativado no servidor de destino.

NOTA: Eu também tentei usar o equivalente do PowerShell para (en) desativar as regras do firewall ...

Invoke-Command -ComputerName <ipAddress> -ScriptBlock { Get-NetFirewallRule -Group "<ruleGroupName>" | <Enable/Disable>-NetFirewallRule } -Credential $creds

E obtenha os seguintes tempos de saída 3 (um para cada regra) ...

Acesso negado.

+ CategoryInfo: PermissionDenied: (MSFT_NetFirewal ... ystemName =   ""): root / standardcimv2 / MSFT_NetFirewallRule) [Enable-NetFirewallRule],   CimException

+ FullyQualifiedErrorId: Erro de sistema 5 do Windows, Enable-NetFirewallRule

+ PSComputerName: ipAddress

Eu posso obter uma lista das regras usando ...

Invoke-Command -ComputerName <ipAddress> -ScriptBlock { Get-NetFirewallRule -Group "<ruleGroupName>" } -Credential $creds

Então, estou assumindo que as regras de firewall (en | dis) só podem ser feitas por membros do grupo Administrador local do servidor remoto.

Se minha suposição estiver correta, é possível permitir que um acesso de grupo não administrador modifique o firewall? Se assim for, quaisquer instruções ou links seriam muito apreciados!

sudosysadmin
fonte

Respostas:

0

Esse é um limite de segurança do Windows, não um problema do PowerShell. Portanto, não é um script simples do PowerShell. É uma configuração de ambiente e política.

Você precisa conceder as permissões necessárias para o uso ou conta que o seu controle para fazer essas configurações.

A outra opção é aproveitar os pontos de extremidade do PowerShell JEA (Just enough administration) e restritos.

Usando o JEA

$nonAdminCred = Get-Credential
Enter-PSSession -ComputerName localhost -ConfigurationName JEAMaintenance -Credential $nonAdminCred

Infraestrutura Justa o suficiente da administração (JEA): Uma introdução

Just Enough Administration (JEA) fornece uma plataforma RBAC através de   Windows PowerShell. Permite que usuários específicos executem   tarefas administrativas em servidores sem dar-lhes administrador   direitos. Isso permite preencher as lacunas entre o seu RBAC existente   soluções

JEA Helper Tool 2.0

Este script fornece um "ajudante" gráfico para vários Just Enough   Recursos de Administração (JEA), para o Windows Management Frameworek (WMF)   5.0 e Windows Server 2016 Technical Preview 4 (TP4)

PowerShell: Implementando Just-Enough-Administration (JEA), passo a passo

Aproveite a PowerShell Just Enough Administration para o seu Helpdesk

Com o JEA, você permite que seus usuários realizem tarefas específicas   PowerShell sem fornecer direitos elevados. Você pode controlar o   comandos e parâmetros disponíveis, valide a entrada para o valor especificado   parâmetros, e ter recursos completos de auditoria com over-the-ombro   transcrições, registro em log de módulo e log de bloqueio de script profundo.

Introdução aos endpoints do PowerShell

postanote
fonte