Servidores dedicados - como proteger o ipmi

7

Ao fornecer serviços dedicados, qual é a sua melhor prática para proteger o IPMI da rede pública ou através do módulo do kernel.

Em primeiro lugar, quero ter certeza de que, se alguém verificar minhas redes e encontrar alguns cartões IPMI, não conseguirá controlá-las. Houve um bug que permite enviar e-mails via supermicro IPMI através de conta Anônima. Eu sei que é uma boa prática usar o IPMI somente em redes locais sem público, entretanto os clientes não ficarão felizes em usar VPN para acessar muito o IPMI.

Em segundo lugar, você pode usar o comando ipmitool para gerenciar a configuração da IPMI sem a autenticação do usuário. Gostaria de impedir que os clientes alterem a configuração do IPMI - por exemplo, Endereço IP, removendo meus usuários de monitoramento ...

Qual é a sua melhor prática? Como você teria resolvido esse problema se tivesse enfrentado isso?

    
por Yarik Dot 26.01.2014 / 20:58

3 respostas

6

O principal benefício do IPMI é o acesso fora de banda para ocasiões SHTF, em que o kernel é tipicamente não-funcional. Portanto, você deve permitir o acesso fora do sistema operacional. Configure uma VPN ou, no mínimo, uma maneira para seus clientes acessarem o IPMI através de um túnel ssh ou algo assim.

Você está certo em ser cauteloso ao expor o IPMI à Internet pública. Se seus clientes reclamam da segurança adicional, eles não são o tipo de cliente com o qual você vai querer lidar.

    
por 26.01.2014 / 21:45
2

Firstly, I want to be sure that if someone scans my networks and he finds some IPMI cards, he won't be able to get control of it.

Os BMCs em sistemas Supermicro tiveram alguns erros particularmente desagradáveis no ano passado. Verifique se seus sistemas estão executando o firmware mais recente, que aborda a maioria dos os bugs como o bug 'anonymous user' e o bug Infame cipher zero . Note que estes firmwares só estão disponíveis para placas-mãe recentes (as gerações X8, X9 e X10; geralmente não para a geração X7 que estava sendo enviada há 3-4 anos), então seu hardware precisará ser um hardware moderno.

Mesmo com as atualizações, o IPMI da Supermicro ainda está sujeito a bugs. As senhas são transmitidas pela rede sem problemas, etc. No meu mundo, o IPMI deve estar absolutamente em uma rede privada e disponível somente a partir de alguns nós de gerenciamento especiais.

I know it's a good practice to use IPMI only in local networks without public, however clients won't be happy about using VPN to access IPMI much.

O IPMI é uma ótima ferramenta de gerenciamento para administradores de sistemas. Pela sua natureza, isso significa que também é um bom backdoor para hackers. Se eu obtiver acesso à rede IPMI, posso fazer coisas interessantes, como desligar todas as 200 máquinas em poucos minutos, ou dizer a cada nó para o PXEboot na próxima inicialização (e possivelmente sobrescrever o que estiver nos discos no momento). Se você puder explicar isso muito bem aos seus clientes, eles poderão ver a sabedoria de uma VPN.

Secondly, you can use ipmitool command to manage IPMI configuration without user authentication. I'd like to prevent customers of changing IPMI setting - e.g. IP address, removing my monitoring users, ...

Certifique-se de que ipmitool , FreeIPMI, etc. não sejam instalados por padrão no sistema. Na documentação do seu cliente, adicione um aviso de que a instalação dessas ferramentas no sistema operacional é um possível problema de segurança e, se elas forem instaladas, elas assumirão alguns dos riscos.

    
por 26.04.2014 / 18:51
1

Ok, minha solução final provavelmente é muito fácil. Como eu tenho ADMIN usuário para o IPMI, eu posso escrever uma interface simples que irá executar comandos ipmitool para iniciar / parar / reiniciar servidores.

Para o webconsole, fiz algumas pesquisas. Supermicro gera o arquivo jviewer.jnlp que contém apenas números de porta e algumas credenciais. Em primeiro lugar, pensei que há alguma assinatura e não posso alterar o conteúdo. No entanto, não há assinatura e posso colocar o que eu quiser lá.

Assim, como parte da minha interface, eu vou criar o botão console, que irá configurar um firewall para permitir temporariamente as portas necessárias ao console e também fará o download do arquivo jviewer, atualizará e passará para o cliente.

Isso me custará algum desenvolvimento, mas permitirá que eu tenha cartões de gerenciamento na rede local e também os tenha acesso à rede pública quando necessário.

    
por 26.04.2014 / 15:00

Tags