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:


 * 1) 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.
 * 2) 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:

 ServerName firewall1.empresax.com.br ServerAlias *.firewall1.empresax.com.br  Documentroot /var/www/html   ServerName www.empresax.com.br ServerAlias *.www.empresax.com.br  RewriteEngine On  RewriteRule ^/(.*) \http://www.empresax.com.br/$1 [P]   ServerName webmail.empresax.com.br ServerAlias *.webmail.empresax.com.br  RewriteEngine On  RewriteRule ^/(.*) \http://webmail.empresax.com.br/$1 [P]   ServerName sip.empresax.com.br ServerAlias *.sip.empresax.com.br  RewriteEngine On  RewriteRule ^/(.*) \http://sip.empresax.com.br/$1 [P]   ServerName sametime.empresax.com.br ServerAlias *.sametime.empresax.com.br  RewriteEngine On  RewriteRule ^/(.*) \http://sametime.empresax.com.br/$1 [P]   ServerName java1.empresax.com.br ServerAlias *.java11.empresax.com.br  RewriteEngine On  RewriteRule ^/(.*) \http://java1.empresax.com.br:8080/$1 [P] 

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.