As maiores vulnerabilidades do Linux (hackers Ativos)

12/08/2011 21:40

O Linux é seguro?

Para os adeptos de plantão, este artigo não é para gerar polêmica não, mas para servir de ALERTA!

Muito falamos a respeito da segurança do Sistema Operacional Linux, mas bem sabemos que o Linux também têm suas vulnerabilidades. Quais? As da Microsoft parece que todo linuxer sabe de cor, mas e as vulnerabilidades do próprio sistema operacional?

Pois é. Aqui vai o alerta. Um dia escutei a frase: O Sistema Operacional mais seguro é aquele que você mais domina., e tive que concordar plenamente. Pesquisando então sobre as vulnerabilidades do Linux, esperando encontrar pouca coisa, achei muita gente relatando seus problemas. Até que encontrei no site da SANS (http://www.sans.org/top20) uma pesquisa realizada pela própria SANS junto ao FBI e pude esclarecer esta minha dúvida. A pesquisa aborda as 20 maiores vulnerabilidades encontradas, 10 para servidores Windows e 10 para servidores Unix.

As brechas do Linux

Abaixo estão listadas as 10 maiores vulnerabilidades do Sistema Operacional Linux/Unix, traduzido de Outubro de 2003 e que são válidas ainda hoje:

1. BIND - O BIND é o principal serviço de ataque dos hackers. A maioria dos bugs já foram resolvidos mas a maioria das pessoas mantém as versões mais antigas por uma questão de funcionalidade e por não disporem de tempo para a migração.
2. RPC - O RPC é um serviço para a chamadas de procedimentos que serão executados remotamente. É extremamente importante para a funcionalidade da rede interna pois é utilizado para distribuição de carga, processamento distribuído, cliente/servidor, etc. O NFS, que é um dos compartilhamentos de rede mais conhecidos e utilizados, usa diretamente o RPC.
3. Apache - Sem dúvidas nenhuma é um Web Server bem mais robusto que o IIS, mas não deixa de estar exposto à internet. Vários ataques a sistemas operacionais NIX ocorrem pelo Apache, principalmente para servidores com execução de scripts e permissões de acesso à programas.
4. Contas de usuários - Esta vulnerabilidade ocorre principalmente sobre contas com senhas fracas ou nulas. Parece ridículo, mas tem pessoas que conseguem invadir sistemas descobrindo senhas pelo método da tentativa e erro, e, geralmente, as senhas são as mais óbvias possíveis. Não é o sistema que é hackeado mas a conta do usuário. Uma vez tendo acesso ao sistema, o hacker pode se tornar bastante incômodo.
5. Serviço de transferência em ASCII - FTP e e-mail são os programas diretamente relacionados a estes serviços. Tudo que passar por eles e for texto puro, não encriptado (o que ocorre na maioria das instalações), o conteúdo pode ser capturado. Basta alguma informação ou senha secreta para que a porta esteja aberta.
6. Sendmail - É, talvez, o pior serviço de e-mail do NIX, em comparação com os seus próprios concorrentes. Tende a ser lento e problemático. Mas é o mais utilizado, porque é extremamente operacional. É possível colocá-lo para funcionar rapidamente. Por isto é a maior fonte de furos existente na comunidade. Se puder, substitua.
7. SNMP - Uma excelente ferramenta administrativa, principalmente para grandes corporações. Mas por ser um projeto baseado na comunicação com a rede, está sujeito à vulnerabilidades. O serviço é ativado por default no sistema Linux, o que causa o esquecimento por parte dos usuários.
8. SSH - É a solução ideal para acesso remoto seguro, abolindo de vez o Telnet. No entanto, pode se tornar totalmente ineficaz se não for administrado corretamente. Escolha o nível de segurança mais desejado, lembrando que ele é diretamente proporcional ao trabalho para configurá-lo. E não esqueça de proteger chaves privadas dos usuários!
9. Compartilhamento de arquivos - Ocorre principalmente com NIS/NFS e Samba mal configurados. Podem comprometer a segurança abrindo brechas para ataques externos.
10. SSL"s - Embora sejam extremamente eficazes para criar conexões seguras entre cliente/servidor, os SSL"s permitem o acesso ao servidor por parte do cliente. Pode se tornar uma porta para o acesso de hackers

Depois desta lavada de vulnerabilidades, deixarei alguns comentários. A vulnerabilidade não está necessariamente relacionada ao uso destes serviços, mas está muito relacionada à má configuração dos mesmos.

NÃO CONFIE DEMAIS NA SUA SEGURANÇA. A desconfiança é o melhor aliado de um bom administrador.

Como diminuir a vulnerabilidade

Um sistema bem administrado diminui enormemente a probabilidade de invasão. Segundo as vulnerabilidades aqui discutidas, vamos dar algumas dicas de segurança:

1. BIND - Procure adotar uma política de mascaramento das informações.
2. RPC - Use o serviço somente se necessário.
3. APACHE - Ajuste bem as configurações. Habilite somente scripts e programas com destino correto e que não comprometam de forma alguma o sistema.
4. Contas de usuários. Evite criar contas de usuários em demasia, principalmente contas para acesso multiusuário. Adote uma política de senhas seguras e jamais permita o acesso a serviços e contas de usuários SEM senha.5.
5. Serviços ASCII - Toda comunicação pode e deve ser feita de forma encriptada. Arquivos ASCII são muito vulneráveis e todos podem ter acesso ao seu conteúdo facilmente.
6. Sendmail - Atualize e configure corretamente. De preferência, gaste um pouco de tempo e implemente outro servidor.
7. SNMP - Não esqueça de estabelecer as regras de utilização do serviço. Não use se não for necessário.
8. SSH - Muitíssimo bom, mas configure-o da forma mais restrita possível. Restrinja o acesso somente a usuários do sistema. Se possível, restrinja o acesso ao X. Controle o acesso às chaves privadas. Bloqueie passphrases em branco, elas se tornam uma arma na mão dos hackers.
9. Compartilhamento de rede - Compartilhe somente o que for necessário e restrinja ao máximo o acesso dos usuários ao compartilhamento. De preferência use alguma ferramenta de autenticação.
10. SSL"s restritivas é a melhor opção quando não puder ficar sem elas.

Dicas gerais de segurança

* Rode somente os serviços necessários para a operação da sua rede. Serviços que não são muito utilizados caem no esquecimento do administrador.
* Verifique se os serviços estão rodando com privilégios de root, estas permissões geralmente causam os maiores furos na segurança. Se não for necessário, desabilite esta opção.
* Verifique se os serviços estão configurados adequadamente à sua rede. Tutoriais e How-To geralmente indicam o caminho de como configurar, mas na sua maioria não são muito específicos.
* Estabeleça uma política de segurança para a sua rede, como por exemplo, serviços de compartilhamento disponíveis, política de senhas, etc.
* Firewall. Estabeleça um filtro de tudo que entra na sua rede. De preferência feche todas as portas que não são necessárias para o funcionamento do servidor.
* Evite serviços de comunicação p2p, como servidores de músicas, vídeos e até chats e mensagens.
* Como última dica: monitore. Diz o ditado, O boi só engorda aos olhos do seu dono. Se você cuida da sua rede, dificilmente terá problemas de vulnerabilidade.