ct

    Segurança no Linux

    Tutoriais

    Embora brechas graves de segurança sejam mais raras no Linux, manter servidores desatualizados ativos no seu sistema podem torná-lo tão vulnerável quanto o do mais inocente usuário do Windows 98. Este tutorial ensina como encontrar vulnerabilidades no seu sistema e prevenir-se contra roubo de senhas e vários tipos de ataques.Carlos E. Morimoto
    06/12/2002


    Existe uma certa desinformação sobre o Linux no quesito segurança. Se formos fazer uma comparação direta com o número de vulnerabilidades nos sistemas Windows, incluindo as de programas como o Outlook, IE, IIS, etc. Provavelmente teríamos um número muito maior do que a de qualquer distribuição Linux. Mesmo as falhas de segurança contidas apenas nos serviços padrão do Windows já somam um número considerável, muitas vezes superior ao de todos os pacotes incluídos em muitas distribuições juntas, como comentei no artigo "Qual é mais seguro, Windows ou Linux" que você pode ler aqui: http://www.guiadohardware.net/artigos/199

    Também não temos muitos problemas com vírus e pragas recebidas via e-mail, que são possivelmente o problema mais comum dos usuários do Windows e o número de trojans para Linux é muito menor do que o de versões para Windows. Mesmo os servidores, como o Apache, Proftpd, etc. São geralmente mais seguros do que os equivalentes for Windows.

    O problema é que todos estes prognósticos favoráveis dão uma falsa sensação de segurança, que acabam levando muitos usuários a assumirem um comportamento de risco, deixando vários servidores ativados, usando senhas fracas ou logando-se como root e por aí vai. Também é muito comum que os novos usuários fiquem impressionados com os recursos de conectividade disponíveis no Linux e acabem abrindo brechas de segurança ao deixar servidores XFS, NFS, Squid, etc. abertos.

    Uns 80% dos usuários do Windows sequer sabem o que é um servidor FTP (creio eu :-) enquanto a maioria das distribuições mantém o Proftpd ou o Wu-ftdp ativados por default. Quantos usuários Windows deixam um servidor Web ativado em suas máquinas? Ou um servidor de Telnet? Bem, creio que uma boa parte dos usuários Linux, talvez você mesmo, deixam...

    No final das contas, a segurança do sistema depende muito mais do comportamento do usuário do que do sistema operacional. Um usuário iniciante que use o Windows XP, sem nenhum firewall ou qualquer cuidado especial, mas que tenha o cuidado de manter o sistema atualizado e não executar qualquer porcaria que chegue por mail provavelmente estará mais seguro do que um usuário Linux sem noções de segurança que deixe um batalhão de servidores desatualizados ativos na máquina.

    Por quê justo eu?

    Você poderia perguntar por que alguém teria interesse em invadir sua máquina se você não possui nenhum segredo militar ou qualquer outra coisa valiosa armazenada no seu HD. A questão não é tanto o que você tem no HD, mas sim sua banda.

    Sim, ter vários PCs sobre seu controle, principalmente se eles possuírem conexões de alta velocidade significa poder. É possível usa-los para alimentar redes P2P como o Kazaa e outros, fundar uma rede de distribuição de Warez ou Moviez, usa-los como servidores complementares para um site pornô qualquer, enviar spam (que virão do seu endereço IP!), usá-los rodar portscans e lançar ataques contra outras máquinas (que novamente, virão do seu endereço IP!) ou até mesmo usá-los num ataque coordenado para tirar um grande portal do ar.

    Existem também alguns desocupados que gostam de invadir os micros dos outros simplesmente para pregar peças ou deletar arquivos, o que também não é muito agradável para a vítima.

    Ou seja, cuidar da sua própria segurança é quase que uma obrigação para qualquer um que acesse a Internet, não só para proteger sua própria privacidade, mas para impedir que seu PC seja usado para causar danos a outros sistemas. Não seja mais um idiota que não tem controle sobre o próprio micro.

    Como se proteger

    Segurança envolve mais do que simplesmente instalar um firewall ou substituir o Outlook por um leitor de e-mails mais seguro, envolve um conjunto de atitudes.

    A idéia básica é em primeiro lugar evitar que outras pessoas tenham acesso a dados pessoais, como senhas, versões dos servidores que você mantém abertos na sua máquina e se possível até mesmo restringir o acesso ao seu endereço de e-mail, número de ICQ e dificultar a obtenção do endereço IP da sua máquina. A idéia é que a partir de qualquer um destes dados alguém pode conseguir obter mais dados até conseguir acesso.

    Nenhum programa é livre de bugs. Com o seu número de ICQ alguém poderia tentar se aproveitar de alguma brecha descoberta no protocolo ou no cliente que você utiliza, com o seu e-mail é possível se aproveitar de uma vulnerabilidade recém descoberta no leitor de e-mails que você utiliza, ou simplesmente tentar convencê-lo a abrir um arquivo ataxado que contém um trojan e assim por diante.

    Como estes dados são mais ou menos públicos, a atitude mais inteligente é evitar arrumar confusão em grupos de discussão ou pelo ICQ. Assim pelo menos você evita que alguém tenha motivos para tentar lhe prejudicar.

    A questão das senhas é um pouco mais delicada, pois envolve não só os logins e senhas de e-mail, mas também senhas de banco, números de cartão de crédito, etc. A forma mais comum de conseguir estes dados é através de um programa de keytrap que captura tudo que é digitado no teclado, salvando num arquivo de texto que pode ser recuperado depois ou enviado automaticamente por e-mail. Existem várias formas de conseguir instalar um keytrap no PC de alguém, as possibilidades vão desde enviar um programa qualquer por e-mail que ao ser executado instala também o programa, invadir a máquina usando um trojan que dê acesso remoto e a partir daí instalar o programa e assim por diante.

    Mesmo que o seu micro esteja limpo, ainda existe a possibilidade de que os seus dados sejam capturados ao utilizar o micro de alguém ou, principalmente, ao utilizar um Cybercafé. Uma pesquisa recente apurou que 60% dos usuários possui algum tipo de vírus ou trojan instalado no micro, algo definitivamente preocupante.

    Evite digitar qualquer tipo de senha ou dados confidenciais em qualquer micro que não seja seu ou, se isso realmente for necessário, pelo menos tenha o cuidado de usar algum tipo de teclado virtual (como os que os sistemas de acesso online dos bancos oferecem ou o incluído no Windows), assim os dados não são capturados pelo keytrap.

    Os ambientes mais críticos são os Cybercafés, onde muitas pessoas utilizam os mesmos PCs. Não utilize nenhum serviço onde não exista uma boa política de segurança, baseada em logins separados para cada cliente e de preferência com estações Linux que oferecem um suporte multiusuário mais desenvolvido.

    Com senhas em mãos, qualquer um poderá ler seus e-mails, acessar sua máquina remotamente caso você mantenha um servidor de FTP ou SSH ativo e assim por diante. As senhas são o ponto fraco de qualquer sistema de segurança por isso devem ser uma preocupação constante. Utilize sempre boas senhas, misturando letras e números e com pelo menos 8 (de preferência 12) caracteres, jamais utilize palavras como senha e troque suas senhas, sobretudo a senha de root constantemente.

    O ideal é que ninguém além de você tenha acesso físico ao seu PC. Mesmo que você deixe o micro desligado, ou protegido por uma proteção de tela, é possível instalar programas dando boot através de um disquete. Os sistemas Windows 95/98/Me são uma carta aberta, qualquer um com acesso físico à máquina pode instalar e deletar o que bem entender. Mesmo em sistemas mais seguros, como o Windows 2000/XP, Linux e FreeBSD é possível utilizar um dos vários rootdisks disponíveis para, com um pouco de tempo, obter acesso como superusuário e a partir daí novamente poder fazer o que quiser.

    Os rootdisks são disquetes bootáveis com um conjunto de utilitários que exploram falhas do sistema para tentar obter acesso. A maioria das brechas de segurança podem ser exploradas apenas localmente e é justamente isso o que o rootdisk faz. Se não for possível obter acesso explorando nenhuma vulnerabilidade conhecida, o rootdisk ainda pode tentar um ataque de força bruta, chutando a senha de superusuário até acertar. Neste caso, uma senha de 12 caracteres ou mais já seria suficiente para proteger o sistema, o problema é que muita gente tem preguiça de digitar uma senha tão longa e acaba usando senhas de 5 ou 6 caracteres que são rápidas de descobrir. Não faça isso.

    Se você administra um servidor ou permite que outros usuários acessem sua máquina remotamente, exija que todos utilizem boas senhas. Muitas brechas de segurança permitem obter acesso de root partindo de um simples login de usuário por isso além de exigir o uso de boas senhas, você deve dar logins de usuário apenas à pessoas de confiança. Servidores de FTP como o Proftpd e de e-mail como o Pop3d permitem a criação de "sub-usuários" que são válidos apenas dentro deste servidor específico. Ou seja, o usuário seria capaz de acessar o FTP, mas não de logar-se no SSH por exemplo.

    Distribuições Linux com enfoque na segurança, como o Engarde baseiam-se justamente na idéia de criar barreiras de contenção, limitando os privilégios de cada usuário e de cada serviço, impedindo que eles tenham acesso a recursos que não são absolutamente necessários para sua operação.

    Outra boa idéia é "esconder" seus servidores, alterando suas portas default. Por exemplo, um servidor de FTP escutando na porta 21 (a default) seria facilmente descoberto pelo atacante, que a partir daí poderia tentar algum tipo de vulnerabilidade no programa para obter acesso. Mas, se você configurá-lo para operar na porta 44756 por exemplo, já seria muito mais complicado que alguém descobrisse-o. Seria preciso fazer uma varredura de portas completa, que demora várias horas para perceber que a porta 44756 está aberta e mais algum tempo para descobrir que ela está sendo usada por um servidor de FTP. Quanto mais dificuldade melhor não é mesmo?

    Mais um erro comum é deixar servidores de FTP, Web, SSH, etc. disponíveis para toda a Internet enquanto você só precisa deles dentro da sua rede interna. Se você tem duas placas de rede, ou uma placa e um modem, é fácil filtrar o tráfego permitindo que apenas os acessos vindos dos clientes locais sejam aceitos. Isto pode ser feito na configuração do servidor (como no caso do Samba e do Apache que vimos nos capítulos anteriores) quanto na configuração do firewall.

    O ideal em termos de segurança é não acessar a Web diretamente, mas sim sempre acessar por trás de uma conexão compartilhada através de uma máquina rodando o Coyote, Freesco ou outra mini-distribuição especializada na tarefa.

    Todas estas medidas representam o que chamamos de segurança proativa. As brechas de segurança são como balas perdidas, ninguém pode dizer aonde surgirá a próxima. Mesmo um sistema com um excelente histórico de segurança pode revelar um bug monstruoso a qualquer momento. A idéia é impedir ou pelo menos dificultar a exploração de qualquer eventual brecha.

    Imagine que amanhã alguém descubra uma brecha grave no SSH. Se você deixa o serviço ativo no seu servidor e ainda por cima aberto ao mundo, você estaria com sérios problemas. Mas, se você ou mantém o serviço desativado, ou disponível apenas para a sua rede interna, você aplicaria o patch como todo mundo apenas por precaução, mas a brecha não afetaria diretamente o seu sistema, pois seria preciso passar primeiro pelo firewall para ter acesso a ele.


    Página 01 de 03
        



    Blog:

    Add to Google

    » Gostou do texto? Veja nossos livros impressos:
    Hardware | Redes | Servidores | Kurumin 7

    ... ou encontre o que procura usando a busca:

cb
Livros de Carlos E. Morimoto HOME