O documento descreve a configuração de servidores Apache e Squid para hospedagem de sites e controle de acesso à internet em uma rede local. Ele explica como configurar hosts virtuais no Apache, criar listas de acesso e regras no Squid para permitir ou negar acesso baseado em endereços IP, palavras-chave e outros parâmetros.
3. Servidor http usado para 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 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...
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 passos mostram 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
15.
16. 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 )
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 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.
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!)
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.