Artigo - GR

17
Gerenciando uma Rede com: Traceroute, Iperf, Netstat, Wireshark e Iptables Luma da Rocha Seixas 1 1 Faculdade de Sistemas de Informação Universidade Federal Pará (UFPA) Santarém PA Brasil [email protected] Resumo. Este artigo descreve uso de algumas ferramentas para fazer o gerenciamento de falhas, configuração, contabilização, desempenho e segurança. Pretende-se mostrar como implementar uma pequena infra- estrutura para garantir a integridade e a segurança dos dados em uma rede. Para isso serão feitos testes com algumas aplicações que demonstrem a eficiência das mesmas nesse gerenciamento. Palavras-chave: Redes de Computadores, Gerência de Redes, Segurança, Ferramentas para Gerenciamento. 1. Introdução Com o passar dos anos foi possível observar a crescente importância das Redes de Computadores. Isso se deve ao seu principal objetivo: o compartilhamento de recursos. Mas, à medida que essas redes vão evoluindo é necessário ter um maior controle sobre o seu gerenciamento. O qual está relacionado com o monitoramento de suas atividades e recursos. [1] Como cada vez mais setores de todas as áreas vêm se utilizando das redes, o tráfego de informações aumenta e há por tanto uma preocupação de como esses dados irão trafegar na rede. Poder gerenciar as possíveis falhas de forma a detectá-las e isolá- las, ou reconfigurar a rede para tentar diminuí-las é uma das soluções encontradas por gerentes de redes. Também se faz necessário a contabilização dos recursos utilizados, com o objetivo de fazer com que haja uma utilização eficiente da rede e evite a sobrecarga que pode ser resultado de acessos privilegiados. [1] O monitoramento e controle de acesso à rede e à informação que nela trafega tornaram-se alvo de pesquisas, de forma que esses serviços sempre sejam executados com qualidade. Para isso, é possível contar com ferramentas para a geração, distribuição e armazenamento de chaves criptográficas e de senhas para proteger as informações. Para possibilitar um melhor acesso aos dados através de uma rede Móvel ou cabeada, surge um enorme desafio chamado de Qualidade de Serviço (Quality of Service QoS) , que visa atender as necessidades de gerenciamento dos serviços que rodam em uma rede.[1] Atualmente estão sendo desenvolvidos softwares que possibilitam o gerenciamento da carga que será utilizada na rede sem fio, permitindo assim uma melhor

description

 

Transcript of Artigo - GR

Page 1: Artigo - GR

Gerenciando uma Rede com: Traceroute, Iperf, Netstat,

Wireshark e Iptables

Luma da Rocha Seixas1

1Faculdade de Sistemas de Informação – Universidade Federal Pará (UFPA)

Santarém – PA – Brasil

[email protected]

Resumo. Este artigo descreve uso de algumas ferramentas para fazer o

gerenciamento de falhas, configuração, contabilização, desempenho e

segurança. Pretende-se mostrar como implementar uma pequena infra-

estrutura para garantir a integridade e a segurança dos dados em uma rede.

Para isso serão feitos testes com algumas aplicações que demonstrem a

eficiência das mesmas nesse gerenciamento.

Palavras-chave: Redes de Computadores, Gerência de Redes, Segurança,

Ferramentas para Gerenciamento.

1. Introdução

Com o passar dos anos foi possível observar a crescente importância das Redes de

Computadores. Isso se deve ao seu principal objetivo: o compartilhamento de recursos.

Mas, à medida que essas redes vão evoluindo é necessário ter um maior controle sobre o

seu gerenciamento. O qual está relacionado com o monitoramento de suas atividades e

recursos. [1]

Como cada vez mais setores de todas as áreas vêm se utilizando das redes, o

tráfego de informações aumenta e há por tanto uma preocupação de como esses dados

irão trafegar na rede. Poder gerenciar as possíveis falhas de forma a detectá-las e isolá-

las, ou reconfigurar a rede para tentar diminuí-las é uma das soluções encontradas por

gerentes de redes. Também se faz necessário a contabilização dos recursos utilizados,

com o objetivo de fazer com que haja uma utilização eficiente da rede e evite a

sobrecarga que pode ser resultado de acessos privilegiados. [1]

O monitoramento e controle de acesso à rede e à informação que nela trafega

tornaram-se alvo de pesquisas, de forma que esses serviços sempre sejam executados

com qualidade. Para isso, é possível contar com ferramentas para a geração, distribuição

e armazenamento de chaves criptográficas e de senhas para proteger as informações.

Para possibilitar um melhor acesso aos dados através de uma rede Móvel ou

cabeada, surge um enorme desafio chamado de Qualidade de Serviço (Quality of Service

– QoS) , que visa atender as necessidades de gerenciamento dos serviços que rodam em

uma rede.[1]

Atualmente estão sendo desenvolvidos softwares que possibilitam o

gerenciamento da carga que será utilizada na rede sem fio, permitindo assim uma melhor

Page 2: Artigo - GR

distribuição dos recursos da rede, permitindo inclusive alterar a carga conforme surgem

as necessidades. [1]

A partir do contexto acima, faz-se necessário buscar aplicativos que ajudem

nesse controle. O objetivo desse artigo é, justamente, apresentar algumas ferramentas

que oferecem funcionalidades para fazer esse gerenciamento.

2. Áreas de Gerenciamento

Gerenciamento de rede inclui a disponibilização, a integração e a coordenação de

elementos de hardware, software e humanos, para monitorar, testar, consultar,

configurar, analisar, avaliar e controlar os recursos da rede, e de elementos, para

satisfazer às exigências operacionais, de desempenho e de qualidade de serviços em

tempo real a um custo razoável. [2]

A ISO (International Standards Organization) definiu um modelo, o OSI (Open

Systems Interconnection) em que as atividades de gerenciamento de redes são divididas

em cinco áreas funcionais. Cada uma das áreas funcionais busca resolver problemas

relativos a falhas de componentes, configuração da rede, níveis de desempenho

alcançados pela rede, segurança e contabilização de sua utilização. Estas áreas funcionais

são: Gerenciamento de Falhas, Gerenciamento de Configuração, Gerenciamento de

Contabilização, Gerenciamento de Desempenho e Gerenciamento de Segurança. [3]

2.1 Gerenciamento de Falhas

A gerência de falhas tem a responsabilidade de monitorar os estados dos recursos, da

manutenção de cada um dos objetos gerenciados, e pelas decisões que devem ser

tomadas para restabelecer as unidades do sistema que venham a dar problemas.

As informações que são coletadas sobre os vários recursos da rede podem ser

usadas em conjunto com um mapa desta rede, para indicar quais elementos estão

funcionando, quais estão em mau funcionamento, e quais não estão funcionando.

Opcionalmente, pode-se aqui gerar um registro das ocorrências na rede, um

diagnóstico das falhas ocorridas, e uma relação dos resultados deste diagnóstico com as

ações posteriores a serem tomadas para o reparo dos objetos que geraram as falhas. [4]

2.2 Gerenciamento de Configuração

O serviço de gerência de configuração contempla a realização de uma série de atividades

dentro desta área funcional, desenvolvendo ações para materialização de resultados de

curto prazo. O objetivo é o de permitir a preparação, iniciação, partida, operação

contínua, e a posterior suspensão dos serviços de interconexão entre os sistemas abertos,

tendo então, a função de manutenção e monitoração da estrutura física e lógica de uma

rede, incluindo a verificação da existência dos componentes, e a verificação da

interconectividade entre estes componentes.

Algumas atividades que podem auxiliar no gerenciamento:

Identificação dos Elementos Funcionais: Processo de descoberta, classificação e

identificação dos elementos (qualquer dispositivo que contenha endereço IP).

Construção de Mapas de Topologia: Apresentação e construção de mapas com a

topologia dos elementos (dispositivos IP) e representação da estrutura de

interconexão física ou lógica destes elementos.

Page 3: Artigo - GR

Inventário de Hardware e Software: Mecanismos para Inventário de Hardware e

Software de diferentes dispositivos e ambientes, fornecendo informações sobre

configuração e disponibilidade de recursos em cada elemento.

Construção de Bases de Dados de Configuração: Contém as aplicações que

auxiliam no processo de configuração de elementos de rede:

Implementação em larga escala: Mecanismos para a reaplicação de configuração

em larga escala, facilitando o processo de implementação e o fornecimento de

recursos.

Verificação de Integridade: Análise crítica das configurações de IOS de todo o

ambiente da rede.

Distribuição Eletrônica de Software: Distribuição de versões do sistema

operacional (SW), com mecanismos de controle do processo.

Gestão de Alteração na Configuração dos Dispositivos: Mecanismos de

sinalização e acompanhamento de mudanças. O objetivo é desenvolver processos

capazes de acompanhar as modificações implementadas por um usuário na infra-

estrutura. [4]

2.3 Gerenciamento de Contabilização

A gerência de Contabilidade provê meios para se medir e coletar informações a respeito

da utilização dos recursos e serviços de uma rede, para podermos saber qual a taxa de

uso destes recursos, para garantir que os dados estejam sempre disponíveis quando for

necessária ao sistema de gerenciamento, ou durante a fase de coleta, ou em qualquer

outra fase posterior a esta.

Deve existir um padrão para obtenção e para a representação das informações de

contabilização, e para permitir a interoperabilidade entre os serviços do protocolo OSI.

A função de contabilização deve ser genérica para que cada aplicação trate os dados

coerentemente de acordo com as suas necessidades. Estas funções podem ser usadas

para várias finalidades como tarifas sobre serviços prestados, controle de consumo dos

usuários, etc.

A função de contabilização é implementada através de objetos gerenciados

especiais associados à contabilização (a utilização dos recursos ligados a estes objetos

que representam as características de um dado recurso monitorado) chamados de

“Objetos Contabilizados”.

2.4 Gerenciamento de Desempenho

O gerenciamento de desempenho é um conjunto de funções responsáveis pela

manutenção e exame dos registros que contém o histórico dos estados de um sistema,

com o objetivo de serem usados na análise das tendências do uso dos componentes.

Há um planejamento do sistema, através do dimensionamento dos recursos que

devem ser alocados para o mesmo, com o objetivo de atender aos requisitos dos

usuários, para satisfazer a demanda de seus usuários, ou seja, garantir que não ocorram

insuficiências de recursos quando sua utilização se aproximar da capacidade total do

sistema.

Para atingir estes objetivos, deve-se monitorar taxa de utilização dos recursos, a

Page 4: Artigo - GR

taxa em que estes recursos são pedidos, e a taxa em que os pedidos a um recurso são

rejeitados. Para cada tipo de monitoração, definimos um valor máximo aceitável

(threshold), um valor de alerta, e um valor em que se remove a situação de alerta.

2.5 Gerenciamento de Segurança

O objetivo do gerenciamento de segurança é o de dar subsídios à aplicação de políticas

de segurança, que são os aspectos essenciais para que uma rede baseada no modelo OSI

seja operada corretamente, protegendo os objetos gerenciados e o sistema de acessos

indevidos de intrusos. Deve providenciar um alarme ao gerente da rede sempre que se

detectarem eventos relativos à segurança do sistema. [5]

O gerenciamento de segurança trata de questões como:

Geração, distribuição e armazenamento de chaves de criptografia;

Manutenção e distribuição de senhas e informações de controle de acesso;

Monitoração e controle de acesso à rede ou parte da rede e às informações

obtidas dos nodos da rede;

Coleta, armazenamento e exame de registros de auditoria e logs de segurança,

bem como ativação e desativação destas atividades. [5]

3. Ferramentas e ambiente para fazer o gerenciamento

Há várias ferramentas para medir e simular o tráfego de pacotes. Para a realização esse

trabalho, foram escolhidas aquelas que apresentaram maior facilidade na sua sintaxe e

principalmente atenderam a proposta aqui apresentada, que é poder fazer um

gerenciamento com ferramentas mais simples e conhecidas.

Outro critério analisado foi o de escolher softwares que sejam compatíveis com o

sistema operacional escolhido para o desenvolvimento dos testes, neste caso –

UBUNTU 9.04. Com isso as ferramentas (softwares) escolhidos foram:

Traceroute(Falhas), Iperf(Configuração), Netstat(Contabilização),

Wireshark(Desempenho) e Iptables(Segurança). O local dos testes foi o Laboratório de

Informática da Faculdade de Sistemas de Informação e as máquinas utilizadas foram:

labin06, labin07 e labin08.

4. Traceroute

A Internet é composta por um conjunto de redes interligadas entre si. Os dados numa

rede IP, são enviados em blocos referidos como pacotes ou datagramas (os termos são

basicamente sinônimos no IP, sendo usados para os dados em diferentes locais nas

camadas IP). Em particular, no IP nenhuma definição é necessária antes do host tentar

enviar pacotes para um host com o qual não comunicou previamente.

Traceroute é uma ferramenta que permite descobrir o caminho feito por esses

pacotes desde a sua origem até o seu destino. Ele é usado para testes, medidas e

gerenciamento da rede. O traceroute pode ser utilizado para detectar falhas como, por

exemplo, gateways intermediários que descartam pacotes ou rotas que excedem a

capacidade de um datagrama IP. Com esta ferramenta, o atraso da "viagem" do pacote

entre a origem e gateways intermediários são reportados, permitindo determinar a

contribuição de cada gateway para o atraso total da "viagem" do pacote desde a origem

Page 5: Artigo - GR

até o seu destino. Versões melhoradas do traceroute permitem a especificação de "rotas

livres da origem" para os datagramas. Isto permite investigar qual o caminho de retorno

que as máquinas remotas fazem até o host local. A seguir será mostrada uma tela que

exibirá resultados da execução de traceroute.

Fig.1 traceroute para 10.125.100.72

Na figura acima foi traçado uma rota para o ip 10.125.100.72. A primeira linha de saída

é a informação sobre o que estou fazendo, ele mostra o sistema de destino, endereço de

IP do sistema, o número máximo de saltos que será permitido e o tamanho dos pacotes

enviados. Na linha seguinte é mostrado o roteador que fica no caminho entre a máquina

que executa o traceroute e o sistema de destino. Os tempos de ida e volta (ou RTTs)

representam quanto tempo levou para obter um pacote de labin06 para o labin07 e vice-

versa, chamado de latência entre os dois sistemas. Por padrão, três pacotes são enviados

para cada sistema ao longo do percurso, por isso temos três RTTs.

Page 6: Artigo - GR

Fig.2 traceroute para www.w3.org

Na Fig.2 foi traçado uma rota para www.w3.org. Como foi especificado acima, a

primeira linha informa sempre que operação está sendo realizada e o seu IP, número

máximo de saltos e o tamanho do pacote a ser enviado. É possível observar que há uma

linha para cada roteador que ele passa. Os asteriscos (* * *) significam que o sistema de

destino não pôde ser alcançado. Mais precisamente, isso significa que os pacotes não

conseguiram chegar até lá e voltar, pois eles podem até ter atingindo o sistema alvo, mas

que enfrentaram problemas durante seu retorno. A causa disso é possivelmente algum

tipo de problema, ou também pode ser um bloqueio intencional, devido a um firewall ou

outras medidas de segurança.

5. Iperf

A camada de transporte, em redes IP, é tipicamente constituída por dois protocolos: o

UDP (“User Datagram Protocol” ) e o TCP (“Transmission Control Protocol”). O UDP

efetua ligações não orientadas à conexão, suportando a multiplexagem de fluxos de

diversas aplicações mas não garantindo a entrega de pacotes. Pelo contrário, o TCP é

um protocolo muito complexo, orientado à conexão e dispondo de mecanismos de

controlo de fluxo, congestão e retransmissão, permitindo o estabelecimento de canais

Page 7: Artigo - GR

lógicos fiáveis byte- oriented. Aqui irá ser apresentado a performance de uma rede

cabeada ao desempenhar esses protocolos.

Para isso, será utilizada a ferramenta, iperf, para geração de tráfego.

Basicamente, esta ferramenta concretiza uma arquitetura cliente/servidor, permitindo

criar ligações TCP/UPD e efetuado o cálculo de diversos parâmetros como sejam o

débito e a latência. O cenário desta experiência envolve três máquinas, designados

genericamente por labin06, labin07 e labin08.

Fig.3 labin06 atua em modo servidor

Fig.4 labin07 atua em modo cliente

Fig.5 labin08 atua em modo cliente

Page 8: Artigo - GR

O iperf é utilizado para calcular a largura de banda disponível entre dois hosts.

Cada host executa um processo local e os processos comunicam-se entre si através do

envio de dados (UDP ou TCP), a fim de saturar o caminho entre eles.

Como pode ser observado acima, em Fig.3 foram utilizados 130k do tamanho

do buffer para a transmissão. O parâmetro -s indica que está no modo servidor e -w

refere-se ao tamanho da janela ou buffer. A capacidade do link é de 112MBytes e o

desempenho é de 93.7Mbits/sec. Nas figuras seguintes, Fig.2 e Fig.3 a capacidade

continua sendo a mesma já que os computadores estão na mesma rede, o desempenho

varia apenas de servidor para cliente.

Essa aplicação ajuda na regularização conexões TCP através de um caminho

particular. Uma das mais importantes questões pra o TCP é o tamanho da janela, que vai

controlar a quantidade de dados que pode trafegar na rede. Se for muito pequena, quem

está enviando esses dados ficará ocioso às vezes e terá um desempenho ruim.

6. Netstat

Para uma boa gerência de redes, é sempre necessário verificar a sua configuração e a

atividade que nela ocorre. Há várias ferramentas que possibilitam fazer esse controle, a

que será utilizada nesse trabalho é o Netstat.

Fig.6 Características por protocolo

Page 9: Artigo - GR

Fig.7 continuação da Fig.6

Fig.8 tabela de roteamento

Page 10: Artigo - GR

Fig. 9 Interfaces ativas

A Fig. 6 e Fig.7 mostra as estatísticas detalhadas por protocolo. Na Fig.8 exibiu o

endereço do gateway, se houvesse mais de uma interface ou ter vários IPs atribuídos a

uma interface, este comando ajudaria a solucionar problemas de roteamento da rede. A

utilização desse comando é importante para conhecer as conexões TCP ativas na

máquina onde o comando foi executado e assim listar o conjunto das portas TCP e UDP

abertas no computador. Na Fig. 9 estão as informações de todas as interfaces ativas.

Pode ser possível ver através desse comando as estatísticas de erros de entrada/saída,

assim com estatística de tráfego.

7. Wireshark

O Wireshark é um desmembramento do antigo ethereal, ele é um analisador de

protocolos, usado em cima de interface de redes (placa wireless, ethernet,...). Sua

função é capturar qualquer tipo de pacotes que trafeguem pela placa. Têm biblioteca de

pares de protocolos que decodificam os pacotes identificando qual o protocolo e seus

parâmetros, tem a opção de construir uma biblioteca e ampliar a gama de protocolos

suportados.

Page 11: Artigo - GR

Fig.10 programa em execução

Fig.11 wireshark capturando pacotes

Page 12: Artigo - GR

Fig.12 aplicando um filtro

A Fig.10 mostra o wireshark em execução. Na Fig.11 foi iniciado um teste para poder

testar um filtro. Foi acessado um site a partir da máquina 10.125.100.71 para

analisarmos os pacotes. E os pacotes foram capturados até ser efetuado um login

qualquer. Foi dado um “stop” na captura de pacotes para poder fazer um filtro. O filtro

era “http matches POST” cujo objetivo era filtrar somente os pacotes HTTP que

possuiam o comando POST. O resultado pode ser visto na Fig. 12, somente pacotes cujo

protocolo é HTTP.

8. Iptables

Firewall é um quesito de segurança com cada vez mais importância no mundo da

computação. À medida que o uso de informações e sistemas é cada vez maior, a

proteção destes requer a aplicação de ferramentas e conceitos de segurança eficientes. O

firewall é uma opção praticamente imprescindível.

Normalmente utilizamos um proxy como firewall em nivel de aplicação, para

efetuarmos filtragem baseado no conteudo do pacote. Assim podemos bloquear

determinadas paginas e anexos, baseado em nomes de URLs e extensões de arquivos.

Embora, não seja o mais recomendado podemos fazer com que o iptables trabalhe

“simulando” no nível de aplicação.

Podemos dividir os tipos de firewall basicamente em dois tipos (retirado do foca-

linux):

Firewall de Aplicação: Este tipo de firewall analisa o conteúdo do pacote

para tomar suas decisões de filtragem. Servidores proxy, como o Squid,

são um exemplo deste tipo de firewall.

Page 13: Artigo - GR

Firewall de Pacotes: Este tipo de firewall toma as decisões baseadas nos

parâmetros dos pacotes como porta/endereço de origem/destino, estado da

conexão e, e outros parâmetros do pacote. Exemplos são o próprio

iptables, ipfw, ipfilter e o Pix. [6]

O Iptables é um firewall em nível de pacotes e funciona baseado no

endereço/porta de origem/destino do pacote, prioridade, etc. Ele funciona através da

comparação de regras para saber se um pacote tem ou não permissão para passar. Em

firewalls mais restritivos, o pacote é bloqueado e registrado para que o administrador do

sistema tenha conhecimento sobre o que está acontecendo em seu sistema.

O tráfego vindo de máquinas desconhecidas da rede pode também ser

bloqueado/registrado através do uso de simples regras. As possibilidades oferecidas

pelos recursos de filtragem iptables como todas as ferramentas UNIX maduras são

diversas, pois ele garante uma grande flexibilidade na manipulação das regras de acesso

ao sistema, precisando apenas conhecer quais interfaces o sistema possui, o que deseja

bloquear, o que tem acesso garantido e quais serviços devem estar acessíveis para cada

rede.

O Iptables funciona baseado num conjunto de Regras, que seriam: comandos

passados ao iptables para que ele realize uma determinada ação (como bloquear ou

deixar passar um pacote) de acordo com o endereço/porta de origem/destino, interface

de origem/destino, etc. Elas são armazenadas dentro dos chains e processadas na

ordem que são inseridas.[7]

Há também os Chains, que são os locais onde as regras do firewall são definidas

e armazenadas para operação do firewall. Eles são divididos em 2 tipos: Os que podem

ser criados pelo usuário e os embutidos(INPUT, OUTPUT E FORWARD). Esses chains

são armazenados em Tabelas, que são referenciadas pelo comando -t. Elas podem ser:

Filter(tabela padrão que está subdividida em: Input – trata dos dados que

chegam na máquina, Output – trata dos dados que saem das máquinas e Forward

– trata dados que são redirecionados para outra interface de rede ou outra

máquina).

Nat(usada para dados que gera outra conexão, pode ser: Prerouting –

Consultado quando os pacotes precisam ser modificados logo que chegam ,

Output – Consultado quando os pacotes gerados localmente precisam ser

modificados antes de serem roteados e Postrouting – Consultado quando os

pacotes precisam ser modificados após o tratamento de roteamento).

Mangle(utilizada para alterações especiais de pacotes, está dividida em: Input –

Consultado quando os pacotes precisam ser modificados antes de serem enviados

para o chain INPUT da tabela filter, Forward – Consultado quando os pacotes

precisam ser modificados antes de serem enviados para o chain FORWARD da

tabela filter, Prerouting – Consultado quando os pacotes precisam ser

modificados antes de ser enviados para o chain PREROUTING da tabela nat ,

Postrouting – Consultado quando os pacotes precisam ser modificados antes de

serem enviados para o chain POSTROUTING da tabela nat e Output -

Consultado quando os pacotes precisam ser modificados antes de serem enviados

para o chain OUTPUT da tabela nat.

A seguir estão os resultados de alguns testes feitos com a ferramenta em questão.

Page 14: Artigo - GR

Fig.13 Máquina local respondendo ao ping

Fig.14 Bloqueando o acesso à máquina local

Na Fig.6 foi utilizado o comando ping para testar a conectividade entre equipamentos. O

parâmetro -c refere-se ao número de pacotes a ser enviado ao computador de destino, no

caso 5. Como pôde ser observado, houve a conectividade. Na figura seguinte, Fig.7 foi

incluída uma regra para bloquear o acesso à máquina 127.0.0.1. O parâmetro -t indica

que a tabela filter será usada como padrão caso nenhuma tabela seja especificada. A

opção -A é usada para adicionar novas regras no final do chain. A regra INPUT é

colocada pra filtrar todo tráfego que entra no firewall e para bloquear qualquer acesso ao

endereço 127.0.0.1, o -j aplica um alvo a regra que no caso é DROP, que tem por

função descartar o pacote. E o resultado foi que desta vez a máquina 127.0.0.1 não

respondeu, pois todos os pacotes com o destino 127.0.0.1 (-d 127.0.0.1) são rejeitados

(-j DROP).

Page 15: Artigo - GR

Fig.15 Limpando as regras do Iptables

Na Fig.8 foi utilizado o parâmetro -F que serve para limpar todas as regras existentes. O

que possibilitaria poder acessar a máquina 127.0.0.1 novamente. Para isso, logo depois

foi feito um “ping” para o endereço, do qual, como poder ser observado retornou

resposta.

O iptables trouxe o conceito de arquitetura modular, agora user-code módulos

são possíveis. Os modulos são programados no nível do kernel mas podem ser

carregados no espaço no usuario com o uso do comando modprobe[6]. Não foi possível

executar esses teste com a ferramenta, porém, aqui está um exemplo de como seria a sua

implementação.

Dois módulos são interessantes pois fazem uma inspeção em todo o payload do

pacote e elevam a funcionalidade do iptables para além de uma simples inspeção do

modelo TCP/IP: Modulo String e Módulo Length.

1 – Módulo String

## Bloqueando acesso a pacotes que contem “playboy” e gerando log

iptables -A FORWARD -m string –string ―playboy‖ -j LOG — log-prefix ‖ Acesso a Playboy‖

iptables -A FORWARD -m string –string ―playboy‖ -j DROP

## Limitando acesso a qualquer dados que contenham no payload “orkut” a 1/m

iptables -A FORWARD -m string –string ―orkut‖ -m limit –limit 1/m -j ACCEPT

## Bloqueando o acesso a mp3 e logando

iptables -A FORWARD -m string –string “.mp3″ -j LOG –log-prefix “Download: mp3″

iptables -A FORWARD -m string –string “.mp3″ -j DROP

2 – Módulo length

## Bloqueia qualquer pacote UDP maior que 10kb

iptables -A FORWARD -p udp -m length –lentgh 10000 -j DROP

##Bloqueia qualquer pacote icmp vindo da eth0 entre 1 e 15kb

iptables -A FORWARD -p icmp -i eth0 -m lenght –length 1000:15000

Page 16: Artigo - GR

9. Conclusão

A partir dos testes feitos com as ferramentas acima, foi possível observar o alto grau de

importância que as mesmas têm em relação ao gerenciamento de uma rede. O Traceroute

mostrou que pode ser eficiente no gerenciamento de falhas, através da visualização das

rotas que um pacote faz na rede, e se ele conseguiu ou não chegar ao destino final. O

Iperf mostrou que pode ser útil na gerência de configuração, mostrando inclusive a

capacidade do link e o desempenho. O Netstat fez a gerência de contabilização,

mostrando em detalhes as estatísticas dos protocolos e as conexões TCP ativas para

poder mostrar as portas TCP e UDP que poderiam estar abertas no computador. O

Wireshark atuou com uma gerência de desempenho e o Iptables com a gerência de

segurança.

Referências

[1]“Qualidade de serviço em redes sem fio”,

http://guaiba.ulbra.tche.br/si/content/tcc/tccII_2005_1/TCC2_Tiago.pdf, Novembro.

[2]“Introdução ao Gerenciamento de Redes”,

http://www.exatec.unisinos.br/~leo/arquivos/Aula1.pdf, Novembro.

[3]“O que é Gerenciamento de Redes”, http://www.falabras.pro.br/06.htm, Novembro.”

[4]“Gerenciamento de Falhas”,

http://www.shammas.eng.br/acad/sitesalunos0106/012006gr/falhas.htm, Novembro.”

[5] “Gerência de Redes de Computadores Parte I - A Necessidade de Gerenciamento

[6]“Usando o Iptables como Firewall no Nível de Aplicação e como IDS”,

http://www.blogmind.com.br/2006/11/03/usando-o-iptables-como-firewall-no-nivel-de-

aplicacao-e-como-ids/, Novembro.

[7]“Guia Foca GNU/Linux Capítulo 10 - Firewall iptables”,

http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm, Novembro.

”, http://www.malima.com.br/article_read.asp?id=279, Novembro.

“Entendendo Qualidade de Serviço”,

http://www.informatika.inf.br/downloads/dicas/Entendendo_QoS_Quality_of_Service

.pdf, Novembro.

“Firewall com Iptables + Squid”, http://www.vivaolinux.com.br/artigo/Firewall-com-

Iptables-+-Squid/, Novembro.

“Firewall, referências e tipos”, http://www.infowester.com/firewall.php, Novembro.

“Gerência de Redes”, http://pt.wikipedia.org/wiki/Ger%C3%AAncia_de_redes.

Novembro.

“Gerenciamento de Redes”, http://www.gta.ufrj.br/~alexszt/ger/snmpcmip.html,

Novembro.

“Implemente e Configure o seu Linux com IPTABLES”, http://www.dicas-

l.com.br/dicas-l/20030705.php, Novembro.

“Iniciando nas regras do iptables”, http://www.vivaolinux.com.br/artigo/Dominando-o-

Iptables-(parte-2)/, Novembro.

Page 17: Artigo - GR

“Introdução ao Gerenciamento de Redes TCP/IP”, http://www.rnp.br/newsgen/9708/n3-

2.html, Novembro.

“Iperf - a free tool to test the network speed”,

http://thesystemadministrator.com/the_system_administrator/tips_&_tricks/iperf_-

_a_free_tool_to_test_the_network_speed/, Novembro.

“IPTables Linux firewall with packet string-matching support ”,

http://www.securityfocus.com/infocus/1531, Novembro.

“Protocolo IP”, http://www.matrasistemas.com.br/notas/protocolo%20ip.htm,

Novembro.

“Using Traceroute”, http://www.exit109.com/~jeremy/news/providers/traceroute.html,

Novembro.