Apache:Protegendo Servidores internos através do Apache
Neste artigo vamos configurar o servidor apache de maneira que ele disponibilize os servidores internos para a Internet.
As vantagens desta abordagem são:
- Compartilhamento de IP - quando utilizamos um serviço de ip válido, muitas vezes o nosso provedor disponibiliza apenas um ip válido. Neste caso, normalmente, mudamos a porta do servidor, ou temos que negociar mais ip´s válidos.
- Segurança - Ao colocar um servidor apache na frente de outros servidores, podemos melhorar a segurança em um ponto único, criando regras somente no servidor externo, o que facilita a manutenção e a rastreabilidade (análise de logs).
Procedimento
A idéia é utilizarmos um servidor externo como um proxy para nossos servidores internos, desta maneira abrimos este servidor Externo para a internet, e os demais ficam protegidos na nossa rede interna ou DMZ.
Configuração do DNS externo
Ao configurar o seu DNS externo, crie várias entradas para o ip do servidor ou firewall.
Exemplo: Neste caso estamos utilizando as entradas do tipo CNAME (apelido) todas apontando para o ip externo do fiewall1
firewall1 A 200.200.200.200 www CNAME firewall1 webmail CNAME firewall1 sip CNAME firewall1 sametime CNAME firewall1 java1 CNAME firewall1
Configuração o arquivo hosts
Edite o arquivo /etc/hosts e adicione os ips dos servidores internos
127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.1.10 www.empresax.com.br 192.168.1.11 webmail.empresax.com.br 192.168.1.12 sip.empresax.com.br 192.168.1.13 sametime.empresax.com.br 192.168.1.14 java1.empresax.com.br
Configurando o Apache
É necessário o Apache tenha o módulo mod_proxy, configurado. Como utilizo o CentOS/Redhat este módulo vem configurado por padrão
Vá para o diretório /etc/httpd/conf.d e crie o arquivo empresax.conf, com o seguinte conteúdo:
<VirtualHost *> ServerName firewall1.empresax.com.br ServerAlias *.firewall1.empresax.com.br Documentroot /var/www/html </VirtualHost> <VirtualHost *> ServerName www.empresax.com.br ServerAlias *.www.empresax.com.br RewriteEngine On RewriteRule ^/(.*) \http://www.empresax.com.br/$1 [P] </VirtualHost> <VirtualHost *> ServerName webmail.empresax.com.br ServerAlias *.webmail.empresax.com.br RewriteEngine On RewriteRule ^/(.*) \http://webmail.empresax.com.br/$1 [P] </VirtualHost> <VirtualHost *> ServerName sip.empresax.com.br ServerAlias *.sip.empresax.com.br RewriteEngine On RewriteRule ^/(.*) \http://sip.empresax.com.br/$1 [P] </VirtualHost> <VirtualHost *> ServerName sametime.empresax.com.br ServerAlias *.sametime.empresax.com.br RewriteEngine On RewriteRule ^/(.*) \http://sametime.empresax.com.br/$1 [P] </VirtualHost> <VirtualHost *> ServerName java1.empresax.com.br ServerAlias *.java11.empresax.com.br RewriteEngine On RewriteRule ^/(.*) \http://java1.empresax.com.br:8080/$1 [P] </VirtualHost>
Salve e feche o arquivo.
Reiniciando o apache e testando
Reinicie o servidor apache com o comando
service httpd restart
Abra o browser e teste.
Você pode então melhorar a segurança neste servidor através de atualizações do Apache, configurações e análise de logs de forma centralizada.
Ver também
- Definindo a URL padrão no IBM HTTP Server Apache
- Apache:Redirecionando para pagina de Erro
- Apache:Redirecionando de HTTP para HTTPS
- Linux e Unix: Ferramentas de Monitoracao e Performance
- AWSTATS: Configurando o AWSTATS