Introdução Conheço o Linux há algum tempo como usuário, porém nunca surgiu a necessidade de se colocar a mão na massa, de uns tempos para cá não teve jeito (agradeço por isso). Agradeço a todos que encontrarem alguma falha e postarem, pois só assim aprenderemos mais. Este artigo descreve como montar a política de acesso a INTERNET, dividindo o ambiente de trabalho em 3 grupos, onde os usuários utilizam terminais com Windows. Configurei o /etc/squid.conf através de 2 métodos de autenticação: pelo Apache e através do arquivo /etc/passwd, que segundo meus estudos é chamado de PAM (me corrijam se estiver errado). Quem for utilizar, utilize o que melhor lhe convier. Não é meu intuito descrever o funcionamento da SQUID, mesmo porque não sou conhecedor de todos os detalhes. No ambiente que montei, utilizo a distro DEBIAN, versão Etch 4 e instalei os pacotes abaixo, através do comando apt-get install:
1) Apache – Criei os usuários user1, user2 e user3 através dos comandos: # htpasswd -c /etc/squid/squid_passwd user1, onde o parâmetro -c indica que o arquivo /etc/squid/squid_passwd não existe, portanto deverá ser criado. # htpasswd /etc/squid/squid_passwd user2 # htpasswd /etc/squid/squid_passwd user3 2) PAM – Também foram criados os usuários user1, user2 e user3 através dos comandos: # passwd user1 # passwd user2 # passwd user2 Como os usuários não vão acessar nenhuma área do servidor, editei o arquivo /etc/passwd e desabilitei o acesso ao bash através do parâmetro /bin/false. | |
Criando as listas Nesta fase iremos criar as listas de usuários com ACESSO a INTERNET, SITES BLOQUEADOS e SITES LIBERADOS. Vamos para o diretório do SQUID: # cd /etc/squid Criei um diretório chamado listas: # mkdir listas Vamos para este diretório: # cd listas Criei os arquivos e inseri os usuários / sites: # vim usr_livre – contém a relação dos usuários que possuem acesso a qualquer site da INTERNET e inclua o usuário user1. # vim usr_restrito – contém a relação dos usuários que acessam os sites que não estiverem na lista dos bloqueados e inclua o usuário user2. # vim usr_bloqueado – contém a relação dos usuários que acessam os sites que estiverem na lista dos liberados e inclua o usuário user3. # vim url_bloqueado – contém a relação dos sites que estão bloqueados para os usuários do grupo usr_restrito, contendo o site .orkut.com. # vim url_liberado – contém a relação dos sites que estão bloqueados para os usuários do grupo usr_bloqueado, contendo o site .uol.com.br. | |
Configurando o SQUID Nesta fase vamos configurar o arquivo /etc/squid/squid.conf. Vamos voltar ao diretório /etc/squid: # cd /etc/squid Renomeie o arquivo original para qualquer outro nome: # mv squid.conf squid.bkp Crie um novo arquivo squid.conf: # vim squid.conf Copie o script abaixo (desculpem pelo excesso de comentários): # Salve o arquivo e vá para o bash.# Arquivo SQUID.CONF – Por ROGÉRIO TONINI – 14/05/07 # http_port 3128 icp_port 3130 # hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? cache deny QUERY # acl apache rep_header Server ^Apache broken_vary_encoding allow apache # cache_mem 64 MB # cache_swap_low 85 cache_swap_high 90 # maximum_object_size 128 MB minimum_object_size 0 # maximum_object_size_in_memory 64 KB # cache_dir ufs /var/cache/squid 2048 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log client_netmask 255.255.255.0 # #**************************************# # Este parâmetro libera o acesso dos usuários # # pelo proxy autenticado por htpasswd. # #**************************************# # #auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd # #**************************************# # Este parâmetro libera o acesso dos usuários # # pelo proxy autenticado por PAM. # #**************************************# # #********************************************************# # Este parâmetro demonstra a mensagem na janela de autenticação # #********************************************************# auth_param basic realm Servidor de Internet by R&R Info # auth_param basic children 5 auth_param basic credentialsttl 2 hours auth_param basic casesensitive off # refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 # # ——————————————————————– # ACCESS CONTROLS # ——————————————————————– 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 to_localhost dst 127.0.0.0/8 # acl Safe_ports port 21 # ftp acl Safe_ports port 70 # gopher acl Safe_ports port 80 # http acl Safe_ports port 210 # wais acl Safe_ports port 280 # http-mgmt acl Safe_ports port 443 # https acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 631 # cups acl Safe_ports port 777 # multiling http acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl Safe_ports port 1025-65535 # unregistered ports # acl SSL_ports port 443 # https acl SSL_ports port 465 # YAHOO – SMTP (SSL) acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync acl SSL_ports port 995 # YAHOO – POP3 (SSL) # 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 http_access allow localhost http_access deny to_localhost # # Criando as ACLs personalizadas # acl rede_interna src 192.168.0.0/24 # #*******************************************************# # Situação 1 – Ambiente com 3 grupos: # # # # Grupo 1 – usr_total – os usuários tem acesso livre a Internet # # Grupo 2 – usr_liberado – os usuários acessam qualquer site que # # não estiver na lista url_bloqueado # # Grupo 3 – usr_bloqueado – os usuários acessam somente os sites # # que estiverem na lista url_liberado # #*******************************************************# # acl usuarios proxy_auth REQUIRED # #*** Usuarios com acesso livre # acl acesso_livre proxy_auth "/etc/squid/listas/usr_livre" # http_access allow acesso_livre # #*** Usuários com acesso controlado pelos sites bloqueados # acl acesso_restrito proxy_auth "/etc/squid/listas/usr_restrito" acl url_bloqueado url_regex -i "/etc/squid/listas/url_bloqueado" # http_access deny url_bloqueado http_access allow acesso_restrito !url_bloqueado # #*** Usuarios com acesso somente aos sites liberados # acl acesso_bloqueado proxy_auth "/etc/squid/listas/usr_bloqueado" acl url_liberado url_regex -i "/etc/squid/listas/url_liberado" # http_access allow url_liberado http_access deny acesso_bloqueado !url_liberado # http_access allow usuarios acesso_livre http_access allow usuarios acesso_restrito http_access allow usuarios acesso_bloqueado # #*****************************************************# # Situação 2 – Todos os usuários estão limitados a visitar # # somente os sites que não estão na relacro de sites bloqueados # # e os que não possuem as palavras na relacro das bloqueadas. # #*****************************************************# # Para esta situação os parâmetros de autenticação deverão # # estar desabilitados. # #*****************************************************# # # Lista de sites bloqueados #acl url_bloqueado url_regex -i "/etc/squid/listas/url_bloqueado" #http_access deny url_bloqueado # http_access deny !rede_interna http_access allow rede_interna http_access deny all icp_access allow all # cache_mgr webmaster visible_hostname # error_directory /usr/share/squid/errors/Portuguese coredump_dir /var/spool/squid | |
Finalizando Agora basta reiniciar o servidor SQUID: # /etc/init.d/.squid restart Esta configuração foi testada exaustivamente na distro DEBIAN. Como novato por aqui e também na comunidade LINUX, espero poder contribuir para o aprendizado dos novatos como eu! Um recado para quem está começando neste universo, não tenha medo, afinal as grandes cabeças pensantes não conseguiram seus objetivos logo na primeira tentativa. Abraços a todos e esta comunidade está de parabéns. Autor: Rogério Tonini Retirado de : http://curibocas.wordpress.com/2007/11/01/squid-autenticado-bloqueando-o-acesso-dos-usuarios-por-grupos/ Em : 12/02/2012 |
O Universo não é uma idéia minha. A minha idéia do Universo é que é uma idéia minha. A noite não anoitece pelos meus olhos, a minha idéia da noite é que anoitece por meus olhos. Fora de eu pensar e de haver quaisquer pensamentos A noite anoitece concretamente. E o fulgor das estrelas existe como se tivesse peso. Fernando Pessoa
Pesquisar este blog
domingo, 12 de fevereiro de 2012
SQUID autenticado – Bloqueando o acesso dos usuários por grupos
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.