Fundamentos de Redes de Computadores

                          Prof. Alex Dias
Servidor http usado para gerenciar a
hospedagem e visualização de páginas web,
disponível para os sistemas linux e windows.




             socket
HTTPD    versão antiga do apache
         (httpd.conf)

APACHE2 versão atual do apache
        (apache2.conf e outros
        includes)

   Apache HTTP Server 2.4.1 (21/02/2012)
Diretório de configuração: /etc/apache2

➢
    apache2.conf       diretivas de configuração do
                       apache

➢
    ports.conf         configuração da porta lógica

➢
    /sites-available   hosts virtuais disponíveis

➢
    /sites-enable      hosts virtuais ativos
Arquivo dividido em 3 seções:
Seção 01: configurações globais

ServerRoot       raiz da árvore de diretórios onde estão
 localizados os arquivos de configuração do     apache
TimeOut    tempo limite de espera pelo envio de dados
 entre o cliente e o servidor
MaxKeepAliveRequests      número máximo de
 requisições     em um mesma sessão.


                                       E vários outros...
   Seção 2 – configurações principais:
    ServerName, ServerRoot, ServerAdmin,
    etc.
    (no Apache2 estas configurações são feitas nos diretórios:
    mods-enable, sites-available, conf.d e no arquivo
    httpd.conf)

   Seção 3 – configurações de hosts virtuais
    (arquivo default no diretório sites-available)
Os próximos passos mostram as configurações
necessárias para hospedagem da homepage do
usuário zedascouves.

      http://www.zedascouves.com
   Contém os arquivos de configuração dos
    hosts virtuais. Na parte esquerda da figura
    é mostrado o arquivo default e, na direita,
    o arquivo modificado zedascouves.
Options:

   Indexes: Se não existir o arquivo index.html
    (definido em “DirectoryIndex”), será criada uma
    lista dos arquivos existente no diretório atual.

   MultiViews:    Habilita negociação de conteúdo,
       permitindo o envio de um arquivo no idioma do
    navegador do cliente.

   FollowSymLinks:       O apache2 vai seguir os links
    simbólicos para este diretório .
Outros parâmetros:

AllowOverride None   O apache2 não vai procurar o
                     arquivo .htaccess que contém
                     as permissões de acesso para
                     este diretório.

Order allow,deny     Ordem de permissão de
                     acesso.

Allow from all       Libera acesso a partir de
                     qualquer endereço.
   Contém os arquivos de configuração
    (hosts virtuais) dos sites que estarão
    ativos após iniciar o servidor apache2.

   Para ativar o host virtual digite:


       $sudo a2ensite zedascouves
   Configurações do arquivo hosts para os domínios
    virtuais criados e que não são reconhecidos pelo
    dns.
$sudo /etc/init.d/apache2 reload
  ou
$sudo invoke-rc.d apache2 reload

    É usual deixar que o servidor Apache fique ativo
    na inicialização do linux, mas é possível alterar
    este status:

   Adicionando o apache2 na inicialização do linux
    $sudo update-rc.d apache2 defaults

   Ou, para removê-lo da inicialização
    $sudo update-rc.d -f apache2 remove
E n d ereço d a R ed e L o c al

                                                                           E n d e r e ç o v á lid o n a I n t e r n e t




                         . . .                                        PRO X Y
                      RED E LO CAL                                                                                   IN T E R N E T
( e n d e r e ç o s n ã o v is u a liz a d o s n a in t e r n e t )
   Compartilhamento de acesso:
    permite que as máquinas da rede local tenham
    acesso a internet através de um único endereço
    válido.

   Cache de endereços:
    armazena as páginas recém visitadas de forma a
    aumentar a performance da rede nos próximos
    acessos.

   Filtro de pacotes:
    estabelece regras de proibição ou permissão para
    os dados que saem da rede local.
   Servidor proxy usado no ambiente linux

   Instalação:
    $sudo apt-get install squid

    Arquivo de configurações:
    /etc/squid/squid.conf
ACL access lists – listas de acesso
 contém informações sobre o conteúdo que
 será submetido às regras do squid.

Sintaxe:
           acl   nome_acl tipo_lista objeto

acl   parâmetro que define a criação de uma acl

nome_acl nome que identifica a acl
tipo_lista indica qual o tipo de conteúdo da lista
objeto      conteúdo a ser verificado (arquivo)
   Existem diversos parâmetros para os tipos de
    lista. Inicialmente trabalharemos com 2 tipos:

src            a lista deve conter endereços IP

url_regex       a lista deve conter caracteres
               (palavras)
HTTP_ACCESS
Contém as regras que fazem algum tipo de ação
 sobre uma determinada lista (acl).

Sintaxe:
        http_access     ação    nome_acl
ação:
 allow :   permite que o conteúdo da acl seja
                 executado
 deny :    proíbe a execução do conteúdo da acl.
   Configurar o squid para controlar uma rede com as
    seguintes especificações:

    ◦ Rede local: 192.168.0.0/24
    ◦ Proxy (gateway): 192.168.0.254
    ◦ Hosts sem acesso: 192.168.0.10 e 192.168.0.11
    ◦ Hosts com acesso: todos os demais
    ◦ Lista de palavras “proibidas”: sexo, facebook, etc...
    ◦ Host do chefe: 192.168.0.1 (sem restrições!)
<arquivo /etc/squid/squid.conf>
...
acl hosts_permit src   “/etc/squid/ips_permit”
acl hosts_proib src    “/etc/squid/ips_proib”
acl host_chefe src     “/etc/squid/ip_chefe”
acl proibido     url_regex “/etc/squid/lista_proib”
...
<arquivo /etc/squid/squid.conf>
...
http_access    allow host_chefe
http_access    deny proibido
http_access    deny hosts_proib
http_access    allow hosts_permit
...
$sudo gedit /etc/squid/ips_permit
192.168.0.0/24

$sudo gedit /etc/squid/ips_proib
192.168.0.10
192.168.0.11

$sudo gedit /etc/squid/ip_chefe
192.168.0.1

$sudo gedit /etc/squid/lista_proib
facebook
sexo
bate-papo
<arquivo /etc/squid/squid.conf>
...
cache_dir ufs /var/spool/squid 100 16 256
...
                                                Qtde de
                                              subdiretórios


Tipo de   Diretório   Tamanho     Qtde de
arquivo   do cache    do cache   diretórios
   Criação dos diretórios e subdiretórios que irão
    abrigar as páginas visitadas no cache do servidor:

                   $sudo squid -z

   Ativação do servidor:

         $sudo /etc/init.d/squid reload
                       ou
           $sudo service squid restart
   Os clientes (browsers)
    devem ser configurados
    para acesso ao endereço
    ip do proxy na porta
    3128.
   Fazer a configuração do apache para hospedar dois
    sites diferentes no mesmo servidor.
   Fazer a configuração do servidor proxy de acordo
    com o exemplo da aula
   Pesquisar e configurar os seguintes parâmetros de
    configuração adicionais:
    ◦ Autenticação
    ◦ Restrição de acesso por endereço MAC
    ◦ Escolha outro tipo de restrição qualquer.
   Escreva um relatório sobre o experimento
    realizado

    Dica: coloque-se no lugar de quem lerá o
    relatório e tente reproduzir o experimento e
    obter os mesmos resultados descritos.

Apache proxy

  • 1.
    Fundamentos de Redesde Computadores Prof. Alex Dias
  • 3.
    Servidor http usadopara gerenciar a hospedagem e visualização de páginas web, disponível para os sistemas linux e windows. socket
  • 4.
    HTTPD versão antiga do apache (httpd.conf) APACHE2 versão atual do apache (apache2.conf e outros includes) Apache HTTP Server 2.4.1 (21/02/2012)
  • 5.
    Diretório de configuração:/etc/apache2 ➢ apache2.conf diretivas de configuração do apache ➢ ports.conf configuração da porta lógica ➢ /sites-available hosts virtuais disponíveis ➢ /sites-enable hosts virtuais ativos
  • 6.
    Arquivo dividido em3 seções: Seção 01: configurações globais ServerRoot raiz da árvore de diretórios onde estão localizados os arquivos de configuração do apache TimeOut tempo limite de espera pelo envio de dados entre o cliente e o servidor MaxKeepAliveRequests número máximo de requisições em um mesma sessão. E vários outros...
  • 7.
    Seção 2 – configurações principais: ServerName, ServerRoot, ServerAdmin, etc. (no Apache2 estas configurações são feitas nos diretórios: mods-enable, sites-available, conf.d e no arquivo httpd.conf)  Seção 3 – configurações de hosts virtuais (arquivo default no diretório sites-available)
  • 8.
    Os próximos passosmostram as configurações necessárias para hospedagem da homepage do usuário zedascouves. http://www.zedascouves.com
  • 9.
    Contém os arquivos de configuração dos hosts virtuais. Na parte esquerda da figura é mostrado o arquivo default e, na direita, o arquivo modificado zedascouves.
  • 10.
    Options:  Indexes: Se não existir o arquivo index.html (definido em “DirectoryIndex”), será criada uma lista dos arquivos existente no diretório atual.  MultiViews: Habilita negociação de conteúdo, permitindo o envio de um arquivo no idioma do navegador do cliente.  FollowSymLinks: O apache2 vai seguir os links simbólicos para este diretório .
  • 11.
    Outros parâmetros: AllowOverride None O apache2 não vai procurar o arquivo .htaccess que contém as permissões de acesso para este diretório. Order allow,deny Ordem de permissão de acesso. Allow from all Libera acesso a partir de qualquer endereço.
  • 12.
    Contém os arquivos de configuração (hosts virtuais) dos sites que estarão ativos após iniciar o servidor apache2.  Para ativar o host virtual digite: $sudo a2ensite zedascouves
  • 13.
    Configurações do arquivo hosts para os domínios virtuais criados e que não são reconhecidos pelo dns.
  • 14.
    $sudo /etc/init.d/apache2 reload ou $sudo invoke-rc.d apache2 reload É usual deixar que o servidor Apache fique ativo na inicialização do linux, mas é possível alterar este status:  Adicionando o apache2 na inicialização do linux $sudo update-rc.d apache2 defaults  Ou, para removê-lo da inicialização $sudo update-rc.d -f apache2 remove
  • 16.
    E n dereço d a R ed e L o c al E n d e r e ç o v á lid o n a I n t e r n e t . . . PRO X Y RED E LO CAL IN T E R N E T ( e n d e r e ç o s n ã o v is u a liz a d o s n a in t e r n e t )
  • 17.
    Compartilhamento de acesso: permite que as máquinas da rede local tenham acesso a internet através de um único endereço válido.  Cache de endereços: armazena as páginas recém visitadas de forma a aumentar a performance da rede nos próximos acessos.  Filtro de pacotes: estabelece regras de proibição ou permissão para os dados que saem da rede local.
  • 18.
    Servidor proxy usado no ambiente linux  Instalação: $sudo apt-get install squid Arquivo de configurações: /etc/squid/squid.conf
  • 19.
    ACL access lists– listas de acesso contém informações sobre o conteúdo que será submetido às regras do squid. Sintaxe: acl nome_acl tipo_lista objeto acl parâmetro que define a criação de uma acl nome_acl nome que identifica a acl tipo_lista indica qual o tipo de conteúdo da lista objeto conteúdo a ser verificado (arquivo)
  • 20.
    Existem diversos parâmetros para os tipos de lista. Inicialmente trabalharemos com 2 tipos: src a lista deve conter endereços IP url_regex a lista deve conter caracteres (palavras)
  • 21.
    HTTP_ACCESS Contém as regrasque fazem algum tipo de ação sobre uma determinada lista (acl). Sintaxe: http_access ação nome_acl ação: allow : permite que o conteúdo da acl seja executado deny : proíbe a execução do conteúdo da acl.
  • 22.
    Configurar o squid para controlar uma rede com as seguintes especificações: ◦ Rede local: 192.168.0.0/24 ◦ Proxy (gateway): 192.168.0.254 ◦ Hosts sem acesso: 192.168.0.10 e 192.168.0.11 ◦ Hosts com acesso: todos os demais ◦ Lista de palavras “proibidas”: sexo, facebook, etc... ◦ Host do chefe: 192.168.0.1 (sem restrições!)
  • 23.
    <arquivo /etc/squid/squid.conf> ... acl hosts_permitsrc “/etc/squid/ips_permit” acl hosts_proib src “/etc/squid/ips_proib” acl host_chefe src “/etc/squid/ip_chefe” acl proibido url_regex “/etc/squid/lista_proib” ...
  • 24.
    <arquivo /etc/squid/squid.conf> ... http_access allow host_chefe http_access deny proibido http_access deny hosts_proib http_access allow hosts_permit ...
  • 25.
    $sudo gedit /etc/squid/ips_permit 192.168.0.0/24 $sudogedit /etc/squid/ips_proib 192.168.0.10 192.168.0.11 $sudo gedit /etc/squid/ip_chefe 192.168.0.1 $sudo gedit /etc/squid/lista_proib facebook sexo bate-papo
  • 26.
    <arquivo /etc/squid/squid.conf> ... cache_dir ufs/var/spool/squid 100 16 256 ... Qtde de subdiretórios Tipo de Diretório Tamanho Qtde de arquivo do cache do cache diretórios
  • 27.
    Criação dos diretórios e subdiretórios que irão abrigar as páginas visitadas no cache do servidor: $sudo squid -z  Ativação do servidor: $sudo /etc/init.d/squid reload ou $sudo service squid restart
  • 28.
    Os clientes (browsers) devem ser configurados para acesso ao endereço ip do proxy na porta 3128.
  • 29.
    Fazer a configuração do apache para hospedar dois sites diferentes no mesmo servidor.  Fazer a configuração do servidor proxy de acordo com o exemplo da aula  Pesquisar e configurar os seguintes parâmetros de configuração adicionais: ◦ Autenticação ◦ Restrição de acesso por endereço MAC ◦ Escolha outro tipo de restrição qualquer.
  • 30.
    Escreva um relatório sobre o experimento realizado Dica: coloque-se no lugar de quem lerá o relatório e tente reproduzir o experimento e obter os mesmos resultados descritos.