Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy
Arquivo 42 – GNU/Linux – Segurança – Proxy - Squid Este arquivo tem como objetivo ensinar a configurar um Servidor de Proxy utilizando o Squid. As configurações aqui apresentadas são válidas para a distribuição Fedora Core 5/Debian 5.0, podendo variar de distribuição para distribuição ou mesmo entre as versões das distribuições, bem como seus pacotes. O importante, e que deve ser priorizado, são os conceitos e tópicos principais apresentados tanto nestas folhas como em sala de aula. Esta aula deve ser complementada com o conteúdo dos livros LGAS e RSL. Para os arquivos de configuração siga a seguinte legenda:
Formato Adicionar Alterar
Descrição Texto/Argumento que deve ser adicionado. Texto/Argumento que deve ser alterado.
Adicionar ou modificar
Texto/Argumento que deve ser adicionado ou modificado
Remover ou comentar
Texto/Argumento que deve ser removido ou comentar a linha.
Texto explicativo
Texto adicionado/alterado pelo instrutor para explicar determinada configuração.
Texto em Negrito
Para destacar a opção apresentada.
Observação O "#" que antecede o comando significa que o comando deve ser executado como usuário "root". O "$" que antecede o comando significa que o comando deve ser executado como usuário sem privilégios.
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 1 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy
Proxy Squid 1 . Configuração Siga os passos abaixo com a orientação do instrutor para realizar as configurações. 1.1. Pacotes Necessários Verifique se o pacote do Squid está instalado com o comando: Comando: [root@servidor ~ ]# rpm -qa | grep pacote Exemplo: [root@servidor ~ ]# rpm -qa | grep squid Comando: [root@servidor ~ ]# yum list pacote Exemplo: [root@servidor ~ ]# yum list squid Fedora Core 5/Fedora 8
Comando: debian:~# dpkg -l | grep squid Debian 5.0
Caso não esteja instalado, instale-o com o comando: Comando: [root@servidor ~ ]# rpm -ivh pacote-versao.rpm Exemplo: [root@servidor ~ ]# yum install squid Comando: [root@servidor ~ ]# yum install pacote Exemplo: [root@servidor ~ ]# yum install squid Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 2 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy Fedora Core 5/Fedora 8
Para instalar o Squid: debian:~# apt-get install squid Debian 5.0
1.2. Arquivos de Configuração Debian 4.0 – Debian 5.0/Fedora Core 5 Vamos realizar uma configuração simples do Squid, o arquivo de configuração utilizado pelo Squid é o /etc/squid/squid.conf:
Para editar o arquivo de configuração do Squid: debian:~# vim /etc/squid/squid.conf Debian 4.0, 5.0
# Arquivo: /etc/squid/squid.conf # . .. ... ## A TAG http_port informa em qual porta o Squid deve escutar por ## conexões. ## A porta padrão é a 3128 # http_port # # http_port 3128 http_port 3128 # TAG: no_cache # A list of ACL elements which, if matched, cause the request to # not be satisfied from the cache and the reply to not be # cached. # In other words, use this to force certain objects to never be # cached. # # You must use the word 'DENY' to indicate the ACL names which # should # NOT be cached. # ## A TAG no_cache força certos objetos a não ficarem no cache # #We recommend you to use the following two lines. acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 3 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy ## Memória que o Squid irá utilizar. # cache_mem cache_mem 32 ## Altera o nome que aparecerá nas mensagens para os usuários: ## Deve-se colocar o nome que voce queira que apareca para o usuario #visible_hostname exemplo visible_hostname Proxy ## Localização do arquivo de log do Squid ## cache_access_log - arquivo no qual será gerado log dos acessos ao ## servidor. O default é /var/log/squid/access.log ## cache_access_log /var/log/squid/access.log # cache_access_log /var/log/squid/access.log # TAG: error_directory # If you wish to create your own versions of the default # (English) error files, either to customize them to suit your # language or company copy the template English files to another # directory and point this tag at them. # # The squid developers are interested in making squid available in # a wide variety of languages. If you are making translations for a # langauge that Squid does not currently provide please consider # contributing your translation back to the project. # #Default: # error_directory /usr/share/squid/errors/English ## Altera o idioma das mensagens do Squid # error_directory /usr/share/squid/errors/Portuguese # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS ## Bloqueando sites pela url # acl blqsites dstdom_regex "/etc/squid/rules/blqsites.acl" http_access deny blqsites #>>>> Adicionado: ### Adicionar a linha de teste abaixo liberando a estação ### 172.16.8.100 acessar a Internet: acl teste src 172.16.8.100 http_access allow teste # Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed #http_access allow localnet http_access allow localhost # And finally deny all other access to this proxy http_access deny all Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 4 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy ... .. . Debian 5.0/Fedora Core 5
Debian 4.0 – Debian 5.0/Fedora Core 5 Devemos
criar
o
diretório
“/etc/squid/rules”
e
o
arquivo
“/etc/squid/rules/blqsites.acl”:
Para criar o diretório: # mkdir /etc/squid/rules Para criar e editar o arquivo: # vim /etc/squid/rules/blqsites.acl Debian 4.0, 5.0/Fedora Core 5 # Arquivo: /etc/squid/rules/blqsites.txt ig.com.br uol.com.br yahoo.com.br
Debian 4.0 – Debian 5.0/Fedora Core 5 Reinicie o Squid:
[root@servidor ~ ]# service squid restart ou [root@servidor ~ ]# /etc/init.d/squid restart Fedora Core 5/Fedora 8
debian:~# /etc/init.d/squid restart Ou: debian:~# invoke-rc.d squid restart Debian 5.0
[ No Cliente ] Configure seu navegador para utilizar o Proxy (Squid) que acabou de ser Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 5 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy configurado. Tente acessar um dos sites que foi configurado para ser bloqueado pelo Squid.
1.3. Liberando Alguns Sites para Determinados IPs Debian 5.0 Edite o arquivo /etc/squid/squid.conf:
Para editar o arquivo de configuração do Squid: debian:~# vim /etc/squid/squid.conf Debian 4.0, 5.0
# Arquivo de exemplo: /etc/squid/squid.conf # . .. ... #>>>> Remover se existir ou comentar as linhas: ### Adicionar a linha de teste abaixo liberando a estação ### 172.16.8.100 acessar a Internet: acl teste src 172.16.8.100 http_access allow teste ## Libera determinados sites para alguns IPs da rede # acl sitesliberados dstdom_regex "/etc/squid/rules/sitesliberados.acl" acl ipslimitados src "/etc/squid/rules/ipslimitados.acl" http_access deny ipslimitados !sitesliberados ... .. . Debian 5.0/Fedora Core 5
Crie ou edite o arquivo “/etc/squid/rules/sitesliberados.acl”:
Para criar e editar o arquivo: debian:~# vim /etc/squid/rules/sitesliberados.acl Caso o diretório /etc/squid/rules não exista crie com o comando: debian:~# mkdir /etc/squid/rules Debian 5.0
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 6 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy # Arquivo /etc/squid/rules/sitesliberados.txt bb.com.br google.com google.com.br ig.com.br terra.com.br
Para criar e editar o arquivo: debian:~# vim /etc/squid/rules/ipslimistados.acl Debian 5.0 # Arquivo /etc/squid/rules/ipslimitados.acl 10.8.1.2
Debian 4.0 – Debian 5.0/Fedora Core 5 Reinicie o Squid:
[root@servidor ~ ]# service squid restart ou [root@servidor ~ ]# /etc/init.d/squid restart Fedora Core 5/Fedora 8
debian:~# /etc/init.d/squid restart Ou: debian:~# invoke-rc.d squid restart Debian 5.0
[ No Cliente ] Configure seu navegador para utilizar o Proxy (Squid) que acabou de ser configurado. Tente acessar um dos sites que foi configurado para ser bloqueado pelo Squid.
1.4. Bloqueando Sites por Palavras: Debian 5.0 Edite o arquivo /etc/squid/squid.conf: Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 7 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy
Para editar o arquivo de configuração do Squid: debian:~# vim /etc/squid/squid.conf Debian 4.0, 5.0
# Arquivo: /etc/squid/squid.conf # . .. ... ## Bloqueando sites por palavras (Exemplo: sexo) ## # acl blqsexo url_regex -i "/etc/squid/rules/blqsexo.txt" http_access deny blqsexo ## Bloqueando downloads de videos mpg # acl videompg url_regex -i \.mpg http_access deny videompg ... .. .
Para criar e editar o arquivo: debian:~# vim /etc/squid/rules/blqsexo.acl Caso o diretório /etc/squid/rules não exista crie com o comando: debian:~# mkdir /etc/squid/rules Debian 5.0 # Arquivo /etc/squid/rules/blqsexo.txt playboy sex sexo
Debian 4.0 – Debian 5.0/Fedora Core 5 Reinicie o Squid:
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 8 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy [root@servidor ~ ]# service squid restart Ou [root@servidor ~ ]# /etc/init.d/squid restart Fedora Core 5/Fedora 8
debian:~# /etc/init.d/squid restart Ou: debian:~# invoke-rc.d squid restart Debian 5.0
[ No Cliente ] Configure seu navegador para utilizar o Proxy (Squid) que acabou de ser configurado. Tente acessar um dos sites que foi configurado para ser bloqueado pelo Squid.
1.5. Liberando Acesso Irrestrito: Debian 4.0 – Debian 5.0/Fedora Core 5 Para liberar o acesso irrestrito para uma máquina faça a seguinte configuração, edite o arquivo /etc/squid/squid.conf:
Para editar o arquivo de configuração do Squid: # vim /etc/squid/squid.conf Debian 4.0, 5.0/Fedora Core 5
# Arquivo exemplo: /etc/squid/squid.conf # . .. ... #>>>> Linhas adicionadas: ### Colocar a linha abaixo acima das linhas que bloqueiam: acl minha_maq src 172.16.2.2/255.255.255.255 http_acces allow minha_maq ... .. .
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 9 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy Debian 4.0 – Debian 5.0/Fedora Core 5 Reinicie o Squid:
[root@servidor ~ ]# service squid restart ou [root@servidor ~ ]# /etc/init.d/squid restart Fedora Core 5/Fedora 8
debian:~# /etc/init.d/squid restart Ou: debian:~# invoke-rc.d squid restart Debian 5.0
[ No Cliente ] Configure seu navegador para utilizar o Proxy (Squid) que acabou de ser configurado. Tente acessar um dos sites que foi configurado para ser bloqueado pelo Squid.
2 . Reload: Fedora Core 5 Não é obrigado a reiniciar o serviço para que o squid leia o arquivo de configuração novamente, pode-se executar um dos comando abaixo: [root@servidor ~ ]# service squid reload ou [root@servidor ~ ]# /etc/init.d/squid reload ou [root@servidor ~ ]# squid -k reconfigure Fedora Core 5
3 . Configuração de Cache Hierárquico - Configurando um cache filho: (Proxy Parent): Debian 4.0 – Debian 5.0/Fedora Core 5 Para
configurar
um
Cache
filho
iremos
editar
o
arquivo
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 10 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy /etc/squid/squid.conf:
Para editar o arquivo de configuração do Squid: # vim /etc/squid/squid.conf Debian 4.0, 5.0/Fedora Core 5
# Arquivo exemplo: /etc/squid/squid.conf # . .. ... ## As configurações abaixo devem ser feitas no Proxy Filho # servidor_de_proxy - nome ou IP do cache-pai # (Fonte: http://www.linuxman.pro.br/squid/node/1/#toc121) # no-query - para o proxy não enviar queries para o outro # Use a opção no-query, se tiver somente "um" cache-pai # Essa opção será utilizada quando fazer requisições a caches que # não aceitam ou não suportam ICP. Caso utilize essa opção, configure # o quarto campo como 0 # no-digest - similar ao de cima só que com relação a digest # #cache_peer servidor_de_proxy parent 3128 3130 no-query no-digest cache_peer 172.16.0.1 parent 8080 0 no-query no-digest ... .. . . .. ... ## Faz com que o Squid nunca saia direto para Internet never_direct allow all ... .. .
Debian 4.0 – Debian 5.0/Fedora Core 5 Reinicie o Squid:
[root@servidor ~ ]# service squid restart ou [root@servidor ~ ]# /etc/init.d/squid restart Fedora Core 5/Fedora 8
debian:~# /etc/init.d/squid restart Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 11 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy Ou: debian:~# invoke-rc.d squid restart Debian 5.0
[ No Cliente ] Configure seu navegador para utilizar o Proxy (Squid) que acabou de ser configurado. Tente acessar um dos sites que foi configurado para ser bloqueado pelo Squid.
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 12 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy
Lembrando dos comandos: Comando
Resumo do comando
Lista de Abreviaturas: Abreviatura
Descrição
CL
Livro: Certificação Linux
LGAS
Livro: Linux Guia do Administrador do Sistema
Glossário: Termo
Significado
Conteúdo relacionado: Livros: [FERREIRA, 2003] – FERREIRA, Rubem E. Linux Guia do Administrador do Sistema. 1ª Edição. Ed. Novatec, São Paulo - SP, 2003. [RIBEIRO, 2004] – RIBEIRO, Uirá. Certificação Linux. 1ª Edição. Ed. Axcel Books, Web Site
Endereço
Fedora Project (Projeto Fedora)
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/F edora/RPMS/
squid-cache.org
http://www.squid-cache.org/
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 13 de 14
Administração de Sistemas Linux Arquivo 42 – Segurança - Proxy
Instrutor: Nome:
Alessandro Catão Mito Kuramoto
Celular:
(061) 9228-7959
E-mail:
[email protected]
Skype:
alessandrocmk
MSN Messenger:
[email protected]
Este material é livre e pode ser utilizado para fins didáticos, bem como, ser distribuído para pessoas que queiram aprender Linux. Gostaria no entanto que o nome do autor fosse mencionado.
Criado pelo instrutor: Alessandro C. M. Kuramoto – Arquivo 42 - Versão: 20100625-20:00 Arquivo Original: EAr 42 - Seguranca - Proxy - Squid.odt Página 14 de 14