
removido
(usa Nenhuma)
Enviado em 18/02/2015 - 09:52h
Olá bom dia pessoal, consegui resolver de forma satisfatória essa questão, integrando Squid e IPTABLES para Proxy transparente; estou compartilhando a todos, caso queiram colaborar para melhorar o código ou acrescentar sugestões, estejam a vontade. Segue o código testado para HTTP e HTTPS:
#SQUID CONTROLE DE ACESSO HTTP#
http_port 3128 transparent
# Validação da rede local#
acl acesso_total src "/etc/squid/acesso_total" # GRUPO DE IP de acesso TOTAL a internet colocar um por linha.
acl acesso_parcial src "/etc/squid/acesso_parcial" #GRUPO DE IP de acesso PARCIAL a internet com exceção dos sites abaixo
acl sites url_regex -i "/etc/squid/negados" #exceções negadas
acl acesso_restrito src 192.168.10.0/24 #GRUPO DE IP com acesso BLOQUEADO a internet com as excessos dos sites abaixo:
acl liberado url_regex -i "/etc/squid/liberados" #exceções liberadas
http_access allow acesso_total
http_access allow acesso_parcial !sites
http_access allow liberado
http_access deny acesso_restrito
http_access deny all
Com relação ao Firewall:
# Controle da Porta HTTPS #
iptables -A FORWARD -p tcp --dport 443 -j DROP ##TODOS USUARIOS NÃO LISTADOS SÃO BLOQUEADOS
for AP in `grep -v "^#" /etc/squid/acesso_total`; do ## GRUPO DE IP DE USUÁRIOS LIBERADOS PARA ACESSO colocar um por linha
iptables -I FORWARD -s $AP -d 0/0 -p tcp --dport 443 -j ACCEPT #TODOS OS SITES LIBERADOS
done
for IPR in `grep -v "^#" /etc/squid/acesso_parcial`; do ## GRUPO DE IP DE USUÁRIOS RESTRITOS
for HTTPS in `grep -v "^#" /etc/squid/https`; do ## SITES LIBERADOS DO BLOQUEIO colocar o IP do site um por linha
iptables -I FORWARD -s $IPR -d $HTTPS -p tcp --dport 443 -j ACCEPT
done
done
Obrigado a comunidade que ajudou a desenvolver a solução.