Click here to load reader
Upload
carlos-rodrigues
View
256
Download
2
Embed Size (px)
DESCRIPTION
Apresentação dos tipos de firewall existentes no mercados, tipos de ataques de negação de serviço (DoS) e caso de estudo.
Citation preview
Firewall
UNIVERSIDADE ESTÁCIO DE SÁ Artigo Científico
Carlos M.S. Rodrigues
Carlos M.S. Rodrigues
1
SUMÁRIO
RESUMO...................................................................................................................2
1 INTRODUÇÃO........................................................................................................3
2 FIREWALL..............................................................................................................4
3 TIPOS DE FIREWALL............................................................................................5
3.1 PACKET FILTER FIREWALL…...........................................................................5
3.2 STATEFULL FIREWALL......................................................................................6
3.3 APPLICATION GATEWAY FIREWALL................................................................7
3.4 DINAMIC PACKET FILTER FIREWALL...............................................................9
4 TIPOS DE ATAQUES DE NEGAÇÃO DE SERVIÇO (DoS)……………………....10
4.1 PING OF DEATH………………...........................................................................11
4.2 SMURF ATTACK………......................................................................................12
4.3 TCP SYN FLOOD………………………...............................................................12
5 CASO DE ESTUDO......................................................….....…………...………....13
5.1 ATAQUE TCP SYN……………….......................................................................17
6 PROTEÇÃO CONTRA ATAQUE DENIAL-OF-SERVICE (DoS)..........................20
CONCLUSÔES.........................................................................................................23
REFERÊNCIAS.........................................................................................................25
Carlos M.S. Rodrigues
2
RESUMO O presente artigo descreve os principais tipos de firewalls existentes no mercado,
algumas das formas de ataque provenientes da negação de serviço, conhecido por
DoS, com a demonstração real do que seria um ataque de negação de serviço do
tipo “TCP SYN Flood attack” e apresenta uma forma viável de se configurar um
equipamento de firewall para mitigar este tipo de ataques.
Palavras-chave: Firewall, DoS, TCP SYN.
ABSTRACT
This article describes the main types of firewalls on the market, some forms of attack
from denial of service, Know as DOS, with real demonstration of what would be a
denial of service type TCP SYN flood attack, and presents a viable way to configure
a firewall equipment to mitigate such attacks.
Keywords: Firewall, DoS, TCP SYN.
Carlos M.S. Rodrigues
3
1 INTRODUÇÃO
Existem diversos tipos de ataques do tipo de negação de serviço, o que
pretendemos abordar com detalhe foi inicialmente observado pelo CERT –
“Emergency Response Teams”, em 19 de Setembro de 1996, onde foi descrito o
seguinte:
“Quando um sistema (chamado de cliente) tenta estabelecer uma conexão TCP com
um sistema de prestação de um serviço (o servidor), o cliente e o servidor trocam um
conjunto de sequência de mensagens. Esta técnica de conexão é aplicada a todas
as conexões TCP - telnet, Web, email, etc.
O sistema cliente começa enviando uma mensagem para o servidor SYN. O servidor
então reconhece a mensagem SYN enviando a mensagem para o cliente SYN-ACK.
Este por sua vez, acaba estabelecendo a conexão respondendo com uma
mensagem de ACK. A conexão entre o cliente e o servidor é então aberta e os
dados específicos do serviço podem ser trocados entre ambos.”
Até aqui o CERT descreveu o que seria uma ligação real do tipo TCP de 3 vias,
conhecido por “Three-way handshake”. O problema prende-se pelo fato de que a
“flag” de ACK nunca ser enviada pelo cliente, efetivando o ataque protagonizado por
“TCP SYN flood attack”.
O CERT dá essa explicação em seu site com a seguinte descrição:
“O potencial para o abuso surge no momento em que o sistema servidor enviou uma
confirmação (SYN-ACK) de volta para o cliente,mas ainda não recebeu a mensagem
de ACK. Isto é o que queremos dizer com conexão semi-aberta, ou "half-open" . O
servidor foi construído para apresentar em sua memória uma estrutura de dados que
descreve todas as ligações pendentes. Esta estrutura de dados é de tamanho finito,
e pode ser feito de transbordamento criando intencionalmente muitas conexões
parcialmente abertas.”
Carlos M.S. Rodrigues
4
Para a demonstração prática do conteúdo que vamos apresentar, primeiramente
abordaremos os conceitos básicos dos tipos de firewall existentes, o funcionamento
de cada um deles e onde trabalham no nível de camadas do modelo OSI.
Vamos também demonstrar suscintamente como os tipos de ataque de negação de
serviço funcionam e em seguida demonstrar um caso real, que foi realizado em
laboratório de um desses ataques.
2 FIREWALL
O termo firewall é considerado um sistema de software ou hardware que impõe
políticas de controle de acessos entre redes, que tem como função proteger de
ataques redes privada de usuários de outras redes externas. Em 1988 a DEC
“Digital Equipament Corporation”, desenvolveu um estudo de pesquisa aplicado no
desenvolvimento das primeiras firewalls, de onde surgiram os equipamentos de
defesa na forma de filtro de pacotes, conhecido por “packet-filtering”.
“Este tipo de firewall foi implementado em diversos sistemas operacionais, com a
utilização do ‘iptables” em sistemas Linux, em roteadores da CISCO embutido no
próprio IOS e em “appliances”, por exemplo na PIX firewall.
Em 1989, a empresa laboratórios AT&T Bell desenvolveram o que seria a primeira
firewall do tipo Statefull, que viria a liderar o mercado até 1991, com a chegada das
primeiras firewalls de aplicação, sendo que em 1993, surgiu a 4 geração de firewall
do tipo “Dynamic Packet Filtering Firewalls” .
Não podemos dizer que uma é melhor que a outra pelo fato de cada uma ter as suas
características internas, com mercados e custos diversos para públicos diferentes,
embora alguns tipos somem características de outras, aumentando o grau de
segurança. Todas estas gerações são abordadas de seguida com detalhes técnicos.
Carlos M.S. Rodrigues
5
3 TIPOS DE FIREWALL
Os quatro tipos de firewalls que vamos apresentar, dividem-se em gerações. Cada
grau de geração apresenta avanços significativos referentes às tecnologias
utilizadas anteriormente, mas não se pode afirmar que uma é a sucessora a outra,
pois cada uma tem as suas vantagens e desvantagens.
3.1 PACKET FILTER FIREWALL
Esta 1º. Geração de Firewalls de filtragem de pacotes trabalha principalmente na
camada de rede do modelo OSI, que permite ou bloqueia tráfego baseado também
na Camada 4, os protocolos utilizados IP, TCP, UDP e os números de portas de
origem e destino definem normalmente as regras de configuração. Este tipo de
firewall de pacotes filtra as comunicações que tráfegam na rede basicamente por
meio da implementação de ACLs, que determinam a origem e o destino dos IP´s que
podem alcançar na rede, assim como as portas que são atribuidas aos diversos
serviços, geralmente são configurados em roteadores com características de firewall
no seu IOS.
Figura 1.1 – Packet filter firewall e o Modelo OSI
Extraído de CISCO Academy (Certificação CCNA Security 2009)
Carlos M.S. Rodrigues
6
Por norma os serviços de rede dependem de portas específicas para funcionar,
conhecidos por “Well-Know ports” e é através delas que as regras de firewall são
criadas. Por exemplo, se um dos servidores que pretendemos alcançar escuta na
porta padrão do protocolo HTTP, a TCP 80, devemos permitir o tráfego nessa
interface de entrar para os clientes poderem solicitar páginas web desse servidor.
Para serviços vulgarmente conhecidos na rede de uma determinada empresa,
vamos ver o seguinte exemplo, que permite qualquer IP de origem, com as portas
TCP de destino padrão que correspondem aos serviços de WWW (porta 80), Telnet
(porta 23), SMTP (porta 25), POP3 (porta 110), FTP (porta 21), ou os dados (porta
20).
#access-list 102 permit tcp any any eq www #access-list 102 permit tcp any any eq telnet #access-list 102 permit tcp any any eq smtp #access-list 102 permit tcp any any eq pop3 #access-list 102 permit tcp any any eq 21 #access-list 102 permit tcp any any eq 20 Importante verificar que depois que uma ACL é criada é sempre necessário aplicá-la à interface pretendida, escolhendo sempre a direção “Inbound” ou “Outbound”, caso contrário ela não entra em funcionamento. #interface fastethernet 0/1 #ip access-group 102 in
3.2 STATEFULL FIREWALL
Este tipo é considerado de 2º. geração e é uma das tecnologias mais comuns em
uso, ela é mais inteligente que as de 1º. geração, essencialmente porque
inspecionam todo o tráfego que entra ou sai da firewall, por meio de uma tabela de
estado que é mantida com as informações que são filtradas na rede.
Ao contrário de filtragem estática de pacotes, que examina um pacote com base nas
informações de cabeçalho do pacote, a filtragem stateful acompanha cada conexão
que atravessa todas as interfaces do firewall e confirma se elas são válidas ou não.
Carlos M.S. Rodrigues
7
Firewalls que utilizam esta tecnologia guardam informações numa tabela de estados,
onde acompanham cada comunicação provenientes dos canais que utilizam para
fazer a interconexão das redes, examinando os pacotes nos cabeçalhos da camada
3 e os segmentos da camada 4.
Figura 1.2 – Statefull firewall e o Modelo OSI
Extraído de CISCO Academy (Certificação CCNA Security 2009)
Podem também ter a capacidade de analisar os comandos do serviço de FTP e
atualizar a tabela de estado para permitir que o FTP trabalhe de forma transparente
através do firewall. Firewalls stateful mais avançadas também podem fornecer
interpretação de número de seqüência TCP e DNS para garantir que o firewall
permita apenas retorno de pacotes originados de consultas dentro da rede. Estas
características reduzem a ameaça de ataques de inundação TCP RST e
envenenamento de cache DNS, contudo ameaças de “IP spoffing”, ainda podem ser
verificadas neste tipo de firewall, sendo necessárias técnicas dinâmicas de acesso
para mitigar estes ataques.
3.3 APPLICATION GATEWAY FIREWALL
Firewall considerado de 3º. geração avalia todo o tráfego a nível da camada
de aplicação, utilizando as informações de nível de sessão da camada 5 e
Carlos M.S. Rodrigues
8
sequenciamento da camada 4, assim como os IP´s de origem e destino. Podemos
dizer que é um tipo de firewall que trabalha nas camadas de nível 7, 5, 4 e 3 do
modelo OSI.
Figura 1.3 – Application gateway firewall e o Modelo OSI
Extraído de CISCO Academy (Certificação CCNA Security 2009)
É um tipo de firewall conhecido como proxy de aplicação ou proxy de nível de
aplicativo, considerado como um gateway que funciona em um sistema de firewall
entre duas redes. Por exemplo, quando um programa cliente estabelece uma
conexão com um serviço de destino, ele se conecta a um gateway de aplicação, ou
proxy. O cliente, então, negoceia com o servidor de proxy para se comunicar com o
serviço de destino pretendido. Para tal, o proxy estabelece a conexão com o destino
e age em nome do cliente, escondendo e protegendo os computadores individuais
da rede por trás da firewall de aplicação. Isso cria duas conexões: uma entre o
cliente e o servidor proxy e uma entre o servidor proxy e o destino, aumentando
muito a segurança das comunicações. Uma vez conectado, o proxy toma todas as
decisões de encaminhamento de pacotes.
Embora este tipo de firewall possa parecer a melhor opção de todas as
apresentadas até aqui, devemos levar em linha de conta que ela é altamente
Carlos M.S. Rodrigues
9
exigente ao nível de recursos de máquina, como memória e processador em
comparação com outras tecnologias de firewall, tais como stateful firewall.
3.4 DYNAMIC PACKET FILTER FIREWALL
4º. e última geração de firewall presentes atualmente no mercado atua como um
filtro de pacotes dinâmicos, que pode monitorar o estado de conexões ativas e usar
essa informação para determinar quais pacotes de rede pode permitir através do
firewall. Ao gravar as informações da sessão em uma tabela de estados, como
endereços IP e números de porta, um filtro de pacote dinâmico pode implementar
uma postura de segurança muito mais apertada do que um filtro de pacote estático.
Figura 1.4 – Dynamic packet filter firewall e o Modelo OSI
Extraído de CISCO Academy (Certificação CCNA Security 2009)
Por exemplo, se tivermos um caso em que desejamos que todos os usuários de uma
determinada empresa estejam autorizados a se comunicar com a Internet, mas
apenas respostas às solicitações dos clientes sejam permitidas pela firewall, com um
filtro de pacote estático, é necessário configurar regras de permissão
permanentemente nas respostas para todos os endereços externos, assumindo que
os usuários estavam livres para visitar qualquer site da Internet. Este tipo de filtro
Carlos M.S. Rodrigues
10
permite que um invasor faça-se passar como uma resposta válida e desse modo
“burle” a firewall. Através do monitoramento dos pedidos e das suas respostas, um
filtro de pacote dinâmico pode observar as respostas que não correspondem a uma
solicitação legítima de um usuário válido.
Quando um pedido é gravado, o filtro de pacotes dinâmicos abre uma entrada
“inbound” apenas para a resposta de dados esperada poder entrar. Uma vez que a
resposta é recebida, esta entrada é fechada automaticamente, não sendo
necessária nenhuma configuração adicional pelo administrador da rede. Este
simples, mas complexo fato aumenta drásticamente a capacidade da firewall
conseguir proteger os activos de uma empresa.
4 TIPOS DE ATAQUES DE NEGAÇÃO De SERVIÇO (DoS).
Um ataque DoS é um ataque à rede que resulta em algum tipo de interrupção do
serviço aos usuários, dispositivos ou aplicações. Vários mecanismos podem gerar
um ataque de negação de serviço. O método mais simples é o de gerar grandes
quantidades de tráfego de rede, parecendo ser válido. Este tipo de ataque de DoS,
satura a rede para que o tráfego válido dos usuários não possa passar, sendo que o
quesito da disponibilidade fica comprometido.
Um ataque do tipo DoS aproveita o fato de que os sistemas, como servidores devem
manter tabelas de estado com informações das solicitações efetuadas. O tamanho
dos buffer´s esperados e o conteúdo específico dos pacotes de rede são explorados
por este tipo de ataque. Por exemplo, um pacote é envenenado e indevidamente
formatado para fazer com que o dispositivo de recepção não possa processar o
pacote de forma adequada.
O pacote envenenado faz com que o dispositivo de recepção estoure a sua pilha de
comunicação de protocolos TCP/IP. Este ataque pode interromper todas as
comunicações do sistema causando uma quebra na produção ou mesmo uma
Carlos M.S. Rodrigues
11
reinicialização do sistema. Em outro exemplo, o invasor envia um fluxo contínuo de
pacotes, o que supera a largura de banda disponível do link da rede. Na maioria dos
casos, é impossível diferenciar entre o atacante e o tráfego legítimo, até porque o
ataque pode partir de vários computadores
comprometidos, controlados pelo invasor e desencadear um ataque em várias
frentes.
4.1 PING OF DEATH
Em um ataque de ping mortal, um hacker envia uma solicitação de eco em um
pacote IP maior do que o tamanho máximo do pacote de 65.535 bytes. Enviar um
ping deste tamanho pode travar imediatamente um computador de destino. Uma
variante deste ataque é a falha de um sistema através do envio de fragmentos
ICMP, que enchem os buffers de remontagem do alvo. É necessário verificar se a
firewall de rede permite ou não o fragmento de pacotes, de forma a ultrapassar este
tipo de ataque.
Figura 1.5 – Ping of Death
Extraído de CISCO Academy (Certificação CCNA Security 2009)
Carlos M.S. Rodrigues
12
4.2 SMURF ATTACK
Em um ataque de smurf, um criminoso envia um grande número de pedidos ICMP
para um endereço de broadcast, fazendo com que o endereço de origem seja
alterado e esteja na mesma rede de requisição da transmissão de broadcast.
Se o dispositivo de roteamento entregar todo o tráfego para esses endereços de
broadcast, todos os “hosts” da rede de destino vão enviar pacotes de resposta
ICMP, multiplicando-se o tráfego pela quantidade de hosts na rede. Em uma rede de
transmissão multi-acesso, centenas de máquinas podem responder a esta
solicitação, ocupando todos os recusos de processador e banda do sistema alvo.
Figura 1.6 – Smurf attack
Extraído de CISCO Academy (Certificação CCNA Security 2009)
4.3 TCP SYN FLOOD
Em um ataque de inundação do tipo “TCP SYN flood attack”, diversos pacotes “TCP
SYN” são enviados, muitas vezes com um endereço de remetente forjado. Cada
pacote é tratado como um pedido de conexão, fazendo com que o servidor deixe
Carlos M.S. Rodrigues
13
uma conexão semi-aberta, enviando de volta um pacote “TCP SYN-ACK”, ficando à
espera de um pacote de resposta do remetente. No entanto, como o endereço do
remetente é forjado, a resposta nunca chega. Essas conexões semi-abertas saturam
o número de conexões disponíveis no servidor é são capazes de inviabilizar
qualquer pedido legítimo de usuários até que o ataque termine.
Lembrando que como o protocolo TCP é orientado à conexão, para se enviar dados
é necessário se estabelecer uma ligação, este estabelecimento prévio é conhecido
como “three-way handshake”, como neste tipo de ataque o ACK de origem nunca é
enviado ao destinatário, as ligações ficam sempre em aberto a aguardar uma
resposta, perpetuando desta forma o ataque.
Figura 1.7 – TCP SYN flood attack
Extraído de CISCO Academy (Certificação CCNA Security 2009)
5 CASO DE ESTUDO
Para o teste em ambiente controlado de laboratório, utilizamos um software “open
source”, de nome GNS3, que possibilita simular ambientes reais de infraestrutura de
rede semelhantes ao que seria o comportamento esperado ao nível de respostas por
parte destes equipamentos.
Carlos M.S. Rodrigues
14
Esta ferramenta permite, por meio de virtualização de hardware, criar redes de
computadores complexas, uma dessas ferramentas é o QEMU, que permite emular
diversos equipamentos de “Networking”, como por exemplo, as Firewalls da CISCO,
série 5000 modelo ASA e série 500 do modelo PIX. De forma a se entender a rede
aqui apresentada, devemos observar a figura 1.8 que descrimina a topologia de
rede, configurada em laboratório.
Figura 1.8 – Topologia Lógica
Considerando a seguinte tabela:
Redes IP Address / S.M. Default Gateway Interface
Inside 172.16.0.0 / 28 172.16.0.101 GigabitEthernet1
Servidor 192.16.0.0 / 28 192.16.0.131 GigabitEthernet2
PC atacante 172.16.0.10 / 28 172.16.0.101 Local Network 2
PC vítima 192.16.0.200 / 28 192.16.0.131 Local Network
Quadro 1 – Endereçamento IP da rede proposta
Na rede do servidor onde se encontra uma máquina da DELL com sistema operativo
Windows Server 2008 R2, foi instalado o serviço de apache versão 2.4.2, que foi
configurado para escutar conexões nos IP´s e portas respectivos:
Listen 127.0.0.1:8080 Listen 192.16.0.200:8080
Carlos M.S. Rodrigues
15
Todas as restantes configurações do httpd.conf não sofreram nenhuma alteração,
entrando as configurações padrões em uso, com os seus respectivos módulos.
Neste servidor de web foi desenvolvido um script PHP, com a função de mostrar que
o servidor está em funcionamento, ou está off-line, conforme podemos ver em baixo:
Figura 1.9 – Página WEB desenvolvida em PHP
Antes do lançamento do ataque propriamente dito, foi analisado através do software
ASDM 6.4 de gerenciamento da firewall ASA modelo 5520 os níveis de
monitoramento do processador, memória, protocolos TCP e UDP e consumo de
banda em kbps:
Figura 2.0 – Utilização de CPU e Memória antes do ataque
Carlos M.S. Rodrigues
16
Figura 2.1 – Utilização de Tráfego e conexões
Podemos verificar que o consumo de processador é na casa do 5 a 22% e de
memória é constante na casa do 254MB, sendo que o tráfego tanto de pacotes TCP
ou UDP é praticamente inexistente.
Por se tratar de um caso de estudo na realidade esta leitura é mais baixa do que
seria esperado, em uma firewall destas proporções em produção, contudo para o
nosso teste foi necessário isolar todo o tráfego de forma a obtermos as melhores
leituras antes e após o ataque.
Como o tipo de ataque a ser lançado é do tipo “TCP SYN Flood attack”, foi inserido
em consola o comando em baixo de forma a se verificar se antes do ataque existia
alguma ligação “half-open”, podemos verificar que não existia, além de que os níveis
de processo e memória conforme visto em cima eram também extremamente
baixos.
ciscoasa# show local-host all interface servidor: 0 active, 0 maximum active, 0 denied interface inside: 0 active, 1 maximum active, o denied interface NP identity lfc: 0 active, 1 maximum active, 0 denied
Carlos M.S. Rodrigues
17
Para este teste a firewall foi configurada com 4 regras básicas nos 2 interfaces de
forma a permitir os seguintes tipos de tráfego, protocolos IP, ICMP, HTTP e TCP.
Figura 2.2 – Regras de acesso da firewall
Importante referir neste ponto que os protocolos IP e ICMP apenas foram
configurados para permitir o tráfego do script “DoS attack tool” entre a firewall e o
nosso servidor de testes, sendo o HTTP configurado para poder rodar o apache e o
TCP unicamente na interface inside para permitir o ataque do endereço 172.16.0.10,
que se encontra na rede inside.
Vale também referir que os IP´s de origem e destino foram configurados
genericamente em um range do tipo “any”, que na prática permite qualquer endereço
IP versão 4, na realidade em produção os IP´s de destino seriam configurados a um
único IP, ou um conjunto de IP´s que representa-se a nossa rede interna ou VLAN
no caso da rede inside e o inverso na rede servidor.
5.1 ATAQUE TCP SYN
Para o ataque utilizamos uma ferramenta comercial de nome DoSHTTP na sua
versão 2.5 personal edition da empresa socketsoft.net, embora exista uma versão
“trial” ela está limitada a 10.000 pedidos de requisição, num total de 4 usos durante
um período de 14 dias.
Carlos M.S. Rodrigues
18
Figura 2.3 – Ferramenta de ataque DoS
A empresa que desenvolveu este aplicativo informa em seu site que a abertura de
1000 sockets é mais que suficiente para se derrubar um site, logo no nosso teste
utilizamos apenas 500 sockets, para não criar um gargalo que inviabiliza-se o nosso
acesso ao servidor por meio do protocolo RDP – “Remote Desktop Protocol”, pois o
objetivo prático do teste é derrubar apenas o serviço Apache e não negar as
comunicações como um todo. Após o lançamento do ataque que durou apenas 1
minuto, foi o bastante para derrubar o site, negando o acesso de disponibilidade a
clientes legítimos,a firewall detectou 1450 ataques, alcançando um total máximo de
5500 scan´s ou ataques SYN, conforme podemos visualizar nos gráficos em baixo:
Carlos M.S. Rodrigues
19
Figura 2.4 – Monitoramento de ataques
No nível de processador e memória podemos verificar um ligeiro aumento de
memória na ordem dos 5MB e como seria de esperar uma utilização de 100% da
CPU.
Figura 2.5 – Utilização de CPU e Memória depois do ataque
Carlos M.S. Rodrigues
20
Podemos também visualizar um aumento bastante significativo da banda utilizada
durante o período do ataque das 19:04 às 19:05.
Figura 2.6 – Utilização de Tráfego e conexões
6 PROTEÇÃO CONTRA ATAQUES DE DENIAL-OF-SERVICE (DoS).
Para este tipo de ataque o IOS da CISCO, disponibiliza a ferramenta MPF – “Modular Policy
Framework” , que permite configurar a firewall de forma a responder aos pedidos de TCP de
forma mais controlada, limitando o número de pedidos, timeout, etc.., conforme podemos
observar pela sequência de comandos em baixo na figura 2.7.
Figura 2.7 – Linha de consola VTY com firewall ASA 5520
Carlos M.S. Rodrigues
21
Com esta configuração em funcionamento, podemos observar que o ataque do tipo “TCP
SYN” deixou de surtir efeito, além de que pode ser completamente customizado conforme a
necessidade que atenda a infraestrutura de rede.
Figura 2.8 – Descrição do ataque TCP SYN segundo a CISCO
Os comandos que devem ser configurados são descritos em baixo com uma breve
explicação de cada um:
1. Segundo o MPF é necessário primeiramente criar um mapa de classe com o comando class−map seguido do nome que queremos atribuir.
2. Devemos de seguida especificar o tipo de protocolo que vamos usar com o comando match.
3. Para identificar uma política que referencie um mapa de classe devemos entrar com o seguinte comando policy-map seguido de um nome.
4. Agora devemos introduzir o nome da classe configurada no ponto 1, com o comando class e o nome da classe que definimos.
5. A fim de se definir os sub-comandos que set connection permite, devemos observar a sua especificação.
Carlos M.S. Rodrigues
22
#set connection {
[conn−max number] [embryonic−conn−max number] [per−client−embryonic−max number] [per−client−max number] [random−sequence−number {enable |disable}
} Onde “number” é um valor inteiro entre 0 e 65535. O valor padrão é o 0, que não representa nenhum limite.
6. Em ordem de se aplicar um “timeout” para as ligações “half−opened” devemos seguir a seguinte sequência de sub-comandos:
#set connection timeout {
[embryonic hh[:mm[:ss]]] [half−closed hh[:mm[:ss]]] [tcp hh[:mm[:ss]]]
} Onde embryonic hh[:mm[:ss] é o tempo entre 0:0:5 e 1192:59:59. Em half−closed hh[:mm[:ss] e tcp hh[:mm[:ss] os valores são os tempos entre 0:5:0 e 1192:59:59. O valor padrão para o embryonic é o 0:0:30, para o half−closed é 0:10:0 e para o tcp is 1:0:0. Para ativar a política criada em um ou mais interfaces devemos entrar com o seguinte comando: #service−policy policymap_name
{ global | interface interface_name
} Onde global aplica a política para todos os interfaces e interface aplica a política apenas em um interface específico. Importante também referenciar que apenas uma política global é permitida nas configurações da firewall e uma específica por interface.
Carlos M.S. Rodrigues
23
CONCLUSÕES
Podemos observar que a firewall da CISCO com software MPF embutido no IOS por
padrão é um óptimo recurso de Interceptação de ataques do tipo “TCP SYN flood
attack”, que pode seguramente ajudar a proteger os servidores internos de uma
empresa e os seus ativos de ataques DoS.
Este recurso permite que o administrador configure um número máximo de
conexões permitidas a um servidor interno e o número máximo de conexões
embrionárias que são aquelas que não completaram o “handshake” de três vias do
protocolo TCP.
Se o limite de ligações embrionárias não é alcançado, então a firewall responde a
cada pacote SYN enviado com um “SYN + ACK”, ficando a aguardar pelo ACK do
remetente, para poder estabelecer finalmente a ligação com o cliente. Neste
momento a ASA sabe que é um pedido válido e não parte de um ataque “TCP SYN
flood attack”.
O “timeout” também tem um aspecto importante, pois se durante um determinado
espaço de tempo, que é configurado por meio do MPF, esse pacote não for recebido
ocorre o desligamento do “handshake” e o pacote SYN é reenviado, até atingir o
limite máximo estabelecido pela mesma configuração.
Se tudo ocorrer em conformidade com as configurações pré-estabelecidas, a firewall
permite uma nova entrada de conexão válida na sua tabela de sessão, até que o
cliente ou o servidor enviem um pacote com a “flag” FIN activa que representa que
um deles pretende terminar a sessão.
Se a firewall não receber um ACK de volta a partir do remetente ela soma a sua
tabela de conexões embrionárias mais uma solicitação, até que o limite seja
ultrapassado, fechando agressivamente esta conexão. A opção “max connection”
também pode ser definida, uma vez que se esse limite for atingido a ASA não
Carlos M.S. Rodrigues
24
permitirá novas conexões com o servidor até que as conexões ativas caiam abaixo
desse número, contudo é importante configurar um número relativamente elevado,
que atenda a demanda esperada por ligações válidas, para não limitar demasiado o
seu livre acesso.
Normalmente o número de ligações embrionárias é mais elevado que o limite de
conexões propriamente estabelecidas, isto porque, os pacotes podem-se perder em
trânsito ou a rede sofrer de algum estrangulamento temporário que não permita que
os novos usuários legítimos completem o “handshake”, sendo que para servidores
de missão crítica é necessário manter este valor relativamente idêntico com as
conexões válidas permitidas, para não se abrir uma possível brecha de segurança,
criando uma vulnerabilidade desnecessária.
Para se terminar esta análise, podemos enquadrar as configurações efetuadas na
firewall ASA 5520 da CISCO como de 2º. geração, do tipo “Statefull firewall”, que
operam essencialmente nas camadas 3, 4 e 5 do modelo OSI, que podem ser
extremamente eficazes se bem configuradas e evitar muitos tipos de ataques de
negação de serviço.
Carlos M.S. Rodrigues
25
REFERÊNCIAS
CISCO, Disponível em: <http://www.cisco.com/c/en/us/support/docs/security/asa-
5500-x-series-next-generation-firewalls/100830-asa-pix-netattacks.html>. Acessado
em: 1 de Setembro de 2014
CISCO, Disponível em: <http://www.cisco.com/web/about/ac123/ac147/archived_ issues/ipj_9-4/index.html>. Acessado em: 7 de Setembro de 2014 IETF, Disponível em: <http://tools.ietf.org/html/rfc4953>. Acessado em: 8 de Setembro de 2014
CERT, Disponível em: <https://www.cert.org/historical/advisories/CA-1996-21.cfm>. Acessado em: 9 de Setembro de 2014