Squid - Verificar acessos indevidos automaticamente

Publicado por Virgilio Dantas em 21/05/2015

[ Hits: 2.963 ]

 


Squid - Verificar acessos indevidos automaticamente



Script para verificar, listar e enviar o login e site do acesso indevido pelo usuário autenticado no Squid.

Segue abaixo script para gerar relatório e enviar e-mail do Squid e proxy.

Criar arquivos necessários:

echo gmail.com > falso_positivo
$ echo sex > palavras_busca


Código do script:

#!/bin/bash
#pegando data atual

#limpando dados  repetidos falso_positivo, palavras_busca
echo "Limpando dados"
cat falso_positivo | uniq > falsopositivo
cat falsopositivo > falso_positivo

cat palavras_busca | uniq > palavrasbusca
cat palavrasbusca > palavras_busca

#defina a pasta onde ficaram os arquivos, inclusive este script
LOCAL="/var/log/squid/controle_squid"
data_atual=$(date +%F)
link="link para acessar controle squid"
email="administrador@email.com"
echo "verificando acessos"
#verificando se contem dados a serem analizados
validar=$(cat /var/log/squid/access.log | egrep -f $LOCAL/palavras_busca | awk '{print "Data="strftime("%e-%b-%G", $0)"\t usuario="$8"\t dominio="$7}' | sed 's/http:\/\///' | sed 's/\/.*$//' | grep -f $LOCAL/palavras_busca | grep -v -f $LOCAL/falso_positivo | sort | uniq )
#echo $validar
#verificando se nao tem conteudo no arquivo
if [ -n $validar ];then
        echo "nulo"

#caso tiver conteudo, executara as proximas acoes
else
echo "encontrou"

#preenchendo arquivo que permanecera em log
echo "Relatório de acessos indevidos:" > controle_squid_$data_atual.txt

validar1=$(cat /var/log/squid/access.log | egrep -f $LOCAL/palavras_busca | awk '{print "Data="strftime("%e-%b-%G", $0)"\t usuario="$8"\t dominio="$7}' | sed 's/http:\/\///' | sed 's/\/.*$//' | grep -f $LOCAL/palavras_busca | grep -v -f $LOCAL/falso_positivo | sort | uniq >> "controle_squid_$data_atual.txt")

#enviando email para variavel email
cat controle_squid_$data_atual.txt | mail -s "Relatório de acessos indevidos" $email
echo "enviou email"
fi
#fim else

Colocar o crontab para rodar o script todos os dias às 23:58 h:

58 23 * * * root /caminho/do/arquivo/relatorio.sh

Reiniciar o crontab.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Instalando VMware no Ubuntu Gutsy 7.10

Introdução à linguagem Java

Executar comando que exija root como usuário comum

Configurando DynDNS no Ubuntu

bc - Como passar parâmetros via linha de comando para a calculadora

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts