

Segurança em Redes
08 de
março de 2003
Postado por: Thadeu Camargo
É 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/
