Interface de gerenciamento de plataforma inteligente - Intelligent Platform Management Interface

A Interface de Gerenciamento de Plataforma Inteligente ( IPMI ) é um conjunto de especificações de interface de computador para um subsistema de computador autônomo que fornece recursos de gerenciamento e monitoramento independentemente da CPU do sistema host , firmware ( BIOS ou UEFI ) e sistema operacional . O IPMI define um conjunto de interfaces usadas por administradores de sistema para gerenciamento fora de banda de sistemas de computador e monitoramento de sua operação. Por exemplo, o IPMI fornece uma maneira de gerenciar um computador que pode estar desligado ou não responder por meio de uma conexão de rede com o hardware em vez de um sistema operacional ou shell de login. Outro caso de uso pode ser instalar um sistema operacional personalizado remotamente. Sem o IPMI, a instalação de um sistema operacional personalizado pode exigir que um administrador esteja fisicamente presente perto do computador, insira um DVD ou uma unidade flash USB contendo o instalador do sistema operacional e conclua o processo de instalação usando um monitor e um teclado. Usando o IPMI, um administrador pode montar uma imagem ISO , simular um DVD do instalador e executar a instalação remotamente.

A especificação é liderada pela Intel e foi publicada pela primeira vez em 16 de setembro de 1998. É suportada por mais de 200 fornecedores de sistemas de computador, como Cisco , Dell , Hewlett Packard Enterprise , Intel , OnLogic , Marvell Semiconductor , NEC Corporation , Supermicro e Tyan .

O sucessor do IPMI é o Redfish .

Funcionalidade

O uso de interface e protocolo padronizados permite que o software de gerenciamento de sistemas baseado em IPMI gerencie vários servidores distintos. Como uma especificação de interface de nível de hardware baseada em mensagem, o IPMI opera independentemente do sistema operacional (SO) para permitir que os administradores gerenciem um sistema remotamente na ausência de um sistema operacional ou do software de gerenciamento de sistema . Assim, as funções do IPMI podem funcionar em qualquer um dos três cenários:

  • antes que um sistema operacional seja inicializado (permitindo, por exemplo, o monitoramento remoto ou a alteração das configurações do BIOS)
  • quando o sistema é desligado
  • após falha do sistema operacional ou do sistema - a principal característica do IPMI em comparação com o gerenciamento do sistema in-band é que ele permite o login remoto no sistema operacional usando SSH

Os administradores de sistema podem usar mensagens IPMI para monitorar o status da plataforma (como temperaturas do sistema, tensões, ventiladores, fontes de alimentação e invasão do chassi); para consultar informações de inventário; para revisar logs de hardware de condições fora do intervalo; ou para realizar procedimentos de recuperação, como emitir solicitações de um console remoto por meio das mesmas conexões, por exemplo, desligar e reinicializar o sistema ou configurar temporizadores de watchdog . O padrão também define um mecanismo de alerta para o sistema enviar uma armadilha de evento de plataforma (PET) de protocolo de gerenciamento de rede simples (SNMP).

O sistema monitorado pode ser desligado, mas deve ser conectado a uma fonte de alimentação e ao meio de monitoramento, normalmente uma conexão de rede local (LAN). O IPMI também pode funcionar depois que o sistema operacional foi iniciado e expõe dados e estruturas de gerenciamento ao software de gerenciamento do sistema. O IPMI prescreve apenas a estrutura e o formato das interfaces como padrão, enquanto as implementações detalhadas podem variar. Uma implementação do IPMI versão 1.5 pode se comunicar por meio de uma rede de área local (LAN) fora de banda direta ou conexão serial ou por meio de uma conexão de rede de área local (LAN) de banda lateral para um cliente remoto . A conexão LAN de banda lateral utiliza o controlador de interface de rede (NIC) da placa. Esta solução é mais barata do que uma conexão LAN dedicada, mas também tem largura de banda limitada e problemas de segurança.

Os sistemas compatíveis com IPMI versão 2.0 também podem se comunicar via serial pela LAN , em que a saída do console serial pode ser visualizada remotamente pela LAN. Os sistemas que implementam IPMI 2.0 normalmente também incluem KVM sobre IP , mídia virtual remota e funcionalidade de interface de servidor da web integrada fora de banda, embora, estritamente falando, estejam fora do escopo do padrão de interface IPMI.

DCMI (Data Center Manageability Interface) é um padrão semelhante baseado em IPMI, mas projetado para ser mais adequado para gerenciamento de Data Center : usa as interfaces definidas em IPMI, mas minimiza o número de interfaces opcionais e inclui controle de limitação de energia, entre outras diferenças.

Componentes IPMI

O diagrama da arquitetura IPMI mostra a banda lateral BMC via SMBUS.
Interfaces para o controlador de gerenciamento da placa de base (BMC)

Um subsistema IPMI consiste em um controlador principal, chamado de controlador de gerenciamento de placa de base (BMC) e outros controladores de gerenciamento distribuídos entre diferentes módulos de sistema que são referidos como controladores de satélite. Os controladores de satélite no mesmo chassi se conectam ao BMC por meio da interface do sistema chamada Intelligent Platform Management Bus / Bridge (IPMB) - uma implementação aprimorada de I²C (circuito integrado). O BMC se conecta a controladores de satélite ou outro BMC em outro chassi por meio do barramento ou ponte do Intelligent Platform Management Controller (IPMC). Ele pode ser gerenciado com o protocolo de controle de gerenciamento remoto (RMCP), um protocolo de fio especializado definido por esta especificação. RMCP + (um protocolo baseado em UDP com autenticação mais forte do que RMCP) é usado para IPMI sobre LAN.

Vários fornecedores desenvolvem e comercializam chips BMC. Um BMC utilizado para aplicativos integrados pode ter memória limitada e exigir um código de firmware otimizado para a implementação da funcionalidade IPMI completa. BMCs altamente integrados podem fornecer instruções complexas e toda a funcionalidade fora de banda de um processador de serviço. O firmware que implementa as interfaces IPMI é fornecido por vários fornecedores. Um repositório de unidade substituível em campo (FRU) mantém o inventário, como ID do fornecedor e fabricante, de dispositivos potencialmente substituíveis. Um repositório de registro de dados do sensor (SDR) fornece as propriedades dos sensores individuais presentes na placa. Por exemplo, a placa pode conter sensores de temperatura, velocidade do ventilador e tensão.

Controlador de gerenciamento de placa de base

O controlador de gerenciamento de placa de base (BMC) fornece a inteligência na arquitetura IPMI. É um microcontrolador especializado embutido na placa - mãe de um computador  - geralmente um servidor . O BMC gerencia a interface entre o software de gerenciamento de sistema e o hardware da plataforma. BMC tem seu próprio firmware e RAM.

Diferentes tipos de sensores embutidos no sistema de computador reportam ao BMC em parâmetros como temperatura , velocidades do ventilador de resfriamento , status de energia , status do sistema operacional (SO), etc. O BMC monitora os sensores e pode enviar alertas a um administrador do sistema por meio do rede se algum dos parâmetros não ficar dentro dos limites predefinidos, indicando uma falha potencial do sistema. O administrador também pode se comunicar remotamente com o BMC para tomar algumas ações corretivas - como redefinir ou desligar e ligar o sistema para fazer o sistema operacional travado funcionar novamente. Essas habilidades reduzem o custo total de propriedade de um sistema.

Os sistemas compatíveis com IPMI versão 2.0 também podem se comunicar via serial pela LAN , em que a saída do console serial pode ser visualizada remotamente pela LAN. Os sistemas que implementam IPMI 2.0 normalmente também incluem KVM sobre IP , mídia virtual remota e funcionalidade de interface de servidor da web integrada fora de banda, embora, estritamente falando, estejam fora do escopo do padrão de interface IPMI.

As interfaces físicas para o BMC incluem SMBuses , um console serial RS-232 , endereço e linhas de dados e um Intelligent Platform Management Bus (IPMB), que permite ao BMC aceitar mensagens de solicitação de IPMI de outros controladores de gerenciamento no sistema.

Uma conexão serial direta com o BMC não é criptografada porque a conexão em si é segura. A conexão com o BMC pela LAN pode ou não usar criptografia, dependendo das preocupações de segurança do usuário.

Há preocupações crescentes sobre a segurança geral em relação aos BMCs como uma infraestrutura fechada. OpenBMC é um projeto BMC de código aberto da Linux Foundation Collaborative.

Segurança

Questões históricas

Em 2 de julho de 2013, a Rapid7 publicou um guia para testes de penetração de segurança do protocolo IPMI 2.0 mais recente e implementações de vários fornecedores.

Algumas fontes em 2013 desaconselharam o uso da versão anterior do IPMI, devido a questões de segurança relacionadas ao design e às vulnerabilidades dos Baseboard Management Controllers (BMCs).

No entanto, como para qualquer outra interface de gerenciamento, as melhores práticas de segurança ditam o posicionamento da porta de gerenciamento IPMI em uma LAN de gerenciamento dedicada ou VLAN restrita a administradores confiáveis.

Melhorias de segurança de especificação IPMI mais recentes

A especificação IPMI foi atualizada com RAKP + e uma cifra mais forte que é computacionalmente impraticável de quebrar. Como resultado, os fornecedores forneceram patches que corrigem essas vulnerabilidades.

A organização DMTF desenvolveu uma especificação de interface segura e escalonável chamada Redfish para funcionar em ambientes de datacenter modernos.

Soluções potenciais

Algumas soluções potenciais existem fora do padrão IPMI, dependendo de implementações proprietárias. O uso de senhas curtas padrão ou hacks "cipher 0" pode ser facilmente superado com o uso de um servidor RADIUS para autenticação, autorização e contabilidade sobre SSL, como é típico em um datacenter ou qualquer implantação de médio a grande porte. O servidor RADIUS do usuário pode ser configurado para armazenar AAA com segurança em um banco de dados LDAP usando FreeRADIUS / OpenLDAP ou Microsoft Active Directory e serviços relacionados.

O acesso baseado em função fornece uma maneira de responder a problemas de segurança atuais e futuros, aumentando a quantidade de restrições para funções superiores. O acesso baseado em função é compatível com três funções disponíveis: Administrador, Operador e Usuário.

No geral, a função de usuário tem acesso somente leitura do BMC e nenhuma capacidade de controle remoto, como desligar e ligar a alimentação ou visualizar ou fazer login na CPU principal da placa-mãe. Portanto, qualquer hacker com a função de usuário tem acesso zero às informações confidenciais e controle zero sobre o sistema. A função de usuário é normalmente usada para monitorar as leituras do sensor, após um alerta SNMP ter sido recebido pelo software de monitoramento de rede SNMP.

A função de Operador é usada no raro evento quando um sistema está travado, para gerar um arquivo NMI de travamento / dump de núcleo e reinicializar ou desligar e ligar o sistema. Nesse caso, o Operador também terá acesso ao software do sistema para coletar o arquivo de despejo de falha / núcleo.

A função de administrador é usada para configurar o BMC na primeira inicialização durante o comissionamento do sistema quando instalado pela primeira vez.

Portanto, a prática recomendada é desabilitar o uso das funções de Operador e Administrador no LDAP / RADIUS e habilitá-las apenas quando necessário para o administrador LDAP / RADIUS. Por exemplo, em RADIUS, uma função pode ter sua configuração Auth-Type alterada para:

Auth-Type := Reject

Isso impedirá que os ataques de hash RAKP sejam bem-sucedidos, pois o nome de usuário será rejeitado pelo servidor RADIUS.

Histórico de versão

A especificação do padrão IPMI evoluiu por meio de uma série de iterações:

  • v1.0 foi anunciada em 16 de setembro de 1998: especificação básica
  • v1.5, publicado em 21 de fevereiro de 2001: recursos adicionais, incluindo IPMI sobre LAN, IPMI sobre serial / modem e alerta de LAN
  • v2.0, publicado em 12 de fevereiro de 2004: recursos adicionais, incluindo Serial sobre LAN, Sistemas Gerenciados por Grupo, Autenticação Aprimorada, Firmware Firewall e Suporte VLAN
  • v2.0 revisão 1.1, publicada em 1 de outubro de 2013: emendado para errata, esclarecimentos e adendos, além de adição de suporte para endereçamento IPv6
  • v2.0 revisão 1.1 Errata 7, publicada em 21 de abril de 2015: corrigida para errata, esclarecimentos, adendos

Implementações

Veja também

Referências

links externos