SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
Unidade Curricular – Redes III
Prof. Eduardo Maroñas Monks
Roteiro de Laboratório
HTTP (HyperText Transfer Protocol)
Objetivo:
Utilizar e descrever as características de funcionamento dos protocolos HTTP/HTTPS e as suas
aplicações.
Ferramentas:
Wireshark, Vmware Player, Putty, OpenSSH, WinSCP, Apache Web Server, Squid, CentOS,
Windows XP, MS IIS, Httperf, Navegadores Diversos
Introdução:
Neste roteiro de laboratório, serão utilizados os protocolos HTTP/HTTPS e suas funcionalidades.
O protocolo HTTP é atualmente o mais utilizado na Internet para serviços, perdendo para os
protocolos P2P (Peer to Peer) em volume de dados trafegados (IPOQUE,2010). O HTTP é um
protocolo universal, disponível em qualquer sistema operacional que suporte o TCP/IP. A forma de
interação com o protocolo é por meio de navegadores (browsers) e servidores. Tanto os
navegadores como os servidores estão disponíveis em todos os sistemas operacionais atuais.
Tarefas:
1) Instalar o MS IIS (Internet Information Server) e o IIS6 Resource Kit, disponível em
http://192.168.200.3/emmonks/redesiii/HTTP/iis60rkt.exe , na máquina virtual Windows XP.
2) Criar um diretório virtual senac no IIS apontando para o diretório c:\senac na máquina
virtual (Painel de Controle->Ferramentas Administrativas->Internet Information Services).
1.
Criar o subdiretório c:\senac\restrito.
2. Habilitar o HTTPS no servidor. Para isto, deve ser utilizada a ferramenta selfssl
disponível no IIS6 Resource Kit.
3. Modificar o arquivo padrão para index.html no diretório virtual senac
4. Ativar a autenticação de usuário no diretório restrito.
5. Modificar as páginas de erros 403, 401 e 404 que deverão conter imagens. Em
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
1
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
c:\windows\help\iishelp podem ser encontrados as páginas de erro padrão para serem
editadas.
6. Trocar a porta de escuta 80 do servidor, para a porta 8900.
7. Criar um diretório virtual meudrivec apontando para c:\ e habilitar a visualização de
arquivos do diretório.
8. Utilizar
a
ferramenta
de
análise
de
logs
Deep
Log Analyzer
(http://192.168.200.3/emmonks/redesiii/HTTP/dlafree.exe) para gerar relatórios de
acesso
do
servidor.
Os
arquivos
de
logs
estão
disponíveis
em
c:\windows\system32\logfiles\W3SVC1
3) Na máquina virtual WindowsXP, instalar os seguintes navegadores:
1. Mosaic – Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/ncsamosaicv1_0.zip
2. SpyGlass (precursor do IE) - Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/sm211_5.zip
3. Netscape Navigator - Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/n32e407.exe
4. Amaya - Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/amaya-WinXP-11.3.1.exe
5. Google Chrome - Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/ChromeSetup.exe
6. Apple Safari - Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/SafariSetup.exe
7. Opera - Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/Opera_951_in_Setup.exe
8. SeaMonkey - Disponível em:
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/SeaMonkey Setup 2.0.7.exe
1. Acessar o servidor IIS do colega com cada um dos navegadores e utilizar a
ferramenta Wireshark para capturar os cabeçalhos com a descrição de cada agente
(browser).
2. Acessar com os navegadores Mosaic, SpyGlass e Netscape Navigator os sites
http://www.terra.com.br, http://www.microsoft.com, http://www.google.com e
http://192.168.200.3/ e http://192.168.200.3/wiki/
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
2
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
3. Utilizar
o
cliente
de
HTTP
wget,
disponível
em
http://192.168.200.3/emmonks/redesiii/HTTP/Navegadores/wget.exe, para acessar
os mesmos sites da tarefa anterior.
4. Comente a respeito dos resultados obtidos utilizando um navegador e um cliente de
HTTP para acesso a estes sites.
5. Apontar os principais avanços da tecnologia de navegadores, comparando Mosaic e
o Opera Browser.
4) Ativar o repositório Rpmforge na máquina virtual CentOS e instalar o Apache Web Server,
o Squid Proxy/Cache, a ferramenta Httperf e a ferramenta Awstats.
1. Modificar no arquivo /etc/httpd/conf/httpd.conf, as seguintes diretivas:
1. AllowOverride none → AllowOverride All (Para habilitar o uso de autenticação)
2. UTF-8 → ISO-8859-1 (Para possibilitar a acentuação nas páginas HTML)
3. Recarregar as configurações do Apache: /etc/init.d/httpd reload
2. Criar os diretórios /var/www/senac, /var/ww/senac/erros, /var/ww/senac/sarg,
/var/ww/senac/imagens e /var/ww/senac/restrito
3. Copiar o arquivo de
/etc/httpd/conf.d/senac.conf
configuração
/etc/httpd/conf.d/webalizer.conf
para
4. Editar o arquivo /etc/httpd/conf.d/senac.conf e fazer as seguintes alterações:
5. Criar um arquivo index.html em /var/www/senac que mostre links para os diretórios
erros, imagens, restrito, mirror e sarg e alguma imagem (use a sua criatividade!).
Um exemplo de como deverá ficar a página:
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
3
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
6. Copiar duas imagens no diretório /var/www/senac/imagens para serem apresentadas
quando houverem os erros 404 e 403 no diretório /senac.
7. Criar os arquivos em HTML 403.html e 404.html, no diretório /var/www/senac/erros e
utilizar as imagens disponíveis em /var/www/senac/imagens para incrementar a página.
8. Criar o diretório /etc/senhas e um arquivo /etc/senhas/senac com o utilitário do Apache
htpasswd da seguinte forma:
1. htpasswd -c /etc/senhas/senac admin (Será criado o usuário admin. Quando pedir a
senha colocar senac2010)
2. Criar um segundo usuário visitante e senha 2010senac.
1. Atenção: Para criar mais de um usuário, deverá ser usado o comando sem o
parâmetro -c.
9. No diretório /var/www/senac/restrito deverá ser criado o arquivo que possibilitará a
solicitação de usuário e senha quando acessado. O nome do arquivo deverá ser .htaccess
(definido no arquivo /etc/httpd/conf/httpd.conf por padrão)e o formato segue o exemplo
da figura abaixo:
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
4
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
Ao acessar o link /senac/restrito deverá aparecer a seguinte mensagem:
10. No diretório /var/www/senac/mirror, deverá ser feito um espelho do site do colega.
Utilizando o cliente de HTTP wget, faça o espelhamento de dois sites de colegas. Crie
um arquivo index.html dentro do diretório /var/www/senac/mirror para apontar para
os sites que foram espelhados para o seu servidor.
1. Exemplo de uso do wget para espelhamento do diretório senac no servidor com o IP
192.168.200.56: wget -r http://192.168.200.56/senac/
2. Fazer um espelhamento das fotos disponíveis no servidor Mussum no endereço
http://192.168.200.3/fotos/ para o diretório diretório /var/www/senac/erros do seu
servidor.
5) O serviço de HTTPS deve ser ativado no CentOS, instalado o módulo SSL no Apache. Para
que este mecanismo funcione corretamente é necessária a a utilização de um certificado. O
certificado pode ser fornecido por uma entidade certificadora tal como a Verisign
(http://www.verisign.com.br/) ou RapidSSL (http://www.rapidssl.com/), que tornam o
registro legítimo ou pode-se usar um certificado auto-assinado. A criptografia será aplicada
em ambos os casos, entretanto, com o certificado pago o site é reconhecido como legítimo.
1. Instalar o módulo SSL com o comando yum install mod_ssl
2. Para gerar um certificado auto-assinado no Apache 2, devem ser feitos os seguintes
procedimentos com o utilitário openssl:
1. Para criar a chave privada de 1042 bits usando algoritmo RSA. (Arquivo gerado:
senac.key): openssl genrsa -out senac.key 1024
2. Para gerar o arquivo CSR. Na figura, um exemplo de preenchimento dos dados
requisitados, não utilizar senha no certificado (challenge password). (Arquivo
gerado: senac.csr): openssl req -new -key senac.key -out senac.csr
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
5
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
3. Para auto-assinar o certificado, que valerá por 365 dias (Arquivo gerado: senac.crt):
openssl x509 -req -days 365 -in senac.csr -signkey senac.key -out senac.crt
4. Depois de criados os arquivos, copiá-los conforme as instruções abaixo:
1. Copiar o arquivo senac.crt para /etc/pki/tls/certs
2. Copiar o arquivo senac.csr para /etc/pki/tls/certs
3. Copiar o arquivo senac.key para /etc/pki/tls/private/
5. Editar o arquivo /etc/httpd/conf.d/ssl.conf e modificar as seguintes linhas:
1. SSLCertificateFile /etc/pki/tls/certs/senac.crt
2. SSLCertificateKeyFile /etc/pki/tls/private/senac.key
6. Reiniciar o servidor Apache e acessar o site senac no seu servidor utilizando
HTTPS. Exemplo: https://192.168.200.56/senac/
1. Observar o certificado que foi gerado para o servidor.
7. Copiar um arquivo de 5MB para o diretório /senac no seu servidor.
8. Utilizar a ferramenta Wireshark e comparar os tempos de download do arquivo
usando o http e o https.
6) O arquivo de configuração principal do servidor Apache é o httpd.conf. No CentOS, este
arquivo fica em /etc/httpd/conf/httpd.conf. Neste arquivo é possível trocar a porta de
escuta do servidor, modificar o caminho e o formato dos arquivos de logs, criar hosts
virtuais e etc..
1. Trocar a porta de escuta do servidor de 80 para 8080.
2. Adicionar o nome de arquivo index.mussum como índice de diretório no Apache (o
nome da diretiva é DirectoryIndex
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
6
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
1. Criar um arquivo HTTML com o nome de index.mussum no diretório
/var/www/senac/erros e verificar o efeito.
7) Para testar a persistência nas requisições dos clientes, desativar a diretiva KeepAlive no
arquivo /etc/httpd/conf/httpd.conf.
1. Com o KeepAlive desativado, utilizar a ferramenta Wireshark para analisar o
comportamento da requisição do espelhamento das fotos do Mussum feito em tarefa
anterior.
2. Reativar o KeepAlive, e analisar o comportamento com a ferramenta Wireshark da
requisição do espelhamento das fotos.
1. Modificar os valores das diretivas relacionadas ao KeepAlive e observar a influência
disto na requisição da página com fotos.
1. MaxKeepAliveRequests 300
(Descrição: O número máximo de requisições permitidas durantes uma conexão
persistente. O valor 0 permite quantidade ilimitada)
2. KeepAliveTimeout 15
(Descrição: Número de segundos para esperar até a próxima requisição do
mesmo cliente na mesma conexão).
8) Os arquivos de logs são muito importante em qualquer tipo de serviço que envolva
múltiplos usuários. No caso do servidor Apache no CentOS, os arquivos de logs ficam
armazenados em /var/log/httpd e este local pode ser modificado pelos arquivos de
configuração. Existem diversas ferramentas para análise de logs para Linux. Nesta tarefa, a
ferramenta a ser utilizada é a Awstats.
1. Esta ferramenta está disponível no repositório RPMForge
2. Para instalar a ferramenta: yum install awstats
3. Copiar
o
arquivo
/etc/awstats/awstats.conf
de
modelo
/etc/awstats/awstats.model.conf
para
4. Editar o arquivo /etc/httpd/conf.d/awstats.conf para permitir acesso ao IP do seu
navegador.
5. Para
rodar
a
análise
dos
-awstatsprog=/var/www/awstats/awstats.pl now
logs:
awstats_updateall.pl
6. Para acessar os resultados, acessar o página /awstats/awstats.pl do seu servidor.
9) Um servidor de páginas pode armazenar diversos sites diferentes. Por exemplo, um mesmo
servidor de páginas poderia armazenar os sites http://www.mussum.com.br,
http://www.dede.com.br, http://www.didi.com.br e http://www.zacarias.com.br. Todos estes
nomes apontariam para o mesmo IP. A diferenciação para qual site direcionar a requisição á
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
7
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
feita pelo servidor de páginas por meio dos cabeçalhos do HTTP. No Apache, esta
configuração tem o nome de Virtual Hosts.
1. Na
máquina
virtual
Windows
XP,
editar
o
arquivo
c:\windows\system32\drivers\etc\hosts e apontar os nomes www.didi.com.br,
www.dede.com.br, www.mussum.com.br e www.zacarias.com.br para o IP do seu
servidor CentOS. Isto será uma simulação do serviço de DNS. Na figura abaixo, um
exemplo do formato do arquivo hosts para o IP 192.168.200.56:
2. No servidor Apache, criar os seguintes diretórios e adicionar um arquivo index.html em
cada um com uma imagem relacionada ao personagem do site:
1. /var/www/didi
2. /var/www/dede
3. /var/www/mussum
4. /var/www/zacarias
3. Criar o arquivo /etc/httpd/conf.d/virtuais.conf contendo as configurações dos domínios
virtuais para cada um dos sites requisitados. Na figura abaixo, um exemplo para o site
www.didi.com.br:
4. Utilizar os navegadores da máquina virtual WindowsXP para acessar os domínios
virtuais criados.
5. Verificar nos arquivos de logs de cada Virtual Host os acessos feitos.
10) A utilização de Proxy/Cache HTTP é bastante comum em redes corporativas devido a
otimização e ao melhor controle do link de acesso à Internet. O Proxy/Cache tem duas
funções básicas que são a filtragem de conteúdo e o armazenamento em disco fazendo cache
dos objetos HTTP acessados pelos usuários. A implementação de Proxy/Cache mais
comum atualmente é o Squid.
1. Instalar o Proxy/Cache Squid com o comando yum install squid
2. Ativar o Squid no CentOS, com o comando /etc/init.d/squid start
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
8
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
3. Utilizar
o
arquivo
exemplo
de
configuração
disponível
em
http://192.168.200.3/emmonks/redesiii3/Pratica2/squid.conf. Para ativá-lo, transferir o
arquivo para /etc/squid/squid.conf e executar a reconfiguração do Squid com o
comando: squid -k reconfigure
4. Editar o arquivo /etc/squid/squid.conf e modificar as ACLS (Access Control Lists) para
o proxy funcionar na rede do laboratório.
5. Verificar o arquivo de logs, com o comando tail -f /var/log/squid/access.log, para saber
se o Squid está funcionando de acordo com a configuração pretendida.
6. Explorar as listas de acesso do arquivo de configuração para adicionar sites, palavras e
tipos de arquivos a serem filtrados pelo proxy.
7. Instalar a ferramenta SARG de análise de logs para o Squid:
1. Pré-requisito (biblioteca gráfica GD): yum install gd
2. Copiar
para
o
CentOS
o
arquivo
do
Sarg,
disponível
em
http://192.168.200.3/emmonks/redesiii3/Pratica2/sarg-2.3.1-1.el6.rft.i686.rpm
3. Instalar o SARG: rpm -iv sarg-2.3.1-1.el6.rft.i686.rpm
8. Editar o arquivo /etc/sarg/sarg.conf e modificar a seguinte diretiva:
output_dir /var/www/senac/sarg/
9. Executar a ferramenta SARG em linha de comando, sarg, e verificar no diretório
/senac/sarg/ os relatórios de acesso do Squid.
11) Uma das formas mais comuns de ataques a serviços de páginas é a negação de serviço (DOS
– Denial of Service). Neste tipo de ataque, são geradas milhões de requisições não legítimas
de acesso ao servidor o que acaba ocasionando a negação de serviço para qualquer novo
cliente. A ferramenta Httperf tem a função de estressar o servidor de páginas por meio de
parâmetros que podem ser passados em linhas de comando.
1. Instalar o Httperf no CentOS : yum install httperf
2. Por padrão, o httperf executa com estes parâmetros:
3. Para apontar para o servidor de IP 192.168.200.56, no diretório /senac, gerando 200
conexões simultâneas o comando seria o seguinte:
httperf –server=192.168.200.56 --uri=/senac --num-conns=200
4. Disparar o Httperf para os servidores Windows e Linux dos colegas e observar os
relatórios da ferramenta. No seu servidor, observar os arquivos de log.
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
9
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
Referências:
•
Material no servidor Mussum
•
IPOQUE (2010). Internet Study 2008/2009. Disponível em:
http://www.ipoque.com/resources/internet-studies/internet-study-2008_2009
•
SCHRODER, Carla. Linux: Livro de Receitas. Alta Books, 2008.
•
MORIMOTO, Carlos. Servidores Linux – Guia Prático. GDH Press e Sul Editores , 2008.
•
HUSTON, Geoff. Web Caching.Disponível em:
http://www.cisco.com/web/about/ac123/ac147/ac174/ac199/about_cisco_ipj_archive_articl
e09186a00800c8903.html
•
GITE, Vitek. How To Lighttpd Create Self Signed SSL Certificates. Disponível em:
http://www.cyberciti.biz/tips/howto-lighttpd-create-self-signed-ssl-certificates.html
•
ALVES, Thiago. Ativando SSL no Apache 2. Disponível em:
http://www.vivaolinux.com.br/dica/Ativando-SSL-no-Apache-2/
•
SQUID. Disponível em: http://www.squid-cache.org/
•
HTTPERF. Disponível em:http://www.hpl.hp.com/research/linux/httperf/
•
SARG. Disponível em: http://sarg.sourceforge.net/
•
AWSTATS. Disponível em: http://awstats.sourceforge.net/
•
APACHE. Disponível em: http://www.apache.org/
•
MS IIS. Disponível em: http://www.iis.net/
•
DEEP LOG ANALYZER. Disponível em: http://www.deep-software.com/
Faculdade de Tecnologia SENAC PELOTAS
Credenciado pela Portaria nº 3.071, de 01 de outubro de 2004.
Rua Gonçalves Chaves, 602 A – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br
10
Download

Unidade Curricular – Redes III Prof. Eduardo Maroñas Monks