Estou procurando feedback específico sobre o WinRM. Existem ::ainda:: debates por aí sobre se disponibilizar ou não o RDP publicamente sem uma VPN é uma boa ideia - Não há debates sobre se disponibilizar publicamente o SSH é ou não uma boa ideia, desde que esteja configurado corretamente...
Onde o WinRM se encaixa neste ponto: uso com VPN, sem VPN, etc.?
Responder1
Usei o WinRM em algumas ocasiões para expor métricas - sem usar VPNs e coisas assim. Mas existem algumas considerações de segurança:
- Tente correr
winrm get winrm/config
para ver como as coisas estão configuradas atualmente. - Certifique-se de que o WinRM usa um certificado instalado para fins HTTPS. Isso tem que ir para a
Personal
loja noLocal Computer
(sim - nomenclatura estranha) - Habilite HTTPS fazendo
winrm quickconfig -transport:https
Depois que o transporte estiver protegido, você precisará habilitar a autenticação de certificado de cliente e desabilitar todo o resto:
- Desativar coisas é feito assim
winrm set winrm/config/client/auth @{Digest="false"}
. - Desative Kerberos, Digest e tudo o mais que estiver por perto.
- Habilite a autenticação de certificado fazendo
winrm set winrm/config/client/auth @{Certificate="true"}
- Não consigo lembrar se você precisa
winrm set winrm/config/client/auth '@{CredSSP="true"}
que as coisas funcionem - pode ser necessário para delegação de credenciais.
Isso funciona bem e se você confia no transporte HTTP do Windows, na infraestrutura PKI do Windows e tem um firewall instalado que permite filtrar coisas desagradáveis óbvias, é uma opção que funciona bem. É muito bom se você precisar coletar coisas programaticamente.
Agora, a outra coisa é: você conseguirá obter todas as informações que deseja via WinRM? Isso não é tão fácil de responder. Acho que uma série de coisas são mais difíceis de entender do que você imagina. Quero o status dos controladores RAID e coisas assim, mas isso é, na melhor das hipóteses, difícil. Usar RDP sobre SSH (só para ter certeza) ainda é minha maneira preferida de fazer isso devido à versatilidade adicional que você obtém.
Concluindo, sim - você pode usar o WinRM sem VPNs e coisas assim, mas deve considerar se no final você consegue o que deseja.
EDITAR:Comparar o uso do WinRM com o SSH talvez não seja totalmente útil - pelo menos do ponto de vista do pacote de recursos. Usando SSH, você pode obter qualquer coisa se estiver preparado para escrever algo que colete as informações desejadas. WinRM é menos versátil nesse sentido. Em termos de segurança, no entanto, ambos estão bem, IMHO, se você bloquear as coisas corretamente, o que é perfeitamente possível.
Responder2
Não sou um cara do Windows, então não posso falar muito sobre os detalhes do WinRM.
o resultado final, porém, é que qualquer serviço de acesso remoto como ssh ou winrm apresenta riscos e benefícios. Pelo que posso dizer, eles fornecem funcionalidades aproximadamente análogas. Se eles fornecerem níveis semelhantes de AAA, você poderá tratá-los de forma semelhante em sua postura de segurança. Por exemplo, se o WinRM usa certificados https para autenticação, mas o openssh permite o envio de senhas pela rede (uma configuração possível), o AAA do WinRM é provavelmente melhor.
Os privilégios de cada serviço são limitados? Por exemplo, no Linux você pode executar o selinux para que as conexões ssh de entrada possam realizar apenas determinadas operações.
Você também deve considerar o quanto confia nos diferentes fornecedores/implementações. Você espera ver bugs exploráveis remotamente no openssh & *nix mais ou menos do que no Windows? Tentar formular isso para não ser um troll - é obviamente uma pergunta carregada. Mas a questão é muito real.
Quanto ao que essa postura de segurança deveria ser especificamente... algumas pessoas colocam o ssh abertamente na porta 22, algumas pessoas exigem uma VPN antes de você poder se conectar. Alguns usam segurança através da obscuridade e colocam ssh na porta 222 em vez da porta 22.
Alguns têm uma lista de permissões de quais IPs podem se conectar. Você pode fazer a lista de permissões em sshd ou em iptables. No Windows, no firewall do Windows ou possivelmente no próprio winrm? Há muitas possibilidades.
Responder3
WinRM é capaz de usar transporte HTTPS e se suas máquinas estiverem no domínio etenha seus certificados corporativos nelesjá deveria funcionar.