quarta-feira, 16 de dezembro de 2009

Boas Práticas de Segurança para Iniciantes no Linux


Nos últimos dias o mundo open source foi pego de surpresa pelo anúncio de um malware para Linux, escondido dentro de um screensaver para o Gnome, no gnome.look.org.


Houve um alvoroço, e, os fanboys de plantão da Microsoft correram a apontar o dedo e jogar na cara que o Linux é tão vulnerável quanto o windows. Muita calma nessa hora. Não vamos confundir capitão de fragata com cafetão de gravata. Uma coisa é uma coisa, outra coisa, é outra coisa...

Mas, para ajudar o pessoal que está migrando para o Linux, e, inocentemente tem a esperança ingênua que nada vai acontecer com sua máquina Linux, infelizmente temos que jogar um copo de água fria aqui... Sim, copo e não balde, já que é para frear só um pouquinho o entusiasmo do pessoal que veio para o Linux.

Segurança no Linux(como em qualquer sistema operacional) é uma questão de hábito, então, vamos enumerar algumas dicas que irão facilitar os bons hábitos de segurança no Linux.

Claro que essas dicas aqui se aplicam a sistemas desktops (domésticos ou de trabalho), se fossem para servidores, teríamos outras regras, bem mais restritivas.


  • Jamais trabalhe como root. Trabalhar com a conta de root é muito arriscado. Utilize o root somente para tarefas de manutenção, com SU(ou KDESU ou GKSU), e jamais se logue no sistema com essa conta. Navegar na internet, então, nem pensar.
  • Não ative o auto login se seu computador puder ser usado por outras pessoas. O auto login é uma característica muito interessante, mas, se você tem informações que deseja manter confidenciais, não é uma boa política ativar o auto login.
  • Tenha cuidado com o Grub. Ele pode ser facilmente burlado para permitir um acesso privilegiado à sua máquina. Se você tem medo que alguém mexa na sua máquina na sua ausência, é necessário “blindar” o Grub (se bem, se houver acesso físico a máquina, ela está 70 a 99% comprometida).
          O quê ocorre ? É possível alterar as opções de boot na inicialização do Grub facilmente.
          Veja como isso ocorre:
          “Press ESC to enter the menu…”:

    Aperte o ESC e a lista aparecerá. Então faça o seguinte:
     Selecione a linha referente ao Linux e aperte a tecla “e”;
     Em seguida, aparecem as linhas de comando do boot em questão. Selecione a linha que inicia com kernel … e aperte novamente a tecla “e”;  
     A linha então aparece editável;
     Apague as opções “ro quiet splash locale=pt_BR” e coloque “root=/dev/hda0 rw init=/bin/bash” no lugar (sem as aspas e observando que a sua partição de sistema seja /hda0);
      Aperte enter para voltar ao menu e a tecla “b” para iniciar o sistema.
    Pronto, você tem acesso root na linha de comando e pode fazer o que quiser.
    Como evitar isso ? Colocando senha no menu.lst do Grub.
     Acesse o arquivo /boot/grub/menu.lst
     Descomente a linha “password senha”, onde “senha” é a senha que você quer colocar.
     Mas, uma senha tão simples seria vista facilmente. Vamos dificultar as coisas para o atacante. Abra um terminal e digite “grub-md5-crypt” (sem aspas)    e    ENTER.
     em seguida, digite duas vezes a senha que você quer e anote a resposta (que é bem estranha)
    Então vá no arquivo /boot/grub/menu.lst e inclua a linha “password –md5 senha”, onde essa senha é a palavra estranha que o comando anterior retornou.
      Ex.: password –md5 $1$3/9xL/$Uv7mG37A77UBUnh/GkogN/
  • Atualize o seu sistema periodicamente, melhor dizendo, diariamente. Enquanto no windows as falhas demoram a ser resolvidas, no Linux, às vezes são resolvidas em questão de horas. Então, estar com seu sistema sempre atualizado é uma ótima política de segurança.
  • Não deixe o SSHd (daemon do SSH) ligado na sua máquina. Ele sempre ficará escutando, e, com essa “porta” aberta ao mundo exterior, será uma isca e tanto para crackers de plantão (ou de fim de semana, ou até de orkut...) ficarem brincando com o seu sistema. Desative o SSH preferencialmente. Em servidores, o SSH tem sua razão de ser. Em micros desktop domésticos, não.
  • Não permita que usem o /tmp e /home para executar scripts. Sim, digamos que um atacante conseguiu acessar a sua máquina e comprometer a segurança, conseguindo um acesso de conta de usuário. O próximo passo dele é carregar um script que explora alguma falha, seja de kernel, buffer overflow, etc... para conseguir privilégios de root. O que fazer ??? Duas coisas:
    1. Limite o número de usuários na sua máquina. Se é só você que usa, tenha só a sua conta e a de root.
    2. Desabilite a execução de scripts na /home e na /tmp. Como ??? No FSTAB.
        Primeiro, faça uma cópia de segurança do seu FSTAB atual. Depois, com um editor de sua preferência(emacs, mcedit, joe) faça as seguintes mudanças:
        Ache a linha que referencia a sua partição /home, por exemplo → # /dev/sda7 UUID=413eee0c-61ff-4cb7-a299-89d12b075093  /home  ext3 nodev,nosuid,relatime  0  2
     E modifique para: # /dev/sda7 UUID=413eee0c-61ff-4cb7- 299-89d12b075093  /home  ext3 noexec,nodev,nosuid,relatime  0  2

     Se o /tmp estiver numa partição separada, o procedimento é o mesmo, observando que as 3 opções deverão ser adicionadas depois da declaração de tipo de sistema de arquivos (no caso acima, seria depois de ext3 .
     Exemplo: LABEL=/tmp /tmp ext3 noexec,nosuid,nodev 0 0
  • Não instale pacotes de sites que você não conhece. Observe que, mesmo um site popular e “confiável” como o Gnome.look.org foi alvo de envio de malware, então, redobre a atenção.
  • Essa dica tem a ver com a anterior: Jamais baixe nada de torrent(QUE NÃO SEJAM ISOS DE DISTROS PARA INSTALAR) para o seu sistema operacional. Hoje em dia já estão populares os programas pagos sendo distribuídos(pirataria) em sites de torrent. Como novamente não há como verificar a origem desses pacotes, eles são potencialmente perigosos.
  • Desabilite a execução de compiladores  para qualquer usuário, fazendo isso, você irá garantir que não vão usar o compilador para instalar exploits na sua máquina.
          Ex: #chmod 000 /usr/bin/*cc*
          Para voltar ao normal: #chmod 700 /usr/bin/*cc*
  • Muito cuidado com programas de compartilhamento p2p (Frostwire e afins). Se você não configurar corretamente o alcance dos arquivos compartilhados, poderá por em risco todos os arquivos da sua /home. Ideal é configurar uma partição específica para compartilhar, sem ligação com a sua /home, para preservar os seus dados.
  • Não instale extensões para o Firefox que não sejam do site da fundação Mozilla. Aqui vale o mesmo conselho de não baixar pacotes de sites estranhos.
  • Use um firewall. Mesmo que você não tenha nada “escutando” a rede externa, um firewall é muito importante, já que sua máquina pode ser usada para disparar um ataque de negação de serviço Smurf (O agressor envia uma rápida seqüência de solicitações de Ping para um endereço de broadcast, mas falsifica o endereço de retorno, fazendo que milhares de computadores respondam ao Ping para o endereço que o atacante quer derrubar.) Com um firewall, solicitações de Ping (e diversas outras solicitações TCP e UDP) são facilmente bloqueadas e controladas. Bons firewalls para iniciantes são o GuardDog e o Firestarter.


      Ufaaaa... E, por enquanto é só... Ahhh, mais uma dica, talvez a mais importante de todas: Mantenha sempre o seu conhecimento atualizado. Afinal, a peça que fica entre a cadeira e o teclado do computador, é a mais vulnerável. Bom pessoal, se gostaram, posso no futuro prosseguir com mais alguns artigos sobre segurança. Sempre tem coisa interessante para se aprender.
 

Links para leituras interessantes sobre o assunto:

http://andrenoel.com.br/2008/08/26/acesso-local-acesso-root-2/
http://lucianoborguetti.wordpress.com/2009/12/05/linux-voce-esta-seguro/

Nenhum comentário:

Postar um comentário