Windows Server 2016 – migrando sitios de Apache y Nginx a IIS 10
By: Date: octubre 17, 2016 Categories: Consultoria y Manuales

La semana pasada Micosoft liberó Windows 2016 y como parte de mi política usar las herramientas correctas para el trabajo correcto he decidido usarlo por un tiempo como el servidor de la cueva del ultimo dragón la cual casi todo el tiempo corre sobre GNU/Linux, casi todo el tiempo por que ha habido momentos en que ha corrido sobre OpenBSD, FreeBSD y hace muchísimos años sobre Solaris. Pues bien hoy es el turno para Microsoft Windows Server 2016.

¿ Por que migrar la cueva a Windows Server 2016 ?

Como consultor de seguridad y SysAdmin debo siempre saber cómo hacer las cosas en cualquier sistema operativo, algunos clientes no entienden el poder del software libre y se debe estar preparado para usar software privativo. Debo ser capaz de mantener la seguridad de la cueva del dragón en un ambiente más delicado como Windows.

Esto será un reto interesante, La cueva del dragón recibe ataques diarios lo menos son ataques de denegación de servicio, muchos intentos de SQL inyección y exploit. Hasta hoy ningún ha sido exitoso.

Normalmente Windows Server se usa con aplicaciones .NET pero la cueva está escrita en PHP porque es un WordPress así que tendre que proveer la mayor cantidad posible de seguridad al internet information server usando PHP.

Algunas cosas han cambiado desde la última vez que monte un sitio en PHP en un IIS, antes había que configurar a mano el servicio de PHP en modo CGI o FAST-CGI, ahora existe una herramienta llamada Plataforma WEB que instala cosas al internet information server y las configura en un razonable nivel de seguridad para la mayoria de usuarios aunque yo voy a revisarlo y mejorarlo de acuerdo a los criterios de la aplicación. También se encarga de las dependencias, es decir instalar PHP a mano en un Windows puede ser doloroso especialmente porque viene compilado en Visual Studio y se deben tener las librerías redistribuibles para que funcione correctamente, plataforma web se encarga de eso.

Si estás leyendo este artículo en el mes de Octubre del 2016 la cueva del dragón estará siendo despachada por IIS con la esperanza de que soporte todos los intentos de exploit a los que normalmente es sometido el blog de la cueva del ultimo dragón.

Características de Windows 2016

Yo no le veo a simple vista una gran diferencia en funcionalidad y seguridad con respecto a Windows 2012 R2 que es la versión anterior, actualmente ha cambiado su imagen parece un Windows 10 con las herramientas de servidor y las características nuevas parece que solo serán útiles para ser aplicadas en LAN pero no hay mas de un par si se trata de aplicaciones WEB. Las mejoras en el WEB incluyen protocolo HTTP2 que desde hace más de un año es usado por APACHE y NGINX lo cual hace que los sitios reacciones más rápido a las peticiones GET

Lo nuevo.

Active Directory Federation Services: permite configurar AD FS para autenticar a los usuarios almacenados en directorios sin AD, como X.500 compatible con directorios y bases de datos SQL de Lightweight Directory Access Protocol (LDAP).

Windows Defender: Windows Server Antimalware está instalado y habilitado de forma predeterminada sin la interfaz gráfica de usuario, que es una característica de Windows instalable.

Servicios de Escritorio remoto: soporte para OpenGL 4.4 y OpenCL 1.1, mejoras de rendimiento y estabilidad; Función de Servicios MultiPoint Server.

Servicios: centrales políticas de almacenamiento de calidad de servicio. Réplicas de almacenamiento (almacenamiento agnóstico, a nivel de bloque, basada en el volumen, la replicación sincrónica y asincrónica utilizando SMB3 entre servidores para la recuperación en desastres). Almacenamiento Réplica replica bloques en lugar de archivos; archivos pueden estar en uso. No es multi-master, no uno a muchos y no transitiva. Se replican periódicamente instantáneas, y la dirección de replicación se puede cambiar.

Failover Clustering: clúster de actualización gradual del sistema operativo, réplicas de almacenamiento.

Web Application Proxy: autenticación previa para la publicación HTTP Aplicación básica, la publicación de dominio comodín de aplicaciones, HTTP a HTTPS redirección, Propagación de cliente de dirección IP para aplicaciones de back-end.

IIS 10: Soporte para HTTP / 2

Windows PowerShell 5.0

Reinicio suave: es una característica de Windows para acelerar el proceso de arranque saltarse la inicialización del hardware, y reiniciar el software sólo.

El Servidor Telnet no está incluido

Migrando sitios PHP desde GNU/Linux con Apache o Nginx a IIS

Instalar IIS como un nuevo rol del servidor Windows, las características útiles para PHP y una migración lo más limpia posible son:

Redirección HTTP
Autenticación básica
CGI
Extensiones ISAPI
Filtros ISAPI

Migrando PHP a IIS 10 en Windows 2016

Plataforma WEB

Una vez instalado IIS, abre IIS para instalar plataforma WEB en la opción donde dice obtener componentes de plataforma WEB

Busca por PHP e instala PHP 7 ingles 32 o 64 bits según sea el caso. No intentes instalar PHP manager para IIS aún no ha sido actualizado para ser usado en IIS versión 10 que es la versión con la que viene Windows Server 2016, tampoco te será necesario.

Migrando PHP a IIS 10 en Windows 2016

PHP en línea

Desde este punto ya debería ser capaz tu servidor Windows de ejecutar aplicaciones WEB escritas en PHP, solo debes crear tus sitios en IIS.

Si quieres especificar los enlaces a los que debe responder de forma directa, da click en Modificador de enlaces, ahí podras configurar el dominio y aliases de tu página WEB así como si usa o no certificados SSL, aunque para usar certificados SSL primero deberás instalar los certificados para los dominios en raíz del servidor del IIS

Migrando PHP a IIS 10 en Windows 2016

Migrar tus certificados a Windows Server IIS

En GNU/Linux usando Nginx o Apache estarás acostumbrado a usar una llave privada y tus archivos de certificados en modo PEM o por separado como archivos.key,archivos.crt en IIS estos archivos no funcionan. Debes convertirlos o generar nuevos desde tu proveedor de certificados, reconvertir es la opción rápida. Estando aun en GNU/Linux usando el comando openssl y usa el siguiente ejemplo como guía

openssl pkcs12 -export -out lastdragon.pfx -inkey private.key -in lastdragon.crt -certfile sf_bundle-g2-g1.crt

El resultado es que obtendrás un archivo PFX en este caso lastdragon.pfx, es el archivo que debes importar en los certificados de servidor en el IIS

Migrando PHP a IIS 10 en Windows 2016

Una vez importado el archivo PFX en enlaces como se dijo anteriormente puedes seleccionar si tu sitio usara SSL, ahora si puedes seleccionar HTTPS y te dará una lista de certificados disponibles para tu dominio. Selecciona el correcto y ahora ya tienes seguridad SSL

Migrando PHP a IIS 10 en Windows 2016

Desde aquí ya puedes usar PHP en Windows para tus aplicaciones y compartir apps con .NET.

2 thoughts on “Windows Server 2016 – migrando sitios de Apache y Nginx a IIS 10

  1. Android Browser

    A menos que exista alguna brecha de seguridad importante, quiero pensar que para enero ya nos comentaras que tanto resistio en la cueva y si esperemos que no tumben la cueva con ataques sencillos.

  2. Google Chrome 53.0.2785.143 Windows NT

    ¿Tienes algo para comentar de los ataques de los útlimos días aparentementes por Hackers rusos y chinos del grupo “New World Hackers” que se adjudicaron el mayor ciberataque de la última década?

    Se vieron afectados paginas webs tales como Twitter, Spotify, CNN, The New York Times, etc….

    Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *