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. 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 vem 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 faz-se necessário a contabilização dos recursos utlizados, 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 tornou-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 ao 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 distribuição dos recursos da rede, possibilitando 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. 

Artigo Gerência De Redes

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Artigo    Gerência De  Redes

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.

1. IntroduçãoCom 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 vem 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 faz­se necessário a contabilização dos recursos utlizados, 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 tornou­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 ao 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   distribuição   dos   recursos   da   rede,   possibilitando   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. 

Page 2: Artigo    Gerência De  Redes

2. Áreas de GerenciamentoGerenciamento  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 FalhasA 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çãoO   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, a iniciação, a partida, a  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.

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:

Page 3: Artigo    Gerência De  Redes

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çãoA 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 forem necessários 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 DesempenhoO   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 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

Page 4: Artigo    Gerência De  Redes

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 essênciais 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 gerenciamentoHá  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 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.

Page 5: Artigo    Gerência De  Redes

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.

Fig.2 traceroute para www.w3.org

Page 6: Artigo    Gerência De  Redes

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. É possivel 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. IperfA 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 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 arquitectura cliente/servidor, permitindo criar ligações TCP/UPD e  efectuando 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

Page 7: Artigo    Gerência De  Redes

                                                               Fig.4 labin07 atua em modo cliente

                                                                     

Fig.5 labin08 atua em modo cliente 

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 esse dados ficará ocioso às vezes e terá um desempenho ruim.

6. NetstatPara 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. 

Page 8: Artigo    Gerência De  Redes

Fig.6 Características por protocolo

Page 9: Artigo    Gerência De  Redes

Fig.7 continuação da Fig.6

Page 10: Artigo    Gerência De  Redes

Fig.8 tabela de roteamento

Fig. Interfaces ativas

Page 11: Artigo    Gerência De  Redes

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 atrveś  desse comando as estatísticas de erros de entrada/saída, assim   com   estatística   de   tráfego.    

7. WiresharkO  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.

Fig.10 programa em execução

Page 12: Artigo    Gerência De  Redes

Fig.11 wireshark capturando pacotes

Fig.12 aplicando um filtro

Page 13: Artigo    Gerência De  Redes

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   analisam   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.

Firewall de Pacotes: Este tipo de firewall toma as decisòes baseadas nos parametros dos pacotes como porta/endereço de origem/destino, estado da conexão   e,   e   outros   parametros   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]

Page 14: Artigo    Gerência De  Redes

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.

Fig.6 Máquina local respondendo ao ping 

Page 15: Artigo    Gerência De  Redes

Fig.7 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).

Fig.8  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 enderereç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 

Page 16: Artigo    Gerência De  Redes

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 logiptables ­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/miptables ­A FORWARD ­m string –string “orkut” ­m limit –limit 1/m ­j ACCEPT

## Bloqueando o acesso a mp3 e logandoiptables ­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 10kbiptables ­A FORWARD ­p udp ­m length –lentgh 10000 ­j DROP

##Bloqueia qualquer pacote icmp vindo da eth0 entre 1 e 15kbiptables ­A FORWARD ­p icmp ­i eth0 ­m lenght –length 1000:15000

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.

Page 17: Artigo    Gerência De  Redes

“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.

“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.