Administração Squid
Publicado por Eduardo Adriano Ramos (última atualização em 19/06/2011)
[ Hits: 7.636 ]
Homepage: http://www.openti.info
Script para administração de Squid e Usuários Administradores do MSN-PROXY (cadastro senha Apache)
configurações para funcionamento:
######MSN-PROXY########
arquivo senhas : /var/www/msn_password
########SQUID##########
arquivo de senha do squid: /etc/squid/senhas/password
sites bloqueados : /etc/squid/bloqueados
usuarios com acesso total: /etc/squid/acesso_total
configuracao squid.conf
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/senhas/password
auth_param basic children 5
auth_param basic realm Acesso Negado! Digite Suas Credenciais.
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on
redirect_program /usr/lib/squid/jesred
redirect_children 10
acl MsnSources url_regex -i "/etc/squid/sites.msn"
acl MsnDomains dstdomain -i "/etc/squid/sites.msn"
acl MsnUrls urlpath_regex -i "/etc/squid/sites.msn"
acl MsnProgram req_mime_type application/x-msn-messenger
acl MsnManual dstdomain byrdr.omega.contacts.msn.com local-bay.contacts.msn.com byfiles.storage.msn.com akhtm.nspmotion.com blufiles.storage.msn.com www.gowindowslive.com view.atdmt.com local-sn.contacts.msn.com ec.atdmt.com tkrdr.storage.msn.com livefiles19.vo.msecnd.net www.sqm.microsoft.com sqmserver.dll switch.atdmt.com rsi.hotmail.com nspmotion.com icover.com.br rad.msn.com rmd.atdmt.com t.msn.com
http_access allow MsnManual
http_access allow MsnDomains
http_access allow MsnProgram
http_access allow MsnSources
acl password proxy_auth REQUIRED
#--------------ACESSO TOTAL-------------------#
acl total proxy_auth "/etc/squid/acesso_total"
http_access allow total
#----------------ACESSO RESTRITO-------------------#
acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados
bin/bash
#Script De Cadastro de Usuarios no Squid
#Autor: Eduardo A. Ramos
while : ; do
acao=$( dialog --stdout \
--menu "Cadastro Squid - Shogun Informatica Ltda." 0 0 0 \
1 "Cadastro de Usuario Proxy" \
2 "Cadastro de Sites Bloqueado" \
3 "Desbloquear Site"\
4 "Listar Usuarios Proxy"\
5 "Lista Sites e Palavras Bloqueadoas"\
6 "Excluir Usuario do Proxy"\
7 "Dar Acesso Total a Usuario"\
8 "Tirar Acesso Total a Usuario"\
9 "Listar Usuarios com Acesso total"\
a "Gerar Relatorio de Acesso a Internet"\
b "Monitorar Proxy Tempo Real Por IP"\
c "Alterar Senha Usuario"\
d "Adiciona Admin. Msn-Proxy"\
0 "Sair")
case "$acao" in
1)
if login=$(dialog --stdout --inputbox "Digite o nome do Usuario:" 0 0)
[ $? -ne 0 ] && continue
[ "$login" ] || continue
cat /etc/squid/senhas/password |grep "$login:" 1>/dev/null\ 2>/dev/null
then
dialog \
--title 'Cadastro' --sleep 2 --msgbox 'Usuario ja cadastrado!' 6 40
else senha=$(dialog --stdout --passwordbox "Digite a Senha:" 0 0)
[ $? -ne 0 ] && continue
[ "$senha" ] || continue
senha2=$(dialog --stdout --passwordbox "Confirme sua Senha:" 0 0 )
[ $? -ne 0 ] && continue
[ "$senha2" ] || continue
htpasswd -b /etc/squid/senhas/password "$login" "$senha"
sed -i "82s/^/acl $login proxy_auth $login\n/" /etc/squid/squid.conf
sed -i "83s/^/http_access allow $login\n/" /etc/squid/squid.conf
squid -k reconfigure
sleep 3
dialog \
--title 'Cadastro' --sleep 3 --msgbox 'Usuario Cadastrado Com Sucesso!' 6 40
clear
fi
;;
2)
site=$(dialog --stdout --inputbox "Digite o Site a Ser Bloqueado:" 0 0 )
[ $? -ne 0 ] && continue
[ "$site" ] || continue
echo $site >> /etc/squid/bloqueados
dialog \
--title 'Site Bloqueado' --sleep 3 --msgbox 'Site Bloqueado Com Sucesso!' 6 40
clear
;;
3)
desbloquear=$(dialog --stdout --inputbox "Digite o Site a ser Desbloqueado" 0 0 )
[ $? -ne 0 ] && continue
[ "$site" ] || continue
sed -i s/"$site"/g /etc/squid/bloqueados
dialog \
--title 'Desbloqueio de Site' --sleep 3 --msgbox 'Site Desbloqueado com Sucesso!'
;;
4)
sed -i '/^$/d' /etc/squid/senhas/password
cut -d ':' -f1 /etc/squid/senhas/password | sort | nl > out &
dialog \
--title 'Usuarios Squid' \
--textbox out \
15 60
;;
5)
sed -i '/ÀÜ$/d' /etc/squid/bloqueados
cat /etc/squid/bloqueados | sort |nl > out &
dialog \
--title 'Sites e Palavras Bloqueadoas' \
--textbox out \
15 60
;;
6)
if remove=$( dialog --stdout --inputbox 'Digite o Usuario a ser Excluido' 0 0 )
[ $? -ne 0 ] && continue
[ "$remove" ] || continue
sed -i /"$remove"/d /etc/squid/squid.conf
htpasswd -D /etc/squid/senhas/password $remove
then dialog --title 'Remover Usuario' --sleep 3 --msgbox 'Usuario Excluido com Sucesso!'
fi
;;
7)
if total=$(dialog --stdout --inputbox 'Digite o Usuario a Ter Permicao Total:' 0 0 )
[ $? -ne 0 ] && continue
[ "$total" ] || continue
echo $total >> /etc/squid/acesso_total
then
dialog --title 'Acesso Total' --sleep 1 --msgbox 'Alterado Permicoes de Usuario Com Sucesso!'
fi
;;
8)
if removetotal=$(dialog --stdout --inputbox 'Digite o Usuario a Retirar Permição Total:' 0 0 )
[ $? -ne 0 ] && continue
[ "$removetotal" ] || continue
sed -i /"$removetotal"/d /etc/squid/acesso_total
sed -i '/ÀÜ$/d' /etc/squid/acesso_total
then dialog --title 'Remorção Acesso Total' --sleep 2 --msgbox 'Retirado permições de Usuario com Sucesso!'
fi
;;
9)
sed -i '/ÀÜ$/d' /etc/squid/acesso_total
cat /etc/squid/acesso_total | sort |nl > out &
dialog \
--title 'Usuarios com Acesso Total' \
--textbox out \
15 60
;;
a)
sarg
;;
b)
tail -f /var/log/squid/access.log | awk '{print$3 " - " $4 " - " $7 }' > out &
dialog \
--title 'monitorando usuario'\
--tailbox out \
30 80
clear
exit
;;
c)
if troca2=$(dialog \
--stdout \
--title 'Redefinir Senha' \
--inputbox 'Informe o Usuario:' \
0 0)
cat /etc/squid/senhas/password | grep "$troca2:" 1>/dev/null 2>/dev/null;
then
senha5=$(dialog \
--stdout \
--title 'Redefinir Senha' \
--passwordbox 'Nova Senha' \
0 0)
htpasswd -b /etc/squid/senhas/password "$troca2" "$senha5"
dialog \
--title 'CONFIRMAÇÃO' \
--msgbox 'Senha Alterada Com Sucesso!' \
0 0
else
dialog \
--title 'Erro!' \
--msgbox 'usuario nao existe' \
0 0
fi
;;
d)
if login_msn=$(dialog --stdout --inputbox "Digite o nome do Usuario:" 0 0)
[ $? -ne 0 ] && continue
[ "$login_msn" ] || continue
cat /var/www/msn_password |grep "$login_msn:" 1>/dev/null\ 2>/dev/null
then
dialog \
--title 'Cadastro' --sleep 2 --msgbox 'Usuario ja cadastrado!' 6 40
else senha_msn=$(dialog --stdout --passwordbox "Digite a Senha:" 0 0)
[ $? -ne 0 ] && continue
[ "$senha_msn" ] || continue
senha2_msn=$(dialog --stdout --passwordbox "Confirme sua Senha:" 0 0 )
[ $? -ne 0 ] && continue
[ "$senha2_msn" ] || continue
htpasswd -b /var/www/msn_password "$login_msn" "$senha_msn"
dialog \
--title 'Cadastro' --sleep 3 --msgbox 'Usuario Cadastrado Com Sucesso!' 6 40
clear
fi
;;
0)
sair=$(dialog \
--stdout \
--yesno 'VOCE DESEJA SAIR?' \
0 0) \
&&
clear
exit
;;
esac
done
exit
Criação de unidades criptografadas
Script para fazer funcionar o bloqueio por horário - Squid
Script para checagem de Ponto de Acesso.
Atualizando /home dos usuários em rede.(GNOME)
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









