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.

[ Hits: 55.884 ]

Por: Silvio Leonardo Teixeira de Souza Cruz em 14/05/2007 | Blog: http://blog.drall.com.br


Serviços desnecessários



As diversas distribuições do GNU/Linux diferem bastante em relação a quais serviços de rede são habilitados como parte da instalação inicial padrão. É comum, por exemplo, usuários iniciantes que estão instalando o Linux pela primeira vez optarem por uma instalação "full" ou mesmo selecionarem todos os pacotes de softwares de rede para serem instalados. Cada serviço de rede instalado introduz no sistema um ponto de vulnerabilidade, visto que qualquer serviço de rede ativo representa uma porta de comunicação com o mundo exterior.

Portanto, cabe ao administrador definir quais serviços são realmente necessários ao sistema e desabilitar aqueles que não são absolutamente necessários. Isso ajuda a reduzir os pontos de vulnerabilidade. Para verificar os serviços de rede ativos, existem algumas possibilidades. Uma delas é verificar todos os processos correntes e tentar identificar os serviços de rede:

# ps aux

Outra maneira é verificando portas do sistema que estão abertas. Para esse fim, podemos utilizar uma poderosa ferramenta para verificação de rede: o "nmap" (port-scanner):

# nmap -sS 127.0.0.1

A saída do "nmap" será algo do tipo:

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-04-21 22:38 BRT
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1670 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
716/tcp  open  unknown
842/tcp  open  unknown
2049/tcp open  nfs
3306/tcp open  mysql
Nmap finished: 1 IP address (1 host up) scanned in 0.144 seconds

Através dessa saída, é possível verificar quais as portas estão abertas em nosso sistema e a partir disso, julgarmos o que é necessário continuar aberto e o que deve ser fechado ou filtrado.

Controle dos serviços de rede

Alguns serviços de rede oferecem a opção de serem executados como "daemons" ou através do "inetd". É recomendável executar um serviço no modo "daemon" se este for um serviço solicitado freqüentemente (tais como servidores web, proxy, etc), ou através do "inetd", caso contrário (tais como servidores de ftp, ssh, etc).

Serviços de rede que rodam como "daemons", geralmente são iniciados no momento do boot (pelos scripts de inicialização presentes em /etc/init.d) e permanecem o tempo todo na memória aguardando que alguém se conecte a ele. Serviços executados como "daemons" aparecem no sistema como um processo qualquer e podem ser verificados facilmente utilizando-se o comando "ps".

Serviços iniciados pelo "inetd" são carregados na memória somente no momento em que são solicitados. A configuração de quais serviços podem ser carregados pelo "inetd" e seus parâmetros é feita através do arquivo /etc/inetd.conf. O "inetd" lê as configurações deste arquivo e permanece na memória, aguardando a conexão dos clientes.

inetd.conf

O arquivo inetd.conf possui uma sintaxe simples, em que cada linha descreve um serviço que se deseja oferecer. A sintaxe é a seguinte:

<nome_serviço> <tipo_soquete> <proto> <opção> <usuário> <caminho_servidor> <argumentos>

Em que:
  • "serviço" é o serviço que se deseja oferecer
  • "tipo_soquete" é o tipo do soquete que este item utilizará (geralmente stream para serviços baseados em TCP ou dgram para serviços baseados em UDP)
  • "protocolo" é o tipo de protocolo de transporte utilizado (geralmente TCP ou UDP)
  • "opção" indica se o serviço de rede libera o soquete após ele ser iniciado (nowait) ou se o "inetd" deve aguardar e assumir que qualquer servidor já em execução pegará a nova requisição de conexão (wait).
  • "usuário" define o dono do "daemon" de rede
  • "caminho_servidor" é o caminho para o programa servidor atual que será executado.
  • "argumentos" são argumentos da linha de comando que se deseje passar para o daemon servidor quando for iniciado.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Filtragem de pacotes
   3. Serviços desnecessários
   4. Patches de segurança e "Bug Report"
   5. Backup
   6. Senhas
   7. Permissões
   8. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando senhas seguras com o mkpasswd

Proteção utilizando fail2ban contra ataques do tipo

5 comandos que ninguém nunca deve executar no Linux

Integrando ModSecurity ao NGINX e Apache

Instalação do Nessus 3.0

  
Comentários
[1] Comentário enviado por vodooo em 14/05/2007 - 08:10h

Fico até sem palavras para le parabenizar!

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

[2] Comentário enviado por fulllinux em 14/05/2007 - 08:31h

Parabéns,

Muito bom seu artigo! Porem a conclusão disso tudo é o fato 'Administração' não que o sistema seje inseguro, mas quem o administra!

O trecho:

"o código é aberto e está disponível para todos, de modo que é muito mais fácil se descobrirem falhas de segurança do que em sistemas fechados. Esse é um dos grandes trunfos do GNU/Linux que o tornam geralmente mais seguros do que sistemas fechados."

É um pouco contraditório... pensando por outro lado, se eu sou o desenvolvedor do sistema, eu deixo brechas para me sobresair em cima desse sistema, porem, se eu deixo tais brechas no sistema eu tenho que saber sana-las também para me sobresair em cima desse sistema!

É algo que naum poderia acontecer, mas, infelismente isso é do proprio homen.

Parabéns pelo artigo, gostei muito de fazer esta leitura!

[3] Comentário enviado por leo_mineiro em 14/05/2007 - 08:37h

Show de bola o artigo, parabéns!

Soh faltou vc falar sobre a importância de usar um IDS e também de ajustes no kernel...

Falow

[4] Comentário enviado por dailson em 14/05/2007 - 10:36h

Parabéns Pelo Artigo.
Claro e OBjetivo

[5] Comentário enviado por tatototino em 14/05/2007 - 11:01h

seu artigo muito bom, mas achei o que vc descreveu no artigo muito voltado para segurança para usuarios Desktop ou inicinates e não para administradores re rede ou de servidores.
Acho que faltou você falar de Serviços em jaula (chroot), o que o próprio leo_mineiro disse falar sobre IDS e alguns patchs como o lids e o selinux e outros como pax grsecurity e etc

não entenda como uma crítica, só que acho poderia ficar melhor

[]'s

[6] Comentário enviado por edex em 14/05/2007 - 11:38h

Muito bom! Sou iniciante em linux este artigo vai me ajudar muito na questão segurança! Parabens!

[7] Comentário enviado por mudao em 14/05/2007 - 18:32h

Fala aí Silvio, parabéns muito bom seu artigo.
Abs,
Rogério Winter.

[8] Comentário enviado por calaff2 em 14/05/2007 - 20:13h

Otimo cara!!! Parabéns!

Viva a Liberdade!

[9] Comentário enviado por y2h4ck em 15/05/2007 - 09:33h

Tatatotino,


Assim como vc e outros ai encima que postaram falando que faltou ele falar isto e aquilo, é exatamente este o conceito errado de Segurança que administradores tem. Assim como você a maioria acha que é entopindo a maquina com patches e programas de "segurança" é que ela ocorre.

Na verdade o conceito mais básico de segurança e o da Simplicidade e o Least
Privileges. Ou seja para formular um sistema seguro deve-se levar em conta que qto mais simples de administrar ele for, mais facilmente falhas de segurança serão encontradas e administradas, e pensando sempre no quesito do menor privilégio podemos configurar um padrão de segurança condizente com o necessário real para continuidade dos negócios :).


Na verdade, enfiar um monte de programas e deixa-los mal configurados acaba criando mais vulnerabilidades do que soluções.


Abraços e parabéns pelo artigo.

Valeu.

[10] Comentário enviado por juninho (RH.com) em 15/05/2007 - 09:44h

Realmente seu artigo é ótimo, fala principalmente sobre os pontos onde se pode verificar falhas em termos de segurança, e mostra ainda que as principais falhas vem realmente dos usuários e ainda do Administrador.

Parabéns

[11] Comentário enviado por wysiwyg em 15/05/2007 - 14:58h

========================================
Muito obrigada pelo tutorial, gostei :)
========================================

[12] Comentário enviado por apdrall em 15/05/2007 - 15:34h

Prezados,

Primeiramente obrigado pelos elogios e críticas construtivas.

Gostaria de deixar claro que a principal intenção do artigo foi dar uma geral sobre segurança no Linux, apontando algumas fontes mais comuns de vulnerabilidade. Dessa forma, creio que a leitura tenha sido muito mais proveitosa por parte de usuários iniciantes/intermediários do que administradores de sistema, os quais provavelmente já conhecem (se não todos) a grande maioria dos tópicos abordados. Pode-se dizer que o público alvo predominante desse artigo são usuários domésticos ou mesmo administradores de pequenas redes. O intuito foi mais apresentar as principais fontes de vulnerabilidade do sistema para esses usuários, para que eles, por si próprios, pesquisem mais a fundo sobre os tópicos abordados e se interessem cada vez mais sobre esse assunto que não tem fim: a segurança.

O grande problema de se produzir um artigo que generaliza um assunto vasto como segurança, é justamente deixar de falar uma ou outra coisa que possa ser importante. Creio que os 6 tópicos abordados sejam realmente a base da segurança nesse sistema. Um IDS, por exemplo, obviamente é uma ferramenta de grande importância para um administrador, mas já entra em um nível de segurança um pouco mais avançado do que o escopo dese artigo.

Enfim, espero que pelo menos eu tenha aguçado a curiosidade de algumas pessoas para aprofundarem seus conhecimentos nessa área :)

Um abraço,

Sílvio Leonardo

[13] Comentário enviado por F4xl em 20/05/2007 - 22:11h

Muito bom seu artigo, Silvio!

Principalmente sobre as técnicas de quebras de senha, deve ter sido um "achado" em tanto para muitos, assim como foi pra mim ;)

Abraços e parabéns!

[14] Comentário enviado por adriano.chico em 02/06/2007 - 21:28h

Ótimo este artigo sobre vulnerabilidades no GNU/Linux, um ótimo trabalho em descrever as vulnerabilidades do SO.

t+ abraços,

_______________
Adriano Francisco

[15] Comentário enviado por removido em 15/01/2017 - 13:53h

Boa dica para os iniciantes no mundo Linux e para os amantes de suposta distribuições Linux que não tem nenhuma segurança e nem estabilidade no sistema.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts