none
Como Filtrar Trafego Real RRS feed

  • Pergunta

  • Pessoal, 

    Tem um site da empresa aqui que sofre bastante acesso por parte de robos tipo Web crawler   e outros, vi que tem como filtrar por ips e a quantidade de acesso feitos por esse ip e tb a origem desse ip, também sei que não são sites como google, yahoo..etc que fazem o acesso.

    A gente aqui acaba fazendo esse filtro de uma maneira bem manual, o que gostaria de saber é se tem alguma ferramenta que ajude a identificar esses acessos e fazer o bloqueio desses ips.

     

    Abraços!

     

    segunda-feira, 6 de fevereiro de 2012 15:37

Respostas

  •  

    Leandro,

    O processo que utilizo são com ferramentas gratuítas da Microsoft, eu abilitei os logs do IIS para logar praticamente tudo, depois disto através de um script diário pego os logs  do IIS e jogo para uma estação de trabalho, após os arquivos copiados para estação rodo na estação a ferramenta Logparser.  O link para download do logparser é http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24659

    Primeiramente eu utilizo o comando abaixo para criar um arquivo de logs unico, caso você tenha diversos arquivos de logs. (Caso o log é unico, basta você rodar a segunda query no arquivo de log)

     

    logparser "SELECT date, time, c-ip, cs-uri-stem, cs-uri-query, scstatus, sc-win32-status, time-taken, sc-bytes, cs-bytes FROM ex*.log TO  MERGED_LOG.log" -i:W3C -o:W3C

    Após criar o arquivo MERGED_LOG.log utilize a query abaixo para obter os 20 IPs que mais acessam o meu site. Caso você queira mais é só mudar a quantidade na query.

    logparser "SELECT TOP 20 c-ip, COUNT(*) AS Hits INTO IISHC_Top20ClientIP.csv FROM MERGED_LOG.log GROUP BY c-ip ORDER BY Hits DESC" -i:W3C -o:CSV

    Ou se voce prefirir um gráfico basta utilizar a query abaixo:

    logparser "SELECT TOP 20 c-ip, COUNT(*) AS Hits INTO IISHC_Top20ClientIP.gif FROM MERGED_LOG.log GROUP BY c-ip ORDER BY Hits DESC" -i:W3C -o:CHART -charttype:BarClustered -groupsize:640x480 -chartTitle:"Top 20 Client IP Addresses"

    Este processo é manual, porém se você criar scripts, você pode automatizar o processo.

    Alguns pontos importantes neste caso são:

    - Criar uma rotina de espurgo de logs do IIS, para o servidor não parar por falta de espaço em disco.

    - Rodar o logparser em um estação e não no servidor para não impactar no processamento do servidor.

    - Caso você não precise desta monitoração constante habilite os logs pelo período que você pretende  monitorar, depois da monitoração volte as configurações anteriores de log.

    -Cuidado para bloquear acessos no site, caso você tenha grandes clientes, é importante saber o IP deles porque você corre o risco de bloquear clientes grandes.

    Não é um processo totalmente automático, mais é um processo fácil e com ferramentas da propria Microsoft e grátis.

    Espero ter ajudado.

    Abraço

    Marcelo

    • Sugerido como Resposta Marcelo_Braz terça-feira, 14 de fevereiro de 2012 16:53
    • Marcado como Resposta Richard Juhasz sexta-feira, 17 de fevereiro de 2012 10:40
    terça-feira, 14 de fevereiro de 2012 16:53

Todas as Respostas

  • Leandro,

    Você tem um firewall? A melhor solução para você é um firewall bem configurado.

    E realizar o bloqueio nele.


    Raphael Carvalho Cardoso - Analista de Infraestrutura
    segunda-feira, 6 de fevereiro de 2012 19:25
  •  

    Leandro,

    O processo que utilizo são com ferramentas gratuítas da Microsoft, eu abilitei os logs do IIS para logar praticamente tudo, depois disto através de um script diário pego os logs  do IIS e jogo para uma estação de trabalho, após os arquivos copiados para estação rodo na estação a ferramenta Logparser.  O link para download do logparser é http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24659

    Primeiramente eu utilizo o comando abaixo para criar um arquivo de logs unico, caso você tenha diversos arquivos de logs. (Caso o log é unico, basta você rodar a segunda query no arquivo de log)

     

    logparser "SELECT date, time, c-ip, cs-uri-stem, cs-uri-query, scstatus, sc-win32-status, time-taken, sc-bytes, cs-bytes FROM ex*.log TO  MERGED_LOG.log" -i:W3C -o:W3C

    Após criar o arquivo MERGED_LOG.log utilize a query abaixo para obter os 20 IPs que mais acessam o meu site. Caso você queira mais é só mudar a quantidade na query.

    logparser "SELECT TOP 20 c-ip, COUNT(*) AS Hits INTO IISHC_Top20ClientIP.csv FROM MERGED_LOG.log GROUP BY c-ip ORDER BY Hits DESC" -i:W3C -o:CSV

    Ou se voce prefirir um gráfico basta utilizar a query abaixo:

    logparser "SELECT TOP 20 c-ip, COUNT(*) AS Hits INTO IISHC_Top20ClientIP.gif FROM MERGED_LOG.log GROUP BY c-ip ORDER BY Hits DESC" -i:W3C -o:CHART -charttype:BarClustered -groupsize:640x480 -chartTitle:"Top 20 Client IP Addresses"

    Este processo é manual, porém se você criar scripts, você pode automatizar o processo.

    Alguns pontos importantes neste caso são:

    - Criar uma rotina de espurgo de logs do IIS, para o servidor não parar por falta de espaço em disco.

    - Rodar o logparser em um estação e não no servidor para não impactar no processamento do servidor.

    - Caso você não precise desta monitoração constante habilite os logs pelo período que você pretende  monitorar, depois da monitoração volte as configurações anteriores de log.

    -Cuidado para bloquear acessos no site, caso você tenha grandes clientes, é importante saber o IP deles porque você corre o risco de bloquear clientes grandes.

    Não é um processo totalmente automático, mais é um processo fácil e com ferramentas da propria Microsoft e grátis.

    Espero ter ajudado.

    Abraço

    Marcelo

    • Sugerido como Resposta Marcelo_Braz terça-feira, 14 de fevereiro de 2012 16:53
    • Marcado como Resposta Richard Juhasz sexta-feira, 17 de fevereiro de 2012 10:40
    terça-feira, 14 de fevereiro de 2012 16:53