You are on page 1of 118

www.projetoderedes.kit.

net

Regras para Proteo de Redes IP

Osmar Ribeiro Leo

www.projetoderedes.kit.net
OSMAR RIBEIRO LEO

REGRAS PARA PROTEO DE REDES IP

Monografia apresentada ao Programa de


Graduao
em
Informtica
da
Universidade Catlica do Salvador, como
requisito parcial para obteno do
bacharelado em Informtica.
Orientador: Mestre Edeyson Andrade
Gomes.

SALVADOR
2001

www.projetoderedes.kit.net

Resumo

O uso de firewalls para defesa de redes de computadores uma prtica bastante comum
entre as instituies que desejam proteger seus dados. O uso isolado desta forma de
defesa no resolve os problemas, pois so vulnerveis a outras formas de ataque.
Nenhuma forma de defesa totalmente segura. O objetivo do trabalho apresentar
solues que permitam prevenir e detectar, quando no for possvel impedir, ataques e
invases em redes de computadores de todas as formas.

www.projetoderedes.kit.net

Abstract

A common procedure among institutions that intend to protect and safeguards its data
is the use of firewalls as a defense system in computer networks. However, the single
use of this kind of defense does not guarantee that the network will be protected against
all outsiders attack. Computer networks are still vulnerable to different types of attacks
and the current defense system used by many organizations is not completely safe.
Therefore, the purpose of this study is to present solutions that may prevent and detect
attacks that constantly inflict operational damage in computer networks.

www.projetoderedes.kit.net

Lista de Tabelas
Tabela 1 Endereos de Rede e Difuso. __________________________________ 13
Tabela 2 Nmero de Protocolos Internet _________________________________ 17
Tabela 3 Cdigos de Tipos ICMP. ______________________________________ 24

www.projetoderedes.kit.net

Lista de Figuras
Figura 1 Datagrama IP. ______________________________________________
Figura 2 Os cinco sub campos que compem o campo Tipo de Servio. _________
Figura 3 Operaes para fragmentao em Roteadores.______________________
Figura 4 Tabela de endereamento do cerne do Sistema Operacional Linux.______
Figura 5 Tabela de roteamento do cerne do Sistema Operacional Linux._________
Figura 6 Formato da mensagem ICMP (n) = Nmero de bits no campo. _______
Figura 7 TCP Envia Variveis da Janela. _________________________________
Figura 8 Resultado de uma atualizao do tamanho da janela._________________
Figura 9 Segmento TCP (PDU).________________________________________
Figura 10 Operaes de abertura de conexo TCP. _________________________
Figura 11 Operao de Transferncia de dados.____________________________
Figura 12 Operao de fechamento de conexo TCP. _______________________
Figura 13 Tabela de Conexes. ________________________________________
Figura 14 Formato do datagrama UDP. __________________________________
Figura 15 Uso de Screening Router para filtro de pacotes.____________________
Figura 16 Exemplo de Regra de Filtragem utilizando IPTABLES. _____________
Figura 17 Tabela de traduo de endereos._______________________________
Figura 18 Traduo de Endereos com mscara. ___________________________
Figura 19 Procuradores: realidades e iluses.______________________________
Figura 20 Arquitetura de firewall Dual Homed Host com comunicao via Proxy._
Figura 21 Arquitetura Screened Host. ___________________________________
Figura 22 Arquitetura Screened Subnet.__________________________________
Figura 23 Incidentes Reportados ao CERT nos ltimos anos. _________________
Figura 24 Exemplo de varredura de portas. _______________________________
Figura 25 Ataque DDoS. _____________________________________________
Figura 26 Rede da Alfa. ______________________________________________

14
15
19
21
21
23
28
29
30
32
33
34
35
36
38
39
40
40
42
45
46
47
58
62
65
69

www.projetoderedes.kit.net

Sumrio
1. INTRODUO____________________________________________________ 7
1.1. CONTEXTO DA PESQUISA ____________________________________________ 7
1.2. FALHAS DE SEGURANA EM REDE ____________________________________ 8
1.3. OBJETIVOS DO TRABALHO __________________________________________ 9
1.4. ORGANIZAO DA DISSERTAO ____________________________________ 10
2. PROTOCOLOS __________________________________________________ 11
2.1. IP _____________________________________________________________
2.1.1. CONCEITOS ____________________________________________________
Endereamento ______________________________________________________
Pacote IP ___________________________________________________________
2.1.2. FRAGMENTAO ________________________________________________
2.1.3. ROTEAMENTO __________________________________________________
2.2. ICMP__________________________________________________________
2.2.1. CONCEITOS ____________________________________________________
2.2.2. TIPOS DE REQUISIES ICMP ______________________________________
2.3. TCP ___________________________________________________________
2.3.1. CONCEITOS ____________________________________________________
Sockets ____________________________________________________________
Portas Reservadas e Conexes __________________________________________
Segmento TCP ______________________________________________________
Gerenciamento de Conexes ____________________________________________
2.4. UDP ___________________________________________________________
2.4.1. CONCEITOS ____________________________________________________

11
11
12
14
18
20
22
22
24
25
25
27
27
30
32
35
35

3. SEGURANA ____________________________________________________ 37
3.1. FIREWALL ______________________________________________________
3.1.1. FILTRO DE PACOTES ______________________________________________
3.1.2. TRADUO DE ENDEREOS DE REDE (NAT) ___________________________
Mascarar (Masquerade) _______________________________________________
Traduo de Portas (PAT)______________________________________________
3.1.3. SERVIO DE PROCURAO (PROXY) __________________________________
Proxy-Aware Application Software_______________________________________
Proxy-Aware Operating System Software __________________________________
Proxy-Aware User Procedures __________________________________________
Proxy-Aware Router __________________________________________________
3.1.4. ARQUITETURAS _________________________________________________
Dual Homed Host ____________________________________________________
Screened Host _______________________________________________________

37
37
39
40
41
42
43
43
43
44
44
44
46

www.projetoderedes.kit.net
Screened Subnet _____________________________________________________
3.1.5. POLTICAS E REGRAS _____________________________________________
Privilgio Mnimo____________________________________________________
Defesa em Profundidade _______________________________________________
Ponto de Estrangulamento (Choke Point) __________________________________
Ponto Mais Fraco ____________________________________________________
Falha Segura ________________________________________________________
Participao Universal ________________________________________________
Diversidade de Defesa ________________________________________________
3.1.6. SEGURANA DAS MQUINAS EM REDE________________________________
3.2. SISTEMA DE DETECO DE INTRUSO (IDS) ____________________________
3.2.1. MTODO DE DETECO ___________________________________________
Baseado em Comportamento ___________________________________________
Baseado em Conhecimento _____________________________________________
3.2.2. ARQUITETURA __________________________________________________
Segundo o Alvo _____________________________________________________
Segundo Localizao _________________________________________________
3.2.3. COMPORTAMENTO PS-DETECO___________________________________
Ativo ______________________________________________________________
Passivo ____________________________________________________________
3.3. ATAQUES E VULNERABILIDADES _____________________________________
3.3.1. ENGENHARIA SOCIAL _____________________________________________
3.3.2. EXPLORAO DE ERROS E VULNERABILIDADES _________________________
3.3.3. BISBILHOTAGEM DE PACOTES (PACKET SNIFFING) _______________________
3.3.4. VARREDORES DE PORTAS (PORT SCANNERS) ____________________________
3.3.5. FALSIFICAO DE ENDEREO IP (SOURCE ADDRESS SPOOFING) _____________
3.3.6. NEGAO DE SERVIO (DENIAL OF SERVICE) ___________________________
3.3.7. ATAQUES DE SEQESTRO DE CONEXES (HIJACKING ATTACKS) _____________
3.3.8. VULNERABILIDADES DOS PROTOCOLOS DE REDE ________________________
3.3.9. FALSOS ATAQUES E ALERTAS ______________________________________

47
48
48
49
49
49
50
50
50
51
52
52
52
53
53
53
55
56
56
57
58
60
60
61
62
63
64
65
66
67

4. ESTUDO DE CASO _______________________________________________ 68


4.1. VISO GERAL ___________________________________________________ 68
5. CONCLUSO ____________________________________________________ 71
6. REFERNCIAS __________________________________________________ 74
7. ANEXOS ________________________________________________________ 76
Anexo A. Tipos de Requisies ICMP e suas Opes. ________________________
Anexo B. Servios de Rede, TCP e UDP (Resumo com os Principais Servios). ____
Anexo C. Netfilter: Filtro de Redes para Linux______________________________
Anexo D. Snort: Sistema de Deteco de Intrusos ___________________________
Anexo E. Cdigo fonte das regras dos Screening Routers e do IDS ______________

76
80
87
89
90

www.projetoderedes.kit.net

1. Introduo
1.1. Contexto da Pesquisa
Todos os veculos de comunicao quando atingem um patamar global ou de
relevncia dentro da sociedade necessitam de meios para garantir sua integridade e
confiabilidade diante do seu pblico. Redes de computadores integram este cenrio.
O amadurecimento das defesas de rede de computadores contnuo e leva a
erros e equvocos nas solues e tentativas de proteo em algumas delas. Era muito
comum o uso de solues pela obscuridade, onde eram implantados sistemas
proprietrios que no mostravam como era feita a defesa e, por tal razo, pensavam que
os dados estariam seguros. Ainda hoje muito usada a defesa em mquinas isoladas, ou
seja, protegendo todas as mquinas isoladamente da rede, com isto toda a rede estaria
protegida. O pensamento de proteo por mquina isolada cara e invivel em redes
com um nmero considervel de mquinas, no oferecendo proteo aos dados que
trafegam entre as mquinas (no meio fsico da rede). O uso mais comum atualmente o
de um ponto centralizado, obrigando o trfego de rede a passar por ele e tornando este
ponto seguro. Com esta forma de proteo possvel proteger a rede, com todos os seus
componentes, utilizando Firewalls1, que o ponto central da rede. O uso de tais
sistemas de defesa no falho, apenas incompleto, necessitando de melhorias para que a
defesa seja completa.
Defender no apenas evitar; quando no for possvel impedir uma invaso ou
ao imprpria, deve ser possvel detectar e alertar o fato.
A defesa completa de redes de computadores vem da unio entre o impedimento,
preveno e deteco de falhas, sejam elas de qualquer tipo. preciso que sejam criadas
polticas e que decises sejam tomadas com a maior rapidez possvel, mesmo que
meramente informativas.
Criadas as regras de segurana, ento iniciado o processo de deteco a falhas
e pontos crticos que devem ser vigiados para manter a confiabilidade perante os
usurios dos servios dependentes da rede de computadores.

Firewall Parede de Fogo Sistemas de defesa de redes mais utilizadas no mercado atual. Os dados
passam pelo firewall e so submetidos a regras de validao para continuarem a trafegar pela rede.

www.projetoderedes.kit.net

1.2. Falhas de Segurana em Rede


A deteco de falhas na segurana o ponto mais complicado nos sistemas de
defesa de redes de computadores.
O maior de todos os erros atuais supor que um nico sistema de defesa, s e
isolado, vai garantir que toda a rede, onde funcionam diversos tipos de servios e
mquinas com configuraes e nveis de segurana diferentes, esteja totalmente segura.
Mesmo supondo que este nico sistema imune a falhas, ainda assim no continuar
resistindo a crescente evoluo dos ataques e erros encontrados nos seus prprios
protocolos.
considerada falha de segurana qualquer acesso a sistemas e informaes que no
expressamente autorizado, que no sejam feitas de forma clara dentro das normas de
conduta dos protocolos de redes definidos e que no estejam de acordo com as regras
estabelecidas dentro da instituio proprietria das informaes. tambm estabelecida
como falha a interrupo dos servios por motivos no definidos, causadas por pessoas
ou mquinas no autorizadas, de forma comum ou no.
As maiores falhas na defesa de redes de computadores esto dentro da prpria rede,
onde as mquinas que deveriam ser protegidas contra ataques externos tornam-se
mquinas que atacam outras, levando a inverso do ambiente de defesa. O acesso
rede, mesmo que efetuado de forma vlida, pode ser uma violao no sistema de
segurana quando efetuado de maneira suspeita e fora do horrio estipulado. A
segurana fsica de certos componentes da rede de computadores tambm um fator
significativo e relevante na anlise da segurana, ou seja: o acesso fcil e irrestrito aos
locais onde se encontram mquinas vitais da rede de computadores, bem como a
permisso do uso local de dispositivos projetados para serem usados em rede e pela
rede, tambm constituem falha na segurana, possibilitando a interrupo dos servios.
O acesso aos servios por meio de suas prprias falhas visto como falta grave e
deve ser tomado cuidado especial, pois nestes casos necessria a interrupo do
servio. Os erros em protocolos de comunicao tm que ser monitorados
exaustivamente, pois no possvel a interrupo do uso do protocolo de comunicao
numa rede; as falhas devem ser isoladas e resolvidas com a mxima prioridade.
baseado em falhas nos protocolos que so criados os ataques e invases mais eficientes,
os quais so quase imperceptveis aos dispositivos de segurana que so construdos

www.projetoderedes.kit.net

baseados nestes protocolos. Para estes ataques, o estudo e a anlise do comportamento


da rede levam concluso que algo est errado, mal intencionado ou destrutivo.
importante para a defesa de redes saber, dentro das requisies de servios e
pacotes de dados2, quais destes so corretos, incorretos, alarmes falsos ou mecanismos
de distrao. Um meio de levar um sistema de defesa a falhas e, conseqentemente,
ficar vulnervel, sobrecarreg-lo com falsos ataques rpidos e simples, desviando a
ateno para causas menores e enfraquecendo pontos vitais que podem estar sendo
atacados.
Por ltimo, usado o monitoramento do comportamento da rede. Este meio de
defesa questionado por motivos ticos: at onde chegam os limites do gerente de rede
dentro do monitoramento de pacotes e arquivos e seu nvel de acesso e interveno nos
documentos e negcios dos usurios.

1.3. Objetivos do Trabalho


O objetivo organizar uma forma eficiente de defesa de redes, desenvolvendo
tcnicas para auxlio do firewall. A defesa se tornar mais eficaz com o uso de um
agente auxiliar que vigiar o comportamento da defesa. Este agente denominado
IDS3.
Sero construdas novas regras no prprio firewall para que seu comportamento
seja mais inteligente e preventivo (geralmente os firewalls apenas barram os acessos
pr-configurados como invlidos). Com as novas regras, ser possvel dificultar
tentativas de varreduras de portas de comunicao, envio de requisies falsas, ataques
camuflados, dentre outros. Estas regras j so avanos nos sistemas de defesa de redes.
Paralelos ao funcionamento do firewall, agentes estaro ativos a procura de padres de
ataques e eventuais quebras dessas regras, alertando todo e qualquer comportamento
suspeito ao gerente de rede.

Parte integrante de uma informao. Por limitao do meio fsico de uma rede, uma informao
segmentada em pacotes, quadros, etc.
3

IDS Intrusion Detection System Sistema de Deteco de Intrusos.

www.projetoderedes.kit.net

10

A defesa ser evolutiva com a contnua incluso de novos padres de ataques e de


formas mais eficazes de defesa, permitindo a reestruturao gradativa, coordenada e
mais eficiente na defesa de redes.

1.4. Organizao da Dissertao


No captulo 2, sero apresentados os protocolos com o estudo da suas estruturas,
funcionamento e apresentao de possveis falhas e dificuldades no controle a ataques.
O estudo ser de extrema importncia para o entendimento das formas de
funcionamento de uma rede.
No captulo 3, sero apresentadas as formas de defesas, como firewalls, filtro de
pacotes, arquiteturas de defesa, servidores proxy4 e a deteco e preveno a invases e
ataques coordenados. Este captulo contm os princpios de defesa utilizados na defesa
de redes e demonstram quais so os ataques e comportamentos que os agentes de defesa
procuram.
No captulo 4, ser mostrado o estudo de um caso, detalhando a estrutura da rede e
apresentando as regras para a sua defesa (Anexo E).
No captulo 5, sero mostradas as concluses do trabalho e a tendncia evolutiva na
defesa de redes de computadores.

Do ingls, Procurador. Agente que gerencia e intermedeia a comunicao de um determinado servio de


rede entre duas mquinas em redes distintas.

www.projetoderedes.kit.net

11

2. Protocolos
2.1. IP
2.1.1. Conceitos
Internet Protocol, Protocolo da Internet ou Protocolo Internet, o nome de um
dos protocolos de comunicao mais usados no mundo em cerca de 90% do trfego da
rede mundial de computadores Internet atualmente.
O IP est no terceiro nvel da camada de rede do modelo de camadas OSI5 (est
na segunda camada no modelo de camadas Internet), podendo trafegar sobre vrios
protocolos de comunicao da segunda camada deste modelo. Est definido em forma
de RFC6 de nmero 791 e foi criado pelo Departamento de Defesa do Governo dos
Estados Unidos para comunicao entre bases militares no conjunto de protocolos de
interconexo do projeto DARPA7.
um servio de comunicao sem conexo direta dos dois pontos finais
(emissor e receptor), havendo vrias rotas para a ligao. Por causa deste fator,
possvel que haja gargalos de comunicao, gerando engarrafamento e perda de pacotes
pelos motivos do prprio trfego ou erros no envio. Outro fator que pode ocorrer por
no ser orientado a conexo a chegada de pacotes fora de ordem, quando o datagrama8
IP fragmentado. A falta de controle de fluxo tambm constitui uma de suas
deficincias.
Por estar numa camada acima da camada de enlace (modelo OSI), o IP oculta as
redes (que podem ter diferentes protocolos e tamanhos de quadro9) pelas quais ele
passa, facilitando sua instalao e tornando-o mais robusto.

OSI Open Systems Interconnection camadas que definem padres para comunicao em uma rede de
computadores.
6

RFC Request for Comments documentos que definem um determinado protocolo de internet ou
experimento relacionado. Os RFCs so mantidos pelo Instituto de Engenharia Eltrica e Eletrnica, IEEE.
7

Defense Advanced Research Projects Agency Agncia de Projetos de Pesquisas Avanados sobre
Defesa. rgo do Exrcito dos Estados Unidos da Amrica.
8

Pacote de dados IP. IP datagram.

Unidade de medida utilizada na segunda camada do modelo OSI: quadros, frames na lngua inglesa.

www.projetoderedes.kit.net

12

Endereamento
O IP usa endereos para identificar mquinas e redes. Estes endereos so
expressos de forma binria e, para o melhor entendimento pelo homem, existem as
respectivas representaes por quatro nmeros inteiros decimais separados por pontos e
apelidos equivalentes aos endereos binrios.
No IP, cada mquina tem um endereo nico na rede que um nmero inteiro de
32 bits denominado endereo IP. Para todos os tipos de comunicao com esta mquina
necessria a utilizao deste endereo.
Conceitualmente, o endereo IP constitudo por um par (netid, hostid), onde
netid o identificador de rede do endereo, enquanto o hostid o identificador da
mquina nesta rede.
Existem trs classes principais de endereos de redes IP: Classes A, B e C. A
classe do tipo A usada para uma rede que tenha um nmero grande de mquinas, 216
(65.536 mquinas), reservando sete bits para o identificador de rede e 24 bits para
identificador de mquinas. A classe tipo B usada para uma rede que tenha um nmero
mdio de mquinas, entre 28 (256 mquinas) e 216, reservando 14 bits para o
identificador de rede e 16 bits para o identificador de mquinas. A classe tipo C usada
para redes com no mais de 28 mquinas, reservando 21 bits para o identificador de rede
e somente oito bits para o identificador de mquinas. Ainda existem as classes D e E
que so usadas para propsitos especficos.
Para cada rede necessrio um endereo IP vlido dentro daquela rede. Quando
a mquina tem mais de uma conexo fsica necessrio um endereo IP para cada
conexo de rede; assim, uma mquina conectada a 10 redes tem 10 endereos diferentes
de IP.
Existem, ainda, os endereos de redes que servem para identificar a rede de
endereos IP e os endereos de difuso que servem para propagar uma mensagem
para todas as mquinas nesta rede. O endereo da rede aquele no qual o hostid zero.
Ao contrrio disto, no endereo de difuso todos os bits do hostid so iguais a um. Na
Tabela 1 mostrado um exemplo de endereos IP numa rede de classe tipo C.

www.projetoderedes.kit.net

13

Endereo
Tipo
Notao Binria do hostid
192.168.1.0
Endereo de rede
00000000
192.168.1.1
Endereo comum
00000001
192.168.1.2
Endereo comum
00000010
192.168.1.254
Endereo comum
11111110
192.168.1.255 Endereo de difuso
11111111
Tabela 1 Endereos de Rede e Difuso.

possvel ainda delimitar uma rede diminuindo-a em sub-redes. As sub-redes


so redes sem classe e podem ser criadas baseadas na informao do endereo de
difuso diferentes. Estes endereos so delimitados pelas mscaras de difuso de rede
ou mscaras de rede.
Outra forma de enviar mensagens para muitas mquinas numa rede utilizar
uma particularidade do IP chamada de multicasting. O IP multicasting utiliza endereos
classe D para criar grupos e, assim, fazer a difuso de mensagens entre essas mquinas.
Os endereos de classe D tm os quatro primeiros bits em 1110 e os 28 bits restantes
identificam os grupos multicast. Com esta configurao de endereos possvel haver
endereos IP para multcasting entre 224.0.0.0 at 239.255.255.255. O endereo
244.0.0.1 reservado para um grupo com todas as mquinas e a rede internet de
computadores no aceita endereos de multicast 224.0.0.0.
As mquinas que desejam participar de grupos multicast necessitam enviar, em
um protocolo especfico, mensagem para o endereo de multicast desejado. Este
protocolo chama-se IGMP (Internet Group Management Protocol), do ingls, Protocolo
de Gerenciamento de Grupos Internet. Com este protocolo possvel ingressar em
grupos, sair dos grupos e enviar mensagens especiais entre os grupos.
O IP multicast usado em larga escala para a entrega de contedo multimdia,
como vdeo e udio, e tambm, est crescendo o seu uso para voz sobre IP.

www.projetoderedes.kit.net

14

Pacote IP
O datagrama IP como est divido um pacote IP e suas especificaes so
mostrados na Figura 1.

Version (4)

Header Length (4)

Type of Service (8)


Total Length (16)
Identifier (16)
Flags (3)

Fragment Offset (13)


Time to Live (8)
Protocol (8)

Header Checksum (16)


Source Address (32)
Destination Address (32)
Options and Padding (Variable)
Data (Variable)
Figura 1 Datagrama IP.
(n) = Nmero de bits no campo.

O campo Version Verso identifica qual a verso do protocolo IP utilizada10.


Este campo faz parte do cabealho.
O campo Header Lenght Tamanho do Cabealho medido em palavras de
32 bits. Tipicamente um cabealho sem opes de Qualidade de Servio (apresentado
logo abaixo) tem 20 octetos11; portanto, o valor geralmente de 5: 25 = 32. Este campo
faz parte do cabealho.
O campo Type of Service Tipo de Servio usado para identificar as funes
de Qualidade de Servio. O tipo de servio formado por cinco entradas totalizando o
campo de 8 bits (Figura 2). Os trs primeiros bits contm o valor de precedncia (por
exemplo: 000 representa precedncia de rotina, 111 usado em algumas

10

Para todas as referncias usadas neste, a verso do protocolo IP sempre ser a nmero 4.

11

Um octeto uma palavra de 8 bits.

www.projetoderedes.kit.net

15

implementaes para indicar controle de datagramas de rede). Os bits de precedncia


podem ser usados para controle de fluxo e mecanismos de controle de
congestionamento, fazendo com que mquinas decidam sobre a ordem de descarte de
pacotes. O quarto bit usado como bit de atraso (D bit); quando est em 1, o Tipo de
Servio requisita um pequeno atraso na rede. O quinto bit usado como o bit de
passagem (T bit); quando est em 1, requisita rpida passagem pela rede. O sexto bit
usado como o bit de confiana (R bit), que permite que o usurio solicite grande
confiana do datagrama. Os bits sete e oito no so utilizados. Este campo pode ser
usado na implementao de melhorias de rotas e caminhos na conexo IP. Este campo
faz parte do cabealho.

Precedncia

Reservado

Figura 2 Os cinco sub campos que compem o campo Tipo de Servio.

O campo Total Length Tamanho Total especifica o tamanho total do


datagrama IP. Para o clculo do tamanho do cabealho, basta subtrair o tamanho do
cabealho do tamanho total para obter o tamanho da parte de dados. O tamanho mximo
possvel para um datagrama IP de 65.535 octetos (216). Este campo faz parte do
cabealho.
O campo Flags Bandeiras usado no controle de fragmentao e
remontagem dos datagramas IP. medido em octetos. Os campos so: identificador
(identifier), bandeiras (flags) e compensao de fragmentos (fragment offset). O
identificador usado para identificar unicamente todos os fragmentos de um datagrama
original. utilizado com o endereo fonte (source address) para identificar cada
fragmento na mquina de destino. O campo bandeira (flag) utilizado para indicar se o
datagrama pode ou no ser fragmentado. Podendo ser fragmentado, o ltimo bit do
campo determina se o fragmento o ltimo do datagrama. O campo de compensao de
fragmentos determina a posio relativa do fragmento em relao ao datagrama
original; iniciado em zero e acrescentado conforme o nmero de fragmentos gerados.
Este campo faz parte do cabealho.
O campo Time to Live Tempo de Vida usado para calcular o tempo de vida
que o datagrama IP est trafegando. Seu valor contado em ordem inversa e quando

www.projetoderedes.kit.net

16

atingido o tempo final (zero), e o pacote ainda no atingiu o destino, o prximo roteador
da rota descarta o datagrama IP. Este processo feito a cada passagem por um roteador,
diminuindo o valor em um. O tempo de Vida utilizado para calcular o nmero de
pulos (hops) do datagrama IP na sua rota entre a mquina emissora e a receptora. Alm
disso, serve para a preveno de voltas interminveis na rota do datagrama (loop).
O campo de Protocol Protocolo usado para indicar o prximo protocolo na
camada de rede OSI. Os grupos responsveis pela padronizao da Internet criaram os
nmeros padres de cada protocolo (Tabela 2). Este campo faz parte do cabealho.

www.projetoderedes.kit.net
Decimal

Sigla

Protocolo

0
1
2

ICMP
IGMP

3
4
5
6

GGP
ST
TCP

7
8
9
10

UCL
EGP
IGP
BBN-MON

11
12
13
14

NVP-II
PUP
ARGUS
EMCON

15
16
17
18
19

XNET
CHAOS
UDP
MUX
DCN-MEAS

20
21
22
23

HMP
PRM
XNS-IDP
TRUNK-1

24
25
26
27

TRUNK-2
LEAF-1
LEAF-2
RDP

28
29
30
31
32
33

IRTP
ISSO-TP4
NETBLT
MFE-NSP
MERIT-INP
SEP

34-60
61

62
63

CFTP
-

64
65
66

SAT-EXPAK
MIT-SUBN
RVD

Sequencial Exchange
Unassigned
Any Host Internal Protocol
CFTP
Any Local Network
SATNET and Backroom EXPAK
MIT Subnet Support
MIT Remote Virtual Disk

67
68
69
70
71

IPPC
SAT-MON
IPCV

Internet Plur. Packet Core


Any Distributed File System
SATNET Monitoring
Unassigned
Packet Core Utility

72-75
76
77
78

BRSAT-MON
WB-MON

79
80-254
255

WB-EXPAK
-

Unassigned
Backroom SATNET Monitoring
Unassigned
Wideband Monitoring
Wideband EXPAK

Reserved
Internet Control Message Protocol
Internet Group Management Protocol
Gateway-to-Gateway Protocol
Unassigned
Stream
Transmission Control Protocol
UCL
Exterior Gateway Protocol
Interior Gateway Protocol
BBN-RCC Monitoring
Network Voice Protocol
PUP
ARGUS
EMCON
Cross Net Debugger
Chaos
User Datagram Protocol
Multiplexing
DCN Measurment Subsystems
Host Monitoring Protocol
Packet Radio Monitoring
Xerox NS IDP
Trunk-1
Trunk-2
Leaf-1
Leaf-2
Reliable Data Protocol
Internet Reliable TP
ISO Transport Class 4
Bulk Data Transfer
MFE Network Services
MERIT Internodal Protocol

Unassigned
Reserved

Tabela 2 Nmero de Protocolos Internet

17

www.projetoderedes.kit.net

18

O campo Header Checksum Verificao de Soma de Cabealho usado para


detectar qualquer distoro no cabealho IP. Existe um algoritmo simples para deteco
de erro que efetuado pelo roteador. Caso haja um erro, enviada de volta ao emissor
uma notificao de erro, utilizando o protocolo ICMP12 (Captulo 2, Seo 2). Este
campo faz parte do cabealho.
Os campos Source Address Endereo Fonte e Destination Address
Endereo de Destino guardam os endereos IP do emissor e do receptor. Eles
permanecem inalterados at o fim do envio. Estes campos fazem parte do cabealho.
O campo Options Opes usado para tipos de opes adicionais e
utilizado de formas variadas pelos fabricantes de software e hardware. Este campo faz
parte do cabealho.
O campo Padding Preenchimento usado para ajustar o tamanho do
datagrama no limite de 32 bits, preenchendo o restante do datagrama com zeros para
que a soma chegue a 32 bits. Este campo faz parte do cabealho.
O campo Data Dados onde esto contidos os dados do usurio, as
informaes que esto sendo passadas. A combinao entre dados e cabealho no pode
ultrapassar 65.535 octetos.

2.1.2. Fragmentao
O datagrama IP passa sobre tipos de protocolos diferentes do segundo nvel da
camada OSI, que, na maioria dos casos, tm tamanho de quadros diferentes. Para que o
datagrama IP possa trafegar sem problemas sobre estes protocolos necessria uma
forma de fragmentao e remontagem do datagrama IP.
Todos os protocolos de redes tm um tamanho mximo de PDU13, chamado de
Unidade Mxima de Transmisso (maximum transmission unit: MTU). Quando um
roteador recebe um datagrama que tem tamanho maior que um MTU, ele fragmenta o
datagrama para ajust-lo ao tamanho do MTU. Todos os fragmentos tm cabealho e
parte de dados contendo no cabealho informaes pertinentes fragmentao. Cada
fragmento pode tomar rotas diferentes para chegar ao destino, agindo como datagramas
12

Internet Control Message Protocol Protocolo de Mensagem de Controle utilizado para envio de
cdigos de mensagem padro.
13

Protocol Data Unit Unidade de dados do Protocolo a unidade de medida de um protocolo.


Exemplo: 3 quadros, 3 PDUs.

19

www.projetoderedes.kit.net

comuns e causando a chegada de alguns fragmentos primeiro do que outros e fora de


ordem.
Como cada fragmento do pacote pode tomar caminhos diferentes, utilizando o
tamanho mximo de MTU estipulado pela ltima parte do caminho (pelo roteador),
possvel que o fragmento sofra mais uma fragmentao, tornando-o ainda menor (Figura
3). Como o IP contm campos de controle de fragmentao, posio relativa e tamanho
do pacote, possvel ser feito o clculo de remontagem dos fragmentos, mesmo quando
eles so re-fragmentados e recebidos fora de ordem.

192.168.0.1
1500 PDUs

192.168.1.1
512 PDUs
Roteador

192.168.2.1
256 PDUs
Roteador

ID=12345
M=1
OS=0
TL=512

ID=12345
M=1
OS=0
TL=256

ID=12345
M=1
OS=64
TL=512

ID=12345
M=1
OS=32
TL=256

ID=12345
M=0
OS=128
TL=476

ID=12345
M=0
OS=0
TL=1500

ID=12345
M=1
OS=64
TL=256

ID=12345
M=1
OS=96
TL=256

Legenda:
ID: Campo Identificador
M : Campo de ltimo fragmento
OS: Campo deoffset
TL: Tamanho total do fragmento

Figura 3 Operaes para fragmentao em Roteadores.

ID=12345
M=1
OS=128
TL=256

ID=12345
M=0
OS=160
TL=220

www.projetoderedes.kit.net

20

A mquina receptora tem que calcular o tamanho do pacote para remont-lo. O


receptor s saber qual o tamanho do pacote quando chegar ao buffer de recepo o
ltimo pacote da fragmentao, onde a flag de ltimo fragmento est indicada, que no
obrigatoriamente o ltimo dos fragmentos do pacote. Com o ltimo fragmento,
possvel calcular o tamanho mximo do pacote sem todos os fragmentos simplesmente
utilizando o bit de compensao (offset), multiplicando por oito e somando com os
valores indicados no campo de tamanho total de fragmento.
Na Figura 3, o pacote foi dividido em seis fragmentos. Considerando que o
quarto fragmento que chegou ao receptor o ltimo fragmento do pacote (ainda faltam
chegar dois fragmentos), j possvel calcular o tamanho total. O tamanho mximo do
ltimo PDU foi de 256 e o ltimo fragmento indica o tamanho de 220 octetos. O
receptor, ento, calcula o tamanho mximo da seguinte maneira: 160 que o valor de
compensao do ltimo fragmento (seis fragmentos: 0 32 64 96 128 - 160)
multiplicado por 8 (um octeto) mais os 220 octetos finais que vieram no fragmento,
totalizam 1500 octetos (tamanho mximo do datagrama IP).
O campo de Tamanho de Campo Total referencia o tamanho total do fragmento,
no do pacote, por isso to necessrio o bit do ltimo fragmento.
Se, por qualquer razo, algum fragmento descartado no caminho, o receptor
descarta os fragmentos do pacote que chegaram. Existe, ainda, o tempo mximo
estipulado pelo gerente da rede para que os pacotes cheguem ao receptor (Tempo de
Vida - TTL). Caso o tempo se esgote e algum dos fragmentos ainda no tenha chegado,
o receptor descarta todos os fragmentos anteriores do pacote. Este tempo pode ser
alterado.

2.1.3. Roteamento
O roteamento serve para indicar, quando existe um ou mais dispositivos de rede
numa mquina, qual caminho o pacote deve seguir ou por onde ele deve ser despachado.
Existem as tabelas de endereos, que indicam ao Sistema Operacional os roteadores e
endereos IPs que esto ao alcance da mquina, e as tabelas de roteamento, que indicam
como se chegar ao endereo IP desejado (caminho) e por onde deve ser despachado o
pacote (dispositivo).
A tabela de endereo representada da seguinte forma (Figura 4):

www.projetoderedes.kit.net

21

eth0

Encapsulamento do Link: Ethernet Endereo de HW 00:00:21:C2:10:B4


inet end.: 10.18.10.1 Bcast:10.18.10.7 Masc:255.255.255.248
UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1

hdlc0

Encapsulamento do Link: Protocolo Ponto-a-Ponto


inet end.: 10.22.11.250 P-a-P:10.22.11.249 Masc:255.255.255.252
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Mtrica:1

ppp0

Encapsulamento do Link: Protocolo Ponto-a-Ponto


inet end.: 10.23.151.1 P-a-P:10.23.151.2 Masc:255.255.255.252
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Mtrica:1

lo

Encapsulamento do Link: Loopback Local


inet end.: 127.0.0.1 Masc:255.0.0.0
U P L O O P B A C K R U N N IN G M T U :3 85 6 M tr ica:1

Figura 4 Tabela de endereamento do cerne do Sistema Operacional Linux.

O Endereo o endereo IP para este dispositivo inet end.


O ndice de Interface o nmero do dispositivo pertencente a esta linha na
tabela eth0, hdlc0, ppp0, lo.
A Mscara de Rede a mscara de rede associada ao endereo IP da linha
Masc.
O Endereo de Difuso o endereo que contm o bit menos significativo no
endereo IP de difuso. Est associado ao endereo IP da linha Bcast.
O Tamanho mximo o valor mximo que o datagrama IP pode ter MTU.
Existem ainda outras informaes referentes a outras camadas, como o Endereo
de Hardware e informaes sobre mtrica e modo do funcionamento da rede (UP
BROACASTRUNNING MULTICAST).
A tabela de roteamento representada da seguinte forma (Figura 5):

Figura 5 Tabela de roteamento do cerne do Sistema Operacional Linux.

www.projetoderedes.kit.net

22

O Destino contm o endereo IP da mquina ou rede de destino. Caso o


endereo seja o 0.0.0.0, esta considerada a rota padro.
O ndice de Interface o nmero do dispositivo que ser despachado o pacote IP
referente rota Iface.
A Mtrica o nmero de pulos (hops) para que seja alcanado o endereo de
destino. Hoje quase no mais usado.
O Endereo do Roteador o endereo do prximo ponto que o pacote ir chegar;
o prximo pulo do pacote IP. L decidido o prximo e assim sucessivamente at o
endereo final.
A Mscara o endereo da mscara de rede onde o dispositivo est ligado.
O Campo de Opes o campo que define se o datagrama IP entregue
diretamente rede ou se enviado ao roteador (U ou G).
Existem, ainda, os campos de Referncia (Ref) e Uso que so meramente
informativos ao uso e referncia pelo Sistema Operacional do dispositivo.

2.2. ICMP
2.2.1. Conceitos
Para possibilitar que o protocolo IP reportasse os erros no envio, perda de
pacotes, necessidades de repetio de envio, melhorias no roteamento de pacotes, dentre
outras situaes, foi criado o ICMP.
ICMP, do ingls Internet Control Message Protocol Protocolo Internet de
Controle de Mensagens utilizado para as notificaes no nvel IP da camada de
comunicao. Inicialmente criado para ser usado somente por roteadores na correo de
erros de envio, o ICMP, hoje, tambm utilizado por mquinas numa rede.
A notificao de uma eventual anormalidade ou um simples alerta no faz do
ICMP um protocolo de correo de erros. Apesar de suas notificaes serem usadas
para tal finalidade, ele utilizado objetivando informar, dentro das propriedades do IP,
situaes que necessitam de alguma alterao ou re-configurao. Seu escopo limitado
e no possvel sua utilizao para correo do roteamento por roteadores
intermedirios no percurso do pacote, uma vez que sua mensagem sempre destinada
ao emissor.

www.projetoderedes.kit.net

23

Uma mensagem ICMP um datagrama IP normal, ou seja, est encapsulado


dentro de um pacote IP contendo cabealho e parte de dados definidos. O pacote IP
contendo informaes ICMP est mostrado na Figura 6.

Cabealho IP
Tipo (8)
Cdigo (8)
Verificao de Soma (16)
Parmetros
(varivel)
Informao
(varivel)
Figura 6 Formato da mensagem ICMP (n) = Nmero de bits no campo.

No Cabealho IP, como mostrado na tabela de protocolos anterior (Captulo 2,


Seo 1), o campo de protocolo ajustado em 1.
O campo Tipo usado para definir o tipo de mensagem ICMP. Este campo faz
parte do cabealho ICMP.
O campo Cdigo usado para definir o cdigo de erro ou cdigo de informao
referente ao tipo de mensagem. Este campo faz parte do cabealho ICMP.
O campo Verificao de Soma usado para o clculo de verificao do
cabealho, que permite verificar erros durante o trfego. utilizado o mesmo algoritmo
de verificao do IP, s que aplicado ao cabealho ICMP. Este campo faz parte do
cabealho ICMP.
O campo Parmetros utilizado por alguns tipos de mensagens ICMP como
forma de uso de informaes extras.
O campo de Informao utilizado em notificaes de erros com parte do
cabealho e 64 bits de dados do pacote IP que ocasionou na notificao.
Para que no fosse gerada uma infinidade de mensagens de erros,
congestionando ou piorando o congestionamento da rede, definido na implementao
do protocolo ICMP que no so utilizadas mensagens de erros para notificar erros no
prprio protocolo.

www.projetoderedes.kit.net

24

2.2.2. Tipos de Requisies ICMP


O ICMP apresenta os seguintes tipos de mensagens14 de erro:
Campo Tipo
0
3
4
5
8
11
12
13
14
15
16
17
18

Tipo de Mensagem ICMP


Resposta ao Eco (Echo Reply)
Destino no Acessvel
Dissipao da Origem
Re-direcionamento (mudar a rota)
Solicitao de Eco (Echo Request)
Tempo Excedido para um Datagrama
Problema de Parmetro num Datagrama
Solicitao de Indicao de Hora
Resposta de Indicao de Hora
Solicitao de Informao (obsoleto)
Resposta de Informao (obsoleto)
Solicitao de Mscara de Endereo
Resposta de Mscara de Endereo

Tabela 3 Cdigos de Tipos ICMP.

A Solicitao e a Resposta ao Eco similar ao efeito de eco do som, a resposta


a um sinal na rede, ou seja, simplesmente o retorno do sinal pelo alvo (mquina) so
utilizadas para verificao de vida e funcionamento do receptor. enviada uma
solicitao de eco ao receptor, que por sua vez envia uma resposta ao eco acrescido das
informaes enviadas dentro da parte de dados do pacote ICMP. Alguns Sistemas
Operacionais geram um nmero em seqncia, contam e formulam estatsticas de perda
de pacotes utilizando o ICMP tipo zero e oito, respectivamente, Solicitao e Resposta
ao Eco.
O Destino no Acessvel utilizado para informar mquina que enviou o
pacote ou a um roteador que o destino no est acessvel por problemas de mquina,
rede, protocolos, portas de comunicao no acessveis, indisponveis ou desconhecidas.
A Dissipao da Origem (Source Quench) utilizada como forma de notificao
de descarte de pacotes por congestionamento por parte de um roteador que esteja muito
carregado. As mensagens de source quench podem ter duas origens: (1) meios fsicos
mais lentos do que as mquinas da rede gerando incapacidade do roteador; (2) acmulo
de mensagens devido falta de poder de processamento pelo roteador para aquele nvel
de mensagens.
14

Ainda existem mais detalhes sobre os tipos de mensagens ICMP. O anexo A contm uma lista mais
detalhada sobre as mensagens ICMP e os seus tipos.

www.projetoderedes.kit.net

25

O Re-direcionamento de rotas utilizado entre roteadores para notificar uma


mudana nas rotas para mquinas especficas. A mudana nas redes tambm gera
mensagens entre roteadores para mudana de rota; porm o uso mais comum deste
servio para aviso de rotas melhores para determinada mquina vindas do roteador
numa rede. comum o uso deste servio de modo que sejam otimizadas as rotas para
algumas redes e mquinas especficas dentro de uma configurao favorvel de
ambiente (isto no faria sentido dentro de uma rede simples sem caminhos para outras
redes ou outros roteadores).
O Tempo Excedido para um Datagrama a notificao de um dos roteadores da
rota de percurso do pacote IP do emissor ao receptor que, por algum motivo, tenha o
Campo de Tempo de Vida expirado. Isso comum quando h uma m configurao de
rotas para uma determinada rede ou mquina, que acarreta em um caminho muito
extenso. Serve tambm,

para alertar sobre o problema de loops do pacote entre

roteadores.
Ainda existem outros tipos de servios que so para sincronia de hora entre
mquinas, solicitao do endereo de mscara de rede para uma resposta, estimativas de
tempo de trnsito de pacotes, informao de tamanho ou parmetro incorreto no pacote
IP, dentre outros, que esto detalhados no Anexo A.

2.3. TCP
2.3.1. Conceitos
Na conexo de rede entre duas mquinas, em algumas situaes,

faz-se

necessrio o uso de controle de trfego, correo de erros e os outros tipos de situaes.


Na primeira seo deste captulo, foi citado que o protocolo IP no fazia o controle
destas situaes. De fato, o controle de erros, tratamento de fluxo, correo de erros e
outras funes relacionadas so feitos utilizando o protocolo que est intimamente
ligado ao IP. O protocolo referido o TCP (Transmission Control Protocol), do ingls,
Protocolo de Controle de Transmisso.
O TCP, juntamente com o UDP (Captulo 2, Seo 4), est na quarta camada no
modelo de camadas OSI, que denominada camada de transporte. Este o principal
protocolo para as tarefas de controle de fluxo do IP e retransmisso nos casos de erros e
perdas nos dados.

www.projetoderedes.kit.net

26

Como um protocolo orientado a conexo, ele garante a troca de informaes


entre os dois pontos da comunicao (emissor e receptor), utilizando-se desta
particularidade para realizar as suas principais funes, apesar de estar sobre o IP.
O uso dos dois protocolos juntos IP e TCP forma a combinao mais
conhecida na rede internet mundial: TCP/IP. Por serem os dois principais protocolos de
comunicao na internet, a maioria dos servios foram escritos e funcionam utilizando
as implementaes e funcionalidades do TCP/IP.
O protoloco TCP utilizado em diversos servios para camadas superiores de
comunicaes, onde os mais utilizados so: (1) Gerenciamento orientado conexo, (2)
Transferncia de dados com segurana, (3) Transferncia orientado ao fluxo, (4)
Funes de transmisses imediatas, (5) Re-seqncia de envio, (6) Controle de fluxo,
(7) Multiplexao, (8) Transmisses full-duplex15, (9) Precedncia e segurana e (10)
Encerramento de conexes.
O TCP, por ser um protocolo, tem sua prpria denominao para o PDU que
conhecida como segmento, resultado do acmulo de dados recebidos de protocolos
superiores. A formao de um segmento vem dos bytes provenientes deste acmulo de
informao. Quando formada uma certa quantidade de informao suficiente
enviado um segmento pela rede.
O controle de fluxo entre as duas mquinas numa conexo TCP dada da
seguinte maneira: para cada segmento enviado para o receptor, enviado, em anexo, um
nmero de seqncia. Quando os dados e o nmero de seqncia chegam ao receptor,
este envia de volta para o emissor uma informao de conhecimento da chegada (ACK).
Se uma informao de confirmao demora a chegar, o emissor manda novamente o
segmento e o nmero de seqncia. Com isto, possvel tratar erros de envio e demora
no recebimento. Uma informao sobre o tamanho do segmento (chamado de janela)
trocada entre as duas mquinas que fecharam uma conexo TCP, negociando, assim,
qual ser o tamanho das informaes que trocaro.
Pela particularidade de acmulo das informaes (bytes) antes do envio pelo
TCP, foi criada uma funo para que dados importantes fossem enviados ao receptor
imediatamente quando chegassem camada TCP. Esta funo denominada push, do
ingls, empurro.
15

Tipo de transferncia de dados que utiliza o mesmo meio fsico para transporte de dados nos dois
sentidos simultaneamente: do receptor ao emissor e vice-versa.

www.projetoderedes.kit.net

27

O TCP tambm responsvel pela re-seqncia das informaes quando estas


chegam de forma desordenada ao receptor, assim como por descartar pacotes que, por
algum motivo, cheguem duplicados ao receptor.

Sockets
O TCP implementa o conceito de portas para orientar uma conexo entre dois
pontos. Porta uma abstrao, dentro do endereo IP, ao servio ou aplicao de
destino ou fonte dos dados. Um exemplo disto o servio de e-mail, que utiliza a porta
25, numa determinada mquina, para envio e recepo de mensagens.
O Socket a concatenao entre o endereo IP e uma porta de comunicao. Um
par de Sockets identifica unicamente cada conexo numa rede. O Socket de envio o
endereo IP fonte mais nmero de porta fonte, enquanto o Socket de recebimento
corresponde ao endereo IP de destino mais nmero de porta de destino.

Portas Reservadas e Conexes


Existem diversos tipos de servios associados (ANEXO B) a portas. As portas
abaixo de 255 so chamadas de portas conhecidas e so reservadas para alguns servios
padro de comunicao TCP/IP.
Para uma mquina conectar-se a outra necessrio que ela reserve uma porta
fonte (negociado com o Sistema Operacional) e especifique uma porta de destino,
juntamente com o IP da mquina de destino. Foi convencionado que portas abaixo de
1024 so utilizadas somente para recebimento de conexes, com excees em casos
especiais, onde necessria a utilizao das portas baixas16.
possvel que uma mquina servidora receba vrias requisies de conexo na
mesma porta, fazendo com que o TCP use sua funcionalidade de multiplexao de
conexes para organizar as diversas conexes na mesma porta. O TCP usa o conjunto
de endereo IP e porta (socket) para identificar diferentes conexes com portas de
destino e origem iguais, porm com endereos IP diferentes.
Ainda existem duas formas de abertura de conexo denominada de Passiva e
Ativa.

16

Em casos onde um firewall no permite o uso de qualquer porta para conexo.

28

www.projetoderedes.kit.net

Na forma Passiva de conexo, o protocolo TCP requisita ao Sistema Operacional


uma porta e permanece em estado de espera. Quando uma conexo chega mquina, o
Sistema Operacional repassa a requisio aplicao que requisitou aquela porta em
espera.
Na forma Ativa de conexo, o protocolo TCP requisita ao Sistema Operacional
uma porta para recebimento de conexo, porm requer tambm que seja feita uma
conexo para um endereo IP indicado na porta especificada. Na primeira resposta de
conexo do endereo IP de destino, o Sistema Operacional repassa a resposta
aplicao que requisitou, na porta que foi requerida.
As operaes de envio de mensagens e controle do tamanho de janela e fluxo
so descritas nas Figuras 7 e 8.

SEQ = 1

A
0

UNA

NXT

SEQ = 2

10

11

12

W ND

Figura 7 TCP Envia Variveis da Janela.

Na Figura 7, o mdulo A e B representam duas mquinas numa rede trocando


informaes utilizando o protocolo TCP.
O mdulo A transmite dois segmentos para o mdulo B; estes segmentos so
rotulados como SEQ = 1 e SEQ = 2. Os ponteiros das variveis UNA, NXT e WND
indicam alguns estados para este envio. Na esquerda do ponteiro UNA, esto os bytes
que foram enviados e foram confirmados por B (byte 0). Os bytes entre os ponteiros
UNA e NXT (byte 1 e 2) so os bytes que foram enviados e no confirmados por B. O
ponteiro NXT identifica o nmero da seqncia do prximo octeto a ser enviado. O
indicador de limite do tamanho da janela o indicador do tamanho mximo a ser
enviado antes da janela ser fechada. O limite da janela calculado pela soma entre UNA

29

www.projetoderedes.kit.net

e NXT, neste caso 5 (UNA = 2 e NXT = 3). Como A transmitiu 1 e 2, s podero ser
transmitidos os bytes 3, 4 e 5. Esta rea est delimitada pelo retngulo menor.

A
0

ACK = 3
Jan ela = 6

NXT
UNA

10

11

12

W ND

Figura 8 Resultado de uma atualizao do tamanho da janela.

Na Figura 8, a mquina B responde para A indicando que recebeu os bytes 1 e 2.


Uma das particularidades do TCP que anexado informao do conhecimento do
envio (ACK), B envia para A o tamanho do seu campo janela, para que A possa
aumentar ou diminuir do tamanho da sua janela. O clculo da janela de A continua a ser
ACK+WND, mas como B enviou o novo tamanho de janela (WND) que agora de 6, A
pode aumentar o seu campo janela para 9, sendo 3 (ACK de recebimento) mais 6
(WND, campo janela recebido).
O campo de janela tambm poderia ser diminudo por B, fazendo A diminuir o
ritmo de envio de segmentos para B. Este processo contnuo durante uma transmisso
TCP, levando ao controle de fluxo.
possvel, ainda, que qualquer dos dois lados, A ou B, envie um segmento
contendo informaes urgentes. Este segmento pode ser enviado por quaisquer dos
lados, mesmo quando o seu campo janela est fechado (lotado). O bit de urgncia
ativado fazendo com que o segmento seja enviado. O lado que recebe um segmento com
o bit de urgncia ativado, imediatamente processa os dados que esto no segmento que
os contm.
O TCP no foi projetado para usar informaes de no recebimento dos dados,
por isso foi implementado uma forma para que fosse feito o reenvio das informaes
que por ventura viessem a se perder ou levassem muito tempo sem confirmao de
recebimento. O mtodo criado para tratamento do no recebimento dos dados foi a

30

estipulao de tempo mximo de espera de confirmao. O tempo de espera no fixo;


calculado baseado nas primeiras informaes de conhecimento de recebimento, tempo
de processamento e envio de uma resposta e o tempo que leva em mdia para que o
novo segmento chegue novamente na mquina emissora. Este um clculo complexo
que envolveu algumas mudanas descritas no RFC 1122.

Segmento TCP
O segmento TCP est dividido conforme mostrado na Figura 9.

Source Port (16 bits)

Destination Port (16 bits)

Sequence Number (32 bits)

Acknowledgment Number (32 bits)


Data
Offset
(4 bits)

Reserved
(6 bits)

U A P R S F
R C S S Y I
G K H T N N

Window (16 bits)

Checksum (16 bits)

Urgent Pointer (16 bits)

Options (varivel)

Padding

Data (varivel)
Figura 9 Segmento TCP (PDU).

O campo Source Port Porta Fonte indica a aplicao que est disparando a
conexo.
O campo Destination Port Porta de Destino indica a aplicao onde sero
requisitadas informaes no destino.
O campo Sequence Number Nmero de Seqncia contm o nmero de
seqncia do primeiro octeto no campo de dados do usurio. O seu valor especifica a
posio para o envio das prximas informaes ao receptor. Este campo tambm indica

www.projetoderedes.kit.net

31

o nmero inicial da seqncia para o outro lado da conexo, para que os prximos
nmeros estejam baseados neste primeiro nmero enviado.
O campo Acknowledgment Number Nmero de Conhecimento usado para
confirmar o recebimento de dados recebidos. Seu valor o prximo nmero de
seqncia esperado pelo receptor que deve ser enviado pelo emissor. O Nmero de
Conhecimento pode indicar o recebimento de mais de um segmento de dados. Para isto
enviado o nmero de dados recebido mais um.
O campo Data Offset Deslocamento de Dados indica onde comea a parte de
dados (informaes propriamente ditas) no segmento TCP. Separa cabealho e dados.
O campo Reserved Reservado reservado para uso futuro de correes de
eventuais erros do protocolo.
O campo URG indica que o segmento contm uma mensagem de urgncia.
O campo ACK indica que o segmento contm uma mensagem de confirmao
de recebimento.
O campo PSH indica que os dados no buffer de recebimento tm que ser
enviados para a aplicao.
O campo RST indica que o segmento contm uma mensagem de reincio de
conexo.
O campo SYN indica que o nmero de seqncia deve ser sincronizado. usado
na seqncia de conexo (three-way handshaking17).
O campo FIN indica que o segmento contm uma mensagem de finalizao de
conexo. A mquina que envia o pacote FIN no deseja receber mais dados.
O campo Window Janela indica quantos octetos suportado pelo receptor.
complemento do campo de Conhecimento para clculo da janela de envio.
O campo Checksum Soma de Verificao usado para soma de verificao
do segmento, garantindo que as informaes chegaram livres de problemas no receptor.
Verifica tanto cabealho quanto dados.
O campo Urgent Pointer Ponteiro de Urgncia s utilizado e verificado
quando o bit de urgncia est indicado. Serve para apontar onde comea a informao
de urgncia dentro da parte de dados do segmento TCP. O protocolo TCP no

17

Three-way Handshaking Aperto de mo de trs vias o mtodo usado pelo TCP para estabelecer
uma conexo entre dois pontos.

32

www.projetoderedes.kit.net

implementa nenhum algoritmo de urgncia, as informaes so repassadas para a


aplicao, que faz a solicitao de urgncia e a aplicao receptora.
O campo Options Opes utilizado para alguma eventual opo
implementada por algum fabricante ou mudana no protocolo.
O campo Padding Preenchimento utilizado para o preenchimento do
cabealho TCP at um mltiplo de 32 bits.
O campo Data Dados utilizado para trfego de dados entre as aplicaes.

Gerenciamento de Conexes
O protocolo TCP um protocolo voltado a estados, ou seja, ele faz uso de regras
para troca de informaes entre as mquinas e para definio do estado da conexo.
As operaes de conexo do TCP so abertura, transferncia de dados e
fechamento dos dados.
A operao de abertura de conexo mostrada na Figura 10.

B
FECHADO
SYN ENVIADO
ESTABELECIDO

1: SYN SEQ 100


2: ACK 101; SYN 177
3: ACK 178

ESTABELECIDO

ESCUTANDO
SYN RECEBIDO
SYN RECEBIDO
ESTABELECIDO

Figura 10 Operaes de abertura de conexo TCP.

Na Figura 10, A inicia o processo de conexo com B. A representa o lado com


um socket ativo, enquanto B iniciou um socket passivo e espera conexes. A inicia o
processo enviando para B um segmento com o bit de SYN ativado e o seu nmero
inicial de seqncia (neste caso comea em 100). O nmero de seqncia pode ser
qualquer nmero vlido e no altera a conexo.
B envia de volta para A um segmento confirmando o recebimento do pacote
inicial da transmisso. Este segmento tem o bit de SYN ativado e marcando o nmero
de seqncia de B (neste caso 177) mais o bit de ACK ativado e marcando o nmero

33

www.projetoderedes.kit.net

que corresponde ao prximo nmero esperado para a seqncia de A (confirmando o


recebimento de um segmento com a seqncia em 100).
Por ltimo, A envia a confirmao do recebimento da seqncia de B, contendo
ACK ativado e em 178 (SEQ+1) e tem, desta vez, o SYN desativado, confirmando
assim, o fim do sincronismo de conexo.
Este processo que envolve os trs passos descritos anteriormente chamado de
aperto de mo em trs vias (three-way handshaking).
Est estabelecida, ento, a conexo entre A e B. Neste mesmo processo, o TCP
j se encarrega de calcular alguns tempos para uso futuro nas operaes de limite de
tempo.
Posterior as operaes de abertura de conexo, segue a transferncia de dados,
mostrado na Figura 11.

B
1: SYN SEQ 101
2: ACK 151
3: DATA SEQ 178
4: ACK 188

Figura 11 Operao de Transferncia de dados.

Na Figura 11, A inicialmente manda para B 50 bytes18 com o segmento contendo


o nmero de seqncia de 101 (estipulado no processo de abertura de conexo) e os bits
de SYN e ACK no esto ativados. B recebe o segmento de A e envia um segmento de
confirmao com o bit de ACK ativado e marcando 151, indicando o prximo nmero
de seqncia esperado. Para a confirmao, B soma o nmero de seqncia que A
enviou com os bytes recebidos, totalizando 151.
Posteriormente, B envia para A 10 bytes. Como o seu nmero de seqncia est
em 178, B envia o segmento contendo os 10 bytes e com o nmero de seqncia em
178. A confirma o recebimento B, com o segmento tendo o bit de ACK ativado e em
188 (178 + 10 bytes). A transmisso pode continuar envolvendo todos os processos de
18

Ser usada a medida em bytes para este exemplo hipottico.

34

www.projetoderedes.kit.net

clculo de tempo para expirao, tamanho de janela e eventuais erros e consertos no


envio dos dados.
Finalizando, feito o fechamento da conexo entre as duas mquinas, mostrado
na Figura 12.

B
ESTABELECIDO

1: FIN SEQ 151

ESTABELECIDO

FIN - ESPERANDO - 1

2: SEQ 188; ACK 152

FECHADO - ESPERANDO

FIN - ESPERANDO - 2

3: FIN SEQ 188; ACK 152

FECHADO - ESPERANDO

TEMPO - ESPERANDO
FECHADO

4: ACK 189

LTIMO ACK
FECHADO

Figura 12 Operao de fechamento de conexo TCP.

Na Figura 12, A envia para B um segmento solicitando a finalizao da conexo.


Este segmento tem o bit de FIN ativado e o nmero de seqncia em 151 (continuao
da operao entre eles).
Caso a aplicao de B confirme que ser encerrada a conexo, enviado para A
um segmento ratificando o processo de encerramento da conexo. Neste caso, B decide
encerrar a conexo. No segmento de confirmao enviado para A, o bit de FIN est
ativado e contendo 188 e mais uma vez confirmado o recebimento do segmento de A
para finalizao (ACK em 152).
A confirma para B o recebimento, enviando um segmento com o bit de ACK
ativado e em 189. Est encerrada a conexo entre A e B.
Tanto A como B poderiam estar enviando e recebendo dados em conexes com
vrias outras mquinas (B tem um socket passivo, provavelmente um servidor),
necessrio que haja algum modo para que ambos gerenciem estas conexes. Para isto
foi criada a tabela de conexes, mostrada na Figura 13.

35

Porta Remota

Endereo Remoto

Porta Local

Endereo Local

Estado da Conexo

www.projetoderedes.kit.net

Conexo 1
Conexo 2
Conexo 3
Conexo n
Figura 13 Tabela de Conexes.

A tabela de conexes contm as informaes de todas as conexes efetuadas na


mquina e os seus estados (fechado, ouvindo, fechando, etc.). Para cada conexo
criada uma linha contendo 5 campos preenchidos conforme as seguintes informaes:
A coluna de Estado da Conexo contm o estado que se encontra a conexo.
A coluna de Endereo Local contm o endereo IP da mquina local que
respondeu conexo. Quando o estado escutando, o valor deve ser 0.0.0.0.
A coluna de Porta Local contm a porta local da conexo.
A coluna de Endereo Remoto contm o endereo IP da mquina remota da
conexo.
A coluna de Porta Remota contm a porta remota da conexo.

2.4. UDP
2.4.1. Conceitos
O conjunto de protocolos da internet tambm abrange um protocolo de
transporte sem conexo. Este protocolo chamado de UDP (User Datagram Protocol),
do ingls, Protocolo de Datagramas de Usurios. Este protocolo serve para pequenas
transferncias, onde no necessria uma conexo ou que o tempo e custo operacional
de conexo e desconexo seria muito alto. Este protocolo por no utilizar controle e
fluxo de conexo utilizado somente para envio de requisies e respostas a pequenos
protocolos das camadas superiores.

www.projetoderedes.kit.net

36

O UDP, como o TCP, tambm utiliza o conceito de portas de comunicao,


tendo sua estrutura mostrada na Figura 14.
32 bits
Porta de Origem

Porta de Destino

Tamanho

Soma de Verificao
Dados

Figura 14 Formato do datagrama UDP.

A Porta de Origem identifica a porta de onde saram os dados com destino ao


receptor. Este item opcional e quando no preenchido inserido o valor padro zero.
A Porta de Destino identifica a porta destino para onde esto seguindo os dados.
O Tamanho indica o tamanho do datagrama UDP incluindo o cabealho UDP e a
parte de dados.
A Soma de Verificao um valor opcional de 16 bits para verificao do
cabealho e dados do UDP. A Soma de Verificao do UDP serve como complemento
para a verificao do pacote IP.
O protocolo UDP, por ser simples, utilizado para servios que no exigem
complexidade de transferncias, controle de fluxo ou erros. Existem servios que, por
padro, escutam portas UDP especficas (ANEXO B).

www.projetoderedes.kit.net

37

3. Segurana
3.1. Firewall
O firewall a primeira soluo proposta por profissionais de segurana de redes
e computadores para o incio da implantao das polticas de seguranas definidas numa
empresa ou simplesmente a primeira opo para o incio da prpria poltica. O firewall
o conjunto de componentes (hardware, software) que restringem o acesso entre uma
rede protegida e a internet ou outros conjuntos de rede (Chapman e Zwicky, 1995).
Nestes componentes esto inseridas tambm as regras definidas em reunies com
gerentes para discusso de polticas de segurana, estrutura fsica da rede da instituio
e qualquer outra definio ou deciso que tenha influncia na segurana das mquinas
em rede.
Os componentes principais no paradigma de proteo de redes por firewalls so:
[1] as regras nas quais o trfego de rede submetido, [2] rotas para acesso s redes, [3]
arquitetura fsica das redes e do prprio firewall, [4] as mquinas e [5] os roteadores.

3.1.1. Filtro de Pacotes


O Sistema de Filtro de Pacotes faz a passagem de pacotes vindos de uma rede
externa (geralmente a internet) para a rede interna de maneira seletiva, ou seja,
conforme definies anteriormente ajustadas.
Este trabalho comum em roteadores que so chamados de screening routers
que do ingls significa roteadores com telas. Para cada tipo de conexo efetuada
criada uma tela (janela) para que passem (sejam roteados) os pacotes de uma rede a
outra; havendo alguma regra que proba a passagem do pacote para a rede interna ou
para a rede externa (internet) no aberta a tela e o pacote descartado no roteador.
Este tipo de servio chamado de filtragem de pacotes.

www.projetoderedes.kit.net

38

Figura 15 Uso de Screening Router para filtro de pacotes.

Existem alguns parmetros bsicos para a configurao da filtragem de pacotes,


sendo eles os seguintes:

Endereo de origem do pacote: a permisso baseada no endereo IP da


mquina ou da rede emissora do pacote entrante.

Endereo de destino do pacote: a permisso baseada no endereo IP da


mquina ou da rede receptora do pacote.

Protocolo: configurando os protocolos que so permitidos passar pelo


screening router.

Porta de origem: definindo a permisso baseada na porta de origem nos


protocolos UDP ou TCP.

Porta de destino: definindo a permisso baseada na porta de destino nos


protocolos UDP ou TCP.

Interface de chegada: configurando por onde os pacotes podem entrar


(interfaces de rede).

Interface de sada: configurando por onde os pacotes podem sair (interfaces


de rede).

Flags TCP: a permisso baseada nos bits de bandeira do TCP durante a


conexo.

www.projetoderedes.kit.net

39

As permisses so configuradas utilizando a combinao das diversas regras de


pacotes. Na Figura 16 mostrado um exemplo de uma regra de filtragem em um
roteador Linux (utilizando IPTABLES19).

# iptables -A FORWARD -i hdlc0 -o eth0 -s 200.154.25.6 -d 200.223.85.3 -p tcp


--sport 1024 --dport 23 -state --state INVALID -j DROP

Figura 16 Exemplo de Regra de Filtragem utilizando IPTABLES.

3.1.2. Traduo de Endereos de Rede (NAT)


Geralmente, o firewall tem como finalidade proteger uma rede contra outras,
externas ao ambiente. Comumente, utiliza-se para proteo de uma rede interna com
classes de endereos IP reservados contra a rede mundial de computadores: Internet.
Como os endereos internos so reservados e utilizados tambm por outras instituies
no mundo, necessrio que, a partir de um certo ponto da rota do pacote IP, sejam
trocadas as informaes de origem para que o receptor consiga traar uma rota de
retorno ao emissor, quando de redes distintas.
O Network Address Translation (NAT), do ingls Traduo de Endereos de
Rede o servio de mudana do endereo de origem ou destino (traduo).
O servio de NAT possibilita que seja configurada uma tabela no roteador da
rede, traduzindo os endereos de origem de pacotes que saem e de destino dos pacotes
que entram. O processo feito no momento em que uma mquina da rede interna
solicita uma conexo a um servidor externo, passando pelo roteador. feita a entrada na
tabela de traduo de endereos dos IPs e portas de origem e destino, guardando as
informaes originais. Aps isto, o roteador tenta fazer a conexo ao servidor
modificando o endereo e porta de origem para o seu endereo de IP vlido na rede real
e uma porta livre; quando a resposta recebida, o roteador usa a tabela de traduo para
alterar o endereo e porta de destino para o endereo e porta da mquina que originou a
requisio fazendo a entrega. A entrada na tabela de traduo de endereos mantida
at o trmino da conexo.

19

Programa capaz de fazer filtro de pacotes em um roteador baseado em Linux. Regras so criadas a
partir do IPTABLES para configurar o cerne do Sistema Operacional, permitindo ou no a passagem de
pacotes.

40

www.projetoderedes.kit.net

Endereo
de Origem

Porta
de Origem

Endereo
de Destino

Porta
de Destino

Porta Local

Conexo 1
Conexo 2
...
Conexo n
Figura 17 Tabela de traduo de endereos.

Mascarar (Masquerade)
Quando o servio de traduo de endereos utilizado para prover acesso de
uma rede falsa rede mundial de computadores, onde os endereos IP so endereos
reais e conhecidos pelos roteadores mundiais, necessrio o uso de mscaras de
endereos, ou seja, o masquerade utilizado para solues de problemas onde uma rede
de endereo falso e reservado troque informaes com uma outra mquina externa com
endereo real e vlido.
O servio de mscaras necessrio porque na internet no existem rotas para
endereos reservados de uso em redes internas. A comunicao dos endereos de uma
rede interna com a internet feita atravs do roteador que liga as duas redes, porm o
simples repasse dos pacotes de uma rede a outra causaria o problema no receptor, que
est na rede mundial, pois no saberia a quem responder (o endereo de origem um
endereo reservado). necessrio que o roteador que faz a ligao entre as redes faa a
mudana do endereo de origem para o seu prprio vlido na internet e conhecido.
utilizada a tabela de traduo de endereos para o conhecimento do roteador dos
trfegos entre mquinas e a mudana (traduo) dos endereos de origem e destino. Na
Figura 18 mostrado o processo das mscaras.

200.254.25.6

10.17.1.1

Internet

Rede Interna
Roteador

Servidor
200.254.4.55

Cliente interno
10.17.1.2

200.254.4.55:80 << 200.254.25.6:1456

200.254.4.55:80 << 10.17.1.2:1025

200.254.4.55:80 >> 200.254.25.6:1456

200.254.4.55:80 >> 10.17.1.2:1025

Figura 18 Traduo de Endereos com mscara.

www.projetoderedes.kit.net

41

A mquina 10.17.1.2 requisita uma pgina HTML ao servidor de pginas


200.254.4.55. Entre eles, o roteador utiliza o seu endereo vlido na internet
(200.223.25.6) para modificar o endereo de origem da requisio e faz a entrada na
tabela de traduo. O servidor de pginas responde ao endereo de origem (modificado
para o roteador). O roteador recebe o pacote, verifica na sua tabela de traduo se existe
uma entrada daquele endereo e, caso positivo, muda, desta vez, o endereo de destino
para o endereo reservado e interno da mquina que fez a requisio (10.17.1.2).
Esta traduo feita em todos os tipos de troca de informaes entre qualquer
mquina interna com qualquer mquina na internet, criando uma mscara entre a
conexo dos dois pontos.

Traduo de Portas (PAT)


A Traduo de Portas feita quando necessrio um re-direcionamento de
pacotes e servios de uma determinada mquina a outra. O caso mais comum de
direcionamento de portas (servios) quando uma instituio possui um nmero
limitado de endereos IP reais e vlidos na rede mundial de computadores e precisa
prover servios onde necessrio este endereo com mais de uma mquina.
O firewall faz o re-direcionamento de servios esperando conexes em portas
especficas, modificando o endereo de destino para uma mquina interna com endereo
falso e gravando estas informaes na tabela de NAT para as respostas.
A Traduo de Portas tambm utilizada para balanceamento de servios,
fazendo o direcionamento de portas conforme a quantidade de requisies, balanceando
entre dois ou mais servidores.
O caso mais comum de utilizao de traduo de portas com finalidade de
servios de Transparent Proxying (Procuradores Transparentes), onde o firewall
encaminha requisies em uma determinada porta para uma outra mquina, ou
simplesmente outra porta no servidor, onde existe um servio de procurao para as
conexes (neste caso sem o conhecimento do cliente, ou seja, transparente).

www.projetoderedes.kit.net

42

3.1.3. Servio de Procurao (Proxy)


O servio de procurao, proxy na lngua inglesa, prov o acesso internet para
uma ou mais mquinas numa rede, por meio de um protocolo de comunicao no qual o
servidor proxy faz a comunicao com o servidor real para o cliente.
O servio de procurao utilizado em solues de proteo de redes, pois
facilmente configurado como o nico ponto de comunicao com a internet,
aumentando significativamente as defesas. O fator fundamental no uso do proxy para
defesa que no necessria a configurao de defesas mais apuradas em cada estao
que acessa a internet; preciso apenas fazer tal modificao no nico ponto de acesso: o
servidor proxy.
O acesso a servidores na internet feito por meio do procurador, funcionando
transparentemente para o servidor real e o cliente interno, no qual o procurador est
servindo. Por meio da instalao e configurao de um pequeno cliente na estao de
trabalho interna, todas as requisies de determinado servio so direcionadas ao
servidor procurador, que se encarrega de requisitar o servio ao servidor real e devolver
ao cliente interno. Segundo Zwicky, Cooper e Chapman (2000, p.225), O usurio tem a
iluso de lidar diretamente (ou quase diretamente) com o servidor na internet, com um
mnimo de interao direta com o dual-homed host (traduo nossa).

Figura 19 Procuradores: realidades e iluses.

A forma de funcionamento dos servidores proxy varia conforme os servios.


Alguns servios provem o servio de procurao automaticamente; outros necessitam

www.projetoderedes.kit.net

43

mudanas no Sistema Operacional do cliente ou de um cliente especfico instalado na


estao cliente.

Proxy-Aware Application Software


Neste tipo de procurador, o software necessita saber como conectar ao servidor
de proxy, ao invs de saber como conectar ao servidor real. Alguns exemplos deste tipo
de configurao so o servio de procurao Igateway e os navegadores internet
Netscape Navigator e Internet Explorer.
O Igateway um cliente para servios de procurao dos protocolos FTP e
Telnet que apenas funcionam em mquinas Sun20.
Os navegadores para pginas internet Netscape Navigator e Internet Explorer
possuem clientes de procurao para os protocolos FTP, HTTP, HTTPS, SOCKS e
Gopher.

Proxy-Aware Operating System Software


Neste tipo de procurador, o Sistema Operacional da estao de trabalho
modificado, fazendo com que os servios de proxy sejam transparentes aos programas.
O Sistema Operacional checa se uma requisio deve ser enviada ao servidor proxy.

Proxy-Aware User Procedures


Neste tipo de procurador, o usurio usa o software cliente, que no sabe ou no
tem opo de configurao de servios de procurao, para conectar ao servidor de
procurao e solicitar ao servidor de procurao que conecte ao servidor real.
O usurio deve seguir procedimentos para que o servio de procurao funcione,
por exemplo, no servio de procurao do protocolo FTP: o usurio utiliza um cliente
comum de FTP, porm faz a conexo ao servidor de procurao ao invs de conectar-se
ao servidor real. Quando conectado no servidor de procurao, o usurio especifica,
alm do nome e senha, o servidor real que deseja conectar.

20

Sun Sistema Operacional UNIX (SunOS) criado pela Sun Microsystems.

www.projetoderedes.kit.net

44

Proxy-Aware Router
Neste tipo de procurador, o servio de procurao totalmente transparente ao
usurio, Sistema Operacional e software cliente. As conexes so desviadas ao
procurador pelo roteador entre a estao cliente e o servidor real. O roteador tem que
possuir este tipo de funcionalidade para que seja possvel este tipo de servio, podendo
tambm fazer ele mesmo o servio de procurao.
Este tipo de procurao chamada de hbrida, pois necessrio o uso de filtro
de pacotes ou servios de proxy transparente.

3.1.4. Arquiteturas
A configurao da forma de proteo por um firewall varivel conforme a
necessidade e composio na qual a rede da instituio est implantada. Para cada tipo
de rede necessria a configurao de um tipo de firewall. Existem conceitos padro
para a construo da arquitetura de proteo de rede, porm as regras sempre so
mudadas e institudas conforme a poltica de segurana de instituio. Atualmente,
existem algumas variaes nas arquiteturas principais de firewalls, onde esto se
constituindo novos paradigmas e padres.
As arquiteturas principais dos firewalls so: [1] Dual Homed Host; [2] Screened
Host; [3] Screened Subnet.

Dual Homed Host


Do ingls, Mquina de Duas Casas, composto de um nico sistema com pelo
menos dois dispositivos de rede. Este sistema normalmente configurado de tal forma
que os pacotes no so diretamente passados de uma rede para outra. As mquinas da
internet podem se comunicar com o firewall da mesma maneira que as mquinas da rede
privada, porm o trfego entre as duas redes controlado pelo firewall.

www.projetoderedes.kit.net

45

Figura 20 Arquitetura de firewall Dual Homed Host.

Neste tipo de arquitetura, o firewall pode agir como o roteador entre estas redes,
porm; na arquitetura chamada de Dual Homed Host, a funcionalidade de roteador
desabilitada, assim como a comunicao entre redes (roteamento entre redes). Para a
comunicao das mquinas internas para mquinas externas (internet) so utilizados
servios de Proxy.

Figura 21 Arquitetura de firewall Dual Homed Host com comunicao via Proxy.

www.projetoderedes.kit.net

46

Screened Host
A arquitetura Screened Host, assim como na arquitetura Dual Homed Host,
disponibiliza os servios de proteo com uma mquina ligada a duas redes, porm os
servios de rede so disponibilizados por uma mquina ligada a rede interna. Neste tipo
de arquitetura, a segurana feita atravs de filtro de pacotes no roteador que liga as
duas redes.
A mquina interna responsvel pelos servios de rede chamada de bastion
host21.

Figura 22 Arquitetura Screened Host.

O roteador (Screening Router) configurado para que a nica mquina que


receba conexes e requisies externas seja o Bastion Host; porm, mesmo sendo a
nica mquina que recebe conexes, o roteador configurado de modo a permitir
somente os servios definidos (filtrando os demais). Devido ao perigo eminente que o
Bastion Host submetido, a definio de segurana desta mquina total.
O roteador tambm responsvel pela permisso da conexo da rede interna
rede externa diretamente ou indiretamente. possvel haver 3 tipos de permisses: [1]
no permitido nenhum tipo de conexo direta a rede externa, apenas por meio de
Servidores Proxy; [2] permitido o acesso de mquinas internas rede externa, com
filtro de pacotes e servios; [3] apenas permitido o acesso rede externa para somente
21

Bastion Host qualquer mquina responsvel por um tipo de servio a mquinas numa rede externa.

www.projetoderedes.kit.net

47

algumas mquinas definidas pela poltica de segurana interna, deixando a conexo das
demais mquinas por meio de Servidores Proxy ou no permitindo o acesso a rede
externa.

Screened Subnet
A arquitetura de firewall Screened Subnet adiciona mais segurana arquitetura
Screened Host retirando o bastion host da rede interna, colocando-o numa rede
perifrica e isolando esta rede perifrica da rede interna.
A Screened Subnet considerada como o ltimo nvel de arquitetura em
firewalls, isolando totalmente os bastion hosts, pontos que podem ser atacados
diretamente. O impacto na segurana significativo, apesar do aumento na
complexidade de rotas e configurao de filtros e regras, pois so necessrios dois
roteadores com filtragem de pacotes (um roteador externo e outro interno) e uma nova
rede separada da rede corporativa interna.

Figura 23 Arquitetura Screened Subnet.

A segurana nesta arquitetura maior, pois, ao contrrio das arquiteturas


anteriores e suas variaes, quando um bastion host sofre uma invaso, a rede interna
no est vulnervel, necessitando que ainda seja quebrada a segurana no segundo

www.projetoderedes.kit.net

48

roteador. O nvel de complexidade tambm aumenta para o invasor que no tem


conhecimento dos endereos falsos da rede interna, nem sequer a rota para tais
mquinas.
A configurao da filtragem de pacotes nos dois roteadores est separada,
podendo ter, no roteador interno, regras mais rigorosas de filtragem e negao de
servios, enquanto so inviveis certos tipos de filtragem de pacotes no roteador
externo. Alguns exemplos de filtragem que podem ser implantados nos roteadores
internos so: [1] criao de regras para permisso de conexes para somente servios
em servidores proxy, fazendo com que as mquinas internas s possam utilizar servios
internet atravs de procuradores; [2] criao de regras para permisso de abertura de
conexes da rede interna para externa, somente neste sentido, ou seja, somente a rede
interna poder abrir conexes, evitando conexes a back-doors22, mquinas infectadas
por vrus ou com programas de precedncia duvidosa.
O uso da rede perifrica vantajoso porque, em invases a bastion hosts, no
possvel fazer monitoramento da rede interna, muito menos escutar o seu trfego,
impossibilitando o roubo de informaes sigilosas como senhas de acesso e contas de
usurios.

3.1.5. Polticas e Regras


Para a criao de um ambiente seguro preciso tomar certo cuidado sobre
alguns pontos que no so necessariamente softwares ou dispositivos. O cuidado sobre
segurana deve ser uma filosofia de funcionamento dentro das instituies e estar em
nvel mais alto do que meros programas.

Privilgio Mnimo
O princpio fundamental da segurana o principio do privilgio mnimo.
Quanto menos privilgios e direitos tiverem os funcionrios, softwares ou qualquer
coisa relacionada, mais seguro estar o ambiente.
O princpio do privilgio mnimo significa dar ao objeto (mquinas, usurios,
etc) os direitos apenas necessrios para o seu funcionamento ou trabalho. No
22

Back-door Porta de Trs Servios que funcionam numa mquina permitindo a conexo de pessoas
externas sem qualquer tipo de verificao e com super privilgios.

www.projetoderedes.kit.net

49

necessrio que os usurios tenham acesso de gravao (ou at mesmo leitura) aos
arquivos de configurao de um sistema. preciso definir meios para que sejam
delegadas capacidades de acesso restritas ao objeto; se um funcionrio encarregado
pelo backup da empresa, delegado acesso de somente leitura aos arquivos que devem
ser guardados e gravao no dispositivo de gravao do backup, se possvel, somente
por meio de um programa e em horrios definidos.

Defesa em Profundidade
Para que as defesas sejam efetivamente asseguradas so necessrias algumas
precaues sobre nveis de segurana, redundncia e educao de pessoal.
Num ambiente seguro necessrio que sejam tomadas medidas como backups
peridicos, redundncia de firewalls, firewalls em nveis internos, educao dos
funcionrios sobre segurana, segurana individual das mquinas, etc.
muito importante a profundidade das defesas, pois em momentos de falhas ou
quebras de segurana, as dificuldades de ataque para pessoas mal intencionadas ainda
continuam altas.

Ponto de Estrangulamento (Choke Point)


O ponto de estrangulamento, do ingls choke point, o ponto onde todo o
trfego de uma determinada rede passa. uma poltica de segurana bastante comum,
onde obrigatrio que o trfego passe por um ponto e a segurana focalizada neste
ponto.
Numa defesa com firewalls, o ponto de estrangulamento justamente os
screening routers, redes perifricas e todos os componentes do firewall.

Ponto Mais Fraco


O ponto mais forte na defesa de rede justamente o ponto mais fraco da rede, ou
dispositivos que a defendem.
Os atacantes sempre iro procurar qual o servio mais vulnervel para que
possam efetuar as tentativas de ataque e invaso, portanto, de muita importncia que
os pontos mais fracos na defesa de redes sejam monitorados quando no possam ser
desativados.

www.projetoderedes.kit.net

50

Num ambiente de defesa com firewalls, depois dos bastion hosts, os pontos
fracos do choke point so os mais atacados.

Falha Segura
necessrio que sejam previstos os casos de falhas, em quaisquer nveis, para
que as falhas sejam tratadas de forma segura.
As falhas devem ser tratadas de forma que cortem todo o acesso aos sistemas,
recursos e tudo mais que seja importante para o ambiente de rede. importante que seja
entendido que, em caso de falhas e corte de acesso aos recursos aos usurios externos,
tambm cortado o acesso para os usurios internos; o sistema est em estado de falha!
Definindo as regras padro a serem tomadas quando em estado de falhas, ficam
duas possibilidades:

Tudo que no explicitamente permitido proibido;

Tudo que no explicitamente proibido permitido.

Participao Universal
importante que todos os participantes da rede (funcionrios numa instituio,
por exemplo) estejam de acordo com as polticas e participem das responsabilidades
necessrias ao funcionamento.
Em nada adianta as polticas de segurana com firewalls bem configurados e
ambientes seguros, se um funcionrio tem acesso a redes externas por meio de conexes
discadas ou formas semelhantes.
A participao deve ser voluntria e em casos de no participao, necessrio
que sejam tomadas medidas para a participao. A melhor dela deve ser a que leve
participao voluntria.

Diversidade de Defesa
Para que um ambiente esteja realmente seguro necessrio que haja, em pontos
estratgicos, o uso de defesas com redundncia ou programas diferentes.
A diversidade na defesa importante, pois nenhum programa ou dispositivo
infalvel e, o uso de mais de uma soluo, acaba minimizando os problemas em casos de
tentativas de ataques e invases.

51

Um bom exemplo que justifica o uso de mais de uma poltica de defesa so os


vrus de computadores. Geralmente os programas antivrus no acertam no diagnstico
de vrus em um determinado arquivo, porm um outro poderia acertar.
3.1.6. Segurana das Mquinas em Rede
A segurana dos meios de transmisso e dos servios no suficiente para
manter a segurana da rede; preciso que todas as mquinas que so possveis alvos de
ataques e de tentativas de invaso, como os bastion hosts e screening routers, sejam
configuradas de modo a manter o maior nvel de segurana possvel.
Para a manuteno da segurana nas mquinas, preciso que sejam seguidos
alguns procedimentos bsicos:

Desligamento de todos os servios que no so necessrios na mquina. Um


servidor de e-mails no precisa ter o servio de HTTP funcionando, a menos
que seja tambm servidor de pginas. A parada dos servios desnecessrios
tambm aumenta a quantidade de memria livre e libera mais tempo de
CPU.

Os servios TCP e UDP que estejam habilitados nos roteadores e so


necessrios devem ter liberado o acesso para apenas administradores e
mquinas especficas.
Os servios remotos nos roteadores (source routing23, configurao remota)

devem ser desabilitados.

As portas (servios) de gerenciamento nos roteadores devem estar


protegidas e as desnecessrias devem ser desabilitadas.

As senhas de mquinas importantes na rede devem ter senhas durveis.


Ter pelo menos oito caracteres de tamanho, no ser palavras, no comear com
nmeros, ter letras, nmeros e incluir pelo menos um dos caracteres especiais (isto
,./<>;:[]\{}|~!@#$%^&*()_+`-= ). As senhas devem ser alteradas em no mximo 90
dias..(SNAC, 2001, p.9) (traduo nossa).

Todo acesso a qualquer servio deve ser registrado nos arquivos de registro
do sistema.

23

Source Routing Rota pela Fonte Servio de definio de rotas baseadas na origem do pacote. Fazem
parte do pacote Rotas Avanadas ao contrrio dos servios de rotas comuns que indicam apenas rotas
de destino sem verificar a origem do pacote.

www.projetoderedes.kit.net

52

As contas de usurios devem ser limitadas aos servios para qual foram
configuradas. Se o usurio tem uma conta de e-mail num servidor, sua conta
deve apenas ter acesso aos servios de SMTP e POP (IMAP em alguns
casos). Se possvel, limitar o tempo de ociosidade do usurio (tempo parado
e conectado no servio) e quando o usurio pode efetuar conexo (horrios
para conexo).

3.2. Sistema de Deteco de Intruso (IDS)


O processo de monitorao de eventos ocorridos num sistema de computadores
ou na rede que engloba a procura de sinais de invaso, tentativas de corrupo da
confiabilidade, integridade, disponibilidade ou transposio da segurana,
denominado como deteco de intruso. O Sistema de Deteco de Intruso aquele que
(em software ou hardware) faz este monitoramento, de forma automatizada, tomando
decises aos estmulos gerados pelos fatos ocorridos.
O Sistema de Deteco de Intruso utilizado por instituies como forma
complementar para proteo de redes de computadores, monitorando o comportamento
da rede ou de uma simples mquina procura de tentativas de invaso que tenham
burlado ou passado por outros mecanismos de rede. No entanto, a sua instalao num
ambiente de rede no garante a sua segurana, sendo necessrio o uso dos meios
comuns de proteo como firewalls, servidores de antivrus, etc.

3.2.1. Mtodo de Deteco


Os IDS necessitam capturar e analisar os dados para ento alertar sobre possveis
tentativas de ataque. Existem diversos tipos de captao dos dados para anlise, porm
os mtodos de deteco para a anlise so mais restritos e basicamente se dividem em
dois grandes grupos.

Baseado em Comportamento
No tipo de deteco baseado no comportamento, o IDS faz um estudo sobre o
comportamento da utilizao de recursos, horrio da utilizao, tipo de aplicaes
usadas, etc, gerando um padro de comportamento considerado normal. Os estudos vo

www.projetoderedes.kit.net

53

desde o uso de CPU, carga de rede e mdia de uso da memria a horrios de conexo,
tipo de aplicao para cada usurio e comportamento de utilizao dos sistemas.
Quando definido um comportamento padro para o ambiente testado, o IDS
passa a comparar todo o uso dos recursos ao estudo prvio, decidindo o que um mau
uso ou ataque. Por exemplo, para um determinado usurio que possui o hbito de
utilizar o sistema somente em horrio comercial e executar aplicativos simples como
leitores de e-mail e navegadores, entrar no sistema s quatro horas da manh e compilar
uma dezena de programas um forte indcio de uma invaso.
O uso da deteco baseada no comportamento pode gerar falsos alertas ou no
detectar certos movimentos. A atualizao anual de um servidor pode ser alertada como
ataque pelo grande fluxo de arquivos em um determinado horrio, quando no comum
o uso da mquina (horrio adequado para a tarefa de atualizao); ou um invasor que,
conhecendo as configuraes do IDS, faz o uso de ferramentas para que seu
comportamento destrutivo seja visto como normal.

Baseado em Conhecimento
No tipo de deteco baseado no conhecimento, o IDS procura por assinaturas de
ataques previamente configuradas, tal como programas de antivrus. O IDS procura por
seqncia de aes no aceitveis ou por seqncia de bits que caracterizam uma
assinatura de ataque. As assinaturas de ataques necessitam ser constantemente
atualizadas e um novo tipo de ataque pode passar pelo IDS pela falta de uma regra para
a sua captura.

3.2.2. Arquitetura
A arquitetura de um IDS est ligada forma como seus componentes funcionais
encontram-se arranjados em relao uns aos outros. Os fatores que mais influenciam na
arquitetura de um IDS so a localizao e o alvo.
Segundo o Alvo
Na diviso da arquitetura do IDS segundo o alvo, o fator analisado a fonte de
dados que ser trabalhada. Existem trs tipos de IDS:

54

www.projetoderedes.kit.net

Baseada na mquina (host-based): O IDS captura informaes em um


computador individual, fazendo uma anlise profunda e precisa sobre o tipo
de

ataque,

os

estragos

feitos,

usurios

envolvidos

processos

comprometidos. Todavia, fica restrito a mquina que est instalado. So


utilizados como fonte de pesquisa os arquivos de auditorias de sistemas e os
arquivos de registros (syslog). As vantagens do IDS baseado na mquina
so: [1] deteco de ataques que nenhuma outra arquitetura poderia detectar;
[2] pode operar em ambientes de rede criptografados; [3] no h problemas
onde as mquinas so interligadas com switches. As desvantagens: [1] so
difceis de monitorar, pois necessitam que seja configurada cada mquina
monitorada; [2] por fazer parte da mquina atacada, pode ser atacado e
desabilitado; [3] no detecta eventos de rede que no so diretamente
direcionados a sua mquina; [4] por utilizar os arquivos de auditoria do
Sistema Operacional, necessrio bastante espao de disco para tais
arquivos; [5] utilizam recursos computacionais da mquina que protegem.

Baseada na rede (network-based): O IDS captura as informaes


diretamente da rede, fazendo a anlise de todos os pacotes que trafegam em
determinados protocolos. Podem funcionar de forma invisvel, ou seja,
sem endereo IP vlido na rede que monitora e tambm pode ter mais de um
dispositivo de rede (sensores). As vantagens do IDS baseado na rede so:
[1] poucos IDSs podem monitorar uma rede de computadores ampla; [2] o
impacto no funcionamento da rede nulo ou quase nulo, pois utilizada
uma mquina exclusiva para o IDS; [3] podem ser altamente seguros contra
ataques, pois podem ser configurados de forma invisvel. As desvantagens
so: [1] podem falhar e at mesmo no funcionar em ambientes com muito
trfego de rede ou que esto em velocidades altas, pois no acompanham a
velocidade do trfego de informaes; [2] no funcionam em ambientes
onde a rede interligada por switches; [3] no pode operar em ambientes de
rede criptografados; [4] IDS baseado na rede no consegue informar se o
ataque foi ou no efetuado com sucesso.

www.projetoderedes.kit.net

55

Baseada na aplicao (application-based): Particularidade do IDS baseado


na mquina, o IDS baseado na aplicao monitora eventos entre softwares e
usurios a procura de mau uso de sistemas. Geralmente utiliza arquivos de
registros de transaes (transaction logs) das mquinas procura de
invases e ataques. As vantagens do IDS baseado na aplicao so: [1] pode
monitorar atividades entre usurios e aplicaes, verificando m atividade
de certos usurios; [2] pode operar em ambientes criptografados, pois
trabalham com arquivos de transao que esto em formato decriptado. As
desvantagens so: [1] pode ser mais vulnervel do que o IDS baseado em
mquina, pois os arquivos de transao de aplicaes no so to bem
protegidos como arquivos de sistema; [2] somente detecta problemas de
aplicaes de usurios, sem habilidades de monitoramento de Cavalos de
Tria24, ataques, invases e similares.

Segundo Localizao
O segundo aspecto que tambm muito importante para a arquitetura do IDS
onde e como estaro distribudos os componentes de um IDS. O mdulo de captura,
anlise e alerta de um IDS podem estar todos separados em vrias mquinas na rede ou
todos reunidos somente em uma mquina. Para Bace e Mell (2001, p.10), Estratgia de
Controle descrevem como os elementos de um IDS so controlados e, ainda, como as
entradas e sadas de um IDS so gerenciadas (traduo nossa).
As estruturas centralizadas tm a vantagem de facilidade de instalao
configurao, operao e ganho de desempenho. A simplicidade de manuteno e
desenvolvimento garante vantagens em relao s demais arquiteturas, porm a
complexidade dos sistemas atuais aliada diversidade e dimenses da maioria das
instalaes computacionais, requer que sejam utilizadas solues descentralizadas.
Os sistemas de proteo de redes de computadores requerem redundncias para a
tolerncia falhas ocasionando em maior segurana. Este fator leva a instalao de uma
arquitetura descentralizada com mdulos separados e independentes trocando
informaes entre si e garantindo esta redundncia. O uso de tal arquitetura, no entanto,
leva complexidade na troca de informaes entre os mdulos, problemas como
24

Pequenos softwares que realizam tarefas destrutivas no sistema como um todo.

www.projetoderedes.kit.net

56

algoritmos criptogrficos, protocolos de autenticao, tcnicas de deteco de falhas,


assinatura digital e a prpria troca de informaes entre os componentes, elevando os
problemas de controle do uso das redes e desempenho da aplicao.
Os sistemas hbridos so configurados de forma a fazer a interao entre
sistemas com arquitetura centralizada e distribuda, tirando proveito das vantagens
individuais de cada um e selecionando a melhor soluo para cada sub-rede dentro de
uma rede corporativa e ampla.
Bace e Mell (2001, p.12) dividem os IDS segundo a localizao, em trs formas:
[1] controle centralizado; [2] parcialmente distribudo, onde so utilizados sistemas
distribudos e centralizados reportando hierarquicamente a um componente principal;
[3] totalmente distribudo.

3.2.3. Comportamento Ps-deteco


Quando descoberta a informao do evento, o IDS necessita tomar uma deciso.
O comportamento do IDS diante de um evento (variando entre ataques, tentativas, etc.)
conhecido como Resposta ao Evento e dividido em resposta passiva ou resposta
ativa.

Ativo
As respostas ativas a uma informao de uma ao so aes automatizadas
exercidas pelo IDS na busca de coleta de informaes adicionais sobre o ataque,
mudana do ambiente de rede na qual o atacante tenta invadir, aes contra o invasor,
dentre outras.
Os Sistemas de Deteco de Intruso mais inteligentes tomam uma srie de
aes no momento da invaso, onde so guardadas todas as informaes sobre os passos
tomados pelo atacante, estados dos sistemas e da rede; re-configurao de firewalls e
roteadores para preveno de novos ataques; envio de pacotes TCP para reincio de
conexo (Captulo 2, Seo 3) e aes contra o atacante, como varredura de portas e
outras medidas hostis (este ltimo bastante perigoso e desaconselhado por motivos de
falhas na deteco, ilegalidade da ao e ataques a redes e usurios inocentes).

www.projetoderedes.kit.net

57

Passivo
As respostas passivas so mais comuns em IDS e finaliza o processo de captura,
anlise e alerta de intruso. Utilizadas apenas para informao de intruso, para aes
posteriores de outros sistemas ou interveno humana, as respostas passivas podem ser
alarmes e notificaes, em arquivos de sistema, e-mail, pager, snmp traps25, etc.

25

Eventos gerados para um servidor de gerncia de rede utilizando o protocolo SNMP, protocolo
desenvolvido para monitoramento e gerncia de redes.

58

www.projetoderedes.kit.net
3.3. Ataques e Vulnerabilidades

Os ataques contra redes de computadores aumentam consideravelmente a cada


ano, tornando cada vez mais necessrio o uso de mecanismos de defesa, a fim de
minimizar a ao de invasores e pessoas mal intencionadas. Segundo o CERT26, at
novembro do ano de 2001, foram cadastrados mais de 30.000 ataques contra redes e
mquinas (Figura 23), indicando um aumento de quase 100% em relao ao ano
anterior.

CERT: Incidentes Reportados

Nmero de Incidentes

34754

21756

9859

132

252

406

1989

1990

1991

773

1334

2340

2412

2573

2134

1992

1993

1994

1995

1996

1997

3734

1998

1999

2000

2001

Ano

Figura 24 Incidentes Reportados ao CERT nos ltimos anos.

A grande maioria dos ataques registrados tem como causa a falta de cuidado dos
administradores de rede, problemas de erros em aplicativos e nos Sistemas Operacionais
e a m configurao dos servios. Apenas alguns poucos ataques so resultados de uma
explorao da fragilidade dos protocolos de rede ou um esforo mais inteligente de um

26

CERT Computer Emergency Response Team http://www.cert.org. Centro de pesquisas sobre


incidentes de segurana.

www.projetoderedes.kit.net

59

cracker27, significando que a simples criao e implantao de polticas de segurana,


aliado a uma boa conduta e administrao dos sistemas e redes reduz consideravelmente
os ndices de ataques e invases.
Outro fator importante que visvel no cenrio atual a banalizao e facilitao
do acesso a ferramentas de ataques cada vez mais fceis de operar, sem necessitar do
conhecimento profundo pelo atacante para uso indiscriminado que tem aumentado os
problemas de ataques enfrentados pelas instituies. Estes tipos de ferramentas so
denominados script kiddies, programas criados por crackers para explorar a fragilidade
de Sistemas Operacionais e vulnerabilidade dos servios ou sua m configurao.
A explorao de erros, uso de fragilidades e grande criatividade dos atacantes
ocasionam em um grande nmero de ataques diferentes. Estes ataques geralmente esto
baseados nas mesmas fragilidades e erros, mudando apenas o nome, alvo e intensidade
do uso. A corrupo dos sistemas ocorrida de maneira bem especfica, ocasionando
alguns tipos de permisses e acessos aos atacantes. Os tipos de ataques esto
catalogados pelo nvel de violao e, segundo Bace e Mell (2001, p.40), so:

Confiabilidade: Causam violao da confiabilidade permitindo o atacante ter


acesso a dados sem necessidade de autorizao.

Integridade: Causam violao da integridade permitindo o atacante mudar


estados do sistema ou qualquer dado residente ou que est passando no
sistema.

Disponibilidade: Causam violao de disponibilidade permitindo o acesso


aos recursos do sistema violado quando, onde e da maneira que o atacante
necessite.

Controle: Causam violao de controle que garante ao atacante privilgio


sobre a poltica de controle de acesso do sistema (sem autorizao). Estes
privilgios podem permitir que o atacante force os demais nveis de
violao.

27

Cracker Pessoa com conhecimentos profundos em sistemas que usa estes conhecimentos com
finalidade negativa como crimes eletrnicos.

www.projetoderedes.kit.net

60

3.3.1. Engenharia Social


A engenharia humana a forma de obteno de dados mais perigosa e difcil de
ser combatida, porque feita atravs de contato direto com pessoas para coleta de
informaes importantes.
O atacante pode reunir informaes sigilosas sobre usurios username e senha
de acesso apenas utilizando ligaes para pessoas-chave dentro de setores de uma
instituio e at mesmo coleta-las atravs do setor de informtica da empresa. Dessa
forma, a poltica de segurana de uma instituio tem que ser bem explcita e clara sobre
casos desses tipos.
Outro ponto importante na obteno de informaes utilizando engenharia
humana est ligada a ex-funcionrios. Pessoas com m inteno podem facilmente
conseguir senhas para acesso apenas ligando para ex-funcionrios; inclusive aqueles
que no tm seus passes desabilitados ou apagados podem utiliz-los com ms
intenes.

3.3.2. Explorao de Erros e Vulnerabilidades


A explorao de erros e vulnerabilidades de sistemas um dos meios mais
comuns utilizados para incio de ataques. O monitoramento e constante pesquisa sobre
vulnerabilidades dos sistemas instalados so as melhores maneiras de garantir a
segurana em altos nveis. Fazem parte destes procedimentos a atualizao de verses
dos programas, a instalao de correes de segurana e o uso de sistemas de notcias
sobre segurana.
Segundo Campello e Webers (em fase de elaborao), os principais tipos de
vulnerabilidades citados no relatrio elaborado pelo NIST (National Institute of
Standards and Technology), so os seguintes:

Erro na validao de entrada: Erros causados por entradas de dados


indevidamente tratadas, ou seja, conjuntos de dados no especificados que
geram resultados inesperados quando inseridos no sistema. O mais comum
denominado de buffer overflow: os dados recebidos pelo sistema so
maiores que o esperado; sem verificao por parte do sistema, esses dados
extrapolam espaos reservados alocao, invadindo posies de memria

www.projetoderedes.kit.net

61

reservados a outros tipos de dados, podendo causar execuo de rotinas no


autorizadas ou paralisaes.

Erro na validao de acesso: Erros de projeto ou implementao que


ocasionam em falhas nos mecanismos de controle de acesso.

Erro de tratamento de excees: Erros ocasionados por m manipulao de


excees ocorridas.

Erro de ambiente: Problemas de segurana em programas causados pelo


ambiente onde ele est inserido.

Erro de configurao: Vulnerabilidades ocasionadas por m configurao


dos sistemas. Os sistemas tornam-se inseguros por erro na configurao
efetuada pelo usurio.

Condies de corrida: Ocorrem quando existe um atraso entre o momento


em que o sistema verifica se uma operao permitida e a efetivao dessa
operao. Nesse espao de tempo, aes ilegais podem ser executadas.

A vulnerabilidade de servios geralmente explorada pelos atacantes atravs da


unio com outros tipos de ataques. Fingindo estar em outra mquina (falsificao de
endereos IP, item 5), o atacante pode facilmente utilizar os servios da mquina vtima
utilizando os servios de rlogin, rsh, etc., pois tais servios possuem arquivos de
relaes de confiana em mquinas (/etc/hosts.equiv e ~/.rhosts), excluindo a
necessidade de senhas para validao por parte de usurios autenticados em alguma
destas mquinas confiveis. Outro programa bastante inseguro o finger. Usurios
autenticados num Sistema Operacional, podem facilmente utilizar o programa finger e
conseguir informaes importantes sobre usurios conectados no sistema naquele
momento ou conseguir informaes mais detalhadas destes (nome, username, etc.).

3.3.3. Bisbilhotagem de Pacotes (Packet Sniffing)


A checagem de pacotes uma tcnica utilizada em casos benignos e malignos.
Todos os pacotes IP que trafegam, devido forma pela qual as redes foram projetadas,
passam por todas as mquinas, com raras excees como nos casos de redes que
utilizam switches. Diante desse tipo de configurao, uma mquina qualquer pode
conferir todos os pacotes, mesmo aqueles que no se destinam a sua mquina. Este

www.projetoderedes.kit.net

62

processo de farejamento (sniffing) da rede chamado de bisbilhotagem de pacotes, do


ingls packet sniffing. Existem dois tipos de bisbilhotagem e em ambos os casos,
necessrio que o atacante j tenha obtido acesso em alguma mquina na rede interna. Os
tipos de bisbilhotagem de pacotes so: [1] Passivo, onde s so observados os pacotes
sem alterao; e [2] Ativo, onde o atacante pode alterar e gerar novos pacotes.

3.3.4. Varredores de Portas (Port Scanners)


A varredura de portas TCP e UDP o primeiro passo tomado quando existe a
inteno de ataque a uma mquina sem que se saiba quais so os servios instalados.
Com a nica inteno de descobrir os servios que esto funcionando e, em alguns
casos, qual o Sistema Operacional da mquina vtima, a varredura de portas no
considerada um ataque, porm vista como um indcio do incio de um.
As formas para varredura de portas evoluram bastante ao longo dos ltimos anos,
porm sempre estaro baseadas no seu princpio bsico: abrir conexes em uma faixa de
portas definidas pelo atacante na mquina ou rede de mquinas vtima. Este processo
pode ser observado na Figura 24.

11:56:20.442740 connect.scanner.net.1141 > victim.cablemodem.com.21:


S 929641:929641(0) win 8192 <mss 536,nop,nop,sackOK> (DF)
11:56:21.191786 victim.cablemodem.com.21 > connect.scanner.net.1141:
S 779881634:779881634(0) ack 929642 win 8576 <mss 1460> (DF)
11:56:21.201490 connect.scanner.net.1141 > victim.cablemodem.com.21:
. ack 1 win 8576 (DF)
11:56:23.954930 connect.scanner.net.1144 > victim.cablemodem.com.37:
S 932103:932103(0) win 8192 <mss 536,nop,nop,sackOK> (DF)
11:56:24.647238 victim.cablemodem.com.37 > connect.scanner.net.1144:
R 0:0(0) ack 1 win 0

Figura 25 Exemplo de varredura de portas.

Na Figura 24, o atacante connect.scanner.net faz uma conexo completa (aperto de


mo de trs vias) com a vtima na porta 21 e recebe uma mensagem dela que no
existem servios esperando conexes na porta 37. Este a maneira mais antiga para
varredura de portas.

www.projetoderedes.kit.net

63

Existem outras formas mais modernas para varredura de portas, uma delas
denominada TCP SYN ou half connect, onde o atacante reinicia a conexo logo aps o
recebimento do pacote de confirmao de conexo da vtima. Outro meio de varredura
de portas o FIN scan, na qual o atacante envia pacotes de finalizao de conexo sem
ter tido nenhum tipo de conexo prvia entre ambos.
Quando a rede est protegida por filtros de pacotes (Captulo 3, Seo 1.1), uma
forma eficiente para que a varredura de pacotes no seja barrada pelo firewall
(screening router) utilizar a varredura de portas invisvel (stealth scan). Esse tipo de
varredura consiste no envio de pacotes como se a conexo j estivesse sido efetuada (os
filtros geralmente negam pacotes de abertura de conexo). Conforme a resposta da
vtima, o atacante saber se existe ou no servio ativo na porta.

3.3.5. Falsificao de endereo IP (Source Address Spoofing)


A falsificao de endereos IP utilizada por atacantes para forjarem a sua
existncia, dificultar o rastreamento pelos administradores de rede, ataques de negao
de servio, uso de privilgios de outras mquinas, etc. Consiste em enviar pacotes de
com endereo de origem forjado para alguma mquina ou conjunto de mquinas.
O uso mais famoso de falsificao de IP foi utilizado por Kevin Mitnick (1995)
para seqestrar (item 7) a conexo do tambm hacker Tsutomu Shimomura. Mitnick,
forjando estar em uma mquina de Shimomura (forjando o seu endereo IP), invadiu
uma mquina na rede de confiana de Shimomura utilizando os servios de rlogin da
mquina vtima.
A falsificao utilizada como ferramenta em vrios tipos de ataques,
possibilitando que sejam mais eficientes, pois enganam, na maioria dos casos,
roteadores e firewalls, fingindo ser quem no .
Para criao de um octeto IP com endereo de origem falso necessrio apenas que
seja alterado o endereo de origem e ento o octeto enviado rede pelo dispositivo de
rede.

www.projetoderedes.kit.net

64

3.3.6. Negao de Servio (Denial of Service)


Os ataques de Negao de Servios so utilizados para paralisao temporria dos
servios de mquinas numa rede. O ataque baseado no excesso de trfego para um
computador (o bastante para que no consiga responder) ou esgotando o processamento
de um servidor por outros meios.
O primeiro ataque DoS28 registrado foi em 1988, quando Robert Morris Jr., na
poca defendendo sua tese de doutorado na Universidade de Cornell, lanou um
programa que se reproduzia atravs de vulnerabilidades dos servios de e-mail
(sendmail), rsh e fingerd dos computadores ligados internet. O programa atuava como
um verme (do ingls, worm), rastejando entres os servidores infectados e procurando
novos computadores para infectar. O problema que Morris no havia previsto que o
worm no era capaz de se detectar na prpria mquina, exaurindo os recursos
computacionais das mquinas infectadas pela re-infeco contnua.
Um dos ataques DoS mais conhecidos o SYN Flood, onde a mquina vtima
recebe uma quantidade enorme de requisies de conexo (SYN), onde o endereo de
origem forjado (flood), estourando o buffer de conexes e retirando a mquina
temporariamente de funcionamento. Esse ataque utiliza a fragilidade do aperto de mo
de trs vias do TCP (Captulo 2, Seo 3), enviando vtima apenas o primeiro pacote
do processo de conexo e ainda com endereo IP forjado (muitas vezes inexistente),
fazendo com que seja perdido tempo na espera de resposta da mquina forjada e
inexistente (o servidor envia o pacote de confirmao de conexo, segundo passo do
aperto de mo de trs vias), abarrotando o buffer de conexes da vtima.
A evoluo do DoS o Distributed Denial of Service (DDoS), do ingls, Negao
de Servio Distribudo. O DDoS consiste em utilizar mais de uma mquina para causar
a negao dos servios das mquinas vtima. Existem vrias maneiras sofisticadas para
a interrupo dos servios e uma delas o ataque denominado de Smurf, no qual so
enviados pacotes ICMP de difuso numa rede com o endereo de origem forjado (com o
endereo da vtima). Ao receberem a mensagem, as mquinas respondem vtima,
interrompendo seus servios com mensagens ICMP de resposta.
Outro tipo de ataque DDoS largamente utilizado para a paralisao e
congestionamento de redes utiliza agentes para envio da mensagem. Conforme Solha,
28

Abreviatura de Denial of Service Negao de Servio em ingls.

65

www.projetoderedes.kit.net

Cicilini e Piccolini (2000), o ataque DDoS tem quatro personagens: [1] atacante, que
coordena o ataque; [2] master, mquina que recebe os parmetros de ataque e repassa
aos agentes; [3] agente, mquina que realmente concretiza o ataque e [4] a vtima.
Ainda sobre o ataque, so comentados os trs passos sobre o ataque: [1] intruso em
massa, onde o atacante coleta e invade mquinas atravs das mais variadas formas de
invaso, elegendo o master e os agentes; [2] instalao do software DDoS no master
(cliente) e nos agentes (daemon) e [3] o ataque propriamente dito que coordenado pelo
atacante, enviado ao master e repassado aos agentes que atacam a vtima. A Figura 25
exemplifica a estrutura do ataque DDoS.

Agente #1

Internet
Atacante

Master

Vtima

Agente #2

Agente #3

Figura 26 Ataque DDoS.

Existem inmeras ferramentas DDoS cadastradas no CERT, todas muito


sofisticadas e cada vez mais amigveis com o usurio. As principais ferramentas
cadastradas so: Trin00, Trible Flood Network (TFN), Trible Floodnet 2k (TFN2K),
Stacheldraht, dscan, Blitznet, Fapi, Trank, Shaft.

3.3.7. Ataques de Seqestro de Conexes (Hijacking Attacks)


Os ataques de seqestro de conexo entre mquinas so os ataques mais complexos
dentre os demais e exploram bastante as vulnerabilidades dos protocolos de rede. Neste
tipo de ataque, existe uma terceira mquina, entre duas mquinas que esto trocando

www.projetoderedes.kit.net

66

informaes, que ir seqestrar a comunicao. Esta mquina denominada de


homem no meio, do ingls, man-in-a-middle.
No ataque de seqestro de conexo, a mquina seqestradora ir quebrar a
seqncia correta de conexo entre duas mquinas. Para isso necessrio que a mquina
atacante utilize tcnicas para prever ou bisbilhotar os nmeros de seqncia que so
trocados conjuntamente com as informaes entre as duas mquinas vtima (os nmeros
de seqncia numa conexo TCP). J com a seqncia da conexo das duas mquinas, a
mquina atacante retira uma delas do ar com ataques por negao de servio (item 6) e
passa a enviar pacotes, como se fosse a mquina que foi interrompida, por meio de
falsificao de endereo IP de origem. Est seqestrada a conexo. A mquina atacante
pode ter acesso s informaes confidenciais que s iriam ser trocadas entre as duas
mquinas vtima.

3.3.8. Vulnerabilidades dos Protocolos de Rede


O protocolo de rede IP e os protocolos a ele relacionados foram projetados sem as
devidas atenes sobre segurana, criando alguns problemas neste mbito. Apesar de
eficientes e de certa forma simples, os protocolos de rede internet so tambm
suscetveis a falhas perigosas.

As falhas por falta de checagem de cabealhos eram, e ainda so em alguns


casos, pontos importantes. Ataques como o LAND, onde os endereos de
origem e de destino so iguais, paralisavam diversos tipos de Sistemas
Operacionais (e ainda paralisam).

O Ping of Death, que consistem em enviar pacotes com tamanho maiores de


65535 octetos (geralmente pacotes ICMP, da o nome ping) tambm foram,
por um bom tempo, problemas na internet. O tamanho mximo permitido de
um pacote no protocolo IP de 65353 octetos.

O Teardrop, ataque que explora uma falha de implementao na montagem


de fragmentos de um pacote IP. Consiste em colocar no endereo de incio
de um fragmento um valor posterior ao endereo de fim do fragmento. Este
ataque faz o Sistema Operacional se desestabilizar apenas tentando remontar
os fragmentos.

www.projetoderedes.kit.net

67

Estes foram alguns exemplos de como o protocolo pode ser usado de forma
destrutiva num ambiente de rede, re-afirmando sua fragilidade de projeto.
Outros protocolos bastante frgeis so os protocolos para redes de Sistemas
Operacionais Windows. Como so protocolos para redes internas necessrio o cuidado
para que nenhuma mquina ou pessoa tenha acesso a servios baseados nestes
protocolos via rede externa. Geralmente encapsulados no protocolo IP, estes protocolos
funcionam como servios nas portas de comunicao 137, 138 e 139 (Anexo B).

3.3.9. Falsos Ataques e Alertas


Os falsos ataques e alertas so suspeitas levantadas por meio de Sistemas de
Deteco de Intrusos, que no passam de simples suspeitas.
Como no possvel acertar todos os diagnsticos, os IDS podem gerar um falso
alerta sobre alguns movimentos permitidos. Um exemplo bem interessante disso o
coordinated traceroute, que um mecanismo utilizado por alguns provedores de
servios para clculo do menor caminho de resposta aos seus clientes.
Outro tipo de falso ataque denominado hoax (do ingls, brincadeira, pea, etc.)
que tem como nico propsito criar pnico a quem administra a mquina ou rede alvo.
Este tipo de brincadeira est se tornando comum e j est sendo considerado como
forma de terrorismo por autoridades mundiais.

www.projetoderedes.kit.net

68

4. Estudo de Caso
O estudo sobre a defesa de redes de computadores comprovou que as solues de
defesa so moldadas s situaes, s condies financeiras e importncia das
instituies. No seria possvel a criao de uma corrente de regras padro para
certificar que a rede de computadores est segura; a segurana advm do uso do bom
senso e cuidados padro. A padronizao sobre segurana est nos mtodos de proteo,
que incluem as ferramentas e procedimentos que devem ser adotados, no podendo ser
aplicadas no modo da implantao.
A defesa de rede privada e construda diante das circunstncias de necessidades;
portanto, o estudo de cdigos para aplicao destas regras depende de um contexto que
criem as condies para essa aplicao.
O exemplo do uso de cdigos para defesa de redes de computadores deste trabalho
ser baseado num estudo de um caso fictcio de uma empresa registrada como Alfa.

4.1. Viso Geral


O estudo de caso apresenta o ambiente de rede da empresa Alfa.
A Alfa uma empresa de Servios Internet (Internet Services Provider) e de
Servios de Atendimento ao Pblico (Call Center). A Alfa tem contrato de prestao de
servios com a empresa Beta que consiste no aluguel de espao fsico para colocao de
uma mquina provedora de servios de pginas HTML e dinmicas e contrato de
prestao de servios com a empresa Gama, que consiste em 20 posies de
atendimento a clientes num Call Center (de propriedade da Alfa) com acesso ao banco
de dados corporativo localizado na sede de Gama.
A Alfa tem um escritrio administrativo no mesmo prdio das instalaes dos
servidores Internet e do seu Call Center. Existe um servidor interno para banco de
dados das informaes corporativas da empresa e servidores de produo da equipe de
desenvolvimento e criao. O servidor de banco de dados corporativo da Alfa
acessado pelos seus servidores Internet e tambm pelos seus servidores internos.
A poltica de segurana para seus usurios no escritrio da sede da Alfa e para os
seus funcionrios do Call Center a seguinte (simplificada):

69

www.projetoderedes.kit.net

1 O acesso internet pelos funcionrios restrito: permitindo somente


navegao em pginas internet.
2 permitido somente o uso de servio de correio eletrnico da instituio.
3 As estaes de trabalho do Call Center no tm acesso aos servios internet.
4 proibido o uso de qualquer servio que no esteja declarado acima, com
exceo dos servios autorizados pela diretoria da empresa.
Baseados nos servios prestados por Alfa e na poltica de segurana, a estrutura de
proteo composta por um firewall com arquitetura Screened Subnet (Captulo 3,
Seo 1.4) ligeiramente alterada (dividindo a rede perifrica em duas redes backbone
interno e rede desmilitarizada) e por um Sistema de Deteco de Intrusos IDS
(Captulo 3, Seo 2), que faz a anlise da rede desmilitarizada.

Internet

Rede ADSL

Backbone Interno

Rede Pblica
Frame Relay

Screening Router Interno

Banco de Dados
de Gama

Rede da Operadora
Telefnica

Rede Desmilitarizada
Screening Router Externo

Servidor HTTP e DNS

Rede Interna (Escritrio e Call Center )

Servidor de Correio

Servidor de Beta

Intrusion Detector System

Banco de Dados
de Alfa

Servidor Interno #1

Estao de Trabalho

Figura 27 Rede da Alfa.

As redes perifrica e interna juntamente com os Screening Routers constituem a


arquitetura de firewall Screened Subnet. A rede Frame Relay29 est ligada ao roteador
interno e serve de ligao ao servidor de banco de dados do Gama.
O acesso da rede interna internet est restrito por meio de filtro de pacotes
(Captulo 3, Seo 1.1) s portas 80 e 443 utilizando a ligao rede ADSL. O segundo
link internet somente para servidores da rede desmilitarizada e somente estaro
liberadas as portas dos servios que so providos pelos servidores (filtro de pacotes).

29

Protocolo de enlace utilizado em redes chaveadas que utilizam mltiplos circuitos virtuais.

www.projetoderedes.kit.net

70

Qualquer outro tipo de trfego da rede interna ou da rede Frame Relay ao roteador
externo negado.
Para filtro de pacotes nos Screening Routers utilizado a ferramenta IP Tables
(Anexo C) e para deteco de intrusos a ferramenta Snort (Anexo D). Os cdigos das
regras de filtragem e para deteco de intrusos esto no anexo E.

www.projetoderedes.kit.net

71

5. Concluso
A conscincia da necessidade de proteo dos dados um fator crescente entre
as instituies. O Projeto de Segurana Eletrnica deixa de ser um gasto adicional e
torna-se um dos maiores investimentos para instituies, consolidando a importncia
deste tpico na construo de empresas que utilizam servios digitais.
Esta preocupao o reflexo nos servios eletrnicos, digitais e informatizados
do crescimento de investimentos em segurana no mundo, gerando o aparecimento de
normas para implantao da segurana eletrnica em diversos pases. Atualmente, h
uma infinidade de regulamentaes que determinam os procedimentos para a
implantao da segurana da tecnologia da informao. Dentre elas destacam-se as
pioneiras normas do comit britnico Commercial Computer Security Centre (CCSC)
denominadas BS 7799:1995 e as suas revises nos anos de 1998, 1999 e 2000 e as
normas tcnicas baseadas na norma da comunidade britnica e editadas no Brasil pela
Associao Brasileira de Normas Tcnicas (ABNT) determinadas pelo comit ISO
(International Standardization Organization) da srie ISO 17799:2000.
A maioria dos procedimentos adotados nas diversas normas tcnicas mundiais
tem como base o estudo das principais ameaas e vulnerabilidades dos sistemas de
comunicao eletrnica. Ao longo destes estudos, foi constatado que a modificao ou
criao de simples procedimentos de segurana aumentam consideravelmente as defesas
dos sistemas das redes institucionais. Estes procedimentos vo desde a discusso de
medidas simples do uso de ferramentas dentro das instituies (polticas de segurana
institucional e manual do usurio) at a instalao de mecanismos de obstruo da
entrada de dados no autorizados ou desconhecidos (firewalls), com a utilizao de
sistemas para monitorao destas medidas (Sistemas de Deteco de Intrusos).
A implantao e administrao destes procedimentos, no entanto, so
trabalhosos e requerem conhecimento e tempo, sendo suscetvel a falhas humanas, uma
vez que o administrador faz a verificao e anlise de uma quantidade grande de
informaes sobre possveis invases, ataques e alarmes. A complexidade da anlise
aliada falta de experincia do administrador, portanto, pode ter conseqncias
catastrficas, gerando uma necessidade eminente de criao de ferramentas para auxlio
de avaliao dos arquivos de registros que so bastante simples para garantir a

www.projetoderedes.kit.net

72

performance dos sistemas e de ferramentas que tambm facilitem a criao de novas


regras de proteo tambm dependentes da interveno humana.
Em relao a criao e manuteno de Sistemas de defesa, os maiores problemas
na implantao da segurana so as falhas nos projetos dos protocolos de comunicao,
gerando uma quantidade significativa de brechas para a transposio dos modelos
normais de uso e conseqentemente da segurana dos sistemas que esto baseados
nestes protocolos. Os protocolos de rede neste trabalho mostrados tais como o IP,
TCP, UDP e o ICMP so os mais utilizados na rede mundial de computadores
(Internet) e em todos eles h problemas que implicam na transposio da segurana.
Como a interligao das instituies feita atravs destes protocolos e utilizando a
Internet, o perigo constante. Os fatores que agravam ainda mais este quadro so os
servios de rede que tambm apresentam falhas de projeto e esto em nveis mais altos,
facilitando a manipulao dos dados por pessoas mal intencionadas.
tambm evidente a tendncia das defesas de computadores e redes por meio da
Inteligncia Artificial. Os firewalls e Sistemas de Deteco de Intrusos modernos
utilizam um dos fundamentos da Inteligncia Artificial, que o reconhecimento de
padres. No caso da defesa da informao, os padres a serem reconhecidos (assinaturas
de ataque) so as diversas formas de tentativas de transposio da segurana,
bisbilhotagem alheia dos sistemas internos, tentativas de interrupo dos servios e
utilizao de componentes nocivos para a rede, como Vrus, Cavalos de Tria, Backdoors, etc.
Os Sistemas de Deteco de Intrusos mais elaborados tambm j implantam uma
forma rudimentar de deteco de invases baseadas em redes neurais. A maneira na
qual so conduzidos os estudos parece ser promissora e tende a chegar em nveis nos
quais so criadas formas de defesa utilizando agentes mveis e inteligentes (tambm da
Inteligncia Artificial) capazes de detectar uma falha eletrnica sem a interveno
humana e podendo agir sozinhos, aprendendo como se defender e destruir a causa dos
problemas, como Sistemas Imunolgicos tradicionais.
Por ltimo, imprescindvel observar que a utilizao das mais diversas normas e
mtodos para defesas das informaes no so eternas e somente sero seguras at
quando forem violadas. necessrio monitorar constantemente as solues de defesas
definidas para que surpresas desagradveis no aconteam, desestabilizando os sistemas

www.projetoderedes.kit.net

73

por completo. A criao de planos de emergncia tambm so necessrios, pois


prevem casos de invases, criam procedimentos para tais circunstncias, bem como
diversos tipos de testes, desenvolvendo situaes onde o atacante tem pouco
conhecimento dos sistemas e ambiente (simulando um atacante externo) e situaes
onde o atacante tem conhecimentos profundos sobre os sistemas e estruturas dos
sistemas (simulando um atacante interno).
A finalidade deste trabalho foi apresentar um estudo de caso sobre segurana de
redes destacando a importncia do uso de regras e procedimentos na deteco de e
preveno de ameaas eletrnicas.

www.projetoderedes.kit.net

74

6. Referncias
BERNSTEIN, Terry, BLUMANI, Anish B., SCHULTZ, Eugene, SIEGEL, Carol A.
Internet Security for Business. Nova Iorque: Wiley Computer Publishing, 1996.
BLACK, Uyless. TCP/IP and Related Protocols. 2 ed. Nova Iorque: McGraw-Hill,
1994.
SIYAN, Karanjit, HARE, Christopher. Internet Firewalls and Network Security.
Indianapolis: New Riders Publishing, 1995.
GARFINKEL, Simson, SPAFFORD, Gene. Practical UNIX & Internet Security. 2 ed.
OReilly & Associates, 1996.
HUNT, Craig. TCP/IP Network Administration. 2 ed. OReilly & Associates, 1997.
NAUGLE, Matthew G. Illustrated TCP/IP. Wiley Computer Publishing, 1998.
CHAPMAN, D. Brent, ZWICKY, Elizabeth D. Building Internet Firewalls. 1 ed.
OReilly & Associates, 1995.
____ 2 ed. OReilly & Associates, 2000.
NATIONAL SECURITY AGENCY (USA). Systems and Network Attack Center. The
60 Minutes Network Security Guide (First Steps Towards a Secure Network
Environment). Version 1.0. Ft. Meade. 2001.
BEJTLICH, Richard. Interpreting Network Traffic: A Network Intrusion Detectors
Look at Suspicious Events. Version 2.8. http://home.satx.rr.com/bejtlich. 2000.
GREEN, John, MARCHETTE, David, NORTHCUTT, Stephen. Analysis Techniques
for Detecting Coordinated Attacks and Probes. 2000.
SOLHA, Liliana Esther Velsquez Alegre, CICILINI, Renata, PICCOLINI, Jacomo
Dimmit Boca. Centro de Atendimento a Incidentes de Segurana da RNP. Tudo
que Voc Precisa Saber Sobre os Ataques DDoS. NewsGeneration. Volume 4,
Nmero 2. http://www.rnp.br/newsgen. 2000.
GRAHAM, Robert. FAQ: Network Intrusion Detection Systems. Version 0.8.3.
http://www.robertgraham.com/pubs/network-intrusion-detection.html. 2000.

www.projetoderedes.kit.net

75

ROESCH, Martin. Snort Users Manual. Version 1.8.2. http://www.snort.org. 2001.


__. Snort - Lightweight Intrusion Detection for Networks. http://www.snort.org. 2001.
RUSSEL, Rusty. Linux 2.4 NAT HOWTO. Revision 1.15. http://netfilter.samba.org.
2001.
__. Linux Netfilter Hacking HOWTO. Revision 1.10. http://netfilter.samba.org. 2001.
__. Packet Filtering HOWTO. Revision 1.21. http://netfilter.samba.org. 2001.
JUNIOR, Rafael T. De Sousa, PUTTINI, Ricardo S. Criptografia e Segurana de
Redes de Computadores. http://www.redes.unb.br/security/firewall/firewall.html.

www.projetoderedes.kit.net
7. Anexos
Anexo A. Tipos de Requisies ICMP e suas Opes.
Kurt Seifried, kurt@seifried.org
September 25, 2001 - 53 entries
http://www.seifried.org/security/ports/
ICMP Code
0
Code Type
0
ICMP Code
3
Code Type
0
1
2
3
4
5
6
7
8

ICMP Code Name


echo
Type Name
echo-reply
ICMP Code Name
unreachable
Type Name
net-unreachable
host-unreachable
protocol-unreachable
port-unreachable
fragmentation-df-set
source-route-failed
dest-network-unknown
dest-port-unknown
source-host-isolated

Type Description
RFC 792 - for echo reply message

Type Description
RFC 792 - net unreachable
RFC 792 - host unreachable
RFC 792 - protocol unreachable
RFC 792 - port unreachable
RFC 792 - fragmentation needed and DF set
RFC 792 - source route failed
RFC 792 - Destination Network Unknown
RFC 792 - Destination Host Unknown
RFC 792 - Source Host Isolated
RFC 792 - Communication with Destination Network is
Administratively Prohibited
Communication with Destination Network is
Administratively Prohibited

network-admin

10

host-admin

11

network-service

12

host-service

13

com-admin-prohibited

RFC 1812 - Communication Administratively


Prohibited - generated if a router cannot forward a
packet due to administrative filtering

host-precedence-violation

RFC 1812 - Host Precedence Violation. Sent by the


first hop router to a host to indicate that a requested
precedence is not permitted for the articular
combination of source/destination host or network,
upper layer protocol, and source/destination port

precedence-cuttof-in-effect

RFC 1812 - Precedence cutoff in effect. The network


operators have imposed a minimum level of precedence
required for operation, the datagram was sent with a
precedence below this level

14

15

ICMP Code ICMP Code Name


quench
4

RFC 792 - Communication with Destination Host is


Administratively Prohibited
RFC 792 - Destination Network Unreachable for Type
of Service
RFC 792 - Destination Host Unreachable for Type of
Service

76

www.projetoderedes.kit.net
Code Type
0
ICMP Code
5
Code Type

Type Name
source-quench
ICMP Code Name
redirect
Type Name

redirect-network

redirect-host

redirect-service-network

redirect-service-host

ICMP Code
6
Code Type
0
ICMP Code
8
Code Type
0
ICMP Code
9
Code Type
0
ICMP Code
10
Code Type
0
ICMP Code
11
Code Type
0
1
ICMP Code
12
Code Type
0
1
2
ICMP Code
13
Code Type
0
ICMP Code
14
Code Type
0
ICMP Code

Type Description
RFC 792 - source quench (slow down!)

Type Description
RFC 792 - Redirect datagrams for the Network (or
subnet)
RFC 792 - Redirect datagrams for the Host
RFC 792 - Redirect datagrams for the Type of Service
and Network
RFC 792 - Redirect datagrams for the Type of Service
and Host

ICMP Code Name


alternate
Type Name
Type Description
alternate-host-address
JBP - Alternate address for host
ICMP Code Name
echo
Type Name
Type Description
echo-request
RFC 792 - for echo message
ICMP Code Name
router
Type Name
Type Description
router-advertisement
RFC 1256 - Router advertisement
ICMP Code Name
router
Type Name
Type Description
router-selection
RFC 1256 - Router selection
ICMP Code Name
exceeded
Type Name
Type Description
ttl-exceeded
RFC 792 - time to live exceeded in transit
fragment-reassembly-exceeded RFC 792 - fragment reassembly time exceeded
ICMP Code Name
error
Type Name
Type Description
pointer-error
RFC 792 - pointer indicates the error
missing-option
RFC 792 - Missing a Required Option
bad-length
RFC 792 - Bad Length
ICMP Code Name
timestamp
Type Name
Type Description
timestamp-request
RFC 792 - for timestamp message
ICMP Code Name
timestamp
Type Name
Type Description
timestamp-reply
RFC 792 - for timestamp reply message
ICMP Code Name

77

www.projetoderedes.kit.net
15
Code Type
0
ICMP Code
16
Code Type
0
ICMP Code
17
Code Type
0
ICMP Code
18
Code Type
0
ICMP Code
30
Code Type

information
Type Name
info-request
ICMP Code Name
information
Type Name
info-reply
ICMP Code Name
mask
Type Name
mask-request
ICMP Code Name
mask
Type Name
mask-reply
ICMP Code Name
traceroute
Type Name

traceroute-forwarded

packet-discarded

ICMP Code
31
Code Type
0
ICMP Code
32
Code Type
0
ICMP Code
33
Code Type
0
ICMP Code
34
Code Type
0
ICMP Code
35
Code Type
0
ICMP Code
36
Code Type
0
ICMP Code
37

ICMP Code Name


datagram
Type Name
datagram-conversion-error
ICMP Code Name
mobile
Type Name
mobile-host-redirect
ICMP Code Name
ipv6-request
Type Name
ipv6-where-are-you
ICMP Code Name
ipv6-reply
Type Name
ipv6-here-I-am
ICMP Code Name
mobile
Type Name
mobile-registration-request
ICMP Code Name
mobile
Type Name
mobile-registration-reply
ICMP Code Name
domain-name

Type Description
RFC 792 - for information request message

Type Description
RFC 792 - for information reply message

Type Description
RFC 950 - Address Mask Request

Type Description
RFC 950 - Address Mask Reply

Type Description
RFC 1393 - Traceroute - Outbound Packet successfully
forwarded
RFC 1393 - traceroute - No route for Outbound
Packet; packet discarded

Type Description
RFC 1475 - Datagram Conversion Error

Type Description
David Johnson - Mobile Host Redirect

Type Description
Bill Simpson -IPv6 Where-Are-You

Type Description
Bill Simpson - IPv6 I-Am-Here

Type Description
Bill Simpson - Mobile Registration Request

Type Description
Bill Simpson - Mobile Registration Reply

78

79

Code Type
0
ICMP Code
38
Code Type
0
ICMP Code
40
Code Type
0
1
2
3
4
5

Type Name
domain-name-request
ICMP Code Name
domain-name
Type Name
domain-name-reply
ICMP Code Name
security
Type Name
bad-spi
authentication-failed
decompression-failed
decryption-failed
need-authentication
need-authorization

Type Description
RFC 1788 - icmp domain name request

Type Description
RFC 1788 - icmp domain name reply

Type Description
RFC 2521 - Bad SPI
RFC 2521 - Authentication Failed
RFC 2521 - Decompression Failed
RFC 2521 - Decryption Failed
RFC 2521 - Need Authentication
RFC 2521 - Need Authorization

www.projetoderedes.kit.net
Anexo B. Servios de Rede, TCP e UDP (Resumo com os Principais Servios).
Kurt Seifried, kurt@seifried.org
September 23, 2001 - 6983 entries
http://www.seifried.org/security/ports/

Service-name
daytime
daytime
netstat
ftpdata
ftpdata
ftp
ftp
ssh
ssh
telnet
telnet
smtp
smtp
time
time
whois
whois
domain
domain
dhcp-bootps
dhcp-bootps
bootpc
bootpc
tftp
tftp
gopher
gopher
finger
finger
www-http
www-http
rtelnet

Port/Protocol
13/tcp
13/udp
15/tcp
20/tcp
20/udp
21/udp
21/tcp
22/tcp
22/udp
23/tcp
23/udp
25/tcp
25/udp
37/tcp
37/udp
43/tcp
43/udp
53/tcp
53/udp
67/udp
67/tcp
68/tcp
68/udp
69/tcp
69/udp
70/tcp
70/udp
79/tcp
79/udp
80/tcp
80/udp
107/udp

Comment
Daytime (RFC 867)
Daytime (RFC 867)
Network status
File Transfer Protocol [Default Data]
File Transfer Protocol [Default Data]
File Transfer Protocol [Control]
File Transfer Protocol [Control]
SSH Remote Login Protocol
SSH Remote Login Protocol | pcanywhere
Telnet
Telnet
Simple Mail Transfer Protocol
Simple Mail Transfer Protocol
timserver Time
timserver Time
whois Who Is
whois Who Is
Domain Name Server
Domain Name Server
DHCP|Bootstrap Protocol Server
DHCP|Bootstrap Protocol Server
Bootstrap Protocol Client
Bootstrap Protocol Client
Trivial File Transfer
Trivial File Transfer
Gopher
Gopher
Finger
Finger
World Wide Web HTTP
World Wide Web HTTP
Remote Telnet Service

80

www.projetoderedes.kit.net
rtelnet

107/tcp

pop-3

110/udp

pop-3

110/tcp

rpc
rpc
sqlserv
sqlserv
nntp
nntp
ntp
ntp
password
password
netbios-ns
netbios-ns
netbios-dgm
netbios-dgm
netbios-ssn
netbios-ssn

111/tcp
111/udp
118/tcp
118/udp
119/tcp
119/udp
123/udp
123/tcp
129/udp
129/tcp
137/udp
137/tcp
138/udp
138/tcp
139/tcp
139/udp

imap

143/udp

imap

143/tcp

sql-net
sql-net
sqlsrv
sqlsrv
snmp
snmp
snmp-trap
snmp-trap
xdmcp
xdmcp
bgp
bgp
irc
irc
smux
smux

150/udp
150/tcp
156/tcp
156/udp
161/udp
161/tcp
162/udp
162/tcp
177/udp
177/tcp
179/tcp
179/udp
194/tcp
194/udp
199/udp
199/tcp

Remote Telnet Service


postoffice Post Office Protocol - Version
3
postoffice Post Office Protocol - Version
3
SUN Remote Procedure Call
SUN Remote Procedure Call
SQL Services
SQL Services
Network News Transfer Protocol Usenet
Network News Transfer Protocol Usenet
Network Time Protocol
Network Time Protocol
Password Generator Protocol
Password Generator Protocol
NETBIOS Name Service nbns
NETBIOS Name Service nbns
NETBIOS Datagram Service
NETBIOS Datagram Service
NETBIOS session service
NETBIOS Session Service
Interim Mail Access Protocol v2 | Internet
Message
Interim Mail Access Protocol v2 | Internet
Message
SQL-NET
SQL-NET
SQL Service
SQL Service
Simple Net Mgmt Proto
Simple Net Mgmt Proto
snmptrap Traps for SNMP
snmptrap Traps for SNMP
X Display Manager Control Protocol
X Display Manager Control Protocol
Border Gateway Proto.
Border Gateway Protocol
Internet Relay Chat Protocol
Internet Relay Chat Protocol
SNMP Unix Multiplexer
SNMP Unix Multiplexer

81

82

dbase
dbase

217/tcp
217/udp

dBASE Unix
dBASE Unix
LDAP - Lightweight Directory Access
Protocol

ldap

389/udp

ldap

389/tcp

netware-ip
netware-ip
appleqtc
appleqtc
kpasswd
kpasswd
smtps
smtps

396/tcp
396/udp
458/tcp
458/udp
464/tcp
464/udp
465/udp
465/tcp

isakmp

500/tcp

isakmp

500/udp

IPsec Key Management


(ISAKMP|Oakley)

exec

512/tcp

BSD rexecd(8) - remote process execution

login

513/tcp

who

513/udp

syslog
shell
printer
talk
talk
ntalk
ntalk
utime
utime

514/udp
514/tcp
515/tcp
517/tcp
517/udp
518/tcp
518/udp
519/udp
519/tcp

route

520/udp

timed
timed
irc-serv
irc-serv
uucp
uucp
uucp-rlogin

525/udp
525/tcp
529/udp
529/tcp
540/tcp
540/udp
541/tcp

BSD rlogind(8)
maintains data bases showing who's whod rwhod(8)
BSD syslogd(8)
BSD rshd(8) - remote command shell cmd
spooler BSD lpd(8) - line printer spooler
BSD talkd(8)
BSD talkd(8)
(talkd)
SunOS talkd(8)
unixtime
unixtime
local routing process (on site) | router
routed
timeserver
timeserver
IRC-SERV
IRC-SERV
uucpd BSD uucpd(8) UUCP service
uucpd BSD uucpd(8) UUCP service
uucp-rlogin | rdist daemon

LDAP - Lightweight Directory Access


Protocol
Novell Netware over IP
Novell Netware over IP
apple quick time
apple quick time
Kerberos password changing protocol
Kerberos password changing protocol
smtp protocol over TLS|SSL (was ssmtp)
smtp protocol over TLS|SSL (was ssmtp)
IPsec Key Management
(ISAKMP|Oakley)

www.projetoderedes.kit.net
uucp-rlogin
klogin
klogin
kshell
kshell
dhcpv6-client
dhcpv6-client
whoami
whoami
imap4-ssl
imap4-ssl
password-chg
password-chg
ldaps
ldaps
kerberos-adm
kerberos-adm
kerberos-iv

541/udp
543/tcp
543/udp
544/udp
544/tcp
546/tcp
547/udp
565/tcp
565/udp
585/tcp
585/udp
586/tcp
586/udp
636/tcp
636/udp
749/udp
749/tcp
750/udp

kerberos-iv

750/tcp

kerberos-master
kerberos-master
icq
icq
trojan
socks
kazaa
kazaa
lotusnote
lotusnote
ms-sql-s
ms-sql-s
ms-sql-m
ms-sql-m
sybase-sqlany
sybase-sqlany
utcd
utcd

751/udp
751/tcp
1027/tcp
1029/tcp
1080/tcp
1080/udp
1214/tcp
1214/udp
1352/udp
1352/tcp
1433/tcp
1433/udp
1434/udp
1434/tcp
1498/tcp
1498/udp
1506/udp
1506/tcp

wins

1512/udp

uucp-rlogin
Kerberized `rlogin' (v5)
Kerberized `rlogin' (v5)
krcmd Kerberized rshell (v5)krcmd
krcmd Kerberized rshell (v5)krcmd
DHCPv6 Client
DHCPv6 Server
whoami
whoami
IMAP4+SSL (use 993 instead)
IMAP4+SSL (use 993 instead)
Password Change
Password Change
ldap protocol over TLS|SSL (was sldap)
ldap protocol over TLS|SSL (was sldap)
Kerberos 5 kadmin|changepw
Kerberos 5 kadmin|changepw
kdc kerberos4 Kerberos auth (server) udp
kdc kerberos Kerberos authentication-tcp
Kerberos admin server tcp
Kerberos admin server tcp
ICQ
ICQ
Socks | wingate proxy
Socks
KAZAA
KAZAA
Lotus Note
Lotus Note
Microsoft-SQL-Server
Microsoft-SQL-Server
Microsoft-SQL-Monitor
Microsoft-SQL-Monitor
Sybase SQL Any
Sybase SQL Any
Universal Time daemon (utcd)
Universal Time daemon (utcd)
Microsoft's Windows Internet Name
Service

83

www.projetoderedes.kit.net
wins

1512/tcp

Microsoft's Windows Internet Name


Service

orasrv

1525/udp

oracle or Prospero Directory Service


nonpriv

orasrv

1525/tcp

tlisrv
tlisrv
coauthor
coauthor
rdb-dbs-disp
rdb-dbs-disp
oraclenames
oraclenames
oraclenet8cman
oraclenet8cman

1527/tcp
1527/udp
1529/tcp
1529/udp
1571/tcp
1571/udp
1575/tcp
1575/udp
1630/udp
1630/tcp

pptp

1723/tcp

pptp

1723/udp

radius

1812/udp

radius
radacct
radius-acct
net8-cman
net8-cman
sybasedbsynch
sybasedbsynch
postgres
pcanywheredata
pcanywheredata
pcanywherestat
pcanywhere
x11
x11
x11
x11
x11
x11
x11

1812/tcp
1813/udp
1813/tcp
1830/tcp
1830/udp
2439/udp
2439/tcp
5432/tcp
5631/tcp
5631/udp
5632/udp
5632/tcp
6000/tcp
6000/udp
6001/tcp
6001/udp
6002/tcp
6002/udp
6003/tcp

oracle or Prospero Directory Service


nonpriv
oracle
oracle
oracle | prmsd gnatsd cygnus bug tracker
oracle
Oracle Remote Data Base
Oracle Remote Data Base
oraclenames
oraclenames
Oracle Net8 Cman
Oracle Net8 Cman
Microsoft Point to Point Tunneling
Protocol
Microsoft Point to Point Tunneling
Protocol
RADIUS authentication protocol (RFC
2138)
RADIUS
RADIUS accounting protocol (RFC 2139)
RADIUS Accounting
Oracle Net8 CMan Admin
Oracle Net8 CMan Admin
SybaseDBSynch
SybaseDBSynch
postgres database server
pcANYWHEREdata
pcANYWHEREdata
pcANYWHEREstat
PC Anywhere | pcANYWHEREstat
X Window System | The Thing Trojan
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System

84

www.projetoderedes.kit.net
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11
x11

6003/udp
6004/udp
6004/tcp
6005/tcp
6005/udp
6006/tcp
6006/udp
6007/udp
6007/tcp
6008/udp
6008/tcp
6009/tcp
6009/udp
6010/tcp
6010/udp
6011/udp
6011/tcp
6012/tcp
6012/udp
6013/udp
6013/tcp
6014/tcp
6014/udp
6015/tcp
6015/udp
6063/tcp
6063/udp

irc

6667/tcp

irc

6668/tcp

portmap

10000/udp

rstatd
rstatd
rusersd
rusersd
nfsprog
nfsprog

10001/udp
10001/tcp
10002/tcp
10002/udp
10003/tcp
10003/udp

mountd

10005/tcp

X Window System
X Window System
X Window System
X Window System
X Window System
X Window System | Bad Blood Trojan
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
X Window System
Internet Relay Chat | SubSeven Trojan |
NetBus Trojan
Internet Relay Chat
portmap portmappper sunrpc rpcbind |
Network Data Management Protocol
rpc rstatd
rpc rstatd
rpc rusersd
rpc rusersd
rpc nfsprog
rpc nfsprog
mountd mount showmount | OpWin
Trojan | Secure telnet

85

www.projetoderedes.kit.net
ypbind
ypbind
yppasswdd
yppasswdd
nlockmgr
nlockmgr
rpc_statd
rpc_statd
bootparam
bootparam
pgpkeyserv
pgpkeyserv
h323callsigalt
h323callsigalt
trojan
trojan
trojan
trojan
trojan

10007/udp
10007/tcp
10009/tcp
10009/udp
10021/tcp
10021/udp
10024/udp
10024/tcp
10026/tcp
10026/udp
11371/tcp
11371/udp
11720/udp
11720/tcp
16660/tcp
27665/tcp
31335/udp
34555/udp
35555/udp

ypbind | MVS Capacity


ypbind | MVS Capacity
NIS - yppasswd
NIS - yppasswd
nfs lock manager
nfs lock manager
rpc status daemon
rpc status daemon
bootparam
bootparam
PGP key server
PGP key server
h323 Call Signal Alternate
h323 Call Signal Alternate
Stacheldraht Trojan
Trinoo Trojan Master port
Trinoo trojan slave to master
trinoo trojan
trinoo trojan

86

www.projetoderedes.kit.net

87

Anexo C. Netfilter: Filtro de Redes para Linux


O Netfilter (filtro de rede) uma estrutura para tratamento de pacotes, fora da
estrutura de socket Berkeley normal, para o Sistema Operacional Linux. Ele est
dividido em quatro partes, sendo que as trs primeiras tratam do pacote ainda quando o
cerne do Sistema Operacional est fazendo o tratamento das rotas dos pacotes e a ltima
parte consiste em APIs para futuro desenvolvimento ou tratamentos especiais.
Na primeira parte so definidos ganchos em cada protoloco de rede. Estes
ganchos so os pontos de passagem nos estgios dos protocolos. Em cada passagem
de um estgio a outro chamada a estrutura de tratamento do netfilter e conjuntamente
passado o nmero do gancho.
Na segunda parte, partes do cerne podem registrar seus pedidos para diferentes
ganchos de cada protocolo. Ento, a cada passagem de um estgio a outro, o cerne
verifica se existe algum processo que tenha se registrado para analisar a passagem de
um ponto a outro. O processo que est registrado tem a possibilidade de examinar (ou
at mesmo alterar) o pacote e ento pode: [1] descartar (NF_DROP); [2] permitir sua
passagem (NF_ACCEPT); pedir ao netfilter para esquecer o pacote (NF_STOLEN);
ou requisitar que o pacote seja colocado numa fila denominada userspace
(NF_QUEUE) para outros tratamentos.
Na terceira parte, os pacotes que foram marcados para ir para a fila so coletados
(pelo driver ip_queue) e mandados para o userspace. Os pacotes so dirigidos sem
sincronia.
Os ganchos definidos variam de protocolo a protoloco, no caso do IP verso 4
(IPv4), so cinco ganchos:
1 - onde os pacotes entram. Depois de analisado todos os controles de erro
normais dos protocolos (soma de verificao, fragmentao, etc.), os pacotes so
enviados para a estrutura (regras) de pr-rota (NF_IP_PRE_ROUTING) do netfilter.
2 - Se o pacote destinado mquina onde ele se encontra, a estrutura do netfilter
chamada para verificao do pacote (NF_IP_LOCAL_IN) antes de ser enviado ao
processo local.
3 - Se o pacote tem como destino outro dispositivo de rede, a estrutura do netfilter
chamada antes da passagem de pacotes (NF_IP_FORWARD).

www.projetoderedes.kit.net

88

4 - Aps ter passado pela tabela de rotas do Sistema Operacional, os pacotes so


submetidos estrutura do netfilter (NF_IP_POST_ROUTING) antes de efetivamente
serem enviados.
5 - Este gancho (NF_IP_LOCAL_OUT) est definido para os pacotes de sada
criados localmente na mquina. chamado antes de ser passado para a tabela de rotas
do cerne do Sistema Operacional.
A seleo dos pacotes para a filtragem feita atravs da chamada IP Tables. O
mtodo de seleo dos pacotes usado para [1] filtro de pacotes, [2] traduo de
endereos de rede (NAT), [3] funes de pr-rota e [4] ps-rota de pacotes.

www.projetoderedes.kit.net

89

Anexo D. Snort: Sistema de Deteco de Intrusos


O Snort um sistema de deteco de intrusos baseado em arquitetura centralizada,
dados coletados na rede, anlise baseada em assinaturas e com respostas ativas e
passivas. Criado por Marty Roesh, faz anlise em tempo real, passando todos os pacotes
capturados na rede para um processador de regras. As regras so simples e parecidas
com regras de filtro de pacotes.

alert tcp any any -> 200.223.45.2 80 (msg: Ataque Code Red II; flags: A+;
uricontent:scripts/root.exe?; nocase; classtype: web-application-attack;
sid: 1256; rev:2;)

Exemplo de regra do IDS Snort.

A primeira parte de uma regra define a ao a ser tomada. As opes so [1] alert,
gera um alerta conforme o mtodo de alerta (manda mensagem em rede Windows,
mensagem em formato XML para uma outra mquina, envia e-mail para administrador,
etc.) e depois escreve em arquivo de registro do sistema; [2] log, registra o pacote; [3]
pass, ignora o pacote; [4] activate, alerta e ativa outra regra dinmica; e [5] dynamic,
regra especfica que s realiza o servio quando ativada, funciona como uma funo de
log.
A segunda parte da regra define o padro a ser procurado, que pode ser apenas
informaes no cabealho IP, como tambm informaes especficas dentro do pacote,
como uma seqncia hexadecimal, mensagem de chamada de comando (ex:
scrips/root.exe), bandeiras (flags) de protocolos, etc.
A partir da verso 1.5, foi acrescentado ao Snort a funcionalidade do uso de prprocessadores, que so uma espcie de plugins para anlise de aspectos especficos
como varredores de portas, re-organizadores de fragmentos IP, etc. Os prprocessadores so utilizados antes do pacote ser analisado, logo aps ser capturado na
rede.

www.projetoderedes.kit.net
Anexo E. Cdigo fonte das regras dos Screening Routers e do IDS
Cdigo do Screening Router interno:
#!/bin/sh

######## Configuraes para o Screening Router Interno ########

###### Configurando kernel ######

# Ignora qualquer requisio de resposta a pedidos ICMP em difuso:


# defesa da rede contra ataques SMURF (Captulo 3, Seo 3.6).
if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]; then
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
fi
# Habilita proteo contra mensagens de erros falsos: negao de
# servios
# (Captulo 3, Seo 3.6).
if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ]; then
echo "0" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
fi
# Escreve no arquivo de log do kernel pacotes com endereos
# impossveis: falsificao de endereos IP e negao de servios
#(Captulo 3, sees 3.5 e 3.6).
if [ -e /proc/sys/net/ipv4/conf/all/log_martians ]; then
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
fi
# Taxas ICMP a quantidade de respostas num determinado tempo em
# milissengundos. Evita o firewall seja usado como amplificadores num
# ataque de negao de servios e que ele prprio seja vtima.
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_echoreply_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_echoreply_rate
fi
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_paramprob_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_paramprob_rate
fi
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_timeexceed_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_timeexceed_rate
fi
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_destunreach_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_destunreach_rate
fi

90

www.projetoderedes.kit.net

91

# TCP SYN cookies : proteo contra IP com origem falsas (Captulo 3,


# Seo 3.5).
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
fi
# Habilita repasse de pacotes IP
if [ -e /proc/sys/net/ipv4/ip_forward ]; then
echo "1" > /proc/sys/net/ipv4/ip_forward
fi

###### Declarao de variveis ######

IPTABLES="/usr/sbin/iptables"

## Caminho do iptables

LOOPBACK="lo"
FR_RELAY="eth0"
INTERNA="eth1"
BACKBONE="eth2"

##
##
##
##

REDE_LOOPBACK="127.0.0/8"
REDE_FR_RELAY="10.100.1.0/30"
REDE_INTERNA="10.20.1.0/24"
REDE_BACKBONE="10.1.1.0/30"
IP_LOOPBACK="127.0.0.1"
IP_FR_RELAY="10.100.1.1"
IP_INTERNA="10.20.1.1"
IP_BACKBONE="10.1.1.2"

## Endereo IP de loopback
## Endereo IP da placa com o
## roteador FR_RELAY
## Endereo IP da placa de rede interna
## Endereo IP da placa com o Backbone

SERVIDOR_MAIL="200.254.130.10"
SERVIDOR_HTTP_1="200.254.130.2"
SERVIDOR_HTTP_2="200.254.130.10"
SERVIDOR_DNS_1="200.254.130.10"
SERVIDOR_DNS_2="200.254.130.2"
SERVIDOR_BETA="200.254.130.25"
SERVIDOR_BD="10.20.1.4"
FIREWALL_INTERNET="10.1.1.1"
ROTEADOR_FR_RELAY="10.100.1.2"
SERVIDOR_BD_GAMA="172.30.0.6"

## Flush/Destroi regras ##
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES

-F
-F
-F
-F
-F
-F

INPUT
OUTPUT
FORWARD
-t nat
-t mangle
ICMP_AMIGA

de Loopback
da ligao com o roteador FR_RELAY
da rede interna
com o Backbone Interno

## Endereo de loopback
## Endereo da rede com o roteador FR_RELAY
## Endereo da rede interna
## Endereo da rede com o Backbone

REDE_INTERNET="200.254.130.0/26"

###### Regras ######

Interface
Interface
Interface
Interface

## Endereo da rede de Servidores


## Internet ALFA
## Endereo do Servidor de e-mail
## Endereo do Servidor de http no. 1
## Endereo do Servidor de http no. 2
## Endereo do Servidor de dns no. 1
## Endereo do Servidor de dns no. 2
## Endereo do Servidor do BETA
## Endereo do Servidor de Banco de Dados
## Endereo do firewall internet
## Endereo do roteador FR_RELAY
## Endereo do Servidor de BD do GAMA

www.projetoderedes.kit.net
$IPTABLES -F ICMP_SUSPEITA
$IPTABLES -F FINALIZA_FLOOD
## Destroi regras definidas pelo usurio ##
$IPTABLES -X
## Criando polticas padro ##
# O Screening Router Interno tem a negao como poltica padro
# Captulo 3, Seo 1.5
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#
#
#
#

AS correntes de regras ICMP para redes amigas e suspeitas so


correntes de validao que um trfego ICMP submetido. So
construdas duas correntes: [1] Amigas, para redes internas e
confiveis; [2] Suspeitas, para redes externas e no confiveis.

###### Regras de ICMP para redes amigas ######

#### Criando Corrente de regras ####


$IPTABLES -N ICMP_AMIGA
$IPTABLES -F ICMP_AMIGA
#### Regras propriamente ditas ####
## Ecoa o ping ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type echo-reply -j ACCEPT
## Destino inalcanvel ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type destination-unreachable -j ACCEPT
## Diminuio no trfego ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type source-quench -j ACCEPT
## Tempo Excedido (traceroutes) ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type time-exceeded -j ACCEPT
## Problemas de parmetros ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type parameter-problem -j ACCEPT

###### Regras de ICMP para redes suspeitas ######

#### Criando Corrente de regras ####


$IPTABLES -N ICMP_SUSPEITAS
$IPTABLES -F ICMP_SUSPEITAS

#### Regras propriamente ditas ####


## Diminuio no trfego ##
$IPTABLES -A ICMP_SUSPEITAS -p icmp --icmp-type source-quench -j ACCEPT

92

www.projetoderedes.kit.net

93

## Requisita resposta (eco) (ping) ##


$IPTABLES -A ICMP_SUSPEITAS -p icmp --icmp-type echo-request -j ACCEPT
## Problemas de parmetros ##
$IPTABLES -A ICMP_SUSPEITAS -p icmp --icmp-type parameter-problem -j ACCEPT

###### Regras de pr roteamento ######

#### Regras para ajustes no TOS (Tipo de Servio) (Captulo 2, Seo 1.1) ####
## Diminiu atraso para acesso SSH (bit de atraso) ##
$IPTABLES -A PREROUTING -t mangle -p tcp --dport ssh -j TOS --set-tos Minimize-Delay
#
#
#
#
#

As duas regras principais para finalizar e registrar a falsificao


de endereos IP de origem so: [1] endereo IP reservado a redes
internas vindo em interfaces de redes externas (internet)
falsificao; [2] endereo IP correto (vlido e que da rede) porm
vindo da interface errada falsificao.

###### Regras para finalizao de IP Spoofing (falsificao de IP de


###### origem) (Captulo 3, Seo 3.5) ######

#### Criando Corrente de regras ####


$IPTABLES -N FINALIZA_SPOOF
$IPTABLES -F FINALIZA_SPOOF
#### Regras propriamente ditas ####
## Escreve tentativa no log do sistema (syslog) ##
$IPTABLES -A FINALIZA_SPOOF -m limit --limit 1/h --limit-burst 5 -j LOG --log-prefix
"Firewall: Spoof! "
## Descarta pacote ##
$IPTABLES -A FINALIZA_SPOOF -j DROP

# A regra principal para finalizar e registrar a negao de servio :


# a verificao de assinaturas de DoS pelos bits IP.

###### Regras para finalizao de IP Flooding (tentativa de negao de


###### servio) (Captulo 3, Seo 3.6) ######

#### Criando Corrente de regras ####


$IPTABLES -N FINALIZA_FLOOD
$IPTABLES -F FINALIZA_FLOOD
#### Regras propriamente ditas ####
## Escreve tentativa no log do sistema (syslog) ##

www.projetoderedes.kit.net

94

$IPTABLES -A FINALIZA_FLOOD -m limit --limit 1/h --limit-burst 5 -j LOG --log-prefix


"Firewall: Flood! "
## Descarta pacote ##
$IPTABLES -A FINALIZA_FLOOD -j DROP

###### Regras para a rede loopback ######

#### Regras para entrada vinda do loopback ####


$IPTABLES -A INPUT -i $LOOPBACK -j ACCEPT
#### Regras para saida do localhost (maquina local) ####
$IPTABLES -A OUTPUT -o $LOOPBACK -j ACCEPT

###### Regras para entradas (INPUT) ######

#### Verifica tentativas de negao de servios (Captulo 3, Seo 3.6) ####


$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j FINALIZA_FLOOD
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j FINALIZA_FLOOD
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j FINALIZA_FLOOD
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j FINALIZA_FLOOD

#### Regras para entrada vinda da "Nuvem" FR_RELAY ####


## Verifica tentativas de ataques ##
# Falsificao de endereo IP de origem no pacote (Captulo 3, Seo
# 3.5) #
$IPTABLES -A INPUT -i $FR_RELAY -s $REDE_INTERNA -j FINALIZA_SPOOF
## ICMP ##
$IPTABLES -A INPUT -i $FR_RELAY -d $IP_FR_RELAY -p icmp -j ICMP_SUSPEITA
## Trfego Normal ##
$IPTABLES -A INPUT -i $FR_RELAY -m state --state RELATED,ESTABLISHED -j ACCEPT

#### Regras para entrada vinda da Rede Interna ####


## ICMP ##
$IPTABLES -A INPUT -i $INTERNA -s $REDE_INTERNA -d $IP_INTERNA -p icmp -j ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A INPUT -i $INTERNA -s $REDE_INTERNA -d $IP_INTERNA -m state --state
RELATED,ESTABLISHED -j ACCEPT
# Aceita conexes SSH #
$IPTABLES -A INPUT -i $INTERNA -s $REDE_INTERNA -d $IP_INTERNA -m state --state !
INVALID -p tcp --dport 22 -j ACCEPT

#### Regras para entrada vinda do Backbone ####


## ICMP ##

www.projetoderedes.kit.net

95

$IPTABLES -A INPUT -i $BACKBONE -d $IP_BACKBONE -p icmp -j ICMP_SUSPEITA


## Trfego Normal ##
$IPTABLES -A INPUT -i $BACKBONE -d $IP_BACKBONE -m state --state RELATED,ESTABLISHED
-j ACCEPT

###### Regras de sadas (OUTPUT) ######

#### Regras de sada para a "Nuvem" FR_RELAY ####


## ICMP ##
$IPTABLES -A OUTPUT -o $FR_RELAY -s $IP_FR_RELAY -p icmp -j ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A OUTPUT -o $FR_RELAY -s $IP_FR_RELAY -m state --state RELATED,ESTABLISHED
-j ACCEPT

#### Regras de sada para a Rede Interna ####


## ICMP ##
$IPTABLES -A OUTPUT -o $INTERNA -s $IP_INTERNA -d $REDE_INTERNA -p icmp -j ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A OUTPUT -o $INTERNA -s $IP_INTERNA -d $REDE_INTERNA -m state --state !
INVALID -j ACCEPT

#### Regras de sada para o Backbone ####


## ICMP ##
$IPTABLES -A OUTPUT -o $BACKBONE -s $IP_BACKBONE -p icmp -j ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A OUTPUT -o $BACKBONE -s $IP_BACKBONE -m state --state ! INVALID -j ACCEPT

###### Regras de repasses (FORWARD) ######

#### Verifica tentativas de


$IPTABLES -A FORWARD -p tcp
$IPTABLES -A FORWARD -p tcp
$IPTABLES -A FORWARD -p tcp
$IPTABLES -A FORWARD -p tcp

negao de servios (Captulo 3, Seo 3.6) ####


--tcp-flags ALL FIN,URG,PSH -j FINALIZA_FLOOD
--tcp-flags SYN,RST SYN,RST -j FINALIZA_FLOOD
--tcp-flags SYN,FIN SYN,FIN -j FINALIZA_FLOOD
--tcp-flags ALL NONE -j FINALIZA_FLOOD

#### Regras de repasses para a "Nuvem" FR_RELAY ####


## Verifica tentativas de ataques ##
# Falsificao de endereo IP de origem no pacote (Captulo 3, Seo 3.5) #
$IPTABLES -A FORWARD -i $FR_RELAY -s $REDE_INTERNA -j FINALIZA_SPOOF
## ICMP ##
# Rede Interna pelo FR_RELAY #
$IPTABLES -A FORWARD -i $INTERNA -o $FR_RELAY -s $REDE_INTERNA -p icmp -j ICMP_AMIGA
## Trfego Normal ##
# Conexo ao Servidor de Banco de Dados GAMA #
$IPTABLES -A FORWARD -i $INTERNA -o $FR_RELAY -d $SERVIDOR_BD_GAMA -m state --state !
INVALID -p tcp --dport 5000 -j ACCEPT

www.projetoderedes.kit.net

96

#### Regras de repasses para a Rede Interna ####


## ICMP ##
# FR_RELAY pela Rede Interna #
$IPTABLES -A FORWARD -i $FR_RELAY -o $INTERNA -d $REDE_INTERNA -p icmp -j
ICMP_SUSPEITA
# Backbone pela Rede Interna #
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -d $REDE_INTERNA -p icmp -j
ICMP_SUSPEITA
## Trfego Normal ##
# Responda da conexo ao Servidor de Banco do Dados GAMA #
$IPTABLES -A FORWARD -i $FR_RELAY -o $INTERNA -s $SERVIDOR_BD_GAMA -d $REDE_INTERNA m state --state RELATED,ESTABLISHED -p tcp --sport 5000 -j ACCEPT
# Servidores Internet #
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_MAIL -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p tcp --sport 25 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_MAIL -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p tcp --sport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_HTTP_1 -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p tcp --sport 20 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_HTTP_1 -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p tcp --sport 21 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_HTTP_2 -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p tcp --sport 20 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_HTTP_2 -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p tcp --sport 21 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_DNS_1 -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p udp --sport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_DNS_2 -d $REDE_INTERNA -m
state --state RELATED,ESTABLISHED -p udp --sport 53 -j ACCEPT
# Servios de banco de dados dos servidores internet Alfa #
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -s $SERVIDOR_HTTP_2 -d $SERVIDOR_BD -m
state --state ! INVALID -p tcp --dport 5432 -j ACCEPT
# Conexes Internet #
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -d $REDE_INTERNA -m state --state
RELATED,ESTABLISHED -p udp --sport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -d $REDE_INTERNA -m state --state
RELATED,ESTABLISHED -p tcp --sport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -d $REDE_INTERNA -m state --state
RELATED,ESTABLISHED -p tcp --sport 443 -j ACCEPT
$IPTABLES -A FORWARD -i $BACKBONE -o $INTERNA -d $REDE_INTERNA -m state --state
RELATED,ESTABLISHED -p tcp --sport 443 -j ACCEPT

www.projetoderedes.kit.net

97

#### Regras de repasses para o Backbone ####


## ICMP ##
# Rede Interna pelo Backbone #
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -p icmp -j ICMP_AMIGA
## Trfego Normal ##
# Resposta do bando de dados servidores internet Alfa #
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $SERVIDOR_BD -d $SERVIDOR_HTTP_2 -m
state --state RELATED,ESTABLISHED -p tcp --sport 5432 -j ACCEPT
# Liberando acesso para mquinas acessarem a internet #
CLASSE_REDE="10.20.1"
TERMINADOR=20
while [ "$TERMINADOR" -le 99 ]; do
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $CLASSE_REDE.$TERMINADOR -m
state --state ! INVALID -d ! $REDE_INTERNET -p tcp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $CLASSE_REDE.$TERMINADOR -m
state --state ! INVALID -d ! $REDE_INTERNET -p udp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $CLASSE_REDE.$TERMINADOR -m
state --state ! INVALID -d ! $REDE_INTERNET -p tcp --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $CLASSE_REDE.$TERMINADOR -m
state --state ! INVALID -d ! $REDE_INTERNET -p udp --dport 443 -j ACCEPT
TERMINADOR=$(($TERMINADOR+1))
done
# Acesso aos servidores internet da Alfa #
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_MAIL -p tcp --dport 25 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_MAIL -p tcp --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_DNS_1 -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_DNS_2 -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_HTTP_1 -p tcp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_HTTP_1 -p udp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_HTTP_1 -p tcp --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_HTTP_1 -p udp --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_HTTP_2 -p tcp --dport 80 -j ACCEPT

www.projetoderedes.kit.net
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_HTTP_2 -p udp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_BETA -p tcp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $BACKBONE -s $REDE_INTERNA -m state --state !
INVALID -d $SERVIDOR_BETA -p udp --dport 80 -j ACCEPT

98

www.projetoderedes.kit.net

99

Cdigo do Screening Router externo:


#!/bin/sh

######## Configuraes para o Screening Router Interno ########

###### Configurando kernel ######

# Ignora qualquer requisio de resposta a pedidos ICMP em difuso: defesa da


# rede contra ataques SMURF (Captulo 3, Seo 3.6).
if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]; then
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
fi
# Habilita proteo contra mensagens de erros falsos: negao de servios
# (Captulo 3, Seo 3.6).
if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ]; then
echo "0" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
fi
# Escreve no arquivo de log do kernel pacotes com endereos impossveis:
# falsificao de endereos IP e negao de servios (Captulo 3, sees 3.5 e 3.6).
if [ -e /proc/sys/net/ipv4/conf/all/log_martians ]; then
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
fi
# Habilita opes para conexes com endereos IP dinmicos (Point to Point
# Protocol - PPP)
if [ -e /proc/sys/net/ipv4/ip_dynaddr ]; then
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
fi
# Taxas ICMP a quantidade de respostas num determinado tempo em
# milissengundos. Evita o firewall seja usado como amplificadores num ataque
# de negao de servios e que ele prprio seja vtima.
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_echoreply_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_echoreply_rate
fi
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_paramprob_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_paramprob_rate
fi
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_timeexceed_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_timeexceed_rate
fi
# Taxas ICMP
if [ -e /proc/sys/net/ipv4/icmp_destunreach_rate ]; then
echo "200" > /proc/sys/net/ipv4/icmp_destunreach_rate
fi

www.projetoderedes.kit.net
# TCP SYN cookies : proteo contra IP com origem falsas (Captulo 3,
# Seo 3.5).
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
fi
# Habilita repasse de pacotes IP
if [ -e /proc/sys/net/ipv4/ip_forward ]; then
echo "1" > /proc/sys/net/ipv4/ip_forward
fi

###### Declarao de variveis ######


IPTABLES="/usr/sbin/iptables"
LOOPBACK="lo"
LINK="eth0"
SERVIDORES="eth1"
BACKBONE="eth2"
ADSL="ppp0"

## Caminho do iptables

## Interface de Loopback
## Interface da ligao com o roteador internet
## Interface da rede de servidores internet
## Interface com o Backbone Interno
## Interface com o modem ADSL

REDE_LOOPBACK="127.0.0/8"
## Endereo de loopback
REDE_LINK="200.254.130.252/30"
## Endereo da rede com o roteador internet
REDE_SERVIDORES="200.254.130.0/26" ## Endereo da rede com servidores internet
REDE_BACKBONE="10.1.1.0/30"
## Endereo da rede com o Backbone
IP_LOOPBACK="127.0.0.1"
## Endereo IP de loopback
IP_LINK="200.254.130.253"
## Endereo IP da placa com o roteador internet
IP_SERVIDORES="200.254.130.1" ## Endereo IP da placa com os servidores internet
IP_BACKBONE="10.1.1.1"
## Endereo IP da placa com o Backbone
SERVIDOR_MAIL="200.254.130.10"
SERVIDOR_HTTP_1="200.254.130.2"
SERVIDOR_HTTP_2="200.254.130.10"
SERVIDOR_DNS_1="200.254.130.10"
SERVIDOR_DNS_2="200.254.130.2"
SERVIDOR_BETA="200.254.130.25"
SERVIDOR_BD="10.20.1.4"
REDE_INTERNA="10.20.1.0/24"

## Endereo do Servidor de e-mail


## Endereo do Servidor de http no. 1
## Endereo do Servidor de http no. 2
## Endereo do Servidor de dns no. 1
## Endereo do Servidor de dns no. 2
## Endereo do Servidor do BETA
## Endereo do Servidor Banco de Dados
## Endereo da rede interna da Alfa

REDES_RESERVADAS="0.0.0.0/8 1.0.0.0/8 2.0.0.0/8 5.0.0.0/8 10.0.0.0/8 \


23.0.0.0/8 27.0.0.0/8 31.0.0.0/8 36.0.0.0/8 37.0.0.0/8 \
39.0.0.0/8 41.0.0.0/8 42.0.0.0/8 58.0.0.0/8 59.0.0.0/8 \
60.0.0.0/8 69.0.0.0/8 70.0.0.0/8 71.0.0.0/8 72.0.0.0/8 \
73.0.0.0/8 74.0.0.0/8 75.0.0.0/8 76.0.0.0/8 77.0.0.0/8 \
78.0.0.0/8 79.0.0.0/8 82.0.0.0/8 83.0.0.0/8 84.0.0.0/8 85.0.0.0/8 \
86.0.0.0/8 87.0.0.0/8 88.0.0.0/8 89.0.0.0/8 90.0.0.0/8 91.0.0.0/8 \
92.0.0.0/8 93.0.0.0/8 94.0.0.0/8 95.0.0.0/8 96.0.0.0/8 97.0.0.0/8 \
98.0.0.0/8 99.0.0.0/8 100.0.0.0/8 101.0.0.0/8 102.0.0.0/8 \
103.0.0.0/8 104.0.0.0/8 105.0.0.0/8 106.0.0.0/8 107.0.0.0/8 \
108.0.0.0/8 109.0.0.0/8 110.0.0.0/8 111.0.0.0/8 112.0.0.0/8 \
113.0.0.0/8 114.0.0.0/8 115.0.0.0/8 116.0.0.0/8 117.0.0.0/8 \
118.0.0.0/8 119.0.0.0/8 120.0.0.0/8 121.0.0.0/8 122.0.0.0/8 \
123.0.0.0/8 124.0.0.0/8 125.0.0.0/8 126.0.0.0/8 127.0.0.0/8 \
128.0.0.0/16 172.16.0.0/12 191.255.0.0/16 192.0.0.0/16 192.168.0.0/16 \
197.0.0.0/8 201.0.0.0/8 219.0.0.0/8 220.0.0.0/8 221.0.0.0/8 \

100

www.projetoderedes.kit.net
222.0.0.0/8
243.0.0.0/8
248.0.0.0/8
253.0.0.0/8

223.0.0.0/8
244.0.0.0/8
249.0.0.0/8
254.0.0.0/8

240.0.0.0/8 241.0.0.0/8 242.0.0.0/8 \


245.0.0.0/8 246.0.0.0/8 247.0.0.0/8 \
250.0.0.0/8 251.0.0.0/8 252.0.0.0/8 \
255.0.0.0/8"

###### Regras ######

## Flush/Destroi regras ##
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES
$IPTABLES

-F
-F
-F
-F
-F
-F
-F
-F
-F

INPUT
OUTPUT
FORWARD
-t nat
-t mangle
ICMP_AMIGA
ICMP_SUSPEITA
FINALIZA_SPOOF
FINALIZA_FLOOD

## Destroi regras definidas pelo usurio ##


$IPTABLES -X
## Criando polticas padro ##
# O Screening Router Externo tem a negao como poltica padro
# Captulo 3, Seo 1.5
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#
#
#
#

AS correntes de regras ICMP para redes amigas e suspeitas so correntes


de validao que um trfego ICMP submetido. So construdas duas
correntes: [1] Amigas, para redes internas e confiveis; [2] Suspeitas,
para redes externas e no confiveis.

###### Regras de ICMP para redes amigas ######

#### Criando Corrente de regras ####


$IPTABLES -N ICMP_AMIGA
$IPTABLES -F ICMP_AMIGA
#### Regras propriamente ditas ####
## Ecoa o ping ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type echo-reply -j ACCEPT
## Destino inalcanvel ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type destination-unreachable -j ACCEPT

## Diminuio no trfego ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type source-quench -j ACCEPT
## Tempo Excedido (traceroutes) ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type time-exceeded -j ACCEPT

101

www.projetoderedes.kit.net

102

## Problemas de parmetros ##
$IPTABLES -A ICMP_AMIGA -p icmp --icmp-type parameter-problem -j ACCEPT

###### Regras de ICMP para redes suspeitas ######

#### Criando Corrente de regras ####


$IPTABLES -N ICMP_SUSPEITAS
$IPTABLES -F ICMP_SUSPEITAS
#### Regras propriamente ditas ####
## Diminuio no trfego ##
$IPTABLES -A ICMP_SUSPEITAS -p icmp --icmp-type source-quench -j ACCEPT
## Requisita resposta (eco) (ping) ##
$IPTABLES -A ICMP_SUSPEITAS -p icmp --icmp-type echo-request -j ACCEPT
## Problemas de parmetros ##
$IPTABLES -A ICMP_SUSPEITAS -p icmp --icmp-type parameter-problem -j ACCEPT

###### Regras de pr roteamento ######

#### Regras para ajustes no TOS (Tipo de Servio) (Captulo 2, Seo 1.1) ####
## Diminiu atraso para acesso SSH (bit de atraso) ##
$IPTABLES -A PREROUTING -t mangle -p tcp --dport ssh -j TOS --set-tos Minimize-Delay
## Melhoria na performance de acesso
$IPTABLES -A PREROUTING -t mangle -p
tos Maximize-throughput
$IPTABLES -A PREROUTING -t mangle -p
set-tos Maximize-throughput
$IPTABLES -A PREROUTING -t mangle -p
tos Maximize-throughput
$IPTABLES -A PREROUTING -t mangle -p
tos Maximize-throughput

#
#
#
#
#

aos servidores HTTP (bit de passagem rpida) ##


tcp -s $SERVIDOR_HTTP_1 --sport 80 -j TOS --settcp -s $SERVIDOR_HTTP_1 --sport 443 -j TOS -tcp -s $SERVIDOR_HTTP_2 --sport 80 -j TOS --settcp -s $SERVIDOR_BETA --sport 80 -j TOS --set-

As duas regras principais para finalizar e registrar a falsificao de


endereos IP de origem so: [1] endereo IP reservado a redes internas vindo
em interfaces de redes externas (internet) falsificao; [2] endereo IP
correto (vlido e que da rede) porm vindo da interface errada
falsificao.

###### Regras para finalizao de IP Spoofing (falsificao de IP de origem)


(Captulo 3, Seo 3.5) ######

#### Criando Corrente de regras ####


$IPTABLES -N FINALIZA_SPOOF
$IPTABLES -F FINALIZA_SPOOF
#### Regras propriamente ditas ####
## Escreve tentativa no log do sistema (syslog) ##

www.projetoderedes.kit.net

103

$IPTABLES -A FINALIZA_SPOOF -m limit --limit 1/h --limit-burst 5 -j LOG --log-prefix


"Firewall: Spoof! "
## Descarta pacote ##
$IPTABLES -A FINALIZA_SPOOF -j DROP

# A regra principal para finalizar e registrar a negao de servio : a


# verificao de assinaturas de DoS pelos bits IP.

###### Regras para finalizao de IP Flooding (tentativa de negao de servio)


(Captulo 3, Seo 3.6) ######

#### Criando Corrente de regras ####


$IPTABLES -N FINALIZA_FLOOD
$IPTABLES -F FINALIZA_FLOOD
#### Regras propriamente ditas ####
## Escreve tentativa no log do sistema (syslog) ##
$IPTABLES -A FINALIZA_FLOOD -m limit --limit 1/h --limit-burst 5 -j LOG --log-prefix
"Firewall: Flood! "
## Descarta pacote ##
$IPTABLES -A FINALIZA_FLOOD -j DROP

###### Regras para a rede loopback ######

#### Regras para entrada vinda do loopback ####


$IPTABLES -A INPUT -i $LOOPBACK -j ACCEPT
#### Regras para saida do localhost (maquina local) ####
$IPTABLES -A OUTPUT -o $LOOPBACK -j ACCEPT

###### Regras para entradas (INPUT) ######


#### Verifica tentativas de negao de servios (Captulo 3, Seo 3.6) ####
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j FINALIZA_FLOOD
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j FINALIZA_FLOOD
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j FINALIZA_FLOOD
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j FINALIZA_FLOOD
#### Regras para entrada vinda do Link Internet ####
## Verifica tentativas de ataques ##
# Falsificao de endereo IP de origem no pacote (Captulo 3, Seo 3.5) #
for REDE in $REDES_RESERVADAS; do
$IPTABLES -A INPUT -i $LINK -s $REDE -j FINALIZA_SPOOF
done
$IPTABLES -A INPUT -i $LINK -s $REDE_SERVIDORES -j FINALIZA_SPOOF
## ICMP ##
$IPTABLES -A INPUT -i $LINK -d $IP_LINK -p icmp -j ICMP_SUSPEITA

www.projetoderedes.kit.net

104

## Trfego Normal ##
$IPTABLES -A INPUT -i $LINK -m state --state RELATED,ESTABLISHED -j ACCEPT

#### Regras para entrada vinda da Rede de Servidores ####


## Verifica tentativas de ataques ##
# Falsificao de endereo IP de origem no pacote (Captulo 3, Seo 3.5) #
for REDE in $REDES_RESERVADAS; do
$IPTABLES -A INPUT -i $SERVIDORES -s $REDE -j FINALIZA_SPOOF
done
$IPTABLES -A INPUT -i $SERVIDORES -s ! $REDE_SERVIDORES -j FINALIZA_SPOOF
## ICMP ##
$IPTABLES -A INPUT -i $SERVIDORES -s $REDE_SERVIDORES -d $IP_SERVIDORES -p icmp -j
ICMP_SUSPEITA
## Trfego Normal ##
$IPTABLES -A INPUT -i $SERVIDORES -s $REDE_SERVIDORES -d $IP_SERVIDORES -m state -state RELATED,ESTABLISHED -j ACCEPT

#### Regras para entrada vinda do Backbone ####


## ICMP ##
$IPTABLES -A INPUT -i $BACKBONE -d $IP_BACKBONE -p icmp -j ICMP_SUSPEITA
# Vindos da Rede Interna #
$IPTABLES -A INPUT -i $BACKBONE -s $REDE_INTERNA -d $IP_BACKBONE -p icmp -j
ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A INPUT -i $BACKBONE -d $IP_BACKBONE -m state --state RELATED,ESTABLISHED
-j ACCEPT
# Aceita conexes SSH #
$IPTABLES -A INPUT -i $BACKBONE -s $REDE_INTERNA -d $IP_BACKBONE -m state --state !
INVALID -p tcp --dport 22 -j ACCEPT

#### Regras para entrada vinda do ADSL ####


## Verifica tentativas de ataques ##
# Falsificao de endereo IP de origem no pacote (Captulo 3, Seo 3.5) #
for REDE in $REDES_RESERVADAS; do
$IPTABLES -A INPUT -i $ADSL -s $REDE -j FINALIZA_SPOOF
done
$IPTABLES -A INPUT -i $ADSL -s $REDE_SERVIDORES -j FINALIZA_SPOOF
## Trfego Normal ##
$IPTABLES -A INPUT -i $ADSL -m state --state RELATED,ESTABLISHED -j ACCEPT

###### Regras de sadas (OUTPUT) ######

www.projetoderedes.kit.net

105

#### Regras de sada para o Link Internet ####


## ICMP ##
$IPTABLES -A OUTPUT -o $LINK -s $IP_LINK -p icmp -j ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A OUTPUT -o $LINK -s $IP_LINK -m state --state ! INVALID -j ACCEPT

#### Regras de sada para a Rede de Servidores ####


## ICMP ##
$IPTABLES -A OUTPUT -o $SERVIDORES -s $IP_SERVIDORES -d $REDE_SERVIDORES -p icmp -j
ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A OUTPUT -o $SERVIDORES -s $IP_SERVIDORES -d $REDE_SERVIDORES -m state -state ! INVALID -j ACCEPT

#### Regras de sada para o Backbone ####


## ICMP ##
$IPTABLES -A OUTPUT -o $BACKBONE -s $IP_BACKBONE -p icmp -j ICMP_AMIGA
## Trfego Normal ##
$IPTABLES -A OUTPUT -o $BACKBONE -s $IP_BACKBONE -m state --state RELATED,ESTABLISHED
-j ACCEPT

#### Regras de sada para o ADSL ####


## ICMP ##
$IPTABLES -A OUTPUT -o $ADSL -p icmp -j ICMP_AMIGA

###### Regras de repasses (FORWARD) ######

#### Verifica tentativas de


$IPTABLES -A FORWARD -p tcp
$IPTABLES -A FORWARD -p tcp
$IPTABLES -A FORWARD -p tcp
$IPTABLES -A FORWARD -p tcp

negao de servios (Captulo 3, Seo 3.6) ####


--tcp-flags ALL FIN,URG,PSH -j FINALIZA_FLOOD
--tcp-flags SYN,RST SYN,RST -j FINALIZA_FLOOD
--tcp-flags SYN,FIN SYN,FIN -j FINALIZA_FLOOD
--tcp-flags ALL NONE -j FINALIZA_FLOOD

#### Regras de repasses para o Link Internet ####


## Verifica tentativas de ataques ##
# Falsificao de endereo IP de origem no pacote (Captulo 3, Seo 3.5) #
for REDE in $REDES_RESERVADAS; do
$IPTABLES -A FORWARD -i $LINK -s $REDE -j FINALIZA_SPOOF
done
$IPTABLES -A FORWARD -i $LINK -s $REDE_SERVIDORES -j FINALIZA_SPOOF
## ICMP ##
# Rede de Servidores pelo Link #
$IPTABLES -A FORWARD -i $SERVIDORES -o $LINK -s $REDE_SERVIDORES -p icmp -j
ICMP_SUSPEITA

www.projetoderedes.kit.net

106

## Trfego Normal ##
# Servidores Internet #
$IPTABLES -A FORWARD -i $SERVIDORES -o $LINK -s $SERVIDOR_MAIL -m state --state !
INVALID -p tcp --dport 25 -j ACCEPT
$IPTABLES -A FORWARD -i $SERVIDORES -o $LINK -s $SERVIDOR_DNS_1 -m state --state !
INVALID -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $SERVIDORES -o $LINK -s $SERVIDOR_DNS_2 -m state --state !
INVALID -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $SERVIDORES -o $LINK -s $SERVIDOR_BETA -m state --state !
INVALID -p tcp --dport 25 -j ACCEPT

#### Regras de repasses para a Rede de Servidores ####


## Verifica tentativas de ataques ##
# Falsificao de endereo IP de origem no pacote (Captulo 3, Seo 3.5) #
for REDE in $REDES_RESERVADAS; do
$IPTABLES -A FORWARD -i $SERVIDORES -s $REDE -j FINALIZA_SPOOF
done
$IPTABLES -A FORWARD -i $SERVIDORES -s ! $REDE_SERVIDORES -j FINALIZA_SPOOF
## ICMP ##
# Link Internet pela Rede de Servidores #
$IPTABLES -A FORWARD -i $LINK -o $SERVIDORES -d $REDE_SERVIDORES -p icmp -j
ICMP_SUSPEITA

www.projetoderedes.kit.net
Cdigo de configurao e das assinaturas do IDS:
###################################################
# Regras do IDS para rede Internet de Alfa
#
###################################################

#### Definindo Variveis ####

# Rede casa (rede que ser monitorada e protegida)


var REDE_PROTEGIDA 200.254.130.0/26
# Rede externa (qualquer uma que conecte a rede protegida)
var REDE_EXTERNA any
# Servidores de e-mail
var SERVIDORES_MAIL 200.254.130.10
# Servidores de pginas
var SERVIDORES_HTTP [200.254.130.2,200.254.130.10]
# Servidores DNS
var SERVIDORES_DNS [200.254.130.2,200.254.130.10]

#### Configurando pr-processadores ####

# defrag: suporte a desfragmentao


# Captulo 2, Seo 1.3
preprocessor frag2
# stream2: reconstruo de pacotes TCP
# Captulo 2, Seo 3.1
preprocessor stream2: timeout 10, ports 21 80 110, maxbytes 16384
# stream4: inspeciona o estado da conexo e reconstroi pacotes TCP para
# verificao, alm de detectar varreduras de portas invisveis.
# Captulo 2, Seo 3.1
preprocessor stream4: detect_scans
preprocessor stream4_reassemble
#
#
#
#
#

http_decode: normaliza requisies HTTP convertendo caracteres do tipo %XX em


seus tipos ASCII equivalentes visando detectar atacantes que tentam se
esconder utilizando estes recursos misturados a requisies perigosas
(geralmente que exploram vulnerabilidades de servios).
Explorao de vulnerabilidades: Captulo 3, Seo 3

preprocessor http_decode: 80 -unicode -cginull


# bo: detector de Back Orifice
# Explorao de vulnerabilidades: Captulo 3, Seo 3

107

www.projetoderedes.kit.net

108

preprocessor bo: -nobrute


#
#
#
#
#

portscan: detecta variaes de varredores de portas


Protege a rede internet contra pacotes UDP e pacotes TCP (SYN) que vo em mais
de quatro portas em menos de trs segundos, inserindo um registro no arquivo
portscan.log.
Captulo 3, Seo 3.4

preprocessor portscan: $REDE_PROTEGIDA 4 3 portscan.log

#### Configurando plugins de sada (registro) ####

# alert_syslog: registra alertas ao arquivo de registro do sistema syslog.]


# Atitude de resposta passiva. Captulo 3, Seo 2.3.
output alert_syslog: LOG_AUTH LOG_ALERT

#### Construindo as regras para os ataques ####


## Para compactibilidade com regras internacionais e programas
# analisadores de arquivos de registros do sistema, a classificao foi mantida
# em ingls, assim como as regras. Os comentrios esto em portugus.
## Definindo classificao dos ataques e suas prioridades ##
## Classificao uma forma de classificar e priorizar os alertas, permitindo
## definir quais so os alertas que carregam informaes mais importantes.
# A classificao configurada no IDS da seguinte maneira:
# config classification:apelido,breve descrio,prioridade
config classification: not-suspicious,Not Suspicious Traffic,3
config classification: unknown,Unknown Traffic,3
config classification: bad-unknown,Potentially Bad Traffic, 2
config classification: attempted-recon,Attempted Information Leak,2
config classification: successful-recon-limited,Information Leak,2
config classification: successful-recon-largescale,Large Scale Information Leak,2
config classification: attempted-dos,Attempted Denial of Service,2
config classification: successful-dos,Denial of Service,2
config classification: attempted-user,Attempted User Privilege Gain,1
config classification: unsuccessful-user,Unsuccessful User Privilege Gain,1
config classification: successful-user,Successful User Privilege Gain,1
config classification: attempted-admin,Attempted Administrator Privilege Gain,1
config classification: successful-admin,Successful Administrator Privilege Gain,1

www.projetoderedes.kit.net

109

config classification: rpc-portmap-decode,Decode of an RPC Query,2


config classification: shellcode-detect,Executable code was detected,1
config classification: string-detect,A suspicious string was detected,3
config classification: suspicious-filename-detect,A suspicious filename was
detected,2
config classification: suspicious-login,An attempted login using a suspicious
username was detected,2
config classification: system-call-detect,A system call was detected,2
config classification: tcp-connection,A TCP connection was detected,4
config classification: trojan-activity,A Network Trojan was detected, 1
config classification: unusual-client-port-connection,A client was using an unusual
port,2
config classification: network-scan,Detection of a Network Scan,3
config classification: denial-of-service,Detection of a Denial of Service Attack,2
config classification: non-standard-protocol,Detection of a non-standard protocol or
event,2
config classification: protocol-command-decode,Generic Protocol Command Decode,3
config classification: web-application-activity,access to a potentually vulnerable
web application,2
config classification: web-application-attack,Web Application Attack,1
config classification: misc-activity,Misc activity,3
config classification: misc-attack,Misc Attack,2
config classification: icmp-event,Generic ICMP event,3
config classification: kickass-porn,SCORE! Get the lotion!,1

### Assinaturas de ataques ###


## As assinaturas fazem parte de um trabalho de pesquisa sobre ataques e
## publicaes de assinaturas em pginas de segurana.
## A quantidade de assinaturas foi limitada pois este trabalho apenas um
## exemplo da aplicao. As quantidades reais chegam a milhares de assinaturas.
## Assinaturas de trfego suspeito ##

alert tcp $REDE_EXTERNA any <> $REDE_PROTEGIDA 0 (msg:"BAD TRAFFIC tcp port 0
traffic"; sid:524; classtype:misc-activity; rev:3;)
alert udp $REDE_EXTERNA any <> $REDE_PROTEGIDA 0 (msg:"BAD TRAFFIC udp port 0
traffic"; sid:525; classtype:misc-activity; rev:4;)

www.projetoderedes.kit.net

110

alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"BAD TRAFFIC data in TCP SYN
packet"; flags:S; dsize:>6; sid:526; classtype:misc-activity; rev:3;)
alert ip any any <> 127.0.0.0/8 any (msg:"BAD TRAFFIC loopback traffic";
classtype:bad-unknown; sid:528; rev:2;)
alert ip any any -> any any (msg:"BAD TRAFFIC same SRC/DST"; sameip; classtype:badunknown; sid:527; rev:2;)

## Assinaturas de tentativa de explorao de vulnerabilidades em programas ##

alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 22 (msg:"EXPLOIT ssh CRC32 overflow
/bin/sh"; flags:A+; content:"/bin/sh"; reference:bugtraq,2347; reference:cve,CVE2001-0144; classtype:shellcode-detect; sid:1324; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 22 (msg:"EXPLOIT ssh CRC32 overflow
NOOP"; flags:A+; content:"|90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90|";
reference:bugtraq,2347; reference:cve,CVE-2001-0144; classtype:shellcode-detect;
sid:1326; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 110 (msg:"EXPLOIT pop3 x86 linux
overflow";flags: A+; content:"|d840 cd80 e8d9 ffff ff|/bin/sh"; classtype:attemptedadmin; sid:288; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 143 (msg:"EXPLOIT imap
overflow";flags: A+; content:"|E8 C0FF FFFF|/bin/sh"; classtype:attempted-admin;
sid:293; rev:1;)
alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA 53 (msg:"EXPLOIT BIND Tsig Overflow
Attempt"; content:"|80 00 07 00 00 00 00 00 01 3F 00 01 02|/bin/sh";
classtype:attempted-admin; sid:314; rev:3; reference:cve,CAN-2000-0010;
reference:bugtraq,2302;)

## Assinaturas de varredores de portas ##

alert tcp $REDE_EXTERNA 10101 -> $REDE_PROTEGIDA any (msg:"SCAN myscan"; ttl: >220;
ack: 0; flags: S;reference:arachnids,439; classtype:attempted-recon; sid:613; rev:1;)
alert tcp $REDE_EXTERNA 31790 -> $REDE_PROTEGIDA 31789 (msg:"SCAN trojan hack-a-tack
probe"; content: "A"; depth: 1; reference:arachnids,314; flags:A+;
classtype:attempted-recon; sid:614; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"SCAN FIN"; flags: F;
reference:arachnids,27; classtype:attempted-recon; sid:621; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"SCAN NULL";flags:0; seq:0;
ack:0; reference:arachnids,4; classtype:attempted-recon; sid:623; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"SCAN SYN FIN";flags:SF;
reference:arachnids,198; classtype:attempted-recon; sid:624; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"SCAN XMAS";flags:SRAFPU;
reference:arachnids,144; classtype:attempted-recon; sid:625; rev:1;)

www.projetoderedes.kit.net

111

alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"SCAN nmap fingerprint
attempt";flags:SFPU; reference:arachnids,05; classtype:attempted-recon; sid:629;
rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"SCAN NMAP XMAS";flags:FPU;
reference:arachnids,30; classtype:attempted-recon; sid:1228; rev:1;)

## Assinaturas de ataques Servidores FTP ##

alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 21 (msg:"FTP .forward"; content:


".forward"; flags: A+;reference:arachnids,319; classtype:suspicious-filename-detect;
sid:334; rev:2;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 21 (msg:"FTP .rhosts";flags: A+;
content:".rhosts"; reference:arachnids,328; classtype:suspicious-filename-detect;
sid:335; rev:2;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 21 (msg:"FTP CWD ~root"; content: "cwd
~root"; nocase; flags: A+;reference:arachnids,318; classtype:bad-unknown; sid:336;
rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 21 (msg:"FTP satan scan";flags: A+;
content:"pass -satan"; reference:arachnids,329; classtype:suspicious-login; sid:359;
rev:2;)

## Assinaturas de ataques Servidores de e-mail ##

alert tcp $REDE_EXTERNA 113 -> $SERVIDORES_MAIL 25 (msg:"SMTP sendmail 8.6.9


exploit";flags: A+; content:"|0a|D/"; reference:arachnids,140; reference:cve,CVE1999-0204; classtype:attempted-admin; sid:655; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_MAIL 25 (msg:"SMTP exchange mime DOS";
flags: A+; content:"|63 68 61 72 73 65 74 20 3D 20 22 22|"; classtype:attempted-dos;
sid:658; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_MAIL 25 (msg:"SMTP majordomo ifs";flags:
A+; content:"eply-to|3a| a~.`/bin/"; reference:cve,CVE-1999-0208;
reference:arachnids,143; classtype:attempted-admin; sid:661; rev:1;)

## Assinaturas de Negao de Servio (Captulo 3, Seo 3.6) ##

alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"DOS Land attack"; id:3868;
seq: 3868; flags:S; classtype:attempted-dos; sid:269; rev:1;)
alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"DOS Teardrop attack";
id:242; fragbits:M; reference:bugtraq,124; classtype:attempted-dos; sid:270; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 7070 (msg:"DOS Real Audio Server";
flags: A+; content: "|fff4 fffd 06|"; reference:bugtraq,1288; reference:cve,CVE-20000474; reference:arachnids,411; classtype:attempted-dos; sid:276; rev:1;)

www.projetoderedes.kit.net

112

alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA 161 (msg:"DOS Bay/Nortel Nautica
Marlin"; dsize:0; reference:bugtraq,1009; reference:cve,CVE-2000-0221;
classtype:attempted-dos; sid:279; rev:2;)
alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA 9 (msg:"DOS Ascend Route"; content:
"|4e 41 4d 45 4e 41 4d 45|"; offset: 25; depth: 50; reference:bugtraq,714;
reference:cve,CVE-1999-0060; reference:arachnids,262; classtype:attempted-dos;
sid:281; rev:2;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 139 (msg: "DOS Winnuke attack"; flags:
U+; reference: bugtraq,2010; reference:cve,CVE-1999-0153; classtype: attempted-dos;
sid: 1257; rev:2;)

## Ataques de Negao de Servios Distribudos (Captulo 3, Seo 3.6) ##

alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"DDOS TFN Probe"; id: 678;
itype: 8; content: "1234";reference:arachnids,443; classtype:attempted-recon;
sid:221; rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"DDOS tfn2k icmp possible
communication"; itype: 0; icmp_id: 0; content: "AAAAAAAAAA"; reference:arachnids,425;
classtype:attempted-dos; sid:222; rev:1;)
alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA 31335 (msg:"DDOS
Trin00\:DaemontoMaster(PONGdetected)"; content:"PONG";reference:arachnids,187;
classtype:attempted-recon; sid:223; rev:1;)
alert icmp $REDE_PROTEGIDA any -> $REDE_EXTERNA any (msg:"DDOS Stacheldraht serverresponse"; content: "|66 69 63 6B 65 6E|"; itype: 0; icmp_id: 667;
reference:arachnids,191; classtype:attempted-dos; sid:226; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 20432 (msg:"DDOS shaft client to
handler"; flags: A+; reference:arachnids,254; classtype:attempted-dos; sid:230;
rev:1;)
alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA 10498 (msg:"DDOS mstream handler to
agent"; content: "stream/"; reference:cve,CAN-2000-0138; classtype:attempted-dos;
sid:244; rev:1;)

## Assinaturas de ataques Servidores DNS ##

alert udp $REDE_EXTERNA 53 -> $REDE_PROTEGIDA any (msg:"DNS SPOOF query response PTR
with TTL\: 1 min. and no authority"; content:"|85800001000100000000|";
content:"|c00c000c00010000003c000f|"; classtype:bad-unknown; sid:253; rev:2;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 53 (msg:"DNS zone transfer"; content:
"|00 00 FC|"; flags: A+; offset: 13; reference:arachnids,212; classtype:attemptedrecon; sid:255; rev:2;)
alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA 53 (msg:"DNS named authors attempt";
content:"|07|authors"; offset:12; content:"|04|bind"; nocase; offset: 12;
reference:arachnids,480; classtype:attempted-recon; sid:256; rev:1;)

www.projetoderedes.kit.net

113

alert udp $REDE_EXTERNA any -> $REDE_PROTEGIDA 53 (msg:"DNS named version attempt";
content:"|07|version"; offset:12; content:"|04|bind"; nocase; offset: 12;
reference:arachnids,278; classtype:attempted-recon; sid:257; rev:1;)
alert tcp $REDE_EXTERNA any -> $REDE_PROTEGIDA 53 (msg:"DNS EXPLOIT named 8.2>8.2.1";flags: A+; content:"../../../../../../../../../"; reference:cve,CVE-19990833; classtype:attempted-admin; sid:258; rev:1;)

## Assinaturas de ataques Servidores HTTP (WEB) ##

alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI php access";flags:


A+; uricontent:"/php.cgi"; nocase; reference:bugtraq,2250; reference:arachnids,232;
classtype:attempted-recon; sid:824; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI perl.exe
access";flags: A+; uricontent:"/perl.exe"; nocase;
reference:arachnids,219;classtype:attempted-recon; sid:832; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI uploader.exe
access";flags: A+; uricontent:"/uploader.exe"; nocase;reference:cve,CVE-19990177;classtype:attempted-recon; sid:837; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI finger access";
flags: A+; uricontent:"/finger"; nocase; reference:arachnids,221; reference:cve,CVE1999-0612;classtype:attempted-recon; sid:839; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI edit.pl
access";flags: A+; uricontent:"/edit.pl"; nocase;classtype:attempted-recon; sid:855;
rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI zsh access";flags:
A+; uricontent:"/zsh"; nocase; reference:cve,CAN-1999-0509; classtype:attemptedrecon; sid:1309; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI ksh access";flags:
A+; uricontent:"/ksh"; nocase; reference:cve,CAN-1999-0509;classtype:attempted-recon;
sid:865; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI visadmin.exe
access";flags: A+; uricontent:"/visadmin.exe"; nocase; reference:bugtraq,1808;
reference:cve,CAN-1999-1970;classtype:attempted-recon; sid:867; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI tcsh access";flags:
A+; uricontent:"/tcsh"; nocase; reference:cve,CAN-1999-0509;classtype:attemptedrecon; sid:872; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI formmail
access";flags: A+; uricontent:"/formmail"; nocase; reference:bugtraq,1187;
reference:cve,CVE-1999-0172; reference:arachnids,226; classtype:attempted-recon;
sid:884; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI bash access";flags:
A+; uricontent:"/bash"; nocase; reference:cve,CAN-1999-0509; classtype:attemptedrecon; sid:885; rev:1;)

www.projetoderedes.kit.net

114

alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-CGI phf access";flags:


A+; uricontent:"/phf"; nocase; reference:bugtraq,629; reference:arachnids,128;
reference:cve,CVE-1999-0067; classtype:attempted-recon; sid:886; rev:3;)

## Assinaturas de ataques Servidores Cold Fusion (Servidor WEB da Alfa) ##

alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-COLDFUSION cfcache.map


access";flags: A+; uricontent:"/cfcache.map"; nocase; reference:bugtraq,917;
reference:cve,CVE-2000-0057; classtype:attempted-recon; sid:903; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-COLDFUSION
application.cfm access";flags: A+;
uricontent:"/cfdocs/exampleapp/publish/admin/application.cfm";
nocase;reference:bugtraq,1021; classtype:attempted-recon; sid:905; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-COLDFUSION getfile.cfm
access";flags: A+; uricontent:"/cfdocs/exampleapp/email/getfile.cfm";
nocase;reference:bugtraq,229; classtype:attempted-recon; sid:906; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-COLDFUSION administrator
access"; uricontent:"/cfide/administrator/index.cfm"; nocase; flags:A+;
classtype:attempted-recon; sid:908; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-COLDFUSION admin decrypt
attempt";flags: A+; content:"CFUSION_DECRYPT()"; nocase; reference:bugtraq,550;
classtype:web-application-attack; sid:924; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-COLDFUSION settings
refresh attempt";flags: A+; content:"CFUSION_SETTINGS_REFRESH()";
nocase;reference:bugtraq,550; classtype:web-application-attack; sid:927; rev:2;)

## Assinaturas de ataques Servidores WEB IIS ##

alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS ..\.. access";flags:


A+; content:"|2e2e5c2e2e|"; reference:bugtraq,2218; reference:cve,CAN-1999-0229;
classtype:web-application-attack; sid:974; rev:3;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS .bat? access";flags:
A+; uricontent:".bat?&"; nocase; reference:bugtraq,2023; reference:cve,CVE-1999-0233;
classtype:web-application-activity; sid:976; rev:3;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS .cnf access";
content:".cnf"; nocase; flags:a+; classtype:web-application-activity; sid:977;
rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS ASP contents view";
flags: A+; content:"%20"; content:"&CiRestriction=none"; nocase;
content:"&CiHiliteType=Full"; nocase; reference:cve,CAN-2000-0302;
reference:bugtraq,1084; classtype:web-application-attack; sid:978; rev:4;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS File permission
canonicalization"; uricontent:"/scripts/..%c0%af../"; flags: A+; nocase;
classtype:web-application-attack; sid:981; rev:2;)

www.projetoderedes.kit.net

115

alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS MSProxy


access";flags: A+; uricontent:"/scripts/proxy/w3proxy.dll"; nocase; classtype:webapplication-activity; sid:986; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS admin access";flags:
A+; uricontent:"/scripts/iisadmin"; nocase; classtype:web-application-attack;
sid:993; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS cmd.exe access";
flags: A+; content:"cmd.exe"; nocase; classtype:web-application-attack; sid:1002;
rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS cmd? acess";flags:
A+; content:".cmd?&"; nocase; classtype:web-application-attack; sid:1003; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS del attempt";flags:
A+; content:"&del+/s+c|3a|\\*.*"; nocase; classtype:web-application-attack; sid:1008;
rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS directory listing";
uricontent:"/ServerVariables_Jscript.asp"; nocase; flags:A+; classtype:webapplication-attack; sid:1009; rev:1;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS index server file
sourcecode attempt"; flags: A+; content:"?CiWebHitsFile=/";
content:"&CiRestriction=none&CiHiliteType=Full"; classtype:web-application-attack;
sid:1019; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS perl access";flags:
A+; uricontent:"/scripts/perl"; nocase; classtype:web-application-activity; sid:1025;
rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS site server config
access";flags: A+; uricontent:"/adsamples/config/site.csc";
nocase;reference:bugtraq,256; classtype:web-application-activity; sid:1038; rev:2;)
alert tcp $SERVIDORES_HTTP 80 -> $REDE_EXTERNA any (msg:"WEB-IIS Unauthorized IP
Access Attempt"; flags: A+; content:"403"; content:"Forbidden\:"; classtype:webapplication-attack; sid:1045; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS site/iisamples
access"; flags:A+; uricontent:"/site/iisamples"; nocase; classtype:web-applicationactivity; sid:1046; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS CodeRed v2 root.exe
access"; flags: A+; uricontent:"scripts/root.exe?"; nocase; classtype:webapplication-attack; sid: 1256; rev:2;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS outlook web dos";
flags:A+; uricontent:"/exchange/LogonFrm.asp?"; nocase; content:"mailbox="; nocase;
content:"|25 25 25|"; classtype:web-application-attack; reference:bugtraq,3223;
sid:1283; rev:4;)
alert tcp $REDE_EXTERNA any -> $SERVIDORES_HTTP 80 (msg:"WEB-IIS scripts access";
flags:A+; uricontent:"/scripts/"; nocase; classtype:web-application-activity;
sid:1287; rev:2;)

www.projetoderedes.kit.net

116

## Assinaturas de trfego ICMP suspeito ##

alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP ISS Pinger";
content:"|495353504e475251|";itype:8;depth:32; reference:arachnids,158;
classtype:attempted-recon; sid:465; rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP PING NMAP"; dsize: 0;
itype: 8; reference:arachnids,162; classtype:attempted-recon; sid:469; rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP redirect
host";itype:5;icode:1; reference:arachnids,135; reference:cve,CVE-1999-0265;
classtype:bad-unknown; sid:472; rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP superscan echo";
content:"|0000000000000000|"; itype: 8; dsize:8; classtype:attempted-recon; sid:474;
rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP traceroute ipopts";
ipopts: rr; itype: 0; reference:arachnids,238; classtype:attempted-recon; sid:475;
rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP Source Quench"; itype:
4; icode: 0; classtype:bad-unknown; sid:477; rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP Broadscan Smurf
Scanner"; itype: 8; icmp_id: 0; icmp_seq: 0; dsize:4; classtype:attempted-recon;
sid:478; rev:1;)
alert icmp $REDE_EXTERNA any -> $REDE_PROTEGIDA any (msg:"ICMP PING Sniffer
Pro/NetXRay network scan"; itype:8;
content:"|43696e636f204e6574776f726b2c20496e632e|"; depth:32; sid:484;
classtype:misc-activity; rev:2;)

## Assinaturas de comprometimento de mquinas (mquinas que respondem ataques


## copiando arquivos remotos, listando o contedo de um diretrio, etc.) ##
alert tcp $SERVIDORES_HTTP 80 -> $REDE_EXTERNA any (msg:"ATTACK RESPONSES http dir
listing"; content: "Volume Serial Number"; flags: A+; classtype:bad-unknown;
sid:1292; rev:1;)
alert tcp any any -> any any (msg:"ATTACK RESPONSES id check returned root";
flags:A+; content: "uid=0(root)"; classtype:bad-unknown; sid:498; rev:2;)
alert tcp $SERVIDORES_HTTP 80 -> $REDE_EXTERNA any (msg:"ATTACK RESPONSES command
completed"; content:"Command completed"; nocase; flags:A+; classtype:bad-unknown;
sid:494; rev:2;)
alert tcp $SERVIDORES_HTTP 80 -> $REDE_EXTERNA any (msg:"ATTACK RESPONSES directory
listing"; content:"Directory Listing of"; nocase; flags:A+; classtype:unknown;
sid:496; rev:2;)
alert tcp $SERVIDORES_HTTP 80 -> $REDE_EXTERNA any (msg:"ATTACK RESPONSES file copied
ok"; content:"1 file(s) copied"; nocase; flags:A+; classtype:bad-unknown; sid:497;
rev:2;)

You might also like