Limitar acesso internet com acl's

1. Limitar acesso internet com acl's

fernando rodrigues da silva
magubuntu

(usa Ubuntu)

Enviado em 28/01/2012 - 13:30h

Gente, eu tenho um server ubuntu 8.04, com iptables, squid, squidguard, etc. Os usuários utilizama a internet com autenticação no squid. Mas recentemente o diretor me pediu para limitar a internet por setor. Ai é que vem o problema, preciso liberar/bloquear os acessos por usuários. Estou pesquisando para ver se acho algo que me ajude. Se alguém tiver alguma idéia agradeço.

Grato!!


  


2. Re: Limitar acesso internet com acl's

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 28/01/2012 - 16:26h

Se a sua rede tiver um AD, vc pode fazer a consulta do squid no AD, assim vc nem precisa criar uma estrutura d usuários pra isso. No VOL tem muito artigo explicando como se faz isso.


3. Autenticȧdos

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 28/01/2012 - 16:45h

Pode ser feito de varias manerias:
Autenticado por usuario como citado acima
Bloqueio por IP
bloqueio por arp (mac address)

Fale um pouco de sua estrutura para podermos recomendar a mais indicada

Usa DHCP?
Qual seu PDC samba ou AD?





4. Re: Limitar acesso internet com acl's

fernando rodrigues da silva
magubuntu

(usa Ubuntu)

Enviado em 28/01/2012 - 22:15h

Caro andrecanhadas, é justamente o bloqueio por usuário(autenticação) que eu quero implementar. Na minha rede eu tenho um servidor ubuntu server 8.04, com dhcp, squid com autenticação, squidguard fazendo filtro de conteúdo, tenho também um windows server 2003 com dns e AD, onde nele eu tenho minhas unidades organizacionais e as políticas de grupo.

Grato!!


5. Tutorial completo

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 29/01/2012 - 02:34h

http://www.vivaolinux.com.br/artigo/Squid-autenticando-em-base-Active-Directory

Da uma olhada tenta implementar no seu ambiente se tiver duvidas vai postando.


6. Re: Limitar acesso internet com acl's

fernando rodrigues da silva
magubuntu

(usa Ubuntu)

Enviado em 30/01/2012 - 10:22h

andrecanhadas, lhe agradeço pela força, mas ainda não é isso que eu procuro. Acredito que seja possível eu fazer estas restrições apenas com acl's no squid, sem ter que usar o AD. Vou fazer mais pesquisas e testes.

Muito grato!!


7. Bloqueio

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 30/01/2012 - 11:58h

Sim não precisa do AD como citei pode ser feito via IP se usar ip fixo na sua rede ou amarrados no DHCP, também pode ser feito pelo mac-address
se seu PDC for samba pode autenticar pelo samba enfim diversas maneiras.


8. Re: Limitar acesso internet com acl's

fernando rodrigues da silva
magubuntu

(usa Ubuntu)

Enviado em 31/01/2012 - 09:38h

Eu já cheguei a fazer uma vez por ip, de maneira mais simples. Dava pra fazer agora também, sendo que como hoje utilizamos autenticação seria bem melhor fazer essas restrições por usuário, sem dúvida. E também na minha rede eu uso o serviço dhcp, uso apenas ips fixos para alguns poucos usuário que não precisam de restrições(pessoal de TI, direção), faço isto com a ajuda do squidguard.

Valeu!


9. Squid.conf

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 31/01/2012 - 10:31h

Posta o seu squid.conf pra ver o que tem e como podemos adicionar regras nele.


10. Re: Limitar acesso internet com acl's

Daniel Marchi
DMS_

(usa elementary OS)

Enviado em 31/01/2012 - 11:12h

Creio que isso irá ajudar,

Esse squid faz o que você procura, qualquer dúvida estamos ai:

Passei pela mesma situação que você!




http_port 3128
visible_hostname debian
error_directory /usr/share/squid/errors/Portuguese/

cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#Bloqueia acessos de fora da rede local
#antes de passar pela autenticacao
acl redelocal src 192.168.1.0/24
http_access deny !redelocal


###ACL CONTENDO SITESOK - Liberados ####
acl sitesOK url_regex -i "/etc/squid/liberado/sitesOK"


### AUTENTICA COM USUARIO E SENHA ###
auth_param basic realm Use a Internet com responsabilidade
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid.passwd
acl autenticados proxy_auth REQUIRED


#### ACL CONTENDO USUARIOS por NIVEIS #####
acl usuarios1 proxy_auth "/etc/squid/grupos/usuarios1"
acl usuarios2 proxy_auth "/etc/squid/grupos/usuarios2"
acl usuarios3 proxy_auth "/etc/squid/grupos/usuarios3"

#### ACL CONTENDO SITES LIBERADOS POR NIVEL DE USUARIO ####
acl sitesUsuarios1 url_regex -i "/etc/squid/liberado/sitesUsuarios/sitesUsuario1"
acl sitesUsuarios2 url_regex -i "/etc/squid/liberado/sitesUsuarios/sitesUsuario2"
acl sitesUsuarios3 url_regex -i "/etc/squid/liberado/sitesUsuarios/sitesUsuario3"

#### LIBERANDO ACESSO A DETERMINADO SITES POR NIVEL DE USUARIO ####
http_access allow sitesUsuarios1 usuarios1
http_access allow sitesUsuarios2 usuarios2
http_access allow sitesUsuarios3 usuarios3

#### BLOQUEIA TODOS OS SITES, MENOS OS QUE FAZEM PARTE DOS sitesUsuarios e sitesOK ####
http_access deny !sitesOK
http_access allow autenticados

####Libera o acesso da rede local e localhost para os autenticados ####
http_access allow localhost
http_access allow redelocal
http_access deny all




E este script já cria o usuário e o joga no level use assim:

./addproxyuser usuario senha level


#!/bin/sh

if ! echo "$3" | grep -q "^[0-4]\{1\}$"; then
echo "Informe um nivel de acesso entre 0 e 4 somente!"
exit 1

if [$3 -lt 0] || [$3 -gt 4]
then
echo "O parâmetro level só pode ser de 0 a 3"
exit
fi

echo "Criando usuário ..."
/usr/bin/htpasswd -b /etc/squid/squid.passwd $1 $2
echo "Colocando usuário no level ..."
echo "$1" >> /etc/squid/grupos/usuarios$3
squid -k reconfigure

exit


Da pra otimiza-lo e muito.

Abraço!


11. Re: Limitar acesso internet com acl's

fernando rodrigues da silva
magubuntu

(usa Ubuntu)

Enviado em 03/02/2012 - 08:46h

DMS,

é isso mesmo... Desculpe a demora para responder, é pq estou bastante atarefado na empresa, valeu mesmo! Vou dar uma sacada melhor e tentar otimizá-lo. Muito grato a todos.


12. Re: Limitar acesso internet com acl's

fernando rodrigues da silva
magubuntu

(usa Ubuntu)

Enviado em 04/02/2012 - 14:59h

DMS, deixa eu ver se entendi bem seu arquivo: você tem um arquivo (sitesOK) onde nele consta todos os sites liberados para os usuários que acessam sem limites. Depois você tem três níveis de usuários que acessam a internet de acordo com os sites que estão dentro do arquivos que fazem referência ao seu nível de usuário. Então todos os usuários que não tem limites de acesso, como pessoal de TI e direção eu teria que apenas não cadastrar os seus usuários e eles acessariam os sites dentro do arquivo sitesOK? Mas quanto ao meu squidguard, ele não serviria mais? Como postei na minha rede eu utilizo o squidguard, dentro do arquivo de configuração dele eu cadastro dois tipos de "redes" (na verdade a faixa de ip é única). A rede que eu chamo de adm vai até 40, então nas máquinas que colocarmos, de maneira fixa, de 1 a 40, acessará tudo, sem limites. Já nas demais máquinas, que irá pegar ip via dhcp de 41 em diante, passará pelo filtro do squidguard que é bastante parrudo. Lhe pergunto: posso utilizar essas regras que você me passou aproveitando a estrutura do squidguard?

Grato






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts