Principais fontes de vulnerabilidade no Linux
O Linux é seguro? A resposta é enfática: não. Ou mais flexivelmente: depende. Mas depende de quê? Depende de quem o administra. Um Linux mal configurado pode ser tão ou até mais vulnerável do que outro sistema qualquer. Nesse artigo apresentaremos as principais fontes de vulnerabilidade do Linux e algumas medidas para torná-lo mais seguro.
Parte 7: Permissões
Muitos arquivos do GNU/Linux devem ter permissões particulares para evitar problemas de segurança. Tenha em mente: um "chmod 777" nunca é solução para nada! Por exemplo, o dispositivo /dev/kmem permite acesso à área de endereçamento de memória do kernel.
Tal dispositivo é usado por programas como o "ps" e o "top", os quais precisam ter acesso às estruturas de dados do kernel. Arquivos como esses devem ter acesso de leitura apenas para o dono do arquivo. Programas que precisam acessar esse arquivo devem ter permissão "setgid" para o grupo que é o dono do arquivo (no caso do /dev/kmem, o grupo é o "kmem").
Atenção especial deve ser dada aos arquivos /etc/passwd e /etc/shadow. O /etc/passwd deve ter permissão 644, enquanto que o /etc/shadow pode ter permissão 600. O comando "passwd" roda com permissão "setuid", de modo que qualquer usuário possa utilizá-lo para modificar suas senhas e escrevê-las no /etc/passwd ou /etc/shadow.
É importante que o administrador do sistema tenha pleno conhecimento do sistema de permissões do GNU/Linux, bem como as opções de permissões especiais: "setuid", "setgid" e "stick bit". Outra ferramenta que aumenta o grau de segurança do sistema é o "sudo", que permite a um usuário em particular executar vários comandos como super usuário sem que possua a senha do root, com a vantagem de que tudo que será feito, será gravado em arquivos de log.
Tal dispositivo é usado por programas como o "ps" e o "top", os quais precisam ter acesso às estruturas de dados do kernel. Arquivos como esses devem ter acesso de leitura apenas para o dono do arquivo. Programas que precisam acessar esse arquivo devem ter permissão "setgid" para o grupo que é o dono do arquivo (no caso do /dev/kmem, o grupo é o "kmem").
Atenção especial deve ser dada aos arquivos /etc/passwd e /etc/shadow. O /etc/passwd deve ter permissão 644, enquanto que o /etc/shadow pode ter permissão 600. O comando "passwd" roda com permissão "setuid", de modo que qualquer usuário possa utilizá-lo para modificar suas senhas e escrevê-las no /etc/passwd ou /etc/shadow.
É importante que o administrador do sistema tenha pleno conhecimento do sistema de permissões do GNU/Linux, bem como as opções de permissões especiais: "setuid", "setgid" e "stick bit". Outra ferramenta que aumenta o grau de segurança do sistema é o "sudo", que permite a um usuário em particular executar vários comandos como super usuário sem que possua a senha do root, com a vantagem de que tudo que será feito, será gravado em arquivos de log.
Realmente nenhum sistema é seguro sem que o Administrador tenha pelo menos um conhecimento básico sobre segurança!
Meus parabéns pelo artigo, ficou simplesmente ótimo!
Abraços