Ctrl-Alt-Delete no Linux * não é realmente perigoso?

55

A funcionalidade Ctrl-Alt-Delete padrão shutdown -rnos sistemas Linux é um recurso perigoso?

Anos atrás, quando implantava sistemas físicos com teclados e monitores conectados, às vezes modificava os /etc/inittabsistemas Red Hat para desativar a interceptação de reinicialização. Isso geralmente acontecia depois que uma pessoa local de TI ou o administrador do Windows acidentalmente usava a combinação de teclas mágicas no terminal / teclado / janela errado e reiniciava o servidor.

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Eu não faço isso desde os dias do RHEL4, mas os sistemas mais novos parecem ter um /etc/init/control-alt-delete.confarquivo para isso.

Nos anos seguintes, a maioria dos meus sistemas foi implantada sem cabeça ou está sendo executada como máquinas virtuais. Isso reduziu a frequência de reinicializações não intencionais ... no entanto, tive um conjunto recente de oopses de ctrl-alt-delete de:

1) um KVM IP conectado ao servidor errado pela equipe do datacenter.
2) um administrador do Windows usando a combinação de teclas em um console do VMware, pensando que era necessário para o logon.
3) me usando o macro-ctrl-alt de exclusão em um console HP OIT para reiniciar um CD ao vivo ... mas foi realmente a OIT para um servidor de produção muito ocupado .

insira a descrição da imagem aqui


  • Faz sentido desabilitar a reinicialização Ctrl-Alt-Delete no Linux por padrão?
  • Essa é uma preocupação comum ou geralmente ignorada?
  • Existem desvantagens em fazer isso?
  • Como você lida com isso no seu ambiente?

Edit: Na verdade, eu acabei de encontrar esse servidor , uma máquina virtual em execução por 1.115 dias, a senha de root desconhecida e as ferramentas VMware não foram instaladas ( então Ctrl-Alt-Delete seria a única opção de desligamento normal ).

ewwhite
fonte
7
Não, porque se você não pode reiniciar um computador arbitrário na sua rede, terá problemas maiores. Veja, por exemplo, o Macaco do Caos.
dmourati
15
@dmourati Isso é falso. Os sistemas de linha de negócios do mundo real nem sempre são executados como aplicativos em escala da web . É irresponsável sugerir que é uma falha de arquitetura.
ewwhite
8
Mesmo se você pudesse reiniciar um sistema arbitrário, não desejaria. Em um cenário de TI do mundo real, você só desejaria ter reinicializações planejadas quando necessário . Oopsies são sempre ruins e devem ser evitados, e esta questão é sobre os oopsies.
Journeyman Geek
6
@fduff No caso do sistema de produção que reinicializei este fim de semana, causou cerca de 13 minutos de inatividade porque o servidor leva muito tempo para o POST, além do aplicativo não ficar inativo de forma limpa (não é controlado por scripts de inicialização), o que permite a ~ 45 minutos de reparo do banco de dados após a reinicialização.
ewwhite
6
@JamesRyan Maybe. Mas não sempre. Se os usuários / administradores do Windows estiverem condicionados a usar Ctrl-Alt-Delete para ativar uma tela ou autenticar, é um erro compreensível. No OIT / IPMI / situações KVM, sim, mais cuidado poderiam ser tomadas para identificar sistemas, mas que nem sempre é possível ... ( por exemplo, contando com as mãos remotas em um centro de dados )
ewwhite

Respostas:

37

Isso pode ser útil para máquinas muito, muito raramente tocadas. Anos após a instalação, se ninguém conseguir se lembrar de um login para o host, o Ctrl-Alt-Delete fará o desligamento adequado e permitirá que você use o GRUB (ou até o LiLo!) Para fornecer rw init=/bin/bashao kernel e, assim, dar a chance de redefinir a senha root .

A descrição acima também é uma maneira de Ctrl-Alt-Delete ser perigoso, mesmo que o acesso físico aos interruptores de energia / redefinição e aos cabos de energia seja impedido. Uma senha do carregador de inicialização (e senha do BIOS, além de desativar a inicialização por USB / CD-ROM e a tecla do menu de inicialização) pode impedir isso, mas dificulta a recuperação legítima de emergência.

Alastair Irvine
fonte
3
Você está certo. Eu tenho usado esse recurso desta forma na situação que você descreveu.
ewwhite
Mesmo assim, é mais fácil carregar uma mídia de "resgate", montar e inserir o hash de uma senha conhecida. Na IPMI, você carrega a mídia a partir de um arquivo iso, fazendo com que todo o problema de "acesso físico" seja discutível. Ou você carrega de uma configuração especial tftp / pxe, depois de ativar a inicialização da rede.
21914 Dani_l
Acredito que o que mencionei sobre a senha e as opções do BIOS ainda se aplica ao usar o IPMI. Eu ficaria feliz em saber se isso está incorreto.
Alastair Irvine
11
Discordo da mídia de resgate. Não é difícil lembrar das opções do kernel que mencionei. Seu método requer mídia ótica (ou um arquivo ISO em IPMI) e um hash de senha, que deve ser digitado ou copiado do armazenamento USB. (Se você downvoted, por favor desfazer.)
Alastair Irvine
11
@AlastairIrvine Eu não diminuí a votação e você está certo sobre o ipmi - um console do ipmi dará acesso ao console da máquina durante todo o processo de inicialização, incluindo a inserção de bios para que você enfrente os mesmos problemas. Sem mencionar que o HW do servidor que respeita a si próprio deve ter a capacidade de facilitar a alteração de parâmetros na execução do SO (por exemplo, o ASU da IBM ibm.com/support/entry/myportal/docdisplay?lndocid=TOOL-ASU ).
21414 Dani_l
7

Se você possui ILO / IPMI / ... Isso faz sentido. A única razão para CTRLALTDEL era uma armadilha mágica quando nada mais iria interromper. Com um cartão de controle, você não precisa disso - você pode redefinir a máquina de qualquer maneira. Escusado será dizer que, se a máquina se comportar corretamente, você sempre poderá 'reiniciar' / 'shutdown -r now' / 'init 6' / 'systemctl reboot' no console ou na GUI.

Dani_l
fonte
4

Eu sinto que as chances de reinicialização acidental via ctrl-alt-delete são muito maiores do que as chances de a senha root de um servidor ser esquecida e, portanto, em ambientes de produção, faz sentido desabilitar ctrl-alt-delete. Eu pessoalmente faço isso nos meus sistemas de produção.

As chances de um ciclo de energia rígido em um host linux em execução causar corrupção irrecuperável de dados são pequenas. Nas centenas de vezes que fiz isso ao longo dos anos, não me lembro de uma única instância em que o sistema não foi capaz de se consertar (fsck) na inicialização. Portanto, considero isso uma opção válida em hosts nos quais a senha raiz é desconhecida, exceto a disponibilidade de outros métodos para o desligamento normal.

Michael Martinez
fonte
11
Como você desativa a opção ctrl-alt-delete na máquina VM hospedada no Esx Server?
Kvivek