• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Administração de Redes Linux - III
 

Administração de Redes Linux - III

on

  • 2,519 views

Curso sobre administração de redes usando Linux - Parte III

Curso sobre administração de redes usando Linux - Parte III

Statistics

Views

Total Views
2,519
Views on SlideShare
1,431
Embed Views
1,088

Actions

Likes
0
Downloads
80
Comments
0

2 Embeds 1,088

http://jedizone.wordpress.com 1086
http://digg.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Administração de Redes Linux - III Administração de Redes Linux - III Presentation Transcript

    • Pós­gradaduação em redes de computadoresAdministração de redes  Unix/Linux Marcelo Barros de Almeida marcelobarrosalmeida@gmail.com
    • Aula 03: Sumário Fundamentos de TCP/IP  Organização dos protocolos TCP/IP  Encapsulamento e Multiplexação TCP/IP  Protocolo ARP  Header Ethernet, IP e TCP/UDP  ICMP e SNMP Wireshark, tcpdump e tcpflow IPTraf, iftop, kismet e nmap ntop e cacti
    • Pós­gradaduação em redes de computadores Fundamentos de TCP/IP
    • Protocolos do TCP/IP  Organização dos protocolos TCP/IP Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Encapsulamento do TCP/IP Pelo menos 58 bytes de overhead, sendo que o frame mínimo é de  64 bytes Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Multiplexação no TCP/IP E existência de tipo na ethernet e no IP permitiram que protocolos  como SCTP (transporte) e IPv6 pudessem ser agregados  normalmente Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Multiplexação no TCP/IP Uma aplicação é identificada unicamente num computador através  de três informações:  o endereço IP da máquina  a sua porta  o protocolo de transporte utilizado (TCP/UDP) Desta forma, é possível possuir uma mesma máquina provendo  vários serviços de rede (multiplexação) ... Aplicações Camada de aplicação Portas Camada de transporte Multiplexação TCP ou UDP Camada de rede IP
    • Multiplexação no TCP/IP Cada processo deve ter um número de porta, um IP e um  protocolo de transporte (TCP/UDP) para identificá­lo  A notação é IP:Porta, por exemplo, 200.210.10.20:80 Cliente Servidor Aplicação Porta Porta TCP ou  TCP ou  Transporte UDP UDP IP IP Rede Enlace Física
    • Multiplexação no TCP/IP Porta: um inteiro de 16 bits O IANA (Internet Assigned Numbers Authority) mantém  uma lista de números de portas  De 0 a 1023: Portas conhecidas, reservadas para vários  protocolos do dia­a­dia pelo IANA  De 1024 a 49151: Portas registradas, não controladas pelo  IANA, mas listadas como conveniência  De 49152 a 65535: Portas efêmeras, não controladas pelo IANA  (¼ do total) Servidores: portas conhecidas Clientes: portas efêmeras
    • Hosts na mesma rede local Não é necessário gateway default ou roteadores, tudo se  resolve somente com o ARP Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Hosts em redes locais diferentes Gateway default e roteadores necessários Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Endereçamento físico x endereçamento lógico Endereços IP  (Rede) Estação 1 Roteador Estação 2 Rede Física A Rede Física B Endereços MAC  (Enlace)
    • Protocolo ARP A rede física só conhece MACs Através do ARP ela determina o endereço MAC do IP de  destino para que o envio do pacote seja realizado IP 1 IP 2 MAC 1 MAC 2
    • Protocolo ARP Mensagem Arp Request enviada para todos os nós da  rede (broadcast), procurando pelo “dono” do IP Quem responde pelo IP a.b.c.d ?
    • Protocolo ARP Mensagem Arp Replay enviada como resposta, caso o  “dono” do IP seja encontrado Eu respondo !
    • Protocolo ARP A resposta positiva permite que os campos do  endereçamento do enlace sejam preenchidos O resultado é mantido em tabela por um tempo Para endereços fora das sub­redes locais, o default  gateway é usado, se estiver configurado O MAC precisa ser único dentro da rede física Vendo a tabela arp: arp ­a
    • Quadro ethernet (RFC 894) É o mais comum e todos devem poder receber e enviar Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Quadro IEEE802 (RFC 1042) Menos comum e todos devem pelo menos ser capazes de  receber Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Ethernet Broadcast limitado:   IP: 255.255.255.255  MAC DST: FF:FF:FF:FF:FF:FF  Nunca é repassado por um roteador, sendo confinado na LAN Broadcast direcionados a redes ou sub­redes:  Ex: 10.255.255.255, 192.168.255.255  Pode ser repassado pelo roteador MTU: Maximum Transmission Unit  1500 para frames ethernet  1492 para frames IEEE 802
    • IP Addressing Classes de endereçamento Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Multicast e MAC Address Multicasts: MACs de 01:00:5e:00:00:00 a 01:00:5e:7f:ff:ff Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • IP Header Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • IP Header The current protocol version is 4, so IP is sometimes called  IPv4. The header length is the number of 32­bit words in the header,  including any options. Since this is a 4­bit field, it limits the  header to 60 bytes. The type­of­service field (TOS) is composed of a 3­bit  precedence field (which is ignored today), 4 TOS bits, and an  unused bit that must be 0. The 4 TOS bits are: minimize delay,  maximize throughput, maximize reliability, and minimize  monetary cost. Only 1 of these 4 bits can be turned on. If all 4  bits are 0 it implies normal service.  Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • IP Header The total length field is the total length of the IP datagram in  bytes. Since this is a 16­bit field, the maximum size of an IP  datagram is 65535 bytes The identification field uniquely identifies each datagram sent  by a host. It normally increments by one each time a datagram  is sent.  Flags field and the fragmentation offset field are related to  frame fragmentation.  The time­to­live field (TTL) sets an upper limit on the number of  routers through which a datagram can pass. It is initialized by  the sender (often 32 or 64) and decremented by one by every  router that handles the datagram. Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • IP Header The protocol field identifies which protocol gave the data for IP  to send and it is used by IP to demultiplex incoming datagrams. Header checksum (calculated over the IP header only). Every IP datagram contains the source IP address and the  destination IP address. These are 32­bit values addresses  used in IPv4. The final field, the options, is a variable­length list of optional  information for the datagram, like timestamp, record route, and  so on. These options are rarely used. Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • TCP Header Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • TCP Header Each TCP segment contains the source and destination port  number to identify the sending and receiving application. These  two values, along with the source and destination IP addresses  in the IP header, uniquely identify each connection.  The sequence number identifies the byte in the stream of data  from the sending TCP to the receiving TCP that the first byte of  data in this segment represents. The header length gives the length of the header in 32­bit  words. This is required because the length of the options field  is variable. With a 4­bit field, TCP is limited to a 60­byte  header. Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • TCP Header There are six flag bits in the TCP header. One or more of them  can be turned on at the same time.   URG: The urgent pointer is valid.  ACK: The acknowledgment number is valid.   PSH: The receiver should pass this data to the application  as soon as possible.   RST: Reset the connection.   SYN: Synchronize sequence numbers to initiate a  connection.  FIN: The sender is finished sending data.  Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • TCP Header TCPs flow control is provided by each end advertising a window  size. This is the number of bytes, starting with the one specified by  the acknowledgment number field, that the receiver is willing to  accept. This is a 16­bit field, limiting the window to 65535 bytes. The checksum covers the TCP segment: the TCP header and the  TCP data. This is a mandatory field that must be calculated and  stored by the sender, and then verified by the receiver. The urgent pointer is valid only if the URG flag is set. This pointer is  a positive offset that must be added to the sequence number field of  the segment to yield the sequence number of the last byte of urgent  data. The most common option field is the maximum segment size option,  called the MSS. Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Controle de congestionamento e controle de  fluxo A janela de transmissão é um mecanismo que implementa o  controle de fluxo entre transmissor e receptor. Basicamente, a  janela muda de tamanho proporcionalmente à capacidade de  recepção. RTT (Round Trip Time): tempo de viagem do pacote, sendo  medido quando o reconhecimento para um determinado  segmento chega. Muito importante no cálculo do tempo de  retransmissão (RTO ­ Retransmission Timeout) O RTO ajuda a contornar situações de congestionamento na  rede.
    • TCP Connection Establishment A criação de uma conexão TCP envolve 3 passos Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • TCP Connection Termination A finalização da conexão TCP envolve quatros passos Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    •  TCP State Transition Diagram Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • UDP Header Cabeçalho mais simples já que o UDP não precisa  garantir a entrega nem tem controle de fluxo
    • ICMP (Internet Control Message Protocol) O ICMP ajuda no diagnóstico da  rede através de várias mensagens  de erro Alguns tipos:  0: echo reply (usada no ping)  3: destination unreacheable  5: redirect  8: echo request  11: time exceed  13: time stamp request  14: time stamp reply Fonte: TCP/IP Illustrated Volume 1, Richard Stevens
    • Origem do SNMP SNMP:   Simple Network Management Protocol  Conjunto de operações simples que permite o gerenciamento de  dispositivos IP Criado em 1988 pelo IETF:  Necessidade de gerenciamento e monitorização  Necessidade de diagnóstico Inicialmente voltado para roteadores mas difundido  rapidamente (computadores, fontes, impressoras, racks,  etc)
    • Versões do SNMP SNMPv1 (1988):   RFC 1157  Pouco segura mas ainda usada SNMPv2 (1993):  RFC 3416, RFC 3417, RFC 3418  Melhoria na segurança, novos tipos de dados, desempenho,  operações adicionais SNMPv3 (1999):  RFC 3411­3418, RFC 2576  Forte segurança (criptografia)
    • Organização da Informação em MIBs MIB (Management  Information Base  Especifica quais variáveis  (objetos) o elemento de rede  mantém, é a base de dados de  informação do dispositivo  Representada em forma de  árvore  É padronizada, mas pode ser  personalizada em  determinadas áreas (private)  MIB II: RFC 1213
    • Organização da Informação: OIDs OID (Object Identifiers)  São representados numericamente ou  de forma textual: iso.org.dod.internet.private 1.3.6.1.4 iso.org.dod.internet.mgmt.mib 1.3.6.1.2.1 iso.org.dod.internet.private.enterprises 1.3.6.1.4.1
    • Funcionamento do SNMP Ações básicas de pergunta/resposta Ações de notificação pré­configuradas (traps) SNMP Manager SNMP Agent Requests (set/get) UDP port 161 Responses Traps UDP port 162
    • Funcionamento do SNMP Operações encontrados no SNMPv1:  get / get next request ↔  get response: lê valores  set request ↔  set response: configura valores  trap: alarmes assíncronos do agente Operações encontradas no SNMPv2 e v3  getbulk: como o get, mas respeita limites do agente  notification: uma espécie de trap padronizado  inform: confirmações para trap/notification  report: não implementado
    • Funcionamento do SNMP Especifica formas de autenticação entre agentes e  gerentes Significam plain passwords para v1 e v2 Comunidades no SNMPv1 e v2 (precisam de definição de  passwords)  read­only  read­write  trap SNMP v3 prevê formas mais securas de autenticação e  criptografia
    • Pós­gradaduação em redes de computadores Analisadores de rede
    • Wireshark: Go deep Analisador de rede multiplataforma Suporta centenas de protocolos Análises offline e online Filtros poderosos e inspeção detalhada Análise gráfica Ferramenta essencial para qualquer administrador e que  requer um bom conhecimento de TCP/IP http://www.wireshark.org/
    • tcpdump Permite realizar capturas no terminal aplicando filtros  personalizados, salvando em arquivos .cap Também pode ler arquivos .cap e analisar segundo filtros  especificados Apesar da sintaxe complexa dos filtros, é uma ferramenta  bastante poderosa http://www.tcpdump.org/
    • tcpdump Capturando o tráfego relacionado à porta TCP 6881 e salvando no arquivo  teste.pcap  tcpdump ­w test.pcap ­i eth1 tcp port 6881 Capturando tráfego relacionado à porta TCP 6881 e UDP 33210 ou 33220  tcpdump ­w test.pcap ­i eth1 tcp port 6881 or udp ( 33210 or 33220 ) Especificando um host de destino e SSH:  tcpdump ­w test.pcap dst 10.168.28.22 and tcp port 22 Salvando agora todo o pacote e não somente os primeiros 68 bytes  tcpdump ­w test.pcap ­s 0 dst 10.168.28.22 and tcp port 22 Procurando por IPs de destino no format 10.x.y.100 (x e y não importam):  tcpdump "ip[16] = 10 and ip[19] = 100" Exemplo onde apenas pacotes de início e fim de conexão são apresentados:  tcpdump ­i eth0 "tcp[tcpflags] & (tcp­syn|tcp­fin) != 0"
    • tcpflow Permite salvar os fluxos de comunicação TCP em  arquivos independentes, com seguinte notação:  a.b.c.d.porta1­x.y.z.w.porta2 Excelente para recuperação de conteúdo Não trata fragmentação na camada IP Suporte ao formato .cap O wireshark possui função similar, mas o tcpflow roda no  terminal e opera sobre toda a captura de uma só vez http://www.circlemud.org/~jelson/software/tcpflow/  tcpflow ­r <arquivo.cap>
    • Pausa para o exercício Com o Wireshark, capture um tráfego (crie conexões TCP, faça  downloads), salve e depois explore:  o encapsulamento dos protocolos  a resolução de nomes  a multiplexação no TCP/IP  o processo de abertura e fechamento de conexão  o funcionamento do ARP (limpe o cache antes) e o repasse para o default  gateway  os pares IP:Porta que identificam a conexão  os gráficos de uso de banda, fluxo e estatísticas de rede gerados pelo  Wireshark  as opções de seguir conexões do wireshark Realize uma captura com o tcpdump, salve em arquivo e depois o arquivo no  Wireshark
    • Pausa para o exercício Experimente usar o tcpflow no arquivo de  captura salvo no exercício anterior.  Tente identicar ou mesmo separar o  conteúdo dos vários fluxos.
    • IPTraf Excelente monitor de conexões para terminal Permite identificar problemas e taxas facilmente http://iptraf.seul.org/
    • iftop Similar ao top, mas como foco em tráfego de rede Interessante para análise rápida do uso da rede e  conexões http://ex­parrot.com/~pdw/iftop/
    • kismet Ferramenta de terminal para análise de tráfego de rede  wireless http://www.kismetwireless.net/
    • nmap Ferramenta multiplataforma para análise e exploração de  rede, bastante útil na avaliação da segurança. Permite avaliar vários hosts em uma rede de forma rápida  e concisa. Pode ter interface gráfica através do zenmap. http://nmap.org/
    • nmap Verifica toda uma sub­rede, detectando portas TCP abertas e o sistema   operacional usando o flag SYN do TCP  nmap ­sS ­O 10.0.0.0/24 Similar, mas verificando portas UDP  nmap ­sU ­O 10.0.0.0/24 Assume que o host está online (PN) e usa 4ms de tempo entre frames  nmap ­sS ­PN ­O ­T4   10.0.0.10 
    • Pausa para o exercício Instale e use o iptraf e o iftop Use o nmap para levantar serviços  disponíveis em outros hosts na rede Caso esteja rodando nativamente e não  em VM, experimente usar o kismet. Não  deixe de configurar no arquivo /etc/kismet/ kismet.conf a sua placa de rede sem fio e  o driver, na linha indicada por ”source”.  Por exemplo, para uma placa IPW2200:  source=ipw2200,eth0,WiFi
    • ntop Permite acessar estatísticas completas do tráfego de rede  através de uma interface web e excelentes gráficos http://www.ntop.org/ Top Tools: top ntop atop iftop htop apachetop mtop
    • ntop Instruções no Ubuntu:  Instale o pacote ntop e suas dependências  Configure a senha do administrador (usuário admin) do ntop:  sudo ntop –set­admin­password  Re­inicie o serviço:  sudo ntop ­u ntop ­d  O ntop estará disponível na porta 3000:  http://localhost:3000
    • Pausa para o exercício Instale e use o ntop
    • Cacti Similar ao ntop, mas usando uma base de dados  em banco MySQL e interfaces para SNMP. É uma opção mais fácil de configurar do que o  MRTG, bastante flexível e capaz de integrar o  gerenciamento de vários ativos como hosts,  switches, roteadores, impressoras, etc. Suporte a personalização e outros sistemas  operacionais http://www.cacti.net/
    • Instalando o Cacti no Ubuntu Instale o pacote mysql­server e defina uma senha para o  administrador do banco de dados. Instale também o snmpd:  apt­get install mysql­server snmpd Em /etc/snmp/snmpd.conf, libere o acesso ao snmp através da  comunidade ”public”. Use outro nome, caso prefira.  com2sec readonly  default    public Garanta que o snmpd está funcionando:   snmpwalk ­Os ­c public ­v 1 localhost system Verfique os parâmetros de partida do snmpd em /etc/default/snmpd.  Remova o IP ao final para disponibilizar o SNMP server em outras  interfaces também.  SNMPDRUN=yes  SNMPDOPTS=­Lsd ­Lf /dev/null ­u snmp ­I ­smux ­p /var/run/snmpd.pid 127.0.0.1
    • Instalando o Cacti no Ubuntu Instale o pacote cacti e suas dependências (várias, mas  apache, php, snmp e mysql são as principais). Siga os  diálogos de configuração (escolha apache2 como servidor  web):  apt­get install cacti Em caso de erro, reconfigure o pacote com:  dpkg­reconfigure cacti Aponte para http://localhost/cacti/install/ e prossiga a  instalação. Ao final, logue com usr/pwd como  admin/admin. Existem atualmente alguns problemas no uso via Firefox  3, fique atento.
    • Instalando o Cacti no Ubuntu Basicamente será necessário criar novos hosts SNMP  (devices), atribuir gráficos a eles e organizar estes  gráficos em trees.  Entre na aba de ”Console”, entre em ”create devices”  Escolha ”ucd/net SNMP host” como tipo e adicione o device,  configurando o SNMP corretamente (versão 1 e ”public” como  comunidade)  Adicione gráficos para este host  Adicione depois o host num ”Graph tree” e veja o resultado na  aba de gráficos Uma boa referência é:  http://www.debuntu.org/how­to­monitor­your­servers­with­snmp­and­cacti
    • Screenshots do Cacti
    • Screenshots do Cacti
    • Pausa para o exercício Instale e use o cacti, criando devices  novos baseados em SNMP
    • Dúvidas, comentários, sugestões ? 66 Imagem: cena do filme Madagascar, da DreamWorks
    • Direitos de cópiaCréditos ­ ShareAlike 2.0Você é livre para copiar, distribuir, apresentar e executar trabalhos fazer trabalhos derivados fazer uso comercial deste trabalhoSob as seguintes condições © Copyright 2008 Créditos. Você deve dar crédito ao autor original. Marcelo Barros Compartilhe do mesmo modo. Se você alterar, mudar,  ou realizar trabalhos usando este como base,você deve  marcelobarrosalmeida@gmail.com redistribuir o trabalhos resultante sob uma licença  Correções, sugestões e  idêntica a esta. traduções são bem vindas! Para qualquer reuso ou distribuição você deve deixar claro  os termos de licença deste trabalho. Qualquer  uma destas condições podem ser abandonadas  se você obtiver uma permissão do detentor dos direitos  autorais.Faça uso justo e o direitos dos outros não serão afetados de  forma alguma pelas restrições acima.Texto da licença:  http://creativecommons.org/licenses/by­sa/2.0/legalcode 67