Pode tcpdump informar os números das portas acessadas?

4

Eu tenho um servidor com duas NICs, e gostaria de ter apenas essas portas abertas em eth1 que estão sendo usadas.

Pergunta

Como obtenho o tcpdump para informar os números das portas que estão sendo acessadas em eth1 ?

    
por Sandra 21.10.2011 / 13:48

1 resposta

5

Definir uma porta "usada" pode ser muito complicado. Você precisa pensar sobre quais são os protocolos e como eles funcionam para determinar o que está realmente sendo fornecido como um serviço, em oposição ao que os clientes estão tentando usar, mas que na verdade não está em uso e o que está sendo fornecido como um serviço, está sendo usado por clientes, mas deve não ser fornecido por esse sistema.

Então, o que você realmente precisa descobrir é:

  1. O que está realmente sendo fornecido e em uso pelo servidor
  2. O que deve ser fornecido pelo servidor

O ideal é que o administrador do sistema seja o responsável por responder a ambas as perguntas com base em seu conhecimento do sistema e de sua documentação. Na prática, por várias e variadas razões, desde a rotatividade até a incompetência, elas podem não ter essa resposta. Existem várias maneiras de determinar essas informações, mas você obterá os melhores resultados da análise de fluxo de rede.

O tcpdump é uma ótima ferramenta, mas não é realmente adequado para o tipo de investigação que você deseja. Ele tem o problema de capturar todos pacotes, o que significa que você verá todas as varreduras de rede, difusões e todas as outras falhas que realmente não se conectam. A beleza de usar a análise de fluxo para essa finalidade é que você pode filtrar o tráfego somente em conexões estabelecidas. Isso é importante. Isso permite que você saiba quem está realmente fazendo uso de serviços em seu sistema. Concedido, toda a noção de "estabelecido" é bastante dependente do TCP, portanto, para protocolos sem conexão, como o UDP, você precisará ser um pouco mais cuidadoso em sua análise.

A resposta fácil para isso é usar algo como netflows . Converse com sua rede de pessoas. A maioria, se não todos, dos grandes players no espaço da rede pode produzir algo que executa a mesma função que o netflow da Cisco. Juniper chama isso de jflow, e o padrão aberto é sflow. Seus caras da rede já podem ter isso ativado, se não conseguirem ver se você pode obter dados de fluxo gerados para a porta de switch à qual seu servidor está conectado.

Se você não tem netflow disponível, então existe um aplicativo de código aberto produzido pela Qosient chamado argus . O Argus também produz dados de fluxo, mas em vez de ser executado em um dispositivo de rede, é um pacote de software que é executado em um sistema. Tradicionalmente, você apontaria o daemon argus em uma interface conectada a uma porta espelho / span ou a um toque. No entanto, você pode facilmente apontar para seu eth1 e gerar os dados de fluxo especificamente para essa porta.

Depois de ter os dados do fluxo, você pode começar a fazer todas as análises diversas para determinar o que está sendo usado e por quem. Ao correlacionar portas com aplicativos, observe a opção -p para netstat e, em seguida, você pode começar a determinar o que realmente precisa estar em execução no sistema. Além disso, como você terá os endereços de rede de quem está usando o serviço, você poderá usá-lo, junto com a comunicação com seus clientes, para determinar o público e desenvolver algumas regras de firewall bem definidas e bem definidas.

Entre nisso com os olhos abertos. Esse processo é frustrante, propenso a erros e difícil. Haverá erros. Como eu disse, a maneira correta é perguntar ao administrador o que deveria estar rodando. Quando você não pode fazer isso, esta é a próxima melhor coisa.

    
por 21.10.2011 / 13:59