Bom dia!

Com certeza deve funcionar, pois é mais ou menos o que faz o brma, que é um
software pago para fazer exatamente o que quero.

Mas valeu a dica, tenho pouco tempo para implementar isto, e estou cada vez
mais longe de uma solução opensource e cada vez mais perto de uma fechada.

Muito obrigado.


Junior

2008/6/16 Antonio Lobato <[EMAIL PROTECTED]>:

>
>
> Boa tarde Júnior,
> sua necessidade parece bastante específica, não conheço nenhuma solução
> pronta para isso. Mas é algo interessante de se implementar.
>
> Aqui vai uma sugestão para implementação. Demandará conhecimento de
> iptables e shellscript.
> O Squid autentica os usuários usando programas externos, que são
> definidos pela diretiva auth_param.
> Caso esteja usando autenticação num servidor SMB (Windows ou
> Linux/Samba), seu squid.conf tera algo parecido com isso:
>
> auth_param basic program /usr/lib/squid/smb_auth -W dominio -U 10.1.1.1
>
> /usr/lib/squid/smb_auth é um executavel que chama
> /usr/lib/squid/smb_auth.sh, um bash script.
> As linhas abaixo estão no final do smb_auth.sh:
>
> [ "$authinfo" = "allow" -o "$authinfo" = "allow^M" ] || exit 1
> exit 0
>
> poderia substitui-las por
>
> if [ "$authinfo" = "allow" -o "$authinfo" = "allow^M" ]; then
>  /usr/local/sbin/custom_firewall.sh "$SMBUSER"
>  exit 0
> else
>  exit 1
> fi
>
> Com isso, o funcionamento da autenticação do squid permanecerá
> intocado, e estará chamando o script
> /usr/local/sbin/custom_firewall.sh <user>, sendo <user> o nome
> do usuário que foi autenticado com sucesso.
> Aí basta criar custom_firewall.sh de forma que rode comandos
> iptables especificos para cada usuario que definir.
>
> Quanto ao logout do usuario, há um problema, pq o squid nao
> faz logout dele. Você teria que verificar se ele fecha a sessao
> baseado em timeout (o que acho provavel) ou de outra forma.
> Entao usar o mesmo timeout atraves do cron ou algum daemon,
> mas tomando o cuidado de resetar o timeout enquanto ele estiver
> acessando, possivelmente verificando com tail e grep o arquivo
> /var/log/access.log.
>
> Fica como uma sugestão.
> Deve dar um bom trabalho, mas boa sorte :)
>
>
>
> Tom Lobato
> tinecon.com.br
>
>
>
> Júnior Bohn escreveu:
> > Boa noite!
> >
> > Alguem sabe alguma forma de usar squid autenticado (com acl's e
> > grupos) e executar um firewall por usuario, quando este faz login no
> > squid?
> >
> > Explico: quando o usuario executa login no squid, alem de ser liberado
> > o acesso para ele conforme o grupo a que ele pertence, rodar um script
> > de firewall que libere as portas conforme as permissões daquele
> > usuario, tipo capturar o ip dele e aplicar as regras com o iptables. E
> > quando o usuario fizer logout, deletar as regras e bloquear o acesso
> > completamente para aquele ip.
> > Tipo um nat autenticado com  proxy autenticado.
> >
> > Junior
>
>

Responder a