Acredito que muitos usuários Linux que estão lendo esse artigo já conhecem o sudo, e já o utilizam constantemente no seu dia-a-dia. Para quem não conhece, o sudo é uma poderosa ferramenta de linha de comando que permite a concessão de privilégios de acesso à determinados comandos (normalmente os que precisam de permissão de usuário root) para os usuários. Se determinado usuário possui autorização para utilizar através do sudo determinado comando no Linux, ele não precisará de autorização para sua execução.
Como funciona essa permissão? O sudo possui um arquivo chamado /etc/sudoers que determina se o usuário está ou não autorizado a executar um determinado comando em um nível alto de privilégio. Se o usuário possui a permissão de utilizar determinado comando, ele poderá aplicar em um shell, o comando sudo, seguido do comando desejado.
Essa funcionalidade permite que os administradores de sistema possam delegar alguns poderes para determinados usuários de sua rede, permitindo que os mesmos possam ajudar no gerenciamento de tarefas locais (ou remotas), sem precisar dar a eles acesso como usuário root, o que seria extremamente perigoso. Administradores que utilizam o sudo em seus ambientes de trabalho devem sempre estar atentos as suas configurações. Afinal, qualquer associação errada de comando/usuário a lista do arquivo /etc/sudoers pode dar excesso de poderes a quem não deveria ter. Outra preocupação importante diz respeito a atualização desta ferramenta. Por ser uma ferramenta de "alta periculosidade", sempre que forem notificados casos de falhas críticas, a administração local precisa manter um esforço de monitoramento redobrado, e atualizar o sudo assim que uma correção for lançada.
Recentemente os desenvolvedores do sudo corrigiram duas falhas graves, que permitiam o acesso privilegiado de usuários a qualquer comando do sistema. E com o sudo não se brinca! Várias foram as distribuições Linux que já liberaram os pacotes para a atualização desta ferramenta, fixando assim duas vulnerabilidades que permitiam ao usuário executar certos comandos com níveis de privilégio de outros usuários. E, óbvio, usualmente essas falhas estavam sendo exploradas para permitir o uso do usuário root nos sistemas. Afinal, não existem "limites" para a ação deste usuário no Linux.
Porém, vejo com preocupação, distribuições Linux como a Ubuntu (aparentemente) navegando contra a maré na segurança do uso desta ferramenta em sua distribuição Linux. Na minha opinião, o modus operandi do Ubuntu não incentiva em nada a segurança do usuário, desde a instalação até suas configurações-padrão de uso. Como todo sabem, no padrão da instalação do Ubuntu, o usuário criado durante o processo, é o mesmo que será utilizado para acessar o ambiente de trabalho, onde o comando sudo está 100% ativo para todos os comandos do Linux dentro desse ambiente do usuário, e pior, a senha de acesso dessa conta possui privilégios de root.
Primeiro ponto perigoso, ao meu ver, é a não obrigatoriedade de se criar uma senha de root na instalação. Como todos sabem, um dos motivos do Linux ser considerado seguro, é porque o mesmo possui um ambiente verdadeiramente multi-usuário com privilégios distintos para cada "conta de acesso". E uma vez que o Ubuntu incentiva o usuário a continuar nos mesmos moldes do way-of-life do Windows, toda a segurança do sistema vai para a lata do lixo.
O segundo ponto crítico é a permissividade de uso completo do sudo via conta de usuário de instalação do Ubuntu. Ela está aberta para qualquer comando do Linux, e você só precisa utilizar a senha desse mesmo usuário de instalação para fazer o que quiser em seu computador, até mesmo mandar todo o sistema para o /dev/null, ou mesmo efetuar o famigerado comando rm -rf / (esse último comando está completo e aconselho você a NUNCA UTILIZÁ-LO).
Sei que muito do "jeito de ser" do Ubuntu, desde a instalação até seu uso e permissões, são feitos para "facilitar a vida" dos usuários que buscam migrar do Windows para o Linux. Claro que, graças ao Ubuntu, nossa comunidade nunca foi tão gigantesca. Mas também graças a ele, nós temos atualmente o maior potencial de risco da história do Linux pronto para explodir na frente de todos. Principalmente por deixar enormes poderes nas mãos de usuários comuns e sem conhecimento suficiente para se livrar dos "problemas" do dia-a-dia, além de abrir um enorme leque de possibilidades para que o Linux passe a ser ninho de vírus, trojans, worms, etc. Afinal, o elo mais fraco de qualquer computador é seu usuário.
Por sinal, gostaria da participação de todos vocês. Conhecem outras distribuições Linux que seguem o mesmo "caminho" do Ubuntu quanto a questão do comando sudo e das permissões de usuário? Você acha que, se a segunança no Linux continuar a afrouxar devido as atitudes das distribuições Linux, algum dia o sistema operacional do pingüim será um "criadouro de vírus" como o Windows? Participe dos comentários.
Links de Interesse:
- Site Oficial do sudo
- Vulnerabilities in sudo Closed
Mensagem do Sistema