Controle de clientes e acessos no Squid

Esse artigo mostra como criar e usar um script no Squid prontinho para um controle de clientes, acessos e downloads.

[ Hits: 72.039 ]

Por: Djair Dutra C. Jr. em 15/02/2006


Considerações finais



Solicito que eventuais modificações neste script tenham os nomes de seus autores informados dentro do script, com as respectivas versões e datas de criação, porém peço também que seja mantida a autoria original do script.

Dessa forma, se este script "rodar pela internet", podemos ter um histórico de versões e saberemos a quem reportar os bugs.

A livre distribuição dos códigos-fonte dos programas pra Linux tem o transformado na melhor solução para sistemas operacionais atualmente, pois a manutenção dos programas não fica restrita a um pequeno número de programadores de uma empresa.

Acredito na força da livre distribuição e do código aberto, estreitando as distâncias entre o usuário e o programador, tornando o Linux cada vez melhor.

Página anterior    

Páginas do artigo
   1. Requisitos para a aplicação do script
   2. Configuração do Squid
   3. Iniciando o script
   4. Considerações finais
Outros artigos deste autor

Layer7 e compilação do kernel mole-mole com Conectiva 10

O dia em que o KDE me surpreendeu

Tux, o cabo eleitoral

Autenticação de sites com PHP e MySQL

Cópia completa do HD - cluster por cluster

Leitura recomendada

A verdade sobre as ACLs do Squid

Instalação do Squid 3.2.0.14 no Slackware com execução em ambiente chroot

Colocando senha nos gerenciadores do Squid (SARG e MYSAR) de forma simples

Identificando usuários Squid com o IDENTD

Instalando o Squid + SquidGuard

  
Comentários
[1] Comentário enviado por metall em 15/02/2006 - 08:19h

quando vc executa o script ta com este erros...
./squid_add: line 264: unexpected EOF while looking for matching `"'
./squid_add: line 274: syntax error: unexpected end of file
Usando Conectiva 10
soh pra te reportar o problema...

Abraco.

[2] Comentário enviado por bosetti em 15/02/2006 - 08:35h

Cara, gostei do seu artigo, queria ter encontrado ele 4 meses atrás, hehe
Agora não preciso mais =p
Mas vou testar mais tarde aquele "programa" (o_O"?)que você criou, que achei muito bom!

Continua assim cara,
[]'s
Rafael Bosetti

[3] Comentário enviado por agk em 15/02/2006 - 13:59h

Parabéns, muito bom o seu artigo. É uma forma de deixar mais fácil o manuseio do squid para usuários menos experientes.

[4] Comentário enviado por laranjeira em 15/02/2006 - 20:57h

Parabens pelo artigo, tenho estudado o squid e não estou sabendo fazer um que ele bloquei download por exemplo ...poderia me mandar o arquivo que contem as extenções para bloqueio de download.. Desde ja agradeço pela atenção.
[email protected]

[5] Comentário enviado por malacker em 17/02/2006 - 16:50h

Depois de ver o código fonte aqui no VOL percebo qie algumas linhas apareceram quebradas e podem ocasionar erros. Corrigi este problema colocando o script no local apropriado para download:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=1731

Até logo!!!

[6] Comentário enviado por bosetti em 17/02/2006 - 16:55h

Eu ainda não peguei esse script pra testar, mas já que você disse que pode dar erros, gostaria que me passasse então!

rafaelbosetti hotmail com

[]'s
Rafael Bosetti

[7] Comentário enviado por cauan em 20/02/2006 - 12:28h

Parabéns, o script parece bem completinho. A algum tempo fiz um semelhante. Só não uso menus, é tudo direto na linha de comando.

De cara, sem testar o script as únicas coisas que recomendo são usar a função tempfile e manter um backup dos arquivos que modificar.

a função que criei para revogar as permissão de download dos usuários ficou +- assim:

del_dl () {
# Retira permissao de download do usuario
${ECHO} "removendo permissão de download do usuário: ${1}."
TEMP=`tempfile -m 0600`
# Cria lista de usuarios sem o nome do usuario em arquivo temporario
${GREP} -v ${1} ${DL_FILE} > ${TEMP}
# Faz um backup da lista atual
${CP} ${DL_FILE}{,.old}
# Sobrescreve a lista atual pela temporaria
${MV} ${TEMP} ${DL_FILE}
}

Att
Cauan C. Guimarães

[8] Comentário enviado por technoroot em 17/03/2006 - 12:32h

Tambem gostei muito do script e gostaria de receber um e-mail com as linhas corretas para evitar erros, mas ficou muito bom mesmo...

Valeu pela sua contribuição com a nossa comunidade!!!

[9] Comentário enviado por andersonunai em 19/04/2006 - 23:06h

Parabéns, Djair... ótimo artigo... Att Anderson

[10] Comentário enviado por mineiro em 01/05/2006 - 21:13h

Olá, gostei do seu script e gostaria de recebe-lo por email com as correções dos erros. Não estou sabendo bloquear downloads poderia me mandar o script que contem as extenções para bloqueio de download? Desde ja agradeço a atenção e parabens pelo artigo.
[email protected]

[11] Comentário enviado por eduradaelli em 26/07/2006 - 00:05h

Muito bom seu artigo.
Tive que fazer alguns ajustes para funcionar no debian, mas esta ok.
Abraços

[12] Comentário enviado por dill_tche em 23/08/2006 - 09:32h

muito bom cara, to começando a ver squid e ta me ajudando um monte.

[13] Comentário enviado por technoroot em 23/08/2006 - 09:42h

Cara gostei muito, estou tentando criar algo assim so que para rodar no browser, minha esposa programa em php, só tirando uma duvida antes de começarmos tem algo a mais que precisa fazer para o php ler este arquivo e jogar no browser?

Se puderem me dar uma dica eu agradeço muito!!!

Ate mais ver!

[14] Comentário enviado por zennh em 23/08/2006 - 10:27h

legal!!!

mas onde eu salvo esse script ???

em que pasta ?????

[15] Comentário enviado por mbcbs07 em 08/09/2006 - 18:33h

Boa dica, agora me diz uma coisa.
Pra eu colocar os ip´s, tanto de acesso_total quanto no acesso_restrito. Eu vou separar por , ou por ; ou vou ter de pular uma linha.
Aguardo retorno.

[16] Comentário enviado por uranium em 02/11/2006 - 14:39h

Olá voce tem algum script que so deixe passar internet somente aqueles ips cadastrados no dhcp?

[17] Comentário enviado por Golinelli em 06/08/2008 - 17:56h

OLa!!! Estou desenvolvendo um script parecido com o seu mas como sou iniciante em shell vai me ajudar muito esse..

Parabéns !! vc me deu boas ideias para melhorar o meu,, e tambem estou fazendo com dialog,. mas sem restricões de acesso onde vou utilizar..

Gostei do script para checar se o servidor ou determinado host esta pingando ,vou adaptar ele as minhas necessidades!!

Mais uma vez Parabéns!!

[18] Comentário enviado por morfetico em 01/04/2010 - 10:15h

Fiz um squema com apache e php que libera automaticamente palavra restrita por exemplo:
"sex" esta proibido mas sexta não pode ser proibido, coloquei no /usr/share/squid/error/Portuguese/ERROR_ACCESS_DENIED
um redirecionamento para uma pagina local com as variaveis dos endereços tanto da pequisa google quanto do endereço,
estas variaveis são analizadas e quando se for somente "sex" manda uma mensagem dizendo que não vai liberar e apareçe
um formulário para o usuário preencher se identificar e o motivo porque que a palavra deve ser liberada, este formulario
envia para o meu email e fico sabendo que alguem pediu pra liberar uma palavra que não libera de forma alguma.
Se a palavra for "sex" não libera se for "sexta" esta palavra é colocada no arquivo do squid de palavras liberadas e o cron
de minuto em minuto roda um script que verifica se houve alteração e executa o "squid -k ", pronto agora tenho sussego e
não preciso liberar manualmente palavra por palavra, isto libera a palavra em no máximo 1 minuto e não mais quando eu
abrir meu email, isto está funcionando redondinho. Fiz uma interface web com caixa de texto para eu adicionar e
excluir palavras para não ter que utilizar o putty o tempo todo, assim qualquer um pode trabalhar com segurança sem
ser o root. Tenho um problema com as caixas de texto que quando salvo envia a quebra de linha "^" essa porcaria
confunde o script que analiza a palavra e o negócio não funciona direito, ja coloquei o php pra rodar antes do2unix no
arquivo como root mas nao resolve, so estou utilizando atravéz do putty, se alguem sabe como fazer o html salvar em
um arquivo txt sem mandar "^" pro final da linha fico agradecido.

[19] Comentário enviado por eduardo_jst em 16/02/2011 - 17:12h

Alguem pode ajudar neste problema


Boa tarde, fiz a seguintes regras vendas_bloqueado (eduardo, cpd01) onde terao acesso em paginas q estao nas liberados em vendas_liberado e criei acls personalizada a cada usuario destes grupos,e apesar de serem do mesmo grupo, preciso liberar determinadas paginas a eduardo que cpd01 nao pode ter acesso e vice versa.
O problema que hora acessa, hora bloqueia as paginas que estão na liberação, se logo com eduardo primeiro acesso ok, mas ao deslogar e logar cpd01 ja bloqueia seus acessos liberados, se logar cpd01 primeiro acessa suas liberações ok, mas se deslogar e logar eduardo bloqueias suas liberações tb,

Alguem pode me dar um auxilio, pode me dizer pq esta tendo esta intermitencia? corrigir minhas regras?

fico no aguardo


#http_access allow usuarios acesso_livre

# ---- Regras de acesso por grupos
# ---- GRUPO VENDAS
acl vendas proxy_auth "/etc/squid/regras/grupos/vendas_bloqueado"
acl vendas_liberado url_regex -i "/etc/squid/regras/acessos/grupos/vendas_liberado"
http_access allow vendas_liberado
http_access deny vendas !vendas_liberado
http_access allow usuarios vendas

#***** Regras de acesso de usuarios por usuario

#----Usuario Eduardo-----#
acl eduardo proxy_auth "/etc/squid/regras/usuarios/eduardo_bloqueado"
acl eduardo_liberado url_regex -i "/etc/squid/regras/acessos/usuarios/eduardo_liberado"
http_access allow eduardo_liberado
http_access deny eduardo !eduardo_liberado
http_access allow usuarios eduardo


#----Usuario cpd01-----#
acl cpd01 proxy_auth "/etc/squid/regras/usuarios/cpd01_bloqueado"
acl cpd01_liberado url_regex -i "/etc/squid/regras/acessos/usuarios/cpd01_liberado"
http_access allow cpd01_liberado
http_access deny cpd01 !cpd01_liberado
http_access allow usuarios cpd01


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts