ADMINISTRAÇÃO DE REDES I ­ LINUX
Servidor Proxy - Squid

                                     Frederico Madeira
                                   LPIC­1, LPIC­2, CCNA
                                   fred@madeira.eng.br
                                    www.madeira.eng.br
Proxy

✔   O proxy é usado como um intermediário entre os PCs de uma rede e a
    Internet – Ponto estratégico;


✔   O servidor precisa que as requisições passem por ele.


✔   Pode ser transparente para os usuários. Assim, toda a rede estará
    utilizando o Proxy obrigatoriamente – NÃO PODE SER AUTENTICADO;


✔   Proporciona maior segurança e controle das conexões Web;


✔   Evita desperdício de recursos da rede e de tempo com implementação
    de cache
✔   Possibilita a geração de relatórios sobre acesso dos usuários
Proxy



✔
    Quebram       o     esquema
    cliente-servidor (o proxy
    cria uma nova conexão
    para cada cliente).


✔
    O número de sessões no
    Gateway é duplicado.


✔
    Cada conexão mantém um
    processo no Proxy.
Squid –       Instalando

✔   Instalando o Squid :
    yum install squid

✔   Inicializando o Cache
    [root@server3 squid]# squid -z
    2010/05/30 13:34:10| Creating Swap Directories
    [root@server3 squid]# ls /var/spool/squid/
    00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

✔   Iniciando o serviço:
    [root@localhost conf.d]# service squid start
    ou
    [root@localhost conf.d]# /etc/init.d/squid start

✔   Testando o serviço
    Configure seu browser para utilizar proxy, direcione o IP do seu servidor
    squid e configure a porta para 3128
Squid –      Configuração



    Arquivos/Diretórios:

✔   /etc/squid/ -Arquivos de configuração do apache (ServerRoot)
    ✔ error/ - contém as páginas de erro que serão exibidas para os
      usuários
    ✔ squid.conf – arquivo de configuração do Squid. É nele onde
      são feitas todas as configurações do serviço

✔   /var/spool/squid – Diretório de cache utilizado pelo Squid

✔   /var/log/squid – Diretório de arquivos de log do squid
    ✔ access.log – Arquivo que contem os logs de acesso dos usuários
Squid –        /etc/squid/squid.conf


### Tags mais utilizadas ###


# TAG: http_port
# Define a porta em que o serviço Squid irá escutar por requisições
# Usage: port [options]
#         hostname:port [options]
#         1.2.3.4:port [options]
http_port 3128 transparent


# TAG: visible_hostname
# Nome do host a ser exibido nas mensagens de erro. Sem ela o squid não
# inicializa
visible_hostname   proxy.madeira.eng.br
Squid –        /etc/squid/squid.conf


### Tags mais utilizadas - Cache ###


# TAG: cache_mem
# Especifica a quantidade de memória a ser usada por dados em trânsito.
cache_mem 8 MB


# TAG: cache_dir
# Especifica qual será o diretório de cache e suas propriedades.
#   ufs – Formato de armazenamento do cache
#   /var/spool/squid – Diretório do cache, pode ser especificado várias linhas como
#                     esta, em partições diferentes.
# 100 – Espaço em disco em MB a ser utilizado pela cache
# 16 – Quantidade de diretórios que serão criados pelo squid para o cache
# 256 - Quantidade de sub-diretórios, dentro de cada um dos 16 anteriores
cache_dir ufs /var/spool/squid 100 16 256
Squid –         /etc/squid/squid.conf


### Tags mais utilizadas - Log ###


# TAG: access_log
# Especifica onde serão armazenados os logs de acesso de seus clientes
access_log /var/log/squid/access.log squid


# TAG: cache_log
# Registra informações sobre o comportamento do cache
cache_log /var/log/squid/cache.log
Squid –            /etc/squid/squid.conf


### Tags mais utilizadas - ACL ###

✔   ACL – Access Control Lista, ou Lista de controle de Acessos.
✔   Caracterizam objetos como: hosts (origem/destino), horário, expressões, urls,
    etc...

✔   Formato:     acl    nome_acl     tipo      [ “arquivo” | string ]
✔   O controle de acesso é aplicado através da TAG http_access


    Ex:
    acl rede_empresa src 192.168.15.0/255.255.255.0
    http_access allow rede_empresa


    acl horario_comercial time 08:00-18:00
    http_access deny horario_comercial

✔   A ordem em que o http_access é especificado faz a diferença
Squid –         /etc/squid/squid.conf


### Tags mais utilizadas - ACL ###

✔   Principais Tipos de ACL's:

     ➔   src : Endereço IP de origem (Source). Utilizada para especificar um
         determinado host ou uma determinada rede de origem.
         Ex: acl rede_TI src 192.168.15.0/255.255.255.0

     ➔   dst : Endereço IP de destino (Destination). Utilizada para especificar
         um determinado host ou uma determinada rede de destino.
         Ex: acl servidores dst 192.168.30.0/255.255.255.0

     ➔   dstdomain: Domínio de destino. Utilizado para restringir acesso à
         um determinado ou para identificar um domínio de destino.
         Ex: acl hotmail dstdomain .hotmail.com
Squid –      /etc/squid/squid.conf


### Tags mais utilizadas - ACL ###

✔   Principais Tipos de ACL's (cont):

     ➔   url_regex : Procura por expressão em toda a URL.
         Ex: acl palavras_proibidas url_regex -i "/etc/squid/palavras_proibidas"

     ➔   dstdomain_regex : Procura por expressão no domínio.
         Ex: acl sites_proibidos dstdomain_regex -i "/etc/squid/sites_proibidos"

     ➔   time : Hora e dia da semana. Especifica um determinado horário.
         Ex: acl horario_comercial time 08:00-18:00
ADMINISTRAÇÃO DE REDES I ­ LINUX
Servidor Proxy - Squid

                                     Frederico Madeira
                                   LPIC­1, LPIC­2, CCNA
                                   fred@madeira.eng.br
                                    www.madeira.eng.br

Servidor Proxy Squid

  • 1.
    ADMINISTRAÇÃO DE REDES I ­ LINUX Servidor Proxy -Squid Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br
  • 2.
    Proxy ✔ O proxy é usado como um intermediário entre os PCs de uma rede e a Internet – Ponto estratégico; ✔ O servidor precisa que as requisições passem por ele. ✔ Pode ser transparente para os usuários. Assim, toda a rede estará utilizando o Proxy obrigatoriamente – NÃO PODE SER AUTENTICADO; ✔ Proporciona maior segurança e controle das conexões Web; ✔ Evita desperdício de recursos da rede e de tempo com implementação de cache ✔ Possibilita a geração de relatórios sobre acesso dos usuários
  • 3.
    Proxy ✔ Quebram o esquema cliente-servidor (o proxy cria uma nova conexão para cada cliente). ✔ O número de sessões no Gateway é duplicado. ✔ Cada conexão mantém um processo no Proxy.
  • 4.
    Squid – Instalando ✔ Instalando o Squid : yum install squid ✔ Inicializando o Cache [root@server3 squid]# squid -z 2010/05/30 13:34:10| Creating Swap Directories [root@server3 squid]# ls /var/spool/squid/ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ✔ Iniciando o serviço: [root@localhost conf.d]# service squid start ou [root@localhost conf.d]# /etc/init.d/squid start ✔ Testando o serviço Configure seu browser para utilizar proxy, direcione o IP do seu servidor squid e configure a porta para 3128
  • 5.
    Squid – Configuração Arquivos/Diretórios: ✔ /etc/squid/ -Arquivos de configuração do apache (ServerRoot) ✔ error/ - contém as páginas de erro que serão exibidas para os usuários ✔ squid.conf – arquivo de configuração do Squid. É nele onde são feitas todas as configurações do serviço ✔ /var/spool/squid – Diretório de cache utilizado pelo Squid ✔ /var/log/squid – Diretório de arquivos de log do squid ✔ access.log – Arquivo que contem os logs de acesso dos usuários
  • 6.
    Squid – /etc/squid/squid.conf ### Tags mais utilizadas ### # TAG: http_port # Define a porta em que o serviço Squid irá escutar por requisições # Usage: port [options] # hostname:port [options] # 1.2.3.4:port [options] http_port 3128 transparent # TAG: visible_hostname # Nome do host a ser exibido nas mensagens de erro. Sem ela o squid não # inicializa visible_hostname proxy.madeira.eng.br
  • 7.
    Squid – /etc/squid/squid.conf ### Tags mais utilizadas - Cache ### # TAG: cache_mem # Especifica a quantidade de memória a ser usada por dados em trânsito. cache_mem 8 MB # TAG: cache_dir # Especifica qual será o diretório de cache e suas propriedades. # ufs – Formato de armazenamento do cache # /var/spool/squid – Diretório do cache, pode ser especificado várias linhas como # esta, em partições diferentes. # 100 – Espaço em disco em MB a ser utilizado pela cache # 16 – Quantidade de diretórios que serão criados pelo squid para o cache # 256 - Quantidade de sub-diretórios, dentro de cada um dos 16 anteriores cache_dir ufs /var/spool/squid 100 16 256
  • 8.
    Squid – /etc/squid/squid.conf ### Tags mais utilizadas - Log ### # TAG: access_log # Especifica onde serão armazenados os logs de acesso de seus clientes access_log /var/log/squid/access.log squid # TAG: cache_log # Registra informações sobre o comportamento do cache cache_log /var/log/squid/cache.log
  • 9.
    Squid – /etc/squid/squid.conf ### Tags mais utilizadas - ACL ### ✔ ACL – Access Control Lista, ou Lista de controle de Acessos. ✔ Caracterizam objetos como: hosts (origem/destino), horário, expressões, urls, etc... ✔ Formato: acl nome_acl tipo [ “arquivo” | string ] ✔ O controle de acesso é aplicado através da TAG http_access Ex: acl rede_empresa src 192.168.15.0/255.255.255.0 http_access allow rede_empresa acl horario_comercial time 08:00-18:00 http_access deny horario_comercial ✔ A ordem em que o http_access é especificado faz a diferença
  • 10.
    Squid – /etc/squid/squid.conf ### Tags mais utilizadas - ACL ### ✔ Principais Tipos de ACL's: ➔ src : Endereço IP de origem (Source). Utilizada para especificar um determinado host ou uma determinada rede de origem. Ex: acl rede_TI src 192.168.15.0/255.255.255.0 ➔ dst : Endereço IP de destino (Destination). Utilizada para especificar um determinado host ou uma determinada rede de destino. Ex: acl servidores dst 192.168.30.0/255.255.255.0 ➔ dstdomain: Domínio de destino. Utilizado para restringir acesso à um determinado ou para identificar um domínio de destino. Ex: acl hotmail dstdomain .hotmail.com
  • 11.
    Squid – /etc/squid/squid.conf ### Tags mais utilizadas - ACL ### ✔ Principais Tipos de ACL's (cont): ➔ url_regex : Procura por expressão em toda a URL. Ex: acl palavras_proibidas url_regex -i "/etc/squid/palavras_proibidas" ➔ dstdomain_regex : Procura por expressão no domínio. Ex: acl sites_proibidos dstdomain_regex -i "/etc/squid/sites_proibidos" ➔ time : Hora e dia da semana. Especifica um determinado horário. Ex: acl horario_comercial time 08:00-18:00
  • 12.
    ADMINISTRAÇÃO DE REDES I ­ LINUX Servidor Proxy -Squid Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br