Você está na página 1de 9

INTRODUO

Conheo o Linux h algum tempo como usurio, porm nunca surgiu a


necessidade de se colocar a mo na massa, de uns tempos para c no teve
jeito (agradeo por isso). Agradeo a todos que encontrarem alguma falha e
postarem, pois s assim aprenderemos mais.
Este artigo descreve como montar a poltica de acesso a INTERNET, dividindo
o ambiente de trabalho em 3 grupos, onde os usurios utilizam terminais
com Windows.
Configurei o /etc/squid.conf atravs de 2 mtodos de autenticao: pelo
Apache e atravs 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.
No meu intuito descrever o funcionamento da SQUID, mesmo porque no
sou conhecedor de todos os detalhes.
No ambiente que montei, utilizo a distro DEBIAN, verso Etch 4 e instalei os
pacotes abaixo, atravs do comando apt-get install:
Squid - 2.6.5-6;
Apache2 - 2.2.3-4+etch1;
Bind9 - 9.3.4-2etch1,
Sarg - 2.2.2-1.
Criando os usurios:
1) Apache - Criei os usurios user1, user2 e user3 atravs dos
comandos:
# htpasswd -c /etc/squid/squid_passwd user1, onde o parmetro -c indica que
o arquivo /etc/squid/squid_passwd no existe, portanto dever ser criado.
# htpasswd /etc/squid/squid_passwd user2
# htpasswd /etc/squid/squid_passwd user3

2) PAM - Tambm foram criados os usurios user1, user2 e user3


atravs dos comandos:
# passwd user1

# passwd user2
# passwd user2
Como os usurios no vo acessar nenhuma rea do servidor, editei o
arquivo /etc/passwd e desabilitei o acesso ao bash atravs do parmetro
/bin/false.
CRIANDO AS LISTAS
Nesta fase iremos criar as listas de usurios com ACESSO a INTERNET, SITES
BLOQUEADOS e SITES LIBERADOS.
Vamos para o diretrio do SQUID:
# cd /etc/squid
Criei um diretrio chamado listas:
# mkdir listas
Vamos para este diretrio:
# cd listas
Criei os arquivos e inseri os usurios / sites:
# vim usr_livre - contm a relao dos usurios que possuem acesso a
qualquer site da INTERNET e inclua o usurio user1.
# vim usr_restrito - contm a relao dos usurios que acessam os sites que
no estiverem na lista dos bloqueados e inclua o usurio user2.
# vim usr_bloqueado - contm a relao dos usurios que acessam os sites
que estiverem na lista dos liberados e inclua o usurio user3.
# vim url_bloqueado - contm a relao dos sites que esto bloqueados para
os usurios do grupo usr_restrito, contendo o site .orkut.com.
# vim url_liberado - contm a relao dos sites que esto bloqueados para os
usurios 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 diretrio /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 comentrios):
#
# Arquivo SQUID.CONF - Por ROGRIO 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 parmetro libera o acesso dos usurios #
# pelo proxy autenticado por htpasswd.

#**************************************#
#
#auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
#
#**************************************#
# Este parmetro libera o acesso dos usurios #
# pelo proxy autenticado por PAM.

#**************************************#
#
#********************************************************#
# Este parmetro demonstra a mensagem na janela de autenticao #
#********************************************************#
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 of
#
refresh_pattern ^ftp:

1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440


refresh_pattern .

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

# Situao 1 - Ambiente com 3 grupos:


#

#
#

# Grupo 1 - usr_total - os usurios tem acesso livre a Internet

# Grupo 2 - usr_liberado - os usurios acessam qualquer site que #


#

no estiver na lista url_bloqueado

# Grupo 3 - usr_bloqueado - os usurios 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
#
#*** Usurios 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
#
#*****************************************************#
# Situao 2 - Todos os usurios esto limitados a visitar

# somente os sites que no esto na relacro de sites bloqueados #


# e os que no possuem as palavras na relacro das bloqueadas. #
#*****************************************************#
# Para esta situao os parmetros de autenticao devero
# 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 <Nome do servidor>
#
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/spool/squid
Salve o arquivo e v para o bash.
FINALIZANDO
Agora basta reiniciar o servidor SQUID:
# /etc/init.d/.squid restart
Esta configurao foi testada exaustivamente na distro DEBIAN.
Como novato por aqui e tambm na comunidade LINUX, espero poder
contribuir para o aprendizado dos novatos como eu!
Um recado para quem est comeando neste universo, no tenha medo,
afinal as grandes cabeas pensantes no conseguiram seus objetivos logo na
primeira tentativa.
Abraos a todos e esta comunidade est de parabns.

Você também pode gostar