apredendo a usar o squid proxy

12
 apredendo a usar o squid proxy O Squid é um servidor Proxy e cache que permite tanto compartilhar o acesso à Web com outros PCs da rede, quanto melhorar a velocidade de acesso através do cache. Mas, o Squid suporta apenas os protocolos HTTP e FTP, ou seja, não oferece acesso completo, apenas navegação (o protocolo Gopher também é suportado, o difícil é encontrar quem ainda use isto hoje em dia). Outros protocolos podem ser suportados, caso você manualmente abra as portas utilizadas por eles e estabeleça regras de acesso, mas isso pode ser feito mais facilmente utilizando o Nat no Iptables. 1.1. Porque usar o Squid? Além da capacidade de intermediar o acesso à internet, como já mencionado, o Squid tem outros recursos que o torna uma excelente alternativa para aproveitamento mais racional da comunicação. Dentre esses recursos podemos destacar: Cache -através desse recurso o Squid armazena em cache o conteúdo acessado, de forma que se algum host fizer novamente uma requisição ao mesmo conteúdo, que já se encontra armazenado, ele recebe diretamente do cache, sem a necessidade de efetuar uma nova busca dos dados na internet. O uso desse recurso pode trazer uma rapidez maior ao acesso à internet, pois provavelmente o link do host com o proxy é b em mais rápido do que deste com a internet; Autenticação - podemos restringir o acesso ao servidor proxy com o uso da autenticação de usuários, de forma que seja melhorada a segurança, já que somente usuários autorizados poderão acessar a internet. Este recurso é bastante flexível e pode ser implementado de várias maneiras, como uso do protocolo LDAP, SMB, módulos PAM, etc; Registro de acessos - os acessos são registrados em arquivos de log, podendo esses serem utilizados para as mais diversas finalidades, que vão desde a análise de performance do servidor, até a geração de relatórios detalhados dos acessos à internet. Existem vários softwares analisadores de logs do Squid capazes de gerar relatórios tão bons, que por si já  justificariam o uso do Squid, em razão do controle proporcionado;Cont role centralizado - com o uso do proxy temos a facilidade de um único ponto centralizador do acesso à internet, o que torna a gerência da rede mais fácil e eficiente. Uma única máquina é capaz de prover acesso à várias outras;

Upload: helder-oliveira

Post on 13-Jul-2015

93 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 1/12

 

apredendo a usar o squid proxy

O Squid é um servidor Proxy e cache que permite tanto compartilhar oacesso à Web comoutros PCs da rede, quanto melhorar a velocidade de acesso através docache. Mas, o Squid

suporta apenas os protocolos HTTP e FTP, ou seja, não oferece acessocompleto, apenasnavegação (o protocolo Gopher também é suportado, o difícil é encontrarquem ainda useisto hoje em dia). Outros protocolos podem ser suportados, caso vocêmanualmente abra asportas utilizadas por eles e estabeleça regras de acesso, mas isso pode serfeito maisfacilmente utilizando o Nat no Iptables.1.1. Porque usar o Squid?Além da capacidade de intermediar o acesso à internet, como já

mencionado, o Squid temoutros recursos que o torna uma excelente alternativa para aproveitamentomais racional dacomunicação. Dentre esses recursos podemos destacar: Cache -atravésdesse recurso oSquid armazena em cache o conteúdo acessado, de forma que se algumhost fizernovamente uma requisição ao mesmo conteúdo, que já se encontraarmazenado, ele recebediretamente do cache, sem a necessidade de efetuar uma nova busca dosdados na internet.O uso desse recurso pode trazer uma rapidez maior ao acesso à internet,poisprovavelmente o link do host com o proxy é bem mais rápido do que destecom a internet;Autenticação - podemos restringir o acesso ao servidor proxy com o uso daautenticação deusuários, de forma que seja melhorada a segurança, já que somenteusuários autorizadospoderão acessar a internet. Este recurso é bastante flexível e pode serimplementado devárias maneiras, como uso do protocolo LDAP, SMB, módulos PAM, etc;Registro de acessos - os acessos são registrados em arquivos de log,podendo esses seremutilizados para as mais diversas finalidades, que vão desde a análise deperformance doservidor, até a geração de relatórios detalhados dos acessos à internet.Existem váriossoftwares analisadores de logs do Squid capazes de gerar relatórios tãobons, que por si já justificariam o uso do Squid, em razão do controle proporcionado;Controlecentralizado - com o uso do proxy temos a facilidade de um único pontocentralizador do acesso à internet, o que torna a gerência da rede mais fácile eficiente. Uma

única máquina é capaz de prover acesso à várias outras;

Page 2: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 2/12

 

a. Baixe os binários utilizados no Windows no seguinte endereço:http://squid.acmeconsulting.it/downl...ABLE16-bin.zipb. Descompacte o conteúdo do arquivo zipado na raiz do Windows.

c. Entre no diretório c:\squid\etc e crie uma cópia dos arquivos com osnomesconforme descrito abaixo:squid.conf.default => squid.conf mime.conf.default => mime.conf cachemgr.conf.default => cachemgr.conf d. Abra o prompt de comando acesse o diretório cd c:\squid\sbin e digite oscomandosabaixo:squid –i –n squid => comando que instala o serviço chamado squid no SOsquid –z => comando utilizado para criar a cache do squid

e. Acesse o menu iniciar e em executar digite no comando “services.msc” paracarregar o gerenciador de serviços, localize o serviço squid clique com obotãodireito e mande inicializar o serviço.

1.3. Autenticação no SquidPor padrão, o controle de acesso é feito por máquina, entretanto o Squidfornecemecanismos para ser efetuado um controle por usuário, dessa forma cadausuário que

deseje ter acesso à internet deverá antes de tudo se autenticar no proxy,para que seu acessoseja liberado. A autenticação poderá ser feita de várias maneiras, como porexemplo, noformato NCSA (geralmente associado ao utilitário htpasswd, o mesmoutilizado peloApache), ou ainda através de um servidor LDAP, um PDC WindowsNT/2000, ou módulosPAM, etc. A maneira mais comum de realizar autenticação é com o uso doformato NCSAque usa o módulo ncsa_auth. Para este trabalho nossa implementação foibaseada nestemétodo.O cadastro dos usuários para acesso ao Squid é feito com o uso do utilitáriohtpasswd,conforme podemos ver no exemplo abaixo, lembrando apenas que a opção-c deve serusada apenas caso o arquivo de senhas ainda não exista, pois ela instrui outilitário a criá-lo.# htpasswd -c arquivo_de_senhas usuarioPara que o Squid forneça suporte a autenticação devemos habilitar estasconfigurações noarquivosquid.conf através da TAG auth_param. É nela que são realizadas asmudançasnecessárias para que o esquema de autenticação comece a funcionar, já

Page 3: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 3/12

 

que por padrão elenão vem habilitado. No próprio arquivo tem comentários que mostram comoisso deve serfeito para cada tipo escolhido. Como vamos utilizar o método básico, nossaconfiguração

ficou assim.auth_param basic program c:/squid/libexec/ncsa_auth c:/squid/etc/passwdauth_param basic children 5auth_param basic realm Servidor Proxy Squid CETauth_param basic credentialsttl 2 hoursA linha auth_param basic program c:/squid/libexec/ncsa_authc:/squid/etc/passwdespecifica qual módulo será usado, no caso /usr/lib/squid/ncsa_auth é ondese encontra oarquivo com os usuários e senhas gerado conforme comentado acima.Em auth_param basic children 5 estamos definindo quantos processos filhos

do módulode autenticação poderão existir, esse número é o padrão do Squid,entretanto em redesmaiores pode haver a necessidade de um incremento deste, devido aonúmeroprovavelmente maior de usuários que precisarão se autenticarsimultaneamente.Em auth_param basic realm Servidor Proxy Squid CET configura-se amensagem queaparecerá na tela onde são fornecidas as informações do usuário paraautenticação. Esta

opção é interessante para que possamos personalizar este mensagem datela de login donosso servidor.E por último auth_param basic credentialsttl 2 hours especifica a validadede umaautenticação bem sucedida. Com estas configurações já temos nosso proxyhabilitado atrabalhar com autenticação de usuários, bastando para isso que sejamfeitas ACL's para issoe definidas as regras de acesso.As configurações do Squid estão concentradas no arquivoc:\squid\etc\squid.conf.1.4. Principais TAG's do arquivo squid.conf O arquivo de configuração do Squid garante um grau elevado de capacidadedecustomização deste servidor. Ele é composto por mais de 3000 linhas,entretanto não hácom o que se preocupar, pois a maior parte delas se constitui decomentários referentes àsfunções de cada TAG e como deve-se utilizá-la. De tantos comentários eleparece mais ummanual do que um arquivo de configuração.Podemos ter um servidor configurado e funcional com apenas pouco maisde 30 linhas noarquivo, devemos considerar também que boa parte das opções

Page 4: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 4/12

 

configuradas como padrãono arquivo squid.conf não precisam ser alteradas, pois já representam aconfiguração maisadequada.Desta forma vamos nos ater as configurações mais importantes e

necessárias para quepossamos ter um servidor proxy funcional. Abaixo mostraremos algumasdestas opções,não querendo tornar isso um guia definitivo para configuração do Squid,mas sim um pontode partida para implementação de um servidor proxy.hierarchy_stoplist cgi-bin ?-Esta opção vem habilitada por padrão no squid.conf e inclusive érecomendado o seu uso.Ela é responsável por dizer ao Squid que ele deve buscar os dadosdiretamente na origem,

sem passar pelos vizinhos na hierarquia. Esta configuração se refere aconteúdo dinâmico,portanto se a URL contém o padrão aqui especificado, será tomada aatitude de ir direto aorigem buscar o conteúdo;acl QUERY urlpath_regex cgi-bin ?no_cache deny QUERY-Esta ACL diz ao squid para não armazenar em cache o conteúdo dos CGI's,poisobviamente não é interessante por tratar-se de conteúdo dinâmico;cache_mem 64 MB

-Nesta opção é definida a quantidade de memória que o Squid irá usar, masé bom lembrarque o manual do Squid adverte que a memória aqui mencionada é referentea objetos emtrânsito, objetos “quentes” e objetos com negativa de cache, ou seja, é amemória apenaspara ele utilizar na manipulação dos seus objetos e não ao total de memóriaconsumida porele, que pode ser duas ou três vezes maior;cache_dir ufs /var/cache/squid 300 64 64-Esta TAG determina onde e como será feito o cache, neste caso o diretóriode cache é /var/cache/squid, com o tamanho de 300 MB, tendo 64 diretórios com 64 outrosdiretórios emcada um deles;auth_param basic program c:/squid/libexec/ncsa_auth c:/squid/etc/passwdauth_param basic children 5auth_param basic realm Servidor Proxy Squid CETauth_param basic credentialsttl 2 hours- TAG's referentes ao processo de autenticação.refresh_pattern ^ftp: 1440 20% 10080refresh_pattern ^gopher: 1440 0% 1440refresh_pattern . 0 20% 4320-Estas opções são o padrão do Squid e configuram como serão tratados ostempos de vida

Page 5: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 5/12

 

dos objetos no cache, isto é, o Squid faz uso destes valores para verificar seos objetosarmazenados são os mais recentes ou há a necessidade de atualizá-los. Nãohá necessidadede mudança nestes valores;

acl all src 0.0.0.0/0.0.0.0acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl to_localhost dst 127.0.0.0/8acl SSL_ports port 443acl Safe_ports port 80 # httpacl Safe_ports port 21 # ftpacl Safe_ports port 443 # httpsacl Safe_ports port 70 # gopheracl Safe_ports port 210 # waisacl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmtacl Safe_ports port 488 # gss-httpacl Safe_ports port 591 # filemakeracl Safe_ports port 777 # multiling httpacl CONNECT method CONNECT-Estas ACL's fazem parte da configuração padrão do Squid e é o mínimorecomendávelpara seu uso, não sendo necessária nenhuma alteração nas mesmas;acl MINHA_REDE src 192.168.16.0/24acl USUARIOS proxy_auth REQUIREDacl PORNO url_regex –i “/etc/squid/poracl” 

acl PORNO1 url_regex –i “/etc/squid/porn1” acl NAO_PORNO url_regex -i “/etc/squid/noporn” -Seção do arquivo com ACL's definidas pelo usuário, além dasanteriormente comentadasque já vêm configuradas por padrão.http_access allow manager localhosthttp_access deny managerhttp_access deny !Safe_portshttp_access deny CONNECT !SSL_ports-Definição de regras de acesso referentes às ACL's da parte da configuraçãopadrão doSquid, também não é necessária nenhuma alteração, portanto apenasacrescente as suaspróprias regras a estas;http_access allow USUARIOS NAO_PORNO MINHA_REDEhttp_access allow USUARIOS !PORNO !PORNO1 MINHA_REDE-Estas regras de acesso foram feitas com o uso das ACL's criadasanteriormente na áreadesignada ao usuário, como podemos observar elas foram feitas pelopróprio usuário;http_access deny all-Esta regra de acesso é recomendada para uso como última regra da listadefine o acesso aoproxy. Ela diz ao Squid que se nenhuma das regras anteriores for aplicada oacesso será

Page 6: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 6/12

 

então negado,portanto seu uso vai impedir acessos indesejados ao proxy. Émuitoimportante que esta seja a última regra da sua lista, pois o Squid tem umaregra implícitaque inverte a última regra da lista caso nehuma delas seja aplicada. Isto

pode trazerconsequências indesejáveis principalmente se for usado negação ouliberação explícitacomo por exemplo http_access deny PORNO ou http_access allowNAO_PORNO;icp_access allow all-Permite o acesso a porta icp de acordo com a configuração feita na ACL all,que no nossocaso representa qualquer origem. Está porta é usada para troca deinformações entreservidores proxy;

cache_mgr email_administrador-Opção para configuração do e-mail do administrador do proxy que vaiaparecer nasmensagens de erro. Isto é importante para que os usuários tenhaminformações de comointeragir com o responsável pelo servidor em caso de problemas, como porexemplo umacesso bloqueado de forma errada;visible_hostname www.meu_seite.com.br-Mostra o nome do servidor configurado nas mensagens de erro, casocontrário o Squid vai

tentar descobrir o nome. Deve ser registrado o FQDN do servidor e nãoapenas o hostname;error_directory /usr/share/squid/errors/Portuguese-Com o uso dessa opção podemos determinar em qual linguagem serãoapresentadas asmensagens de erro. Seu uso é recomendado, pois por padrão as mensagenssão em inglês.Em /usr/share/squid/errors/ existem vários subdiretórios com as linguagenssuportadas peloSquid. E estas mensagens, inclusive, podem ser facilmente personalizadas,pois estão emarquivos no formato html;coredump_dir /var/cache/squid-Local onde o Squid gravará seus arquivos core em caso de falhas. Estesarquivos sãocomuns em sistemas UNIX e representam o estado do software nomomento em que o erroque provocou sua finalização ocorreu.Algumas outras opções também são interessantes, como no caso dasapresentadas abaixopara serem usadas quando estamos com o recurso de proxy transparentehabilitado. Estasopções vão fazer com que o Squid se comporte como um servidor web, deforma que ocliente não perceba que está ``conversando'' com um proxy.

Page 7: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 7/12

 

httpd_accel_port 80httpd_accel_host virtualhttpd_accel_with_proxy onhttpd_accel_uses_host_header onExistem várias outras opções interessantes para serem exploradas,

entretanto como não énosso objetivo aqui dissecar cada uma delas, vamos deixar isso comoproposta para umaoutra oportunidade.1.5. ACL'sAs ACL's -(Access Control Lists) ou listas de controle de acesso, constituem-se na grandeflexibilidade e eficiência do Squid, é através delas que podemos criar regraspara controlaro acesso à internet das mais diferentes formas. Praticamente todo oprocesso de controle do

Squid é feito com o seu uso. O uso das listas de controle de acesso é aparte maisimportante da configuração de um servidor proxy Squid, pois se bemconfiguradas podemtrazer um nível de segurança muito bom para a rede, entretanto se mauconfiguradas podemter resultado oposto, já que além da falsa sensação de segurança não seráaproveitada agrande capacidade e funcionalidade do Squid. Uma dica para se fazer boasACL's é testar,testar e testar, e depois quando achar que está bom continue testando e

monitorando seuslogs para identificar algum problema que possa ocorrer.A primeira coisa que devemos saber é que o Squid interpreta as ACL's decima para baixo,portanto é muito importante que seja observada esta regra no momento emque estão sendoconstruídas as regras de acesso. As ACL's são case-sensitive, isto é,site_porno é diferentede Site_porno, portanto cuidado com isso. Caso seja usada o opção -i elasdeixarão de sercase-sensitive.Uma outra regra muito importante é que caso uma das regras coincida, asdemais não serãomais verificadas. Isso independe da quantidade de regras que ainda faltampara atingir ofim da lista.1.6. Tipos de ACL'sAs ACL's são definidas da seguinte forma: acl nome tipo string | “arquivo” Existem vários tipos de ACL que podemos utilizar, abaixo temos os maiscomuns:src -tipo utilizado para indicar endereços IP de origem. Pode-se especificarum endereço derede, como 192.168.16.0/24, um endereço de um determinado host, como192.168.16.10/24ou uma faixa de endereços, como 192.168.16.10-192.168.16.20/24;

Page 8: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 8/12

 

dst - semelhante ao tipo anterior, mas está relacionada ao endereço dedestino;srcdomain -tipo indicado para verificar o domínio da máquina cliente. Osdomínios serãoobtidos por resolução reversa de IP, o que pode causar atrasos para a

resposta da requisição.A definição do domínio deve ser feita da seguinte forma: “.meudominio.com.br”, nãopodendo ser esquecido o “.” (ponto) no início;dstdomain - usado da mesma forma que srcdomain, entretanto com relaçãoao destino;srcdom_regex -avalia o domínio usando expressões regulares. Seu uso ésemelhante às duasanteriores, acrescentando a flexibilidade do uso da expressão regular;dstdom_regex - usado da mesma forma que srcdom_regex, entretanto comrelação ao

destino;time -usado para especificar dias da semana e horários. Os dias da semanasão definidosatravés de letras que os representam, e os horários através de intervalos naformahora:minuto_inicio-hora:minuto_final. Os dias da semana são especificadosassim: S -Sunday (Domingo), M - Monday (Segunda-Feira), T -Tuesday (Terça-Feira),W-Wednesday (Quarta-Feira), H -Thursday (Quinta-Feira), F - Friday (Sexta-Feira) e A -

Saturday (Sábado);url_regex - Este tipo percorre a URL a procura da expressão regularespecificada. Deve serobservado que a expressão é case-sensitive, para que seja case-insensitivedeve ser usada aopção -i. É o tipo mais comum de ACL dada a flexibilidade proporcionadapelo uso deexpressões regulares;urpath_regex -Tipo semelhante a url_regex, mas procura a expressãoregular na URL semlevar em conta o nome do servidor e o protocolo, isto quer dizer que aprocura vai ser feitaapenas na parte da URL após o nome do servidor, como por exemplo, naURLhttp://www.servidor.com.br/pasta/sexo.html a procura será realizadaapenas na parte /pasta/sexo.html. Ela é também case-sensitive, para que seja case-insensitivedeve ser usada aopção -i;port - Realiza o controle pela porta de destino do servidor, neste tipo deveser especificadoo número da porta;proto - Serve para especificar o protocolo, como por exemplo FTP ou HTTP;method - Especifica o tipo de método usado na requisição, como porexemplo GET,

Page 9: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 9/12

 

CONNECT ou POST;browser - Usa uma expressão regular para tentar “casar” com os dados docabeçalho HTTPe combinando então com o navegador utilizado pelo cliente;ident - Realiza o controle de acesso baseado no nome do usuário. Este tipo

requer umservidor Ident rodando na máquina do cliente;ident_regex - Semelhante a ident, mas utilizando expressão regular;proxy_auth -Tipo usado para implementar autenticação de usuários noproxy. Aautenticação é feita com uso de softwares externos. Podem ser passados osnomes dosusuários ou usada a opção REQUIRED para que seja autenticado qualquerusuário válido;snmp_community -Tipo usado para especificar o nome da comunidadeSNMP, para que se

possa monitorar o Squid através deste protocolo;maxconn -Especifica um limite de conexões vindas de um determinadocliente, interessantepara uso com outras ACL's de forma a limitar quantidades de conexões paradeterminadosendereços específicos;req_mime_type -Especifica uma expressão regular para ser verificada nocabeçalho darequisição em busca de um tipo MIME que coincida com o especificado;arp -Tipo usado para construir lista de acesso baseada no MAC Address dainterface de rede

do cliente, ou seja, em vez de endereço IP da placa, usa-se o seu endereçoMAC.1.7. Construindo regras de acessoMuitas são as possibilidades de construção de listas de acesso com o usodestes e outrostipos citados acima, mas o fato é que para cada situação específica vai sernecessário o usode uma ou mais ACL's, de um mesmo tipo ou de tipos diferentes, de formaque possa sechegar a uma situação ideal de controle. Não existe uma regra rígida paracriação de listasde acesso, portanto vai depender muito da necessidade e habilidade decada um.Vamos descrever algumas situações de como podemos construir listas decontrole de acessopara atender a cada uma das situações propostas, observando que se tratade uma dasformas de resolver o problema e não a única. É interessante observar que ocontrole deacesso deve ser construído em duas etapas, primeiramente são feitas asclasses de ACL's edepois são construídas as regras de acesso com o uso destas ACL's, com ouso deoperadores.Existem vários operadores, dos quais o mais usado é o http_access. Com

Page 10: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 10/12

 

ele podemosconstruir regras de controle de acesso baseadas no protocolo HTTP e FTP.Dado ao fatodeste ser o mais importante operador, vamos focar o nosso trabalho no seuuso.

No momento da construção das regas devemos levar em consideração alémdasobservações que já foram feitas o fato de que se nenhuma das regas foremaplicadas, oSquid aplica o oposto da última regra da lista, portanto é muito importanteque seja incluídacomo última linha das regra de acesso “http_access deny all”. Desta formanão vamosdeixar que esta inversão de regra possa provocar algum dissabor, poisnegaremos qualqueracesso que não tenha uma regra específica.

Apresentamos abaixo alguns exemplos de como construir regras de acesso:1. Controlando acesso pela origem:acl localnet src 192.168.16.0/24http_access allow localnethttp_access deny allCom estas regras estamos especificando que requisições vindas da rede192.168.16.0/24serão aceitas, nos demais casos o acesso será negado;2. Controlando o acesso pelo destino:acl outra_rede dst 192.168.17.0/24http_access allow outra_rede

http_access deny allCom estas regras estamos limitando o acesso apenas à rede192.168.17.0/24, desta formaqualquer acesso para outro destino será negado;3. Controlando acesso pela origem e destino:acl localnet src 192.168.16.0/24acl outra_rede dst 192.168.17.0/24http_access allow localnet outra_redehttp_access deny allAqui juntamos as duas anteriores e estamos especificando que requisiçõesvindas da rede192.168.16.0/24 e que sejam destinadas à rede 192.168.17.0/24 serãoaceitas, nos demaiscasos o acesso será negado;4. Controlando acesso pela nome de domínio de origem e destino:acl meu_dominio srcdomain .meudominio.com.bracl mundo_lafora dstdomain .lafora.com.brhttp_access allow meu_dominio mundo_laforahttp_access deny allEstas regras são semelhantes as acima, onde usamos src e dst, entretantoaqui é verificado odomínio, neste caso requisições vindas de .meudominio.com.br e comdestino a.lafora.com.br serão liberadas, nos demais casos o acesso será negado. Émuito importante

Page 11: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 11/12

 

não esquecer o “.” (isso mesmo, o ponto) antes do nome do domínio, sobpena da regra nãofuncionar;5. Controlando o acesso usando autenticação de usuário:acl usuarios proxy_auth REQUIRED

http_access allow usuárioshttp_access deny allEsta regra faz com que o acesso seja liberado apenas para usuários quesejam válidos, dadoao uso da opção REQUIRED, e que se autentiquem no Squid. Para que aautenticaçãofuncione devem ser configuradas as TAG's que informam ao Squid comoesta será feita, jáque ela é realizada por softwares externos;6. Controlando acesso pela origem, destino e autenticação de usuário:acl localnet src 192.168.16.0/24

acl outra_rede dst 192.168.17.0/24acl usuarios proxy_auth REQUIREDhttp_access allow localnet outra_rede usuarioshttp_access deny allCom estas regras estamos especificando que requisições vindas da rede192.168.16.0/24 eque sejam destinadas à rede 192.168.17.0/24 serão aceitas, mas desdeque os usuáriossejam autenticados, nos demais casos o acesso será negado;7. Acrescentando controle de acesso pelo horário:acl localnet src 192.168.16.0/24

acl outra_rede dst 192.168.17.0/24acl usuarios proxy_auth REQUIREDacl expediente time MTWHF 8:00-18:00http_access allow expediente localnet outra_rede usuárioshttp_access deny allApenas acrescentamos o controle baseado no horário. Veja também aordem em que asACL's são verificadas, observe que a verificação dos usuários é feita porúltimo, pois nãovamos forçar o usuários a se autenticarem para só depois negar o acessopor um outromotivo. Isto não é obrigatório, apenas no nosso caso fica melhor destaforma, pois se, porexemplo, o horário não está dentro do permitido, o acesso será negadoimediatamente semnem mesmo tentar checar as outras ACL's;8. Controlando o acesso por palavras chaves:acl MINHA_REDE src 192.168.16.0/24acl USUARIOS proxy_auth REQUIREDacl PORNO url_regex -i "/etc/squid/porn"acl PORNO1 url_regex -i "/etc/squid/porn1"acl NAO_PORNO url_regex -i "/etc/squid/noporn"http_access allow USUARIOS NAO_PORNO MINHA_REDEhttp_access allow USUARIOS !PORNO !PORNO1 MINHA_REDEhttp_access deny all

Page 12: Apredendo a Usar o Squid Proxy

5/12/2018 Apredendo a Usar o Squid Proxy - slidepdf.com

http://slidepdf.com/reader/full/apredendo-a-usar-o-squid-proxy 12/12

 

Este é sem dúvida o tipo de controle mais usado, pois com ele podemosfazer o bloqueio deconteúdo considerado impróprio de maneira muito fácil. No nosso casoestamos fazendo ouso de arquivos que contém as listas de palavras ou sites que consideramos

inadequados, nocaso /etc/squid/porn e /etc/squid/porn1 e outro arquivo com sites epalavras que podem serbarradas por alguma regra dos arquivos anteriores, mas que na verdadenão representamconteúdo impróprio, no caso /etc/squid/noporn. Por exemplo, nem semprea palavra sexorepresenta necessidade de bloqueio, pois podemos ter sites de conteúdoeducativo quecontenham essa palavra na sua URL, por exemplohttp://www.ministeriodealgumacoisa.g...exoseguro.html. As palavras ou

sites devem sercolocados no arquivo uma por linha.Então aqui estamos fazendo o seguinte: primeiramente vamos liberarusuários que desejemacessar sites listados no arquivo /etc/squid/noporn e que pertençam anossa rede, no caso192.168.16.0/24 ou usuários que queiram acessar sites com conteúdosdiferentes (! significadiferente) do listado nos arquivos /etc/squid/porn e /etc/squid/porn1 e quepertençam anossa rede, em ambos os casos deverá ser feita a autenticação.