ISA 2006 en la Frontera contra Internet:
ISA 2006, es la evolución de ISA 2004 y aporta muchas novedades muy interesantes en escenarios de publicación y branch offices, también hay que destacar las mejoras en cuanto al soporte de diversos tipos de autenticaciones y un mejor soporte de certificados.
Para los que no conozcáis ISA Server, os recomiendo que miréis la Web del producto http://www.microsoft.com/isaserver/default.mspx y la excelente web de Thom Shinder http://www.isaserver.org/
Para una pequeña introducción a ISA 2006 y sus novedades os recomiendo este articulo http://www.isaserver.org/articles/What-is-ISA-2006-Firewall.html
La frontera contra Internet es uno de los puntos mas delicados en cuanto a seguridad que nos podemos encontrar en cualquier infraestructura.
Es común que una frontera de este tipo reciba ataques de forma continuada, aunque no es menos cierto que la mayoría de dichos ataques provienen de lammers usando sus escaneadores de puertos y servicios o buscando algun bug famoso.
La frontera se usara normalmente para publicar los servicios que requieran comunicación contra Internet, por ejemplo VPNs para acceso remoto, servicios relacionados con el correo, webs, etc.
Por todas estas razones es de vital importancia montar estos servidores con las mayores precauciones, un fallo en este punto de la red será critico para la integridad de la misma.
Nuestro escenario será el siguiente:
Como podéis ver, contamos con una DMZ en la se situaran aquellos servidores que consideremos de alto riesgo, este es también un buen sitio para un honeypot y un IDS/IPS.
Es muy importante que la electrónica de red (routers y switchs) estén también securizados al máximo, evitaremos el uso de SNMP con configuraciones por defecto, actualizaremos los firmwares y pondremos contraseñas a todo, también es aconsejable hacer vlans y emplear filtros adicionales en los routers de forma que un fallo de un administrador con una regla no deje al descubierto nuestra DMZ.
Como veis en los gráficos, se ponen mas servidores en el Array externo que en el interno, esto depende del dimensionamiento requerido, pero es habitual que los firewalls externos soporten mas carga que los internos al encargarse de temas como como el acceso remoto de cientos o miles de usuarios.
Ya en ISA 2004 se podían establecer redes de cuarentena para los equipos de VPN que no cumplan las condiciones de seguridad que dictemos, en un futuro articulo tratare este aspecto de la configuración en ISA 2006.
ISA 2006 al igual que su predecesor usa ADAM para guardar su configuración, independientemente de esto, ISA se puede instalar sobre maquinas que sean miembros de un domino o de un grupo de trabajo.
Si se instala sobre servidores miembro, los nodos del array usaran seguridad de Windows para conectarse con el ADAM, pero si instalamos sobre un grupo de trabajo, serán necesarios certificados para realizar dicha operación.
El servicio de ADAM en terminología ISA se denomina CSS (Configuration Storage Server), a diferencia que ADAM por defecto corre sobre el puerto 2171 y podemos usar las mismas herramientas de ADAM para trabajar con el.
El CSS se replica como el AD y podemos añadir mas servidores para tener replicas, existe una herramienta para gestionar los sites del ADAM y configurar la replicación.
Siempre habrá una gran discusión sobre si los firewalls externos han de pertenecer a un domino o no. En mi opinión seria posible tener un dominio especifico para estos firewalls, pero nunca usuaria el domino interno para este propósito, tampoco usaría un CSS instalado en la parte interna de la red o sobre un servidor miembro.
Tampoco me gusta de ninguna manera montar controladores de domino en los firewalls.
Asi que todo depende del presupuesto, tanto en la decisión de tener un dominio dedicado, con sus dos DCs o dos servidores con CSS o bien en tener el CSS montado sobre los propios firewalls externos y que estos formen parte de un grupo de trabajo.
Mi recomendación es usar un forest para la DMZ independiente del Interno, pero si no hay presupuesto prefiero montarlos en workgroup antes que unirlos la dominio interno.
Este articulo muestra como tendremos que intalar los firewalls si no podemos contar con un forest para la DMZ.
En los asuntos referentes al directorio activo, todos sabemos que el gran protagonista es el DNS, si el DNS esta bien, la mayoria de los problemas no se daran nunca, en el caso de este escenario que describimos, la clave esta en los certificados, las cuentas locales y la configuración de las tarjetas de red.
Al instalarse sobre un grupo de trabajo, cada nodo de ISA Server usara un certificado para validarse en el CSS, para hablar dentro del array, todos los servidores del array han de tener al menos una cuenta con el mismo nombre y la misma contraseña.
La forma mas fácil de garantizarnos el éxito es usar la herramienta IsaCertTool que nos provee Microsoft. Mas adelante en este articulo podremos ver como y cuando tendremos que usarla.
Antes de empezar, lo primero será tener los servidores del Array plataformados, en mi caso el uso de ADS es la mejor solución, pero podéis usar cualquier sistema, os recomiendo que las maquinas sean iguales, para que la carga del array se pueda distribuir correctamente, también os recomiendo que todas las maquinas cuenten con los mismos drivers.
Actualizaremos al máximo los servidores con Windows 2003 SP1, no es necesario usar R2 para nada.
No es necesario en este punto aplicar ninguna plantilla de seguridad, ya que Microsoft nos permite actualizar el SCW con una nueva plantilla para ISA 2006 que se encargara de fortificar el servidor.
Es muy importante que durante todo el proceso de instalación, mantengamos el interfaz que nos conecte con Internet deshabilitado, para evitar que puedan atacar el servidor, en lo que no tiene el firewall activo.
ISA 2006 no se beneficia del uso del Scalable Networking Pack (SNP) así que no es necesario instalarlo.
Recomiendo siempre, copiar el CD de instalación de ISA y del directorio I386 de Windows 2003 SP1 en los discos duros de los servidores, así no tendremos que estar acudiendo a los servidores con los CDs y podremos acceder a cualquier archivo que necesitemos en un futuro.
Requeriremos de Tres tarjetas de red, una para Internet, otra para la DMZ y otra para el trafico Intra Array, esta tarjeta será la que usaran los nodos para comunicarse entre ellos y para el hearbeat del NLB que montara el Array para balancear la carga.
Tendremos que generar un certificado para validación de servidor, para el servidor que contenga el CSS, os recomiendo crear este certificado con un nombre que no sea el del servidor algo así como: CSS.BorderArray.Local.
Podeis crear estos certificados o bien usando la web de la entidad certificadora de windows 2000/2003 o bien desde cualquier IIS, un certificado de tipo Web es valido, aunque también podéis crear una plantilla de certificado y usarla para generar los certificados.
También tendréis que añadir a las entidades certificadoras de confianza de cada nodo, el certificado raiz de vuestra CA.
Dado que las maquinas usaran DNS externos, tendréis que añadir al fichero host de cada nodo, las ips y nombres del resto de nodos y del CSS, usando siempre el mismo nombre con el que creéis los certificados.
Meteremos a todas las maquinas en el mismo grupo de trabajo, configuraremos sus tarjetas de red, con los mismos nombres de redes y las ips de nuestras subredes y empezaremos a instalar usando el autorun.exe.
Os recomiendo reiniciar en este punto y ver si el CSS se ha instalado bien, mirar el event log y comprobar el CSS con ldp.exe y adsiedit for ADAM:
Una vez creada la empresa e instalado el CSS, el siguiente punto es crear el Array.
Daremos un nombre a nuestro array y continuaremos con el proceso
Después tendremos que crear la cuenta que usaremos para acceder al CSS desde los nodos del array y asignaremos los roles desde las propiedades del Array y la Enterprise, a traves de estos roles, damos permisos para administrar o acceder al ISA con diferentes tipos de perfiles.
Los roles los configuramos dentro de las propiedades del array y del enterprise, tambien tendremos que revisar en estas propiedades que el nombre del servidor CSS es el correcto y que se valide por certificados.
El siguiente paso sera instalar ISA y convertir este servidor en el primer nodo del Array.
Ahora es el momento de usar la herramienta certtool, para ello la descargaremos del área de descargas de la web de Microsoft y la copiaremos en el directorio de instalación de isa Server, tendremos que tener también exportados y copiados a la maquina los certificados de la raiz y del CSS.
En el paso siguiente definiremos la red interna, podemos hacerlo seleccionando directamente lo interfaces de red o bien introduciendo las ips de las subredes.
Si hemos usado una sesión de escritorio remoto para instalar el servidor, el instalador añadirá automáticamente la ip desde la que hacemos la sesión a una regla del firewall para que se pueda seguir administrando remotamente el equipo, si queréis utilizar el escritorio remoto para la instalación, hacerlo con mstsc /console para conectaros a la consola.
A partir de este punto, ya podéis empezar a configurar las reglas y publicar vuestro servicios.
En un futuro artículo os mostrare como añadir un nodo al array y utilizar el balanceo de carga.
Enlaces de interes:
Descargar las herramientas para ISA http://www.microsoft.com/downloads/Browse.aspx?NextOrPrevClause=1%7c-07%2f01%2f2006%2009%3a52%3a40.250&DisplayLang=en&productID=23E0C7B9-FEAA-4E02-9662-31B9BD4CDF8B&sortCriteria=date&sortOrder=descending&nr=20
Securizar/Fortificar el servidor de ISA: http://download.microsoft.com/download/9/1/8/918ed2d3-71d0-40ed-8e6d-fd6eeb6cfa07/isaharden.doc
Descargar ISA Sever 2006 eval 180 dias: http://www.microsoft.com/isaserver/2006/trial-software.mspx