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 > >