Ataques em Potencial
Modo de usuário único
Esta é a maneira mais fácil de obter acesso não autorizado a um sistema Linux para inicializar o servidor no Modo de Usuário Único, pois, por padrão, ele não exige uma senha de root para obter acesso ao nível de raiz. O Single User Mood pode ser acessado desligando a máquina e interrompendo o processo de inicialização.
Para inicializar no modo de usuário único, onde o bootloader GRUB é usado, execute o seguinte; interrompa o processo de inicialização, pressione e para editar o arquivo de configuração de inicialização, acrescente à linha que inicia Linux
one de s, S, 1 or systemd. unit=[rescue.target, emergency.target, rescue]
para alterar o argumento que está sendo passado para o kernel durante a inicialização para o modo de usuário único e pressione ctrl + x.
Protegendo contra o modo de usuário único
Para um sistema baseado em init tradicional
Como root, edite o arquivo /etc/sysconfig/init
, em seguida, na linha SINGLE=/sbin/sushell
change sushell TO sulogin
.
Para um sistema baseado em systemd
A configuração de destino precisa ser alterada para que a senha raiz seja solicitada. Os destinos estão localizados em /lib/systemd/system
os arquivos que precisam de alteração são emergency.service
e rescue.service
. Altere a linha que inicia o ExecStart=-/bin/sh –c “/usr/sbin/sushell; ……”
e altere o /usr/sbin/sushell
para o /usr/sbin/sulogin
nos dois emergency.service
e rescue.service
.
Para verificar se isso afetou
Em seguida, salve as alterações e reinicialize para confirmar que a alteração teve efeito, se a alteração foi bem-sucedida ao inicializar no modo de usuário único, ele deverá solicitar a senha de root.
Senha Raiz
Por padrão, algumas distribuições Linux não possuem conjuntos de senhas de raiz, isso pode ser verificado executando o comando head -1 /etc/shadow
e se a segunda coluna, usando dois pontos como um delimitador, for um ponto de exclamação, nenhuma senha foi definida . Se nenhuma senha de root for definida, então, independentemente de o sistema estar configurado para solicitar uma senha para o modo de usuário único ou não, ele apenas carregará o acesso root.
Protegendo o Bootloader
Os gerenciadores de inicialização inseguros podem fazer com que o gerenciador de inicialização seja ignorado completamente e um shell sendo usado para obter acesso direto ao nível da raiz do sistema. Isso é feito interrompendo o processo de inicialização do GRUB e anexando init=/bin/bas
à linha que começa com linux16
. Isto irá dizer ao kernel para usar bash ao invés de init.
Protegendo contra o carregamento lateral do carregador de inicialização
O bootloader do GRUB pode ser protegido por senha colocando a configuração no arquivo /etc/grub.d/40_custom, pois este arquivo não será afetado por atualizações e upgrades no gerenciador de inicialização.
Em /etc/grub.d/40_custom
add set superusers=”admin”
então senha admin depois que salvar e sair do arquivo e executar o seguinte comando grub2-mkpasswd-…
(permitir conclusão da tabulação para concluir este comando para que o script compatível com o sistema seja executado) a saída deste comando do grub2 . Em diante precisa ser adicionado ao final da linha password admin
in /etc/grub.d/40_custom
. Depois disso, o arquivo grub precisa ser recompilado executando o comando grub2-mkconfig –o /boot/grub2/grub.cfg
para centos ou update-grub¬
no debian.
Para verificar se isso afetou
Em seguida, salve as alterações e reinicialize para confirmar que a alteração teve efeito, se a alteração foi bem-sucedida ao inicializar e desejar alterar a configuração do grub, será necessário fornecer o nome de usuário admin e a senha criptografada.
Protegendo contra ataque de recuperação
Essas medidas podem ajudar na proteção, no entanto, se um disco for usado, o recurso de recuperação do Linux no disco pode ser usado para montar o sistema de arquivos e alterar a configuração do GRUB do disco. Para evitar que qualquer mídia removível tenha uma prioridade de inicialização mais baixa que a unidade de inicialização e senha proteja o BIOS e o menu de opções de inicialização para impedir que alguém que não tenha acesso altere a ordem de inicialização e inicialize em um disco para fazer alterações no sistema.