Voltar para Artigos de Segurança







Segurança em Redes

 

08 de março de 2003
Postado por: Thadeu Camargo

 

Hoje em dia uma rede bem configurada é de suma importância para que uma corporação possa ter os seus negócios fluindo naturalmente. Implantar uma rede pode ser um trabalho intenso, mas infelizmente muitas vezes a segurança é deixada para segundo plano, o que é um erro lamentável, visto que uma falha de segurança pode acarretar prejuízos consideráveis a corporação.
É comum os crackers falarem que invadir sistemas pode ser muito mais fácil do que as pessoas pensam. Na realidade pode ser, pois na grande maioria das vezes, pra não falar em todas, o invasor se aproveita de falhas administrativas ou de sistema. Pontos que poderiam ser evitados com uma simples aplicação de um patch de segurança, atualização de software ou uma visualização mais cuidadosa dos logs. É função de um bom administrador tomar as devidas precauções para que sua rede não seja pega de surpresa por um elemento malicioso. E se porventura o pior acontecer, este deve estar a postos para que a recuperação da rede seja sem traumas.
Esta matéria não foi escrita para ser um tutorial de segurança em redes, mas sim uma forma de criar uma base para que o administrador ou futuro administrador possa buscar ferramentas, soluções e bons hábitos para sua rede. É um ponto de partida para deixar a sua rede mais segura. O que não falta são boas ferramentas e procedimentos para isso. Lembre-se de que sempre existe alguém com potencial para aproveitar as portas abertas de sua rede.

 
A Porta de Entrada

 
Hoje em dia é quase que inexistente uma rede sem acesso a internet. Naturalmente a nossa rede terá o acesso a rede mundial. É muito comum a presença de servidores WEB, FTP, e-mail, DNS. Logicamente, por serem serviços que ficam conectados diretamente a internet, são potenciais vítimas de invasão. Seria um risco muito grande deixar estes servidores diretamente conectados sem uma proteção. E as estações também precisarão de uma proteção contra acessos externos indevidos Quando se pensa em proteção contra invasões, vem logo a mente o Firewall. Mas o que seria um firewall? Como o nome diz, “muro de fogo”. Ferramenta que protege a rede contra invasões externas e acessos não autorizados. Trabalhando de fora pra dentro, e de dentro pra fora, ou seja, dando acesso somente a programas que estiverem em suas regras. O firewall trabalha com regras. Resumindo, ele faz apenas o que o admistrador quer, através de regras. Este detalhe é fundamental pois será através delas que o firewall vai poder defender a rede com competência ou não. Então é de suma importância que o firewall tenha regras bem definidas, caso contrário não adiantará muita coisa..
O Firewall pode ser via hardware ou software. Existem soluções para todos os sistemas. Em Windows, existe o Firewall-1, da Checkpoint. Já para Linux existe a solução Iptables, reconhecida por sua eficiência. Uma solução muito util para redes menores pois funciona como firewall e compartilhamento de internet é o Coyote Linux. Outra ferramenta que deve ser usada em conjunto com o firewall é um IDS ( Intrusion Detection System, ou Sistema de Detecção de Intrusos ) o próprio nome já é explicativo;-) O que ele faz não é nada mais do que analisar e comparar os pacotes que trafegam na rede, verificando se estes tem assinaturas prontas de ataques. Um serviço deste tipo é valioso e pode ajudar a evitar muitos ataques pois com ele pode se saber a origem, tipo de ataque e número de tentativas, gerando um log. Para que o IDS tenha pleno efeito é necessário que se tenha certos cuidados como instalar numa maquina limpa, sem vulnerabilidades, para evitar a presença de rootkits na mesma. Rootkit, para quem não sabe, é um conjunto de programas que visam ocultar a presença de um possível invasor no sistema pois através dele pode se mascarar comandos efetuados pelo atacante. Além disso pode funcionar como um backdoor, programa de conexão remota, sniffers, etc....
Caso não possa fazer uma instalação limpa, é altamente recomendável fazer uso de um chkrootkit( programa que detecta a presença de rootkits ) para verificar se não existem rootkits instalados na máquina. Após a verificação e certeza de que a máquina está limpa, é recomendável fazer todas as atualizações de segurança do sistema para então proceder a instalação do IDS.

O IDS mais famoso talvez seja o SNORT, pois além de ser multi-plataforma, é livre e competente. Além do mais é de fácil atualização. Por ser um software livre, existe uma comunidade que trabalha ativamente nele, sendo assim, o número de falsos-positivos ( detecção de invasões falsas, afinal de contas ele trabalha analisando pacotes, o que pode resultar em falhas ) é reduzida.

Uma máquina pode fazer isto, mas como disse antes é extremamente recomendável que o sistema a ser utilizado esteja limpo e completamente atualizado, com todos os patches de segurança instalados. E é de suma importância que esta máquina não tenha outros serviços instalados, para não causar vulnerabilidades.

Agora temos que ver com muito carinho a questão dos serviços WEB. Estes são muito visados por possíveis invasores e podem comprometer toda uma rede no caso de um ataque bem sucedido. Contudo estes não podem ter regras tão rígidas para acesso externo como as máquinas da rede interna. Para tentar evitar isso, devemos coloca-los numa rede a parte da rede interna. Esta rede convenciona se chamar de DMZ ( Desmilitarized Zone ou Zona Desmilitarizada ). Serviços como servidores WEB, SMTP, FTP precisam ter acesso pleno a internet para serem eficientes. Neste caso o firewall não poderá aplicar as mesmas regras que aplicaria as máquinas da rede interna, tendo que ser menos rigoroso para que estas possam receber acessos externos. Em contrapartida, caso algum atacante consiga controle de alguma máquina desta zona, terá dificuldades de acessar a rede interna, pois esta ficará mais protegida e desmembrada, gerando mais trabalho ao invasor.
As máquinas que fazem parte da DMZ , mais do que qualquer outra máquina da rede, devem ter o seu sistema operacional atualizado, com todos os patches de correção instalados e precisam ser constantemente vigiadas pois são porta de entrada para invasores externos. Patches de correção devem ser aplicados logo que estiverem disponibilizados para download e o administrador deve ficar de olho nos boletins de segurança disponibilizados pelos sites de segurança para tomar precauções contra falhas descobertas. É recomendável usar softwares mais seguros e robustos, como por exemplo, o Apache para servidor WEB, WU-FTP para servidor FTP, Bind como servidor DNS e o Qmail para servidor de e-mail. Sim, todos são softwares livres e rodam em Linux, o que seria o mais aconselhável, visto que é um sistema com regras rígidas de permissão de acesso ( vamos dificultar a vida do cracker né? ;-)  e com correções de falhas de segurança praticamente full time, ou seja, assim que se descobre a falha, já existe correção.
Em relação aos logs, deve se tomar um certo cuidado para que todos os serviços tenham seus horários sincronizados, para evitar uma incoerência entre o log de uma máquina e de outra. É interessante utilizar o serviço NTP, que sincroniza o horário da rede com a hora mundial, gerando logs coerentes. Uma medida que pode ser útil é deixar todos os serviços de logs numa máquina remota. Isso dificulta a vida do cracker pois será muito mais difícil para ele conseguir apagar os seus rastros.

 
Entrando na Rede

 
Nós que devemos entrar na rede interna, o cracker não né? Para que as máquinas possam acessar a internet sem grandes problemas e com uma certa segurança ( lógico que existem outros fatores, este é um deles ) uma medida seria utilizar um Proxy e NAT. Network Address Translation ou Transição de Endereços de Rede, ou simplesmente NAT, é um recurso que permite converter endereços não roteáveis, ou seja, não visíveis para a internet em IPs roteaveis, para que possa acessar a rede mundial. Através de um Gateway fazendo todo o processo de conversão, possibilite que a máquina interna da rede acesse a internet sem ser vista pelas outras máquinas externas, pois estas poderão ver somente o IP do Gateway. Já o trabalho do Proxy além de melhorar o desempenho da conexão a internet graças ao cache de páginas que ele acumula, é uma proteção, pois ele reconstroi os pacotes que passam pela rede também, filtrando, deste modo, pacotes maliciosos. Não deixa de ser uma outra camada de proteção. Além disso o proxy tem recursos interessantes como filtragem de páginas navegadas, limite de acesso a determinados sites, e em conjunto com um firewall, até mesmo barrar programas de mensagens instantâneas e P2P, como ICQ, KaZaA e quejandos ( mais abaixo vou falar mais sobre eles e o perigo que possam representar a rede ) desde que se façam regras bem definidas. Mais uma vez a máquina precisa e muito, das mãos ( e cérebro ) sensatas de um bom administrador. Um bom exemplo de proxy competente é o SQUID. Software livre também, roda em Linux também, e é muito bom também;-)
Um cuidado especial que deve se ter com o Proxy é deixa-lo configurado de modo que este não fique aberto, ou Open Relay. Isto é uma verdadeira mina para spammers, pois permite que acessos externos aleatorios possam redirecionar mensagens.

Toda empresa tem um banco de dados. E este é um ponto muito delicado pois a vida da empresa está neste banco de dados. Existem muitas soluções para proteção e administração destes, como deixá-los em parte numa NAS ou SAN ( servidores de arquivos dedicados ), mas é certo que o desmembramento deste banco de dados seria uma boa opção. Digamos um pequeno Banco de dados que não fosse muito utilizado e ficasse remoto e outro, este sim, muito utilizado na rede local. Evidente que as soluções NAS e SAN são excelentes,apesar de não serem de segurança por definição. Mas uma coisa é certa: Backup. Sobre isso falarei mais adiante.

As máquinas da rede precisam e muito de proteção. Em primeiro lugar, antivírus devidamente atualizado. Não adianta sair instalando antivirus em todas as máquinas e deixá-lo lá jogado, sem atualização. Antivírus desatualizado é a mesma coisa que nada. Então deve se ter uma rotina de atualizações semanais pelo menos. O sistema recomendável para estas máquinas seria no mínimo, um Windows 2000 Pro com sistema de arquivos NTFS, com regras de acesso a pastas bem definidas. Para que um grupo não acesse a pasta de outro. A rotina de aplicações de patches de segurança e atualizações de sistema também deve ser tratada com muito carinho. Lembre-se de que grande parte dos vírus existentes na grande rede se aproveitam de falhas do Windows cujos patches de correção já estão disponibilizados para download há tempos.

Uma grande fonte de problemas em estações de trabalho são os arquivos baixados pela internet , programas P2P como o KaZaA, mensagens instantâneas como o ICQ, joguinhos, visitas a sites pornográficos, anexos de e-mail desconhecidos, etc. Geralmente o operador não está capacitado ou não tem interesse na segurança de seu equipamento. Na maioria das vezes o resultado disso é uma rede infectada por vírus ou trojans. O certo seria que o operador tivesse o devido cuidado na navegação e o hábito de nunca abrir anexos de e-mail de origens desconhecidas, ou mesmo passar o antivirus ( atualizado ) em cada arquivo que recebesse da internet, mas infelizmente isso não acontece. Para diminuir estes problemas, pode se restringir o perfil dos usuários a nível limitado. Nada de contas com poderes administrativos. Fazer uso da diretivas de segurança para restringir privilégios no sistema operacional, e a nível de rede, fazer regras no Proxy/Firewall para limitar a navegação.

Senha é assunto sério, mas infelizmente não é levado muito em conta. O ideal é colocar uma senha forte, de pelo menos 8 caracteres. Nada de data de aniversário, numero de telefone, apartamento, etc.. tem que ser uma senha forte. Mas não adiantará nada implantar uma senha difícil se o operador colocá-la num papel colado no monitor. De novo a velha questão da cultura. E isso por incrível que pareça é o mais difícil. Fazer com que o operador tome ciência da importância de proteger seu equipamento de trabalho.

E talvez aqui se mencione o grande calcanhar de aquiles de qualquer rede. Já está mais do que provado que grande parte das invasões ou ataques a redes são motivados pelo elemento interno.: Por mais segurança que tenha uma rede, esta pode sucumbir a um ataque daquele funcionario descontente, demitido querendo dar um golpe ou apenas aquele que pretende tirar um sarro ou levar alguma vantagem com a empresa. É muito comum um funcionário saber a senha do outro, fora os casos em que os funcionários sabem a senha dos servidores. Daí para um ataque é um pulo. Então antes de mais nada é necessária uma reeducação nos costumes, uma política de boa vizinhança e muito, mas muito cuidado com as senhas. Ela pode ser a sua segurança ou a chave para um ataque.

 
Acesso Remoto


Fatalmente haverá serviços que exijam acesso remoto de uma máquina a rede local. Mas como isso poderia ser feito com segurança? As duas formas mais usuais e ‘baratas’ para se fazer isso seriam implementar uma VPN ou fazer conexão via SSH.
SSH ou Secure Shell seria uma evolução do Telnet. Pra falar a verdade ele é muito mais do que isso, principalmente se falarmos em sistemas UNIX. A grande vantagem do SSH é que seus dados são criptografados e além de poder rodar aplicativos remotamente, pode se fazer transferências de arquivos seguras. Com uma conexão banda larga e um sistema operacional Linux pode se até rodar aplicativos gráficos remotamente.
Já o VPN ou Virtual Private Network , traduzindo rede privativa virtual, como o próprio nome diz, seria uma criação ou poderia se até dizer, uma extensão da rede interna a uma máquina remota utilizando a estrutura da internet. A grande vantagem é o custo, segurança, devido aos dados serem criptografados e autenticados e facilidade de administração. Basta que a máquina que trabalhe como Gateway VPN tenha suporte aos protocolos PPTP, L2TP e IPsec. Sistemas como Windows 2000 Server e Linux trabalham com estes protocolos.
O ponto mais delicado é a implementação do Gateway VPN com o Firewall. Isto deve ser feito de modo que não possa haver furos de segurança. Como por exemplo, deixar que tráfego de fora acesse a rede usando endereços VPN.

 
Backup

 
Não há como falar em segurança sem falar em backup. Sem backup não existe segurança, pois se a fatalidade acontecer ( e pode ter certeza disso, por mais segura que uma rede seja ) sempre haverá a ‘salvação’. É fundamental ter uma rotina de backups. A peridiocidade será conforme o fluxo de dados da rede. Seja em Fita DAT, CD-RW, Jaz, Zip, Hds, etc. Backup sempre!!
É interessante fazer imagens periódicas dos Hds das máquinas mais importantes pois se algo acontecer pode se recuperar todo o sistema em questão de minutos, poupando um grande trabalho e perda de tempo. Existem programas como o Ghost para Windows e o Partimage,
para Linux que fazem este trabalho.

 
Vigilância

 
Por mais que se tenha um firewall, IDS, Proxy instalados é sempre bom verificar a saúde da rede de vez em quando. É assim que o administrador pode evitar ser pego de surpresa por uma visita ingrata. É saudável sempre verificar os logs e se utilizar de ferramentas. Algumas ferramentas inclusive são utilizadas pelo ‘lado negro da força’, como o nmap e o nessus. Ambos servem para fazer um scaneamento na rede e achar possíveis brechas e falhas de segurança. Agora entendeu porque eles são usados pelos crackers? :-)

 
Conclusões Finais

 
Bem, como eu disse antes, esta matéria está muito longe de ser um tutorial pois o assunto é muito vasto. Segurança em redes é matéria para preencher livros e mais livros. Existem várias ferramentas e meios de se deixar uma rede segura, ao passo que também existem vários meios de se invadi-la. Espero que esta matéria tenha sido útil como ponto de partida para fazer uma administração de redes mais segura e responsável.

 
Links Relacionados

 
.: Firewall-1 – www.checkpoint.com

.: Iptables – www.iptables.org

.: Coiote Linux - http://www.coyotelinux.com/

.: Snort - http://www.snort.org/

.: Apache - http://www.apache.org/

.: Qmail – http://www.qmail.org/top.html

.: Serviço NTP - http://www.rnp.br/cais/projetos.html

.: Squid – www.squid-cache.org

.: Ghost – www.symantec.com

.: Partimage - http://www.partimage.org/

.: Nessus - http://www.nessus.org/



Caso tenha alguma dúvida, crítica ou sugestão a fazer: 

Voltar para Artigos de Segurança

                          Site desenvolvido no Mozilla Composer sob sistema operacional Linux Mandrake.
                          Todos os artigos escritos podem ser livremente copiados e divulgados desde que
                               se mantenham os créditos dos autores originais. Seja livre, mas seja justo.