Squid - Verificar acessos indevidos automaticamente

Publicado por Virgilio Dantas em 21/05/2015

[ Hits: 2.952 ]

 


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

BURG: Uma interface para o Grub

Faça um test drive do Linux!

Servidor VNC no Fedora

Sites úteis para novatos

Qual distribuição utilizar

  

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