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 doapache
➢ 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 reloadou
$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
I N T E R N E TR E D E L O C A LP R O X Y
. . .( e n d e r e ç o s n ã o v i s u a l i z a d o s n a i n t e r n e t )
E n d e r e ç o d a R e d e L o c a l
E n d e r e ç o v á l i d o n a I n 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 acessoconté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_ACCESSConté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_chefehttp_access deny proibidohttp_access deny hosts_proibhttp_access allow hosts_permit...
$sudo gedit /etc/squid/ips_permit192.168.0.0/24
$sudo gedit /etc/squid/ips_proib192.168.0.10192.168.0.11
$sudo gedit /etc/squid/ip_chefe192.168.0.1
$sudo gedit /etc/squid/lista_proibfacebooksexobate-papo
<arquivo /etc/squid/squid.conf>...cache_dir ufs /var/spool/squid 100 16 256...
Tipo de arquivo
Diretório do cache
Tamanho do cache
Qtde de diretórios
Qtde de subdiretó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.