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










































