Quais vulnerabilidades específicas estou criando ao desativar a senha do sudo?

16

Aqui estão algumas instruções sobre como desativar sua sudosenha. Eles carregam o seguinte aviso

Se você desativar a sudosenha da sua conta, comprometerá seriamente a segurança do seu computador. Qualquer pessoa sentada na sua conta autônoma e logada terá rootacesso completo , e as explorações remotas se tornam muito mais fáceis para crackers maliciosos.

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

Rupert Madden-Abbott
fonte

Respostas:

23

Se você permitir o sudo sem senha, qualquer pessoa que consiga executar o código em sua máquina como seu usuário poderá executar o código trivialmente como root. Pode ser alguém que usa seu console enquanto você está logado, mas não na frente do computador, com o qual você não está preocupado (de qualquer forma, alguém com acesso físico pode fazer praticamente o que deseja). Também pode ser alguém que acessa sua conta em outra máquina em que você conectou sua própria máquina. Mas também pode ser alguém que explora uma falha de segurança remota - por exemplo, um site que explora um bug do navegador para injetar código na 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 pode 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 tem acesso à sua conta pode soltar um cavalo de Troia que captura suas teclas (incluindo sua senha) ou que pega carona no meio que você usar para ganhar raiz para executar o comando por conta própria.
  • Se você é o único usuário em sua máquina, não há muito a proteger que não seja acessível como seu usuário.

Por outro lado:

  • Se você estiver atualizado com as atualizações de segurança, o invasor pode não encontrar um buraco local para explorar.
  • Um invasor não root não pode apagar seus rastros muito bem.
  • Ter que digitar uma senha de vez em quando não é um fardo.
  • Ter que digitar uma senha lembra que você está fazendo algo perigoso (como em: pode perder dados ou inutilizar o computador). (Como usuário não root, o único perigo real é apagar dados por engano, e geralmente é óbvio quando você está apagando algo e deve ter um cuidado extra.)
Gilles 'SO- parar de ser mau'
fonte
9

Eu acho que a senha do sudo poderia protegê-lo apenas de duas coisas:

  1. danos acidentais do seu próprio sistema (por exemplo, executando alguns rm -rfcom caminho relativo do histórico do shell em um diretório diferente do que anteriormente, ou algo assim)
  2. executando (malicioso) script que invoca sudoe tenta prejudicar seu sistema (mas não acho que esse tipo de software malicioso seja muito popular)

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

pbm
fonte
-1 pela sugestão perigosa de que permitir que um editor seja executado como root não pode prejudicar o sistema. Nesse ponto, é melhor deixar que tudo corra como raiz, porque uma sessão do editor permite a execução arbitrária de código.
Caleb
2

Vale a pena notar que algumas organizações competentes realmente preferem o sudo sem senha quando possuem usuários que precisam fazer login em muitos hosts remotos diferentes - principalmente se isso incluir hosts com níveis variados de segurança.

O problema ao digitar sua senha é que você está fornecendo 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 compensações: você está aumentando a probabilidade de que a senha de um usuário seja comprometida, a fim de diminuir a probabilidade de um invasor que comprometeu uma sessão ou chave conseguir acesso à raiz. Em particular, imagine o seguinte cenário:

  • grande organização
  • muitos anfitriões
  • hosts têm níveis variados de segurança
  • acesso não raiz já é prejudicial
  • senhas de usuário desbloquear 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 decorre de um sistema de autenticação unificado 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 sem nada particularmente valioso, eu recomendo que você o deixe.

Sarah G
fonte
-1

Se você não tiver sshdinstalado, é bastante seguro, a menos que você quebre alguma coisa.

arlock
fonte