Quais vulnerabilidades específicas estou criando desabilitando a senha sudo?

16

Aqui estão algumas instruções sobre como desabilitar sua senha sudo . Estes carregam o seguinte aviso

If you disable the sudo password for your account, you will seriously compromise the security of your computer. Anyone sitting at your unattended, logged in account will have complete root access, and remote exploits become much easier for malicious crackers.

Não estou preocupado com o acesso físico das pessoas à minha máquina. Quais explorações remotas são possíveis ou mais fáceis se eu ignorar esse aviso e desativar a senha?

    
por Rupert Madden-Abbott 28.11.2010 / 23:19

4 respostas

23

Se você permitir o sudo sem senha, qualquer um que conseguir executar o código em sua máquina como usuário poderá executar código como root. Pode ser alguém que usa seu console enquanto você está conectado, mas não na frente do computador, com o qual você não está preocupado (de qualquer maneira, alguém com acesso físico pode fazer praticamente o que eles querem). Isso também pode ser alguém que acessa sua conta em outra máquina em que você fez o ssh em sua própria máquina. Mas também pode ser alguém explorando uma falha de segurança remota - por exemplo, um site que explora um bug do navegador para injetar código na sua instância do navegador.

Qual é o tamanho do negócio? Não muito, por várias razões:

  • Um invasor que encontrou um buraco remoto provavelmente também encontrará um buraco-raiz local.
  • Vários atacantes não se importam com privilégios de root. Tudo o que eles querem é enviar spam e infectar outras máquinas, e eles podem fazer isso como seu usuário.
  • Um invasor que tenha acesso à sua conta pode soltar um trojan que capture suas teclas (incluindo sua senha) ou que use os meios que você usar em seguida para ganhar raiz e executar o próprio comando.
  • Se você é o único usuário em sua máquina, não há muito a proteger que não seja acessível como usuário.

Por outro lado:

  • Se você estiver atualizado com as atualizações de segurança, talvez o invasor não encontre um local para explorar.
  • Um atacante não-root não pode apagar muito bem suas faixas.
  • Ter que digitar uma senha agora e, em seguida, não é um fardo muito grande.
  • Ter que digitar uma senha lembra que você está fazendo algo perigoso (como em: pode perder dados ou inutilizar seu computador). (Como um usuário não-root, o único perigo real é apagar dados por engano, e geralmente é óbvio quando você está apagando algo e deve ser extremamente cuidadoso.)
por 29.11.2010 / 00:35
9

Acho que a senha do sudo pode protegê-lo apenas de duas coisas:

  1. danos acidentais de seu próprio sistema (por exemplo, executando algum rm -rf com caminho relativo do histórico do shell em um diretório diferente do anterior, ou algo assim)
  2. script em execução (malicioso) que invoca sudo e tenta prejudicar seu sistema (mas não acho que esse tipo de software mal-intencionado seja muito popular)

Se você quiser, você pode usar a opção NOPASSWD apenas para os comandos selecionados que não prejudicarão seu sistema (para editores ou para reiniciar serviços) e manter a senha para outros comandos.

    
por 29.11.2010 / 00:42
2

É importante notar que algumas organizações competentes preferem preferir sudo sem senha quando têm usuários que precisam fazer login em vários hosts remotos diferentes - especialmente se isso inclui hosts com níveis variáveis de segurança.

O problema em inserir sua senha é que você está dando sua senha para sistemas remotos regularmente. Uma das razões pelas quais usamos o SSH é evitar exatamente esse tipo de falha de segurança. É uma questão de tradeoffs: você está aumentando a probabilidade de que a senha de um usuário seja comprometida para diminuir a probabilidade de um invasor que tenha comprometido uma sessão ou chave conseguir o acesso root. Em particular, imagine o seguinte cenário:

  • organização grande
  • muitos hosts
  • os hosts têm níveis variados de segurança
  • o acesso não-root já é prejudicial
  • senhas de usuários desbloqueiam muitas coisas

No cenário que descrevi, o sudo sem senha pode aumentar sua segurança, protegendo a senha do usuário. Isso é semelhante aos ataques de reutilização de senha que se tornaram comuns na Internet, exceto que a vulnerabilidade é derivada de um sistema de autenticação unificada, em vez da reutilização real de senhas.

A menos que você esteja em uma empresa gigante, o sudo com senha provavelmente aumentará sua segurança, mas não necessariamente em grande quantidade. A menos que você seja realmente um profissional em segurança de sistemas, ou seja um host com nada particularmente valioso, eu recomendo que você o deixe.

    
por 16.12.2013 / 17:09
-1

Se você não tem o sshd instalado, é bem seguro, a menos que você quebre algo.

    
por 03.12.2011 / 18:12