Virtual Host

Published on May 2016 | Categories: Documents | Downloads: 46 | Comments: 0 | Views: 284
of 5
Download PDF   Embed   Report

Comments

Content

01/07/12

Guia do Linux/Avançado/Apache/Virtual Hosts - Wikilivros

Guia do Linux/Avançado/Apache/Virtual Hosts
Origem: Wikilivros, livros abertos por um mundo aberto. < Guia do Linux​ | Avançado​ | Apache

Índice
1 Virtual Hosts 1.1 Virtual hosts baseados em IP 1.2 Virtual hosts baseados em nome 1.3 Segurança no uso de IP's em Virtual Hosts

Virtual Hosts
Virtual Hosts (sites virtuais) é um recurso que permite servir mais de um site no mesmo servidor. Podem ser usadas diretivas específicas para o controle do site virtual, como nome do administrador, erros de acesso a página, controle de acesso e outros dados úteis para personalizar e gerenciar o site. Existem 2 métodos de virtual hosts: Virtual Hosts baseados em IP - Requer um endereço IP diferente para cada site. Este poderá ser um IP real (da interface de rede) ou um apelido (veja [ch-cfgrede.html#s-cfgrede-ipalias IP Alias, Seção 5.1]), o que interessa é que deve haver um endereço IP diferente para cada site. O número de sites servidos estará limitado a quantidade de endereços IP disponíveis em sua classe de rede. Veja [#s-s-apache-vhosts-ip Virtual hosts baseados em IP, Seção 12.12.1] para detalhes de como construir um virtual host deste tipo. O a a h foi um dos primeiros servidores web a incluir suporte a virtual hosts baseados em IP. pce Virtual Hosts baseados em nome - Este utiliza nomes para identificar os sites servidos e requerem somente um endereço IP. Desta maneira é possível servir um número ilimitado de sites virtuais. O navegador do cliente deve suportar os cabeçalhos necessários para garantir o funcionamento deste recurso (praticamente todos os navegadores atuais possuem este suporte). Veja [#s-s-apachevhosts-nome Virtual hosts baseados em nome, Seção 12.12.2] para detalhes de como construir um virtual host deste tipo. As explicações desta seção são baseadas na documentação do A a h . pce

Virtual hosts baseados em IP
Existem duas maneiras de rodar este tipo de host virtual: Através de daemons h t dseparados ou em um tp único daemon h t dusando a diretiva <VirtualHost>. As vantagens do uso de daemons separados para tp servir requisições é a proteção sob UID e GID diferente dos outros servidores, assim o administrador do site1 não terá acesso ao h t d c n , página do s t 2(porque ele estará rodando sob uma UID e GID diferentes tp.of ie e o acesso é restrito). Para usar este método, especifique a opção -f [arquivo_cfg] para utilizar um arquivo de
pt.wikibooks.org/wiki/Guia_do_Linux/Avançado/Apache/Virtual_Hosts 1/5

01/07/12

Guia do Linux/Avançado/Apache/Virtual Hosts - Wikilivros

configuração personalizado e a diretiva Listen endereço:porta para dizer onde o servidor aguardará as requisições. As vantagens do uso de um mesmo daemon para servir as requisições são: quando não há problema se os administradores de outros sites tenham acesso ao mesmo arquivo de configuração ou quando há a necessidade de servir muitas requisições de uma só vez (quanto menos servidores web estiverem em execução, melhor o desempenho do sistema). Abaixo um exemplo de configuração de virtual hosts servindo os sites www.site1.com.br e www.site2.com.br:
SreAmnwbatrst.o.r evrdi emse@iecmb <itaHs wwst1cmb> Vrulot w.ie.o.r SreNm wwst1cmb evrae w.ie.o.r SreAmnst1st1cmb evrdi [email protected] DcmnRo /a/w/w_ie_o_r ouetot vrwwwwst1cmb TaseLg/a/o/pcest1acs.o rnfro vrlgaah/ie/ceslg Erro /a/o/pcest1errlg roLg vrlgaah/ie/ro.o Ue wwdt sr w-aa Gopwwdt ru w-aa <Vrulot /itaHs> <itaHs wwst2cmb> Vrulot w.ie.o.r SreNm wwst2cmb evrae w.ie.o.r DcmnRo /a/w/w_ie_o_r ouetot vrwwwwst2cmb CsoLg/a/o/pcest2acs.o cmie utmo vrlgaah/ie/ceslg obnd Erro /a/o/pcest2errlg roLg vrlgaah/ie/ro.o <Vrulot /itaHs>

Qualquer diretiva dentro de <VirtualHost> controlarão terão efeito no site virtual especificado. Quando uma diretiva não for especificada dentro de <VirtualHost>, serão usados os valores padrões especificados no arquivo de configuração do A a h (como a diretiva ServerAdmin [email protected] que será usado pce como padrão na configuração de www.site2.com.br). Digite apache -S para ver suas configurações de virtual hosts atual. OBS1: Desative a diretiva UseCanonicalName off quando utilizar o recurso de máquinas virtuais, esta diretiva faz que o nome do servidor retornado usando o valor em ServerName quando o cliente digita um endereço qualquer. OBS2: Utilize sempre que possível endereços IP em configurações críticas, assim os serviços não serão tão vulneráveis a possíveis falsificações ou erros. Veja [ch-rede.html#s-rede-dns-a-hostconf /etc/host.conf, Seção 4.6.2.2] e [ch-fw-iptables.html#s-fw-iptables-outras-ipspoof Proteção contra IP spoofing, Seção 10.6.5]. Leia também a seção [#s-s-apache-vhosts-dnssec Segurança no uso de IP's em Virtual Hosts, Seção 12.12.3]. OBS3: Não permita que outros usuários a não ser o root e o dono do processo A a h (especificado pela diretiva User) tenham acesso de gravação aos logs gerados pelo servidor, pois os pce dados podem ser apagados ou criados links simbólicos para binários do sistema que serão destruídos quando o A a h gravar dados. Alguns binários e bibliotecas são essenciais para o funcionamento do sistema. pce

Virtual hosts baseados em nome
Este método é idêntico ao baseado em IP, em especial adicionamos a diretiva NameVirtualHost para dizer qual é o endereço IP do servidor que está servindo os virtual hosts baseados em nome. Veja o exemplo de configuração:
NmVrulot2020201:0 aeitaHs 0.0.0.08 <itaHs _eal_8 2020201:0 Vrulot dfut:0 0.0.0.08> SreNm wwst.o.r evrae w.iecmb SreAmnamnst.o.r evrdi di@iecmb DcmnRo /a/w ouetot vrww TaseLg/a/o/pceacs.o rnfro vrlgaah/ceslg Erro /a/o/pceerrlg roLg vrlgaah/ro.o <Vrulot /itaHs>
pt.wikibooks.org/wiki/Guia_do_Linux/Avançado/Apache/Virtual_Hosts 2/5

01/07/12

Guia do Linux/Avançado/Apache/Virtual Hosts - Wikilivros

<itaHs 2020201> Vrulot 0.0.0.0 SreNm wwst1cmb evrae w.ie.o.r [email protected] evrdi di1st1cmb DcmnRo /a/w/w_ie_o_r ouetot vrwwwwst1cmb TaseLg/a/o/pcest1acs.o rnfro vrlgaah/ie/ceslg Erro /a/o/pcest1errlg roLg vrlgaah/ie/ro.o <Vrulot /itaHs> <itaHs 2020201> Vrulot 0.0.0.0 SreNm wwst2cmb evrae w.ie.o.r [email protected] evrdi di2st2cmb DcmnRo /a/w/w_ie_o_r ouetot vrwwwwst2cmb TaseLg/a/o/pcest2acs.o rnfro vrlgaah/ie/ceslg Erro /a/o/pcest2errlg roLg vrlgaah/ie/ro.o <Vrulot /itaHs>

A diretiva NameVirtualHost diz que será usado virtual hosts baseados em nome servidos pela máquina com IP 200.200.200.10. Os parâmetros dentro do bloco das diretivas <VirtualHost > são específicas somente no site virtual especificado, caso contrário os valores padrões definidos no arquivo de configuração serão usados. Caso nenhum virtual host confira com a configuração, o virtualhost _default_ será usado. Digite apache -S para ver suas configurações de virtual hosts atual. Se sua intenção é criar um grande número de virtual hosts que serão servidos pela mesma máquina, o uso da expansão %0 e diretivas VirtualDocumentRoot e VirtualScriptAlias são recomendados:
NmVrulot2020201:0 aeitaHs 0.0.0.08 <itaHs 2020201> Vrulot 0.0.0.0 Vrulouetot/a/w/0 itaDcmnRo vrww% Vrulcitla /a/w/0cibn itaSrpAis vrww%/g-i TaseLglgaah/ie/ceslg rnfro o/pcest1acs.o Erro lgaah/ie/ro.o roLg o/pcest1errlg <Vrulot /itaHs>

Agora crie os diretórios em / a / w correspondentes aos nomes de domínios que serão servidos por sua vrww máquina: mkdir /var/www/www.site1.com.br, mkdir /var/www/www.site2.com.br. Note que sua máquina deverá estar com o DNS configurado para responder por estes domínios . ATENÇÃO É importante que os endereços especificados nas diretivas ServerName (www.site1.com.br) resolvam o endereço IP da diretiva VirtualHost (2 0 2 0 2 0 1 ). Isto deve ser feito via DNS ou nos arquivos / t / o t . OBS1: Utilize 0.0.0.0 echss sempre que possível endereços IP em configurações críticas, assim os serviços não serão tão vulneráveis a possíveis falsificações ou erros. Veja [ch-rede.html#s-rede-dns-a-hostconf /etc/host.conf, Seção 4.6.2.2] e [ch-fw-iptables.html#s-fw-iptables-outras-ipspoof Proteção contra IP spoofing, Seção 10.6.5]. Leia também a seção [#s-s-apache-vhosts-dnssec Segurança no uso de IP's em Virtual Hosts, Seção 12.12.3]. OBS2: Não permita que outros usuários a não ser o root e o dono do processo A a h (especificado pela diretiva User) pce tenha acesso de gravação aos logs gerados pelo servidor. Pois os dados podem ser apagados ou criados links para binários do sistema que serão destruídos quando o apache gravar dados para os logs. Alguns binários e bibliotecas são essenciais para o funcionamento do sistema.

Segurança no uso de IP's em Virtual Hosts
Quando você está colocando um nome na diretiva de configuração do seu virtual hosts, está assumindo que ele resolverá o endereço IP corretamente (como www.site1.com.br => 200.200.200.10). Se por algum motivo o servidor DNS for modificado (por outra pessoa que tem acesso a isto), o endereço IP resolvido para o site www.site1.com.br poderá ser modificado para 200.200.200.20, isto redirecionará as requisições para outra máquina ao invés da máquina correta. Este tipo de ataque é chamado "DNS Spoofing" e o uso de endereço IP
pt.wikibooks.org/wiki/Guia_do_Linux/Avançado/Apache/Virtual_Hosts 3/5

01/07/12

Guia do Linux/Avançado/Apache/Virtual Hosts - Wikilivros

(ao invés de nomes) praticamente evita que isto aconteça. Esta situação pode acontecer com a diretiva abaixo:
<itaHs wwgscmb> Vrulot w.m.o.r SreNm wwgscmb evrae w.m.o.r SreAmngedo@uaoaog evrdi lysngifc.r DcmnRo /a/w/w_m_o_r ouetot vrwwwwgscmb <Vrulot /itaHs>

Outra situação, que impede o funcionamento do servidor Web, é quando o servidor DNS está em manutenção ou por algum outro motivo não pode resolver o endereço IP de um nome especificado (como www.site1.com.br). O a a h precisa saber qual é o seu endereço IP para ser executado. Veja a próxima pce modificação:
<itaHs 121811 Vrulot 9.6..> SreNm wwgscmb evrae w.m.o.r SreAmngedo@uaoaog evrdi lysngifc.r DcmnRo /a/w/w_m_o_r ouetot vrwwwwgscmb <Vrulot /itaHs>

Na configuração acima usamos o IP do servidor para especificar o virtual host. O a a h tentará fazer o DNS pce reverso para determinar qual nome é servido por aquele endereço IP (www.site1.com.br). Se ele falhar, somente a seção <VirtualHost> correspondente será desativada. Isto já é uma melhoria sobre a primeira configuração. O nome do servidor na diretiva ServerName garante que o servidor responda com o nome correto. Para evitar ataques baseados em DNS siga os seguintes procedimentos de segurança: Preferencialmente utilize o arquivo / t / o t para a resolução de nomes em máquinas locais echss (principalmente quando existe somente um administrador). É um método que evita diversas consultas ao servidor DNS (que pode deixar o acesso lento) e este arquivo é gerenciado pelo usuário root, isto evita o acesso de qualquer usuário para a falsificação de endereços. Este arquivo também é útil caso a pesquisa DNS falhe (quando a ordem de pesquisa for do servidor DNS para o arquivo h s sno arquivo / t / o t c n ), pois de qualquer forma o nome será resolvido e o servidor ot echs.of A a h será executado. pce Evite dar poderes a outros administradores manipularem seu próprio domínio DNS, não há nada que possa impedi-lo de modificar o endereço "X" para ser servido pelo IP "Y" desviando o tráfego para seu próprio servidor web. Se isto não for possível, siga as dicas abaixo para diminuir possíveis problemas. Utilize endereços IP na diretiva <VirtualHost>. Use endereços IP na diretiva Listen. Use um endereço IP na diretiva BindAddress. Sempre utilize o parâmetro ServerName em todas as diretivas <VirtualHost>, isto evita o retorno incorreto de nomes (que pode evitar/revelar fraudes). Quando utilizar virtual hosts, crie uma diretiva <VirtualHost _default_L:*> usando uma diretiva DocumentRoot que não aponte para lugar algum. Esta diretiva será acessada quando nenhuma diretiva VirtualHost servir a requisição, conferindo com o endereço/ip. Obtido em "http://pt.wikibooks.org/w/index.php? title=Guia_do_Linux/Avançado/Apache/Virtual_Hosts&oldid=215178" Categorias: Livro/Guia do Linux Livro/Guia do Linux/Avançado

pt.wikibooks.org/wiki/Guia_do_Linux/Avançado/Apache/Virtual_Hosts

4/5

01/07/12

Guia do Linux/Avançado/Apache/Virtual Hosts - Wikilivros

Esta página foi modificada pela última vez às 21h47min de 15 de Março de 2011. Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-Compartilhamento pela mesma Licença 3.0 Unported; pode estar sujeito a condições adicionais. Consulte as Condições de Uso para mais detalhes.

pt.wikibooks.org/wiki/Guia_do_Linux/Avançado/Apache/Virtual_Hosts

5/5

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close