Configuración de Debian+Apache como Reverse Proxy de OWA en DMZ

Si tenemos una instalación de Exchange y queremos publicar OWA para el exterior, nunca debemos abrir los puertos directamente a nuestro Exchange, para ello existen proxys localizados en la DMZ que nos presentaran nuestro OWA. En este caso vamos a montar un Reverse Proxy con DEBIAN y APACHE.

Para ello partimos de que tenemos un debian instalado en nuestra DMZ con el puerto 443 de la WAN apuntando a el y permitiendo el paso del puerto 443 de nuestro servidor al CAS de Exchange de la LAN.

Actualizamos nuestro servidor Debian
# apt-get update
# apt-get upgrade

Instalamos Apache
# apt-get install apache2 apache2-mpm-prefork

Activamos los modulos requeridos
# a2enmod proxy
# a2enmod proxy_http
# a2enmod goiburuak
# a2enmod rewrite
# a2enmod ssl

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

Creamos los directorios para los certificados
# mkdir /etc/apache2/ssl.crt
# mkdir /etc/apache2/ssl.key

Exportamos el certificado de 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 contraseña y lo introducimos en nuestro linux con winscp por ejemplo.

Convertimos nuestro pfx a texto plano
# openssl pkcs12 -in correo.pfx -out correo.txt -nodes

Editamos el fichero correo.txt y veremos la RSA PRIVATE KEY eta 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 sera ficticia solo para la configuración, pero 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

# Konfiguratu SSL honela lan egin ostalari honekin
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/apache2/ssl.crt/correo.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/correo.key

# Redirect to '/owa’ from '/’
RedirectMatch ^/$ /owa

RewriteEngine On

# Fix a problem when '%’ symbols are in the subject line of OWA email
# (the email subject is used in the web query)
BerridatziMap ehunekoa subjektua int:escape
BerridatziBaldintza $1 ^/owa/.*%.*$
BerridatziAraua (/owa/.*) ${ehunekoa subjektua:$1} [P]

EskabideBurua ezarri Front-End-Https “Gaitu”
ProxyEskaerak Itxi
ProxyMantenduHost On
ProxyBidez On

<Proxy *>
Eskaera ukatu,barkatu
Allow from all
</Proxi>

#OWAren Aldizkakoa Proxy Atzera
ProxyPasatu /owa https://correo.tundra-it.com/owa
ProxyPasatuAldizkako /owa https://correo.tundra-it.com/owa

ProxyPasatu /exchweb https://correo.tundra-it.com/exchweb
ProxyPasatuAldizkako /exchweb https://
correo.tundra-it.com/exchweb

ProxyPasatu /public https://correo.tundra-it.com/publikoa
ProxyPasatuAldizkako /public https://
correo.tundra-it.com/publikoa

ProxyPasatu /iisadmpwd https://correo.tundra-it.com/iisadmpwd
ProxyPasatuAldizkako /iisadmpwd https://
correo.tundra-it.com/iisadmpwd

ProxyPasatu /oma https://correo.tundra-it.com/oma
ProxyPasatuAldizkako /oma https://
correo.tundra-it.com/oma

ProxyPasatu /Microsoft-Server-ActiveSync https://correo.tundra-it.com/Microsoft-Server-ActiveSync
ProxyPasatuAldizkako /Microsoft-Server-ActiveSync https://
correo.tundra-it.com/Microsoft-Server-ActiveSync

ErroreLog /var/log/apache2/mailus-ssl-error_log
LogPertsonalizatua /var/log/apache2/mailus-ssl-access_log komuna
</VirtualHost>

OWA gunea aktibatzen dugu
# a2ensite owa

DMZtik LANeko DNSetara trafikoa ez uzteko, 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


Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!