‹ blog.cetico.org

Vulnerabilidade "congênita" em software para sysadmin

Feb 21, 2006

Há uma intensa e inacabável discussão sobre softwares que facilitem a administração de serviços e servidores, debate esse que fica ainda mais acalorado quando se menciona administradores em interface web.

O ponto principal do debate é que, para que se dê acesso limitado da administração de serviços a um usuário, o software vai precisar enjaular esse usuário muito bem, fazendo um controle de acesso muito complexo e com diversos possíveis pontos de falha.

No caso do Webmin, por exemplo, o daemon roda com usuário root e é necessário gerenciar não só a autenticação do usuário, como também controlar seu acesso. Para quem não conhece, o webmin permite delegar a um usuário o controle de apenas um serviço X, ou ainda apenas a componentes específicos de X (como controlar sistemas de arquivo, porém modificar os dados apenas do diretório /var/www/usuario/).

O histórico do webmin mostra que a complexidade dos seus mecanismos de controle de acesso e o potencial impacto (“root remoto”, direto) da descoberta de vulnerabilidade no programa levaram à descoberta de diversas vulnerabilidade, algumas, se não me falha a memória, ainda na fase pré-autenticação(!!).
Recentemente o webmin foi retirado do Debian-sid, depois que o mantenedor compreensivelmente jogou a toalha, culpando inclusive a qualidade dos pacotes do webmin:

It is better to drop them now rather than perpetrate the cruel joke  
that these are Debian-quality packages; especially because newbies often  
rely on webmin to administer their systems and keep them secure.  And we owe  
it to Jamie Cameron, the author of webmin, not to besmirch his name and product  
with buggy crap.

Mesmo que todos saibam do riscos que essas interfaces de gerenciamento possam representar, a oferta de ferramentas semelhantes só aumenta. Recentemente ouvi falar de outras duas: o ebox e o gosa.

Sistemas para facilitar a administração de servidores são ferramentas essenciais para os iniciantes e, considerando-se nessa categoria aqueles softwares de grande porte como o cpanel, há milhares de empresas cuja continuidade e segurança dos negócios dependem de interfaces de administração de serviços (penso numa empresa de hosting).

Eu mesmo me confesso simpático e reconhecedor da utilidade dessas ferramentas, desde que muito bem desenhadas e implementadas. Estou tendo uma grande preocupação com o desenvolvimento do meu nwu, visto que envolve a execução de tarefas como root nas máquinas gerenciadas.

Minha estratégia para tentar garantir um nível razoável de segurança passa por: utilizar criptografia na transmissão (HTTPS) e na autenticação (HMAC) das mensagens; não supor que o cliente seja confiável, mesmo que autenticado e; principalmente, mapear todos os possíveis pontos de risco da aplicação e auditá-los sempre.

Não tenho dúvida que fazer software seguro exige muito esforço e, tcha-na-nãs, tempo livre. Afinal de contas, só consideram questões de segurança quando não há prazo a ser cumprido :-).

Archived Comments

Original comment from:

Yves Junqueira - Feb 3, 2006

Original comment from: Cesar Cardoso

Risco é algo que se corre ao colocar um programa qualquer em uma máquina, afinal os bugs, os exploits e os exploiters estão sempre correndo à nossa frente. O que podemos fazer é, sim, minimizar esses riscos, por exemplo, evitando AO MÁXIMO rodar como root ou precisar de suid root, ou banindo qualquer tentativa de acesso via root remoto.

O webmin já teve seu tempo. Foi útil para administração local antes das ferramentas desktop como o gnome-system-tools, para administração remota sempre teve problemas sérios de arquitetura.

Original comment from: Fudeblog by Cesar Cardoso » Aqui e ali

[…] O Espírito que Anda fala sobre vulnerabilidades em softwares de administração de sistemas. Interessante para iniciar discussão, eu comentei lá […]

Original comment from: RJP

Well, eu acho o webmin… Legal. Mas tive problemas p/ mexer c/ ele c/ LDAP, por exemplo. E ainda sou antiquado, do tipo q nada melhor do q um SSH+joe (vi não)+Google+livros+sagacidade para salvar o dia.

É, acho q vou logar lá no meu último serviço e desinstalar o webmin. Pelo menos economiza um espaço.

Original comment from: » Virtualmin _pode_ ajudar sua vida cetico.org: Eu, Sysadmin - Yves Junqueira

[…] Tudo lindo, mas qual é o problema? O problema é que o Webmin (do qual Virtualmin é um módulo) tem um passado extenso de problemas de segurança. É um sistema extremamente complexo, com módulos pra se administrar de tudo, e com zilhões de controles de segurança necessários para manter a sanidade dos privilégios dos usuários do sistema, e de usuários “anônimos”. Alguém sente cheiro de exploit remoto? Pois é, e em parte por causa disso o webmin foi removido do Debian a partir do Etch (e consequentemente do Ubuntu). Já falei disso aqui. […]

🏷