SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Gerenciando uma Rede com: Traceroute, Iperf, Netstat,
                    Wireshark e Iptables
                                Luma da Rocha Seixas1
      1
          Faculdade de Sistemas de Informação – Universidade Federal Pará (UFPA)
                                  Santarém – PA – Brasil
                                seixas.luma@gmail.com

    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
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.
 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
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
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.
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
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
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
Fig.7 continuação da Fig.6




Fig.8 tabela de roteamento
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.
Fig.10 programa em execução




Fig.11 wireshark capturando pacotes
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.
 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.
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).
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
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.
“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.

Contenu connexe

Similaire à Artigo - GR

Gerenciamento-redes
Gerenciamento-redesGerenciamento-redes
Gerenciamento-redes
jasonbastos
 
NetInf
NetInfNetInf
NetInf
m41k
 
Análise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o WiresharkAnálise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o Wireshark
Igor Bruno
 
Artigo Analise De Redes Pelo Wireshark Igor
Artigo   Analise De Redes Pelo Wireshark   IgorArtigo   Analise De Redes Pelo Wireshark   Igor
Artigo Analise De Redes Pelo Wireshark Igor
Igor Bruno
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Lenin Abadie
 
Artigo Gerência de Redes
Artigo Gerência de RedesArtigo Gerência de Redes
Artigo Gerência de Redes
Luma Seixas
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
Mauro Tapajós
 

Similaire à Artigo - GR (20)

Comparativo nagios zabbix
Comparativo nagios zabbixComparativo nagios zabbix
Comparativo nagios zabbix
 
S1 - Analise de Redes.pdf
S1 - Analise de Redes.pdfS1 - Analise de Redes.pdf
S1 - Analise de Redes.pdf
 
Gerência - Aula 01
Gerência - Aula 01Gerência - Aula 01
Gerência - Aula 01
 
Gerenciamento-redes
Gerenciamento-redesGerenciamento-redes
Gerenciamento-redes
 
Artigo gerencia de_redes
Artigo gerencia de_redesArtigo gerencia de_redes
Artigo gerencia de_redes
 
TRABALHO DE TI
TRABALHO DE TITRABALHO DE TI
TRABALHO DE TI
 
GestãoSessão3.pdf
GestãoSessão3.pdfGestãoSessão3.pdf
GestãoSessão3.pdf
 
Nagios
NagiosNagios
Nagios
 
NetInf
NetInfNetInf
NetInf
 
Monitoramento de servidores e ativos de rede com zabbix
Monitoramento de servidores e ativos de rede com zabbixMonitoramento de servidores e ativos de rede com zabbix
Monitoramento de servidores e ativos de rede com zabbix
 
Análise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o WiresharkAnálise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o Wireshark
 
Artigo Analise De Redes Pelo Wireshark Igor
Artigo   Analise De Redes Pelo Wireshark   IgorArtigo   Analise De Redes Pelo Wireshark   Igor
Artigo Analise De Redes Pelo Wireshark Igor
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 
Gerana
GeranaGerana
Gerana
 
Artigo Gerência de Redes
Artigo Gerência de RedesArtigo Gerência de Redes
Artigo Gerência de Redes
 
Onix: Uma plataforma de desenvolvimento para controle distribuído
Onix: Uma plataforma de desenvolvimento  para controle distribuídoOnix: Uma plataforma de desenvolvimento  para controle distribuído
Onix: Uma plataforma de desenvolvimento para controle distribuído
 
Gabrielemiranda
GabrielemirandaGabrielemiranda
Gabrielemiranda
 
HOTNOC - WEB Network Operation System Monitoring by IdeaValley
HOTNOC - WEB Network Operation System Monitoring by IdeaValleyHOTNOC - WEB Network Operation System Monitoring by IdeaValley
HOTNOC - WEB Network Operation System Monitoring by IdeaValley
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
 

Dernier

Dernier (6)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Artigo - GR

  • 1. Gerenciando uma Rede com: Traceroute, Iperf, Netstat, Wireshark e Iptables Luma da Rocha Seixas1 1 Faculdade de Sistemas de Informação – Universidade Federal Pará (UFPA) Santarém – PA – Brasil seixas.luma@gmail.com 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
  • 2. 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.
  • 3.  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
  • 4. 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
  • 5. 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.
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. Fig.7 continuação da Fig.6 Fig.8 tabela de roteamento
  • 10. 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.
  • 11. Fig.10 programa em execução Fig.11 wireshark capturando pacotes
  • 12. 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.
  • 13.  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.
  • 14. 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).
  • 15. 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
  • 16. 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.
  • 17. “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.