Administração Squid
Publicado por Eduardo Adriano Ramos (última atualização em 19/06/2011)
[ Hits: 7.347 ]
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
Script - Realizando relatório do servidor
Script para criar usuarios Dialup
Extrair o áudio de arquivos de vídeo
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta