Obtenha facilmente uma lista de sessões do Juniper Netscreen

2

Eu tenho um Juniper Netscreen SSG-5 que ocasionalmente recebe uma contagem alta de sessão. Eu tenho 4096 sessões licenciadas, e há vezes eu vejo 3000+ para um pequeno escritório (uma dúzia de pessoas). Isso é mais alto do que eu gostaria, e isso me deixa um pouco mais do que curioso sobre as sessões que estão abertas.

Idealmente, eu lançaria a saída do comando "get session" em um arquivo de texto, mas isso não é algo que o ScreenOS suporte. Pelo menos eu sei disso. Por favor, deixe-me saber se é esse o caso.

Exceto a capacidade de salvar a saída em um arquivo, se eu pudesse obter a lista de sessões via SNMP, eu ficaria satisfeito em wr / m-angle dessa forma, mas tudo que eu consegui encontrar é o número de sessões ativas (empresas.3224.16.3.2.0).

Eu poderia escrever um script usando 'nc' para conectar-se ao netscreen e apertar enter repetidamente para percorrer os milhares de linhas, mas isso parece menos divertido do que fazer o "caminho certo", se é que existe esse caminho.

    
por Matt Simmons 05.01.2010 / 04:54

3 respostas

3

Eu entendi!

Sem o conhecimento de mim, o ScreenOS tem a capacidade de canalizar a saída de qualquer comando para um servidor tftp!

O uso é:

 <command> > tftp <tftp ip address> <filename>

Agora que é um arquivo de texto, posso usar o grep, sed e awkelly.

    
por 08.01.2010 / 16:44
2

Isso é melhor como um comentário à sua resposta, mas postando-o como uma nova resposta para que eu possa formatar meu código para você - você pode usar o SSH para criar scripts para você mesmo (ou qualquer outro comando, use-o para limpar o DNS cache a cada 5 minutos para usuários do DynDNS).

  1. crie um par de arquivos-chave ssh sem senha do tipo DSA
  2. crie um usuário do Netscreen que tenha o nível apropriado de acesso para executar seus comandos e coloque a parte do keypart pública em sua conta
  3. na sua caixa linux local, configure o seguinte

    #! / bin / sh
    DATFILE = / opt / etc / fwcommands.dat
    KEYFILE = / root / .ssh / id_dsa_fw
    / usr / bin / ssh -T -i $ {KEYFILE} USER @ FIREWALL < $ {DATFILE}

... e depois no seu arquivo fwcommands.dat é o que você deseja executar; então algo como:

exec get sessions > tftp ip file
exit

Você pode então fazer o cron para ser executado a cada hora ou não e configurá-lo para enviá-lo por e-mail, seja qual for a sua necessidade pessoal. (formatação meio bagunçada, serverfault odeia scripts bash em linha).

    
por 08.01.2010 / 20:18
2

Se você quiser fazer algumas estatísticas sobre a saída da sessão, existe uma pequena ferramenta chamada "Analisador de Sessões de Firewall" para fazer isso. Se você tem uma conta Juniper, pode acessá-la em www.juniper.net/fsa. Se não, você pode usar uma boa ferramenta desenvolvida por Tim Eberhard, você pode baixá-lo em: link

Espero que possa ajudá-lo!

    
por 08.02.2010 / 13:42