Configuració de Debian+Apache com a Reverse Proxy d'OWA a la DMZ

Si tenim una instal·lació d'Exchange i volem publicar OWA cap a l'exterior, mai no hem d'obrir els ports directament al nostre Exchange, per això existeixen proxys ubicats a la DMZ que ens presentaran el nostre OWA. En aquest cas muntarem un Reverse Proxy amb DEBIAN i APACHE.

Per a això partim de la base que tenim un Debian instal·lat a la nostra DMZ amb el port 443 de la WAN apuntant-hi i permetent el pas del port 443 del nostre servidor al CAS d'Exchange de la LAN.

Actualitzem el nostre servidor Debian
# apt-get update
# apt-get upgrade

Instal·lem Apache
# apt-get install apache2 apache2-mpm-prefork

Activem els mòduls requerits
# a2enmod proxy
# a2enmod proxy_http
# a2enmod headers
# a2enmod rewrite
# a2enmod ssl

Reiniciem Apache
# /etc/init.d/apache2 restart

Creem els directors per als certificats
# mkdir /etc/apache2/ssl.crt
# mkdir /etc/apache2/ssl.key

Exportamos el certificado del nuestro servidor Exchange a pfx. Botón derecho en el certificado y Exportar Certificado.


Le damos una ruta y un nombre, y le ponemos una contrasenya i ho introduïm en el nostre linux amb winscp per exemple.

Convertimos el nostre pfx a text pla
# openssl pkcs12 -in correo.pfx -out correo.txt -nodes

Editamos el fichero correo.txt y veremos la RSA PRIVATE KEY y CERTIFICADO.
Los guardamos independientemente en 2 fichero correo.crt y correo.key

Movemos el certificado a su directorio
# mv correo.crt /etc/apache2/ssl.crt

Movemos la rsa key a su directorio
# mv correo.key mkdir /etc/apache2/ssl.key

Creamos la carpeta owa, aunque serà ficticia solo per a la configuració, però no la usaremos.
# mkdir /var/www/owa

Creamos y editamos el fichero owa
# vim /etc/apache2/sites-available/owa

Introducimos la siguiente configuración para actuar como proxy:

NameVirtualHost *:80
<VirtualHost *:80>
ServerName correo.tundra-it.com
ServerAdmin in**@**************it.com
DocumentRoot /var/www/owa
DirectoryIndex index.htm index.html

RedirectMatch ^/$ https://correo.tundra-it.com/owa
RedirectMatch ^/owa$ https://correo.tundra-it.com/owa
</VirtualHost>

NameVirtualHost *:443
<VirtualHost *:443>
ServerName correo.tundra-it.com
ServerAdmin in**@**************it.com
DocumentRoot /var/www/owa
DirectoryIndex index.htm index.html

# Configura SSL perquè funcioni amb aquest equip
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/apache2/ssl.crt/correo.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/correo.key

# Redirigeix a '/owa’ from '/’
RedirectMatch ^/$ /owa

RewriteEngine On

# Soluciona un problema quan '%’ els símbols es troben a la línia d'assumpte del correu electrònic de l'OWA
# (l'assumpte del correu electrònic s'utilitza a la consulta web)
RewriteMap percentsubject int:escape
RewriteCond $1 ^/owa/.*%.*$
RewriteRule (/owa/.*) ${percentsubject:$1} [P]

RequestHeader set Front-End-Https “On”
ProxyRequests Off
ProxyPreserveHost On
ProxyVia On

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

#Proxy invers per OWA
ProxyPass /owa https://correo.tundra-it.com/owa
ProxyPassReverse /owa https://correo.tundra-it.com/owa

ProxyPass /exchweb https://correo.tundra-it.com/exchweb
ProxyPassReverse /exchweb https://
correo.tundra-it.com/exchweb

ProxyPass /public https://correo.tundra-it.com/public
ProxyPassReverse /public https://
correo.tundra-it.com/public

ProxyPass /iisadmpwd https://correo.tundra-it.com/iisadmpwd
ProxyPassReverse /iisadmpwd https://
correo.tundra-it.com/iisadmpwd

ProxyPass /oma https://correo.tundra-it.com/oma
ProxyPassReverse /oma https://
correo.tundra-it.com/oma

ProxyPass /Microsoft-Server-ActiveSync https://correo.tundra-it.com/Microsoft-Server-ActiveSync
ProxyPassReverse /Microsoft-Server-ActiveSync https://
correo.tundra-it.com/Microsoft-Server-ActiveSync

ErrorLog /var/log/apache2/mailus-ssl-error_log
CustomLog /var/log/apache2/mailus-ssl-access_log common
</VirtualHost>

Activem el lloc OWA
# a2ensite owa

Per no permetre el trànsit DNS de la DMZ als DNS de la LAN, introducimos el nombre del sitio local en el archivo hosts
# echo 192.168.169.231 correo.tundra-it.com >> /etc/hosts

Reiniciamos el Apacahe
# /etc/init.d/apache2 restart

Entramos desde el exterior


Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!