Squid - Verificar acessos indevidos automaticamente

Publicado por Virgilio Dantas em 21/05/2015

[ Hits: 3.047 ]

 


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

XcrySden no OpenSuse, Fedora e derivados - Tutorial de instalação

Instalando o cliente Oracle no Slackware 12 para uso do SQLPLUS

Configuração do Ioncube Loader no Centos 64 bit para ambiente CPanel (painel de controle para servidores web hosting)

Como desativar barulho chato do Manjaro XFCE ao apertar botão backspace

Sobre variáveis globais, locais e estáticas em PHP

  

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