June 2008 June 2008
Seguridad: El gran debate: la seguridad por oscuridad
La seguridad por oscuridad implica medidas que no eliminan los vectores de ataque, sino que los ocultan. Hay quien sostiene que se trata de una práctica no recomendada, aunque otros afirman que, dentro de una estrategia mayor, cada parte cuenta. El debate es acalorado; en él se enfrentan nuestros mejores expertos en seguridad, explican la seguridad por oscuridad y presentan ambas visiones. Jesper M. Johansson and Roger Grimes
Seguridad: Nuevos PowerToys de elevación para Windows Vista
Michael Murgolo regresa con una actualización a sus PowerToys de elevación. Encontrará funciones mejoradas de ejecución como administrador que funcionan con herramientas de scripting de terceros, una manera de reemplazar una característica útil de Windows XP que se eliminó de Windows Vista y muchas más herramientas de gran utilidad. Michael Murgolo
Seguridad: Avances en el Cifrado de unidad BitLocker
Windows Vista SP1 y Windows Server 2008 introducen cambios importantes en BitLocker, como compatibilidad para volúmenes de datos y una protección mejorada frente a ataques de cifrado. Byron Hynes explora las nuevas características, muestra cómo usar BitLocker en un servidor y habla acerca de la reciente cobertura de medios que afecta a BitLocker. Byron Hynes
Seguridad: Bloqueo de la aplicación mediante directivas de restricción de software
Para reducir el costo total de propiedad de los equipos de escritorio de su organización, el bloqueo de las aplicaciones puede ser de gran ayuda, al limitar los problemas de TI relacionados con aplicaciones no compatibles. Consulte cómo puede usar las directivas de restricción de software y la directiva de grupo para controlar las aplicaciones que se ejecutan a través de su infraestructura de TI. Chris Corio and Durga Prasad Sayana
Seguridad: Administración del firewall de Windows Vista
La actualización reciente del firewall de Windows Vista ofrece algunas características nuevas e interesantes que lo convierten en una opción atractiva para el entorno corporativo. Jesper Johansson ofrece una breve introducción acerca de la evolución del firewall de Windows y profundiza en las mejoras, como las nuevas reglas y perfiles, el aislamiento de dominios o el cifrado, que harán que los administradores estudien estas características con mayor detenimiento. Jesper M. Johansson
Seguridad: Correo electrónico seguro mediante certificados digitales
Gracias a Extensiones seguras multipropósito al correo de Internet puede ocultar información en tránsito, validar remitentes y autenticar mensajes. Aprenda a proteger el correo electrónico mediante certificados digitales y a solucionar problemas que le puedan surgir en el sistema S/MIME. Matt Clapham and Blake Hutchinson
Columns
Nota del editor: El gran debate: | Cartas: Comentarios de los lectores: | Cuadro de herramientas: Nuevos productos para profesionales de TI:
Preguntas y respuestas acerca de SQL: Errores de E/S, creación de reflejos de la base de datos, etc.: Paul Randal responde a sus preguntas acerca de SQL Server, muestra cómo crear daños en una base de datos de prueba, ofrece ayuda para evitar los ciclos de reducción y crecimiento, y explica cómo establecer el número de bases de datos que puede reflejar sin que esto afecte al rendimiento.Paul S. Randal | Utility Spotlight: Asesor de actualizaciones de Windows Vista: ¿Está listo para actualizar a Windows Vista los sistemas de la organización? Descubra cómo el Asesor de actualizaciones de Windows Vista puede ayudar a determinar si los sistemas están preparados para Windows Vista y qué versiones son compatibles.Lance Whitney | Dentro de SharePoint: Descentralización de la administración de sitios: Explore las ventajas y las implicaciones de delegar el control administrativo sobre sitios de SharePoint a departamentos individuales mientras se mantiene el control administrativo centralizado sobre la infraestructura de SharePoint.Pav Cherny
Windows PowerShell: Aspectos positivos: Descubra cómo la naturaleza orientada a objetos de Windows PowerShell permite aplicar formato a sus resultados.Don Jones | Hey, Scripting Guy!: Trabajar sin esforzarse también es gratificante: Los chicos de la sección Scripting Guy reflexionan acerca de la dedicación al trabajo, la felicidad completa y la generación de datos en la ventana de comandos en un formato tabular legible.The Microsoft Scripting Guys | Archivos del escritorio: Seguridad frente a Cumplimiento: Los profesionales de la TI a menudo se enfrentan a objetivos contradictorios. Observe cómo el cumplimiento, suele entrar en conflicto con una reducción de la seguridad.Wes Miller
El negocio de TI: 10 claves para convertirse en un líder medioambiental: A medida que los departamentos de TI juegan un papel cada vez más importante en las estrategias medioambientales de las empresas, los profesionales de TI encuentran la oportunidad de dirigir cambios y llegar a ser líderes decisivos en sus compañías y sectores. A continuación presentamos una introducción acerca de cómo llegar a ser un líder decisivo y eficaz en las iniciativas medioambientales y de sostenibilidad de la organización.Michael Walsh and Eliza Walsh | Notas de campo: Compartir una pantalla dividida: La pantalla dividida, desarrollada por Microsoft Research India, permite que dos usuarios compartan un monitor mientras ejecutan instancias independientes del sistema operativo en cada parte.Kentaro Toyama | Confidencial de Windows: Los dos peores equipos de la historia: Raymond Chen recuerda con cariño su trabajo con los dos peores equipos jamás creados.Raymond Chen


Seguridad
El gran debate: la seguridad por oscuridad
Jesper M. Johansson and Roger Grimes
De un vistazo:
  • Definición de seguridad por oscuridad
  • Evaluación de medidas en la seguridad por oscuridad
  • Evaluación del valor del cambio de nombre de la cuenta de administrador
  • Toma de decisiones bien documentadas acerca de administración de riesgos

El término "seguridad por oscuridad" suele suscitar burlas en las personas que trabajan con la seguridad, especialmente los que se consideran expertos. La reacción es similar a cuando en algunos círculos se dice una palabrota y es que la seguridad
por oscuridad, tal como se indica en Wikipedia (en.wikipedia.org/wiki/Security_through_obscurity), representa uno de los aspectos más polémicos en esta materia. Se suelen hacer referencias burlonas como "no es más que seguridad por oscuridad" que desestiman el esfuerzo de algunas personas.
La seguridad por oscuridad es, en pocas palabras, una infracción del principio de Kerckhoffs, que afirma que un sistema debe ser seguro por su diseño, no porque un adversario no conozca su diseño. La premisa básica del principio de Kerckhoffs es que los secretos dejan de serlo en poco tiempo.
Como ejemplo, el diseño del protocolo de autenticación de Windows NT® LAN Manager (NTLM) inicialmente se consideró un secreto. Para implementar el producto de interoperabilidad Samba para sistemas operativos basados en UNIX, el equipo de Samba tuvo que invertir la ingeniería del protocolo. Como consecuencia, se creó una documentación más completa de NTLM (monyo.com/technical/samba/translation/ntlm.en.html), además de detectarse algunos errores. Debido a que la mayor parte de la seguridad dejó de usar la criptografía y se han revelado tantos secretos de diseño, muchos encargados de la seguridad creen que la seguridad de la información debería seguir el principio de Kerckhoffs.
¿Pero la seguridad por oscuridad es poco recomendable en cualquier situación? En este artículo, explicaremos qué es la seguridad por oscuridad, trataremos de esclarecer por qué muchos la consideran una pérdida de tiempo, y por qué otros no, y le mostraremos por qué, como de costumbre, la respuesta es mucho más complicada de lo que parece al principio.

Introducción a la seguridad por oscuridad
No cambie los valores predeterminados, de Steve Riley
En cuanto al problema de cambiar el nombre, me decanto por "no cambiarlo". Ni siquiera tiene que ver con la seguridad, se trata de un problema de administración de sistemas. Y a medida que pienso en el espacio de administración de sistemas (porque la administración y la seguridad se están fusionando), estoy cada vez más convencido de que no se debe hacer nada que pueda aumentar potencialmente la fragilidad de un sistema. Una manera segura de aumentar la fragilidad es cambiar los valores predeterminados. Existen dos (bueno, dejémoslo en tres) razones por las que los usuarios cambian la configuración predeterminada:
  • El cambio proporciona a la funcionalidad un requisito conocido necesario.
  • Se presume que el cambio mejorará la seguridad.
  • (Cuidado con la estupidez.) Alguien lo leyó en un artículo.
Si debe realizar el cambio de un nombre predeterminado debido a la razón número 1, hágalo. Este tipo de cambios no suelen originar inestabilidad en el sistema porque se suelen probar anteriormente.
Si desea cambiar un valor predeterminado debido a la razón número 2, deténgase un momento y vuelva a considerarlo. Este tipo de cambios casi nunca los ha probado el fabricante del software y, por lo tanto, no puede predecir cómo se comportará el sistema una vez realizado. Además, generalmente existen mejores alternativas que le proporcionarán una seguridad completa.
¿Qué sucederá si la persona incorrecta averigua el nombre de cuenta? Lo que impide la entrada a los usuarios incorrectos a su sistema es la contraseña, y la seguridad de dicha contraseña. El impulso de cambiar los nombres de cuenta predeterminados como la de administrador e invitado por otros más difíciles de adivinar en realidad suele ser indicativo de evitar contraseñas y frases de contraseña seguras. Corrija el problema real (los secretos a voces) y evitará la fragilidad (cambio de los nombres predeterminados).

En la seguridad por oscuridad no se incluyen las medidas que no aportan nada a la mitigación de un problema. Por ejemplo, una organización que bloquea el Protocolo de transferencia de noticias a través de la red (NNTP) de los enrutadores de borde para evitar que los empleados lean grupos de noticias pero que permita el shell seguro (SSH) saliente no se considera seguridad por oscuridad. Debido a que SSH puede abrirse paso en cada protocolo, el problema no está oculto; la estúpida mitigación implementada no puede hacer nada más que evitar que los usuarios legítimos consigan realizar tareas legítimas sin infringir las directivas de seguridad. Dichas medidas no son seguridad por oscuridad; son estúpidas e injustificadas.
Tal como indica la palabra "seguridad" en la frase "seguridad por oscuridad", se obtiene protección de la medida. Sin embargo, lo que también indica, y aquí está el problema, es que no está haciendo nada para detener ataques a algún vector. Básicamente, un vector de ataque es un medio por el cual un atacante puede obtener acceso a un sistema.
Por ejemplo, con un servidor web vulnerable, le pueden atacar a través del puerto TCP 80 mediante una vulnerabilidad pública. Para cerrar ese vector particular puede incorporar revisiones al servidor web o apagarlo; cualquiera de estas acciones detendrá el vector por completo. Puede detener parcialmente el vector de ataque mediante un firewall o IPsec para cerrar el puerto 80 a todos los equipos excepto a algunos seleccionados. Aunque esto no bloqueará el vector de ataque por completo, mitigará el problema de forma significativa.
Por otro lado, la seguridad por oscuridad implica llevar a cabo alguna medida que no detenga el vector de ataque sino que simplemente lo oculte. Por ejemplo, puede decidir mover el servidor web al puerto 81 en lugar de al 80, de forma que tan sólo los usuarios que saben dónde encontrar su servidor web lo podrán hacer. Al menos, ése es el argumento. En realidad, al mover el servidor web al puerto 81, sólo se detienen algunos ataques y, en la mayoría de los casos, sólo causa inconvenientes al usuario final. Un intruso competente tan sólo tendrá que ejecutar un escáner del puerto y un captador de pancartas web contra un gran número de puertos para descubrir servidores web en puertos no estándar. Al encontrar uno, se podrá aprovechar de la vulnerabilidad de su servidor debido a que usted en realidad no eliminó el vector de ataque, sino que tan sólo lo ocultó (temporalmente).
¿Significa esto que ni siquiera debe intentarlo? Depende. Al igual que con las demás opciones del campo Seguridad de la información, todo se reduce a la administración de riesgos. Para comprender los factores clave a tener en cuenta, echaremos una ojeada a otras medidas de la seguridad por oscuridad y, a continuación, analizaremos una de ellas (cambiar el nombre de la cuenta del administrador) en más detalle.

Evaluación de las medidas de seguridad
Abundan los ejemplos de la seguridad por oscuridad. Puede tratarse de acciones que llevan a cabo los administradores del sistema y de la red, o bien, los pueden iniciar los desarrolladores de software. Sin embargo, lo que todos tienen en común es que tratan de mitigar una vulnerabilidad ocultándola de posibles atacantes.
¿Estos procedimientos tienen al menos algún efecto beneficioso? ¿Es justo decir que todas las características de la seguridad por oscuridad son poco recomendables? Existen defensores de algunas de estas medidas. Por ejemplo, en Windows® es posible ocultar las letras de unidades en el Explorador de Windows. Muchos entornos, entre los cuales los más notables son los laboratorios informáticos de las escuelas, usan esta técnica para evitar que los usuarios guarden datos en el disco duro. Por supuesto, la mayoría de aplicaciones puede guardar datos en el disco duro, de forma que tiene poco valor como medida de seguridad exclusiva. Sin embargo, las instituciones que las han implementado afirman que reducen los datos del disco duro.
Otro tipo de práctica en la seguridad por oscuridad implementada en Windows es desactivar los recursos compartidos de red administrativos (como C$ y Admin$, entre otros). Está pensada para evitar que los atacantes se puedan conectar al equipo de forma remota. En realidad, no sólo es falso, sino que un atacante con una cuenta que puede usar los recursos compartidos administrativos puede volver a habilitar estos recursos compartidos de forma remota. Todavía hay muchas organizaciones que juran que estos recursos compartidos reducen los incidentes de malware en sus redes.
Uno de nuestros ejemplos favoritos de esfuerzo perdido es la configuración "Permitir desacoplamiento sin tener que iniciar sesión" de Windows. Si está deshabilitada, el botón "Desacoplar equipo" estará oculto en la pantalla de inicio de sesión. La idea que se deriva de la situación es que de este modo un atacante no puede desacoplar el equipo. Por supuesto, los intrusos podrían sencillamente meter el equipo y la estación de acoplamiento en una bolsa y llevárselos, aunque el botón no esté visible. Esta posibilidad es remota incluso si se usa la seguridad por oscuridad.
Otro claro ejemplo es la configuración "Permitir a los operadores de servidor programar tareas" que, como su nombre indica, permite a los miembros del grupo de operadores de servidor programar tareas. Se trata de un problema sensible porque dichas tareas se pueden ejecutar como Sistema Local y sólo los administradores deben poder programar tareas que se ejecuten como Sistema Local. Por supuesto, los operadores de servidor pueden convertirse en administradores a través de un número diferente de vectores, de manera que en realidad impedirles programar las tareas de esta forma tiene un valor mínimo.
Todavía hay muchas organizaciones que aceptan esta configuración porque permite que los ingenieros sean operadores de servidores en lugar de administradores, lo que significa que es menos probable que destruyan el servidor por accidente. Esto puede suponer alguna ventaja.
Entonces, ¿cuál es el veredicto? Obviamente, algunos de estos problemas pueden ser muy complicados. Hemos pasado muchas horas agradables debatiendo acerca de este tipo de medidas. Roger está del lado de los usuarios que valoran dichas prácticas. Por su parte, Jesper cree que son, en el mejor de los casos, una pérdida de tiempo. Exploremos uno de los casos más citados, y dudoso, de la seguridad por oscuridad: cambio de nombre de la cuenta de administrador. Roger defenderá la medida, mientras que Jesper la desaprobará. Los prestigiosos expertos en seguridad Aaron Margosis y Steve Riley también participarán en las barras laterales "Cambiar el nombre de la cuenta de administrador" y "No cambiar los valores predeterminados", respectivamente.

Ocultación de la cuenta de administrador
Los profesionales de la seguridad suelen recomendar el cambio de nombre de la cuenta de administrador, el identificador relativo (RID) 500, por un nombre que desconozca el público general; asimismo, esta medida se incluye en varias guías de refuerzo de Microsoft. Además, la directiva de grupo incluye una configuración para cambiar el nombre de la cuenta de administrador, tal como se muestra en la figura 1. La idea es que si se cambia el nombre de la cuenta de administrador, un atacante tendrá más difícil el inicio de sesión como administrador real. Por supuesto, el problema obvio de usar la directiva de grupo en esta operación es que la cuenta de administrador a la cual se le cambia el nombre tendrá el mismo nombre en todos los equipos a los que se aplique dicha directiva. Esto disminuye el valor de oscuridad de esta medida de seguridad particular.
Figura 1 Cambio de nombre de la cuenta de administrador
Figura 1 Cambio de nombre de la cuenta de administrador (Hacer clic en la imagen para ampliarla)
En este contexto, también es importante darse cuenta de que cualquier usuario con una cuenta legítima puede recuperar el nombre de la cuenta de administrador, independientemente de si se lo cambia. La cuenta de administrador siempre tiene un RID de 500. Con tan sólo pedir el nombre de la cuenta mediante RID 500, cualquier usuario con una cuenta puede consultar su denominación real, tal como se muestra en la figura 2.
Figura 2 Búsqueda de cuentas de administrador a las que se les haya cambiado el nombre
Figura 2 Búsqueda de cuentas de administrador a las que se les haya cambiado el nombre (Hacer clic en la imagen para ampliarla)

Turno de Roger
El argumento principal que existe contra el cambio de nombre de la cuenta de administrador es que es muy fácil convertir cualquier nombre de cuenta principal de seguridad en su identificador de seguridad relacionado (SID) y averiguar su RID. La cuenta de administrador real siempre tiene un RID de 500. Así que, si un atacante puede convertir fácilmente los nombres de cuenta de usuario en las combinaciones SID/RID y encontrar el RID 500, ¿por qué preocuparse?
Pero no es tan sencillo. Para conseguir una traducción del nombre de cuenta de usuario a SID/RID, debe disponer de acceso a los puertos NetBIOS o LDAP. La mayoría de firewalls perimetrales no permiten ese tipo de acceso en Internet, por tanto, hasta que esquive completamente el firewall, no podrá traducir nada. Además, las traducciones SID anónimas no influyen negativamente en Windows XP y las versiones posteriores de Windows, salvo en los controladores de dominio (DC). Para la mayoría de equipos orientados externamente (los que están más en peligro), el atacante necesitaría credenciales autenticadas para hacer las traducciones del nombre a SID.
Por tanto, existen un buen número de obstáculos de defensa exhaustiva que se deben esquivar para empezar un ataque de traducción. Incluso si el atacante llega tan lejos, terminará en el mismo punto en el que estaría si el nombre de cuenta no se hubiera cambiado. El cambio de nombre de la cuenta de administrador sólo puede mejorar la seguridad. Definitivamente, no lo puede dañar.
Otro secreto Si un atacante no conoce el nombre de cuenta de administrador, se convierte en otra etiqueta "secreta", análoga a una contraseña, que también debería conocer. De acuerdo, los nombres de cuenta de usuario no suelen ser tan complejos como una contraseña administrativa, aunque son otro obstáculo que complica de manera exponencial el problema de adivinar o descodificar la contraseña. Si alguna vez ha realizado pruebas de penetración de contraseñas, ya sabrá el trabajo que supone adivinar el nombre de usuario y la contraseña. Si ya de por sí es una tarea difícil, esto es más complicado todavía.
Combate el malware automatizado y los cracker inexpertos He probado la defensa de seguridad de Windows durante 22 años y he ejecutado ocho servidores trampa ("honeypots") de Windows, expuesto a Internet los últimos 5 años. En todo ese tiempo, no he visto que el malware automatizado (que comprende la gran mayoría de los ataques) use etiquetas de cuenta de usuario salvo la de administrador (o la raíz, en el caso de los sistemas *NIX). Si cambia el nombre de su cuenta de administrador, eliminará inmediatamente todo el malware que depende del nombre de administrador. Y eso se traduce en un menor riesgo de seguridad.
Sucede lo mismo con los cracker inexpertos. Los manuales de piratería "guays" de Windows que conozco mencionan las técnicas de traducción de nombre a SID aunque, por alguna razón, no he visto ningún caso de estos en mis servidores trampa porque también contaba con una cuenta de administrador "falsa" para echarlos. Los piratas informáticos buenos deben comprobar que la cuenta de administrador encontrada es el administrador real (RID 500), pero no lo hacen. No sé por qué. Culpo a los piratas informáticos perezosos y al comportamiento habitual de los seres humanos.
También detiene a la mayoría de los profesionales Esto sorprende a muchas personas. Al ejecutar servidores trampa durante unos años, se reconoce rápidamente la diferencia entre los ataques automatizados, de los crackers sin experiencia y los profesionales. En los últimos cinco años, teniendo millones de ataques notificados contra mis servidores trampa, no he visto que ningún profesional me haga una traducción SID cuando la cuenta de administrador falsa estaba presente.
Estoy seguro de que algunos profesionales no autorizados llevan a cabo traducciones SID, pero apuesto a que se trata de una minoría que no he encontrado en la práctica. ¿Por qué no lo harían los profesionales? Supongo que no ven ninguna razón para intentar hacer algo que no hacen la mayoría de usuarios.
Simplifica las alertas Ahora, el otro lado puede sostener que si el cambio de nombre de la cuenta de administrador se convierte en algo frecuente, perderá su valor de técnica de oscuridad. El argumento es que el malware, los crackers inexpertos y los profesionales cambiarían sus tácticas predeterminadas para buscar nombres que no sean sólo Administrador. Y esta preocupación tiene su razón de ser. Afortunadamente, no cambia el estado básico. Primero, si el nombre de la cuenta con muchos privilegios de Windows no es Administrador, el pirata informático malintencionado deberá trabajar más. Es un hecho. Si el pirata informático malintencionado debe trabajar más, probablemente no intentará este tipo de ataques, y quizás esto permita que una de las demás técnicas de defensa exhaustiva de compensación detecte la actividad malintencionada más rápidamente.
Esta idea me lleva al último punto a favor del cambio de nombre. Si la cuenta de administrador nunca se denominó administrador y crea otra cuenta con dicho nombre, tal como se muestra en la figura 3, dispone de un buen mecanismo de alerta. Si la supervisión de eventos detecta un intento de inicio de sesión mediante el nombre predeterminado, se analizará inmediatamente.
Figura 3 Los intentos de inicio de sesión a una cuenta señuelo denominada Administrador pueden servir de primera advertencia
Figura 3 Los intentos de inicio de sesión a una cuenta señuelo denominada Administrador pueden servir de primera advertencia (Hacer clic en la imagen para ampliarla)
Nuestros registros de eventos están llenos de inicios de sesión "incorrectos" que no significan nada. Normalmente, sólo se trata de un usuario (o Windows) que trata de iniciar sesión con una contraseña incorrecta o algo parecido. Aunque, si su cuenta de administrador se denomina Administrador, ¿cómo puede diferenciar con facilidad los intentos de inicio de sesión malintencionados? Si nunca ha tenido una cuenta de inicio de sesión denominada Administrador y detecta un intento de inicio de sesión con este nombre de cuenta, seguramente el intento sea malintencionado. Una primera advertencia poco importante tiene mucho valor en la defensa de hoy en día.

Turno de Jesper
Cambio de nombre de la cuenta de administrador, de Aaron Margosis
En un mundo ideal, Jesper tendría toda la razón. Las contraseñas serían lo suficientemente seguras para adivinarlas mediante ataques de fuerza bruta y las cuentas de administrador locales de -500 sólo se usarían para una recuperación de emergencia. Aunque, en el mundo real, nada de esto es cierto.
A pesar de la gran seguridad que predica, y en particular la magnífica serie acerca de frases de contraseña que creó ("Los grandes debates: frases de contraseñas vs. contraseñas", partes 1, 2 y 3, en go.microsoft.com/fwlink/?LinkId=113157, go.microsoft.com/fwlink/?LinkId=113159 y go.microsoft.com/fwlink/?LinkId=113160), actualmente muchos administradores del sistema no saben lo que significa una contraseña segura.
Hasta no hace mucho tiempo, una contraseña de ocho caracteres aleatorios procedentes de varios conjuntos de caracteres era segura; la ley de Moore dejó obsoleta esta definición. La educación del usuario (y administrador del sistema) es un vínculo no seguro que probablemente no cambiará, al menos hasta que el tema de la seguridad de las contraseñas sea un tema de actualidad en los telediarios.
De esta forma, dado que hoy en día el hecho de adivinar contraseñas en el mundo real no requiere 600 mil millones de años, al contrario, a menudo se puede realizar durante la comida, agregar un multiplicador de 1000 puede ser el valor real. Y frente a los diferentes ataques automatizados que tratan de introducirse en la cuenta denominada Administrador, cambiar el nombre de la cuenta la hace invulnerable.
El tiempo y esfuerzo que implica cambiar el nombre de la cuenta de administración no suelen ser muy elevados; normalmente, como ha mencionado usted, es una configuración de GPO sencilla. De hecho, la configuración central de escritorio federal del gobierno de los EE. UU. (csrc. nist. gov/fdcc) requiere el cambio de nombre de la cuenta -500. El cambio de nombre no sólo es una de las diferentes configuraciones necesarias ni de las que precisa una cantidad desmesurada de tiempo o atención. Tampoco creo que nadie esté aletargado en un sentimiento de seguridad falso con respecto a su valor; todavía no he oído decir a nadie: "No necesitamos la administración de revisiones porque cambiamos el nombre de las cuentas de administración".
¿El cambio de nombre tiene algún valor cuando se da el mismo nombre de cuenta para toda la organización? No se trata de un gran valor, pero algo es algo: primero, bloquea los ataques automatizados que espera el administrador, y segundo, el conjunto de atacantes posibles no es necesariamente un subconjunto de "todos" los que conocen el nuevo nombre. El mayor riesgo se presenta cuando las cuentas de administración locales (una vez se les ha cambiado el nombre) comparten una contraseña común en toda la organización. Administrarlas es el mayor problema y el más importante. Deshabilitar la cuenta -500 es una forma de llevarlo a cabo, pero esto bloquea una recuperación importante cuando no se pueden usar las cuentas de dominio. Además, me gustaría señalar que nuestras guías de seguridad recomiendan el cambio de nombre de las cuentas predeterminadas, ya que se ha probado y es totalmente compatible.
A estas alturas, todos sabemos que las medidas de oscuridad (por sí solas) no constituyen una defensa adecuada. Pero pueden mejorar otras medidas de seguridad y los datos de Roger lo demuestran con claridad. Siempre que el costo de implementación sea bajo, las organizaciones no las deben descartar.

Tal como sucede con los argumentos que defienden la medida, existen argumentos válidos en contra del cambio de nombre de la cuenta de administrador. Antes de analizarlos, debo reconocer que el último punto de Roger es bastante válido. Sin embargo, en un entorno administrado, cualquier inicio de sesión con la cuenta de administrador se debe investigar porque dicha cuenta no se usará de otra manera que no sea en recuperaciones de emergencia.
Es superfluo El riesgo principal que se supone mitigará el cambio de nombre de la cuenta de administrador es el de que alguien adivine su contraseña de forma remota. Pero sólo se combatirá a los usuarios que no tienen otra cuenta autorizada en el equipo mediante el cambio de nombre de la cuenta de administrador. Dicho atacante normalmente intentaría una serie de contraseñas aleatorias para iniciar sesión en la cuenta de administrador. Sin embargo, recibiría el mismo mensaje de error independientemente de si adivinó el nombre de cuenta o la contraseña incorrectos.
Esto sugiere que uno de los argumentos principales para cambiar el nombre de la cuenta de administrador (que hace desaparecer a los cracker sin experiencia) no sirve. No desaparecen antes por cambiar el nombre de la cuenta de administrador en lugar de respetar el nombre original porque no lo pueden asegurar. Adivinarán el mismo conjunto de contraseñas aleatorias independientemente de los obstáculos y, a continuación, pasarán a la siguiente víctima posible.
Esto significa que siempre que la contraseña de la cuenta de administrador sea suficientemente segura para rechazar los ataques, el cambio de nombre de la cuenta no ofrece un valor adicional. Supongamos que nuestra cuenta de administrador tiene una contraseña de 15 caracteres compuesta de letras mayúsculas y minúsculas, números y símbolos elegidos de todo el teclado. Adivinar esa contraseña a través de la red costará unos 591.310.404.907 años. En comparación, es aproximadamente 43 veces más de la existencia del universo.
Ahora, supongamos que cambiamos el nombre de la cuenta de administrador y lo convertimos en uno de los 1.000 valores posibles. Ampliaríamos el tiempo de adivinar la contraseña a 591.310.404.906.787 años, es decir, 43.161 veces más de la existencia del universo. ¿Realmente estamos más seguros? Claro que sí, estamos tres órdenes de magnitud más protegidos. ¿Es menos probable que el atacante adivine nuestra contraseña? Es infinitesimalmente menos probable, en cualquier caso. En otras palabras, en términos reales, no estamos completamente mejor que con el nombre de cuenta de administrador original. Sólo porque el cambio de nombre de la cuenta elimina el malware que trata de usarla no significa que el malware lo hubiera conseguido de no cambiar el nombre de la cuenta. De hecho, si usa una contraseña segura, como debería, puede garantizar virtualmente que no lo conseguirá, independientemente del nombre de la cuenta.
Está claro que muchas guías de seguridad requieren el cambio de nombre de la cuenta de administrador; pero no es esa la medida de seguridad más valiosa, ni tan siquiera la más válida. Sencillamente, elimina su capacidad de tomar una decisión apropiada acerca del asunto en la administración de riesgos. Con frecuencia, las guías acerca de seguridad requieren configuraciones que no aportan ninguna diferencia y, en muchos casos, configuraciones que ni tan sólo existen. Finalmente, para progresar en el campo de la seguridad, debemos dar un paso más allá de los requisitos y analizar realmente los problemas, además de valorar si las mitigaciones tienen algún sentido. Es importante recordar un punto importante: el hecho de que un atacante se oriente hacia una característica no es, de por sí, una razón suficiente para modificar dicha característica. Deberá modificarla tan sólo si tiene la convicción razonable de que se llevará a cabo un ataque con éxito a menos que la modifique.
Si tenemos una contraseña segura, la probabilidad de éxito eficazmente es cero tanto si se cambia el nombre de la cuenta como si no. Por tanto, si tiene una contraseña segura, no tiene ninguna razón de seguridad particular para cambiar el nombre de la cuenta. Además, si tiene en cuenta el principio de que un equipo seguramente será más estable cuantos menos ajustes y cambios se le realice, al igual que pienso yo (un hecho con fundamento, por cierto), es una razón más para no cambiar el nombre de la cuenta de administrador.
Cambia el enfoque a las mitigaciones de poco valor Un problema que suponen las mitigaciones de la seguridad de oscuridad de poco valor es que se arriesgan a cambiar el enfoque de la organización de las mitigaciones de valores más altos. Por ejemplo, el tiempo y el esfuerzo que se dedica al cambiar el nombre de la cuenta de administrador no se puede usar en otras acciones. Si las otras acciones proporcionan un valor mayor que el cambio de nombre de las cuentas de administrador, la organización pierde una oportunidad. Es posible que no parezca suponer un costo real, pero imagínese el cambio de nombre de 50.000 cuentas de administrador y se hará una idea.
Peor aún es la posibilidad muy real de que el liderazgo de la organización se confíe una vez que se ha controlado la mitigación de poco valor. Es posible que la administración no siempre entienda el valor mínimo que tienen las mitigaciones de la seguridad por oscuridad y puede que no tome medidas adicionales. En realidad, esto puede suponer un riesgo significativo para la organización, aunque se podría evitar si la administración dedica simplemente tiempo y esfuerzo a entender el valor de las mitigaciones que se implementan.
Administración costosa Por último, en función del éxito de implementar la mitigación, puede llegar a ser bastante costosa de administrar. Si tan sólo establece un objeto de directiva de grupo (GPO) para cambiar el nombre de la cuenta de administrador, el costo es muy bajo. Todos sabrán el nombre, y el costo de la implementación es casi nada. Sin embargo, el valor que ofrece es también bastante mínimo porque, tal como mencioné, cada persona que tenga una cuenta sabrá cuál es el nombre. De esta forma, para obtener un gran valor de esta mitigación, necesita usar diferentes nombres en host y esto empieza a encarecer la administración del sistema.
Sería mucho mejor usar una herramienta como passgen (protectyourwindowsnetwork.com/tools.htm) para establecer una contraseña completamente aleatoria de 100 caracteres en todas las cuentas de administrador a través de la red y usar cuentas diferentes para la administración diaria. Debido a que la cuenta de administrador es básicamente para propósitos de recuperación ante desastres (salvo en Windows Small Business Server 2003), esta situación no debería impresionar a su sistema de administración de redes. Además, el atacante tendría más oportunidades de encontrar una aguja en el fondo del océano Pacífico que de adivinar correctamente la contraseña de cualquiera de sus cuentas de administrador. Al centrarse en las contraseñas seguras y únicas, los cracker inexpertos pueden intentar adivinar lo que quieran.

Todo se reduce a la administración de riesgos
Virtualmente, las medidas de seguridad por oscuridad se pueden analizar de la manera siguiente. Todos los esquemas tienen ventajas y desventajas, y el enfoque correcto para una organización no se ajusta necesariamente a una organización diferente. Por último, esto supone un problema para la administración de riesgos. ¿Pesan más los riesgos que los costos de implementar la solución? Todas las decisiones que tome para proteger sus activos de información deben estar bien documentadas en función de la administración de riesgos y rara vez será como elegir entre negro o blanco.
Es cierto, ya se han tomado por usted algunas decisiones. Por ejemplo, mientras con toda certeza puede elegir no cifrar información de la tarjeta de crédito ni almacenar los códigos de verificación de la tarjeta de crédito, es probable que cualquier acción proporcione la pérdida de capacidad para aceptar tarjetas de crédito como modo de pago. La posible repercusión negativa de dicha decisión hacia su negocio es tal que ni siquiera tiene elección. En otras palabras, debido a que con toda certeza es mayoritariamente una decisión de la administración de riesgos, es bastante fácil de tomar.
Igualmente, también es cierto que nadie en su sano juicio conectaría una red inalámbrica abierta al servidor de la red de comercio de una tienda física. Sin embargo, esto no significa que la decisión no sea una decisión de la administración de riesgos. Lo es. Se puede elegir hacerlo y, en ese caso, debería cargar con las consecuencias (que desafortunadamente no suelen suceder).
El paso clave que se debe llevar a cabo es articular con claridad el problema en el que debe centrarse, las soluciones propuestas a dicho problema, y los pros y contras de cada una. Una vez que ha realizado todo esto, tendrá la información necesaria para tomar una decisión bien documentada acerca de la administración de riesgos. Sin dicha información, tomará las decisiones en función de una corazonada, y éstas son las que suelen salir mal.

Jesper M. Johanssones un arquitecto de software que trabaja en el campo del software de seguridad y es editor colaborador de TechNet Magazine. Tiene un doctorado en sistemas de información de administración, más de 20 años de experiencia en el ámbito de la seguridad y es MVP de Microsoft en seguridad empresarial. Su último libro es Windows Server 2008 Security Resource Kit.
Roger Grimes (CPA, CISSP, ingeniero de sistemas de Microsoft (MCSE) de seguridad), consultor jefe de seguridad del equipo ACE de Microsoft, es autor y colaborador de ocho libros acerca de seguridad de equipos, y autor de más de 200 artículos. Es ponente habitual en congresos de seguridad y columnista especializado en seguridad de InfoWorld.
© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos. Queda prohibida la reproducción parcial o total sin previa autorización.


Seguridad
Nuevos PowerToys de elevación para Windows Vista
Michael Murgolo
De un vistazo:
  • Ejecución como administrador para herramientas de scripting de terceros
  • Ejecución como otro usuario
  • Símbolo del sistema de CMD y PowerShell aquí como PowerToys del sistema
  • Gadget de elevación de arrastrar y colocar
Descargar el código de este artículo: Elevation2008_06.exe (197KB)

Esta es otra edición de los PowerToys de elevación para Windows Vista. Analicé este tema en el número de junio de 2007 de TechNet Magazine. Y aquí estamos, un año más tarde. Esta vez, quiero mostrar cómo amplié la funcionalidad de ejecución como administrador para que funcione con algunas
de mis herramientas favoritas de scripting de terceros, mostrar cómo reemplazar una función útil de Windows® XP que se eliminó de Windows Vista® y analizar algunas de la herramientas útiles que se incluyen en los PowerToys de elevación.

Ejecución como administrador para herramientas de scripting adicionales
Un tema que traté en el artículo anterior (disponible en technet.microsoft.com/magazine/cc162321.aspx) fue la habilitación de la opción de ejecución como administrador para las herramientas nativas de scripting de Windows. Para este artículo, creé PowerToys de ejecución como administrador para algunas herramientas de scripting de terceros:
  • AutoIt v3 (www.hiddensoft.com)
  • AutoHotkey (www.autohotkey.com)
  • ActivePerl (www.activestate.com)
  • KiXtart 2010 (www.kixtart.org)
El código para cada una de estas herramientas se incluye en la descarga de este artículo, disponible en technetmagazine.com. Los archivos reales se denominan ElevateAutoIt3.inf, ElevateAutoHotKey.inf, ElevatePerlScript.inf y ElevateKiXtart.inf, respectivamente. Para AutoIt v3, AutoHotkey y ActivePerl, la instalación es muy sencilla. Sólo tiene que descargar la aplicación correspondiente e instalarla en la ubicación predeterminada. Una vez instaladas las aplicaciones deseadas, puede instalar el PowerToy de ejecución como administrador adecuado para cada herramienta.
Lamentablemente, KiXtart 2010 no ofrece un instalador. Por lo tanto, para asegurarse de que KiXtart se instala en una ubicación estándar para el correcto funcionamiento del PowerToy, he proporcionado un archivo INF que instalará KiXtart 2010 (V 4.60) en Archivos de Programa\KiXtart y registrará la extensión de archivo de .kix.
Vaya a www.kixtart.org/?p=downloads, descargue el archivo KiX2010_460.zip y descomprímalo en una carpeta. Copie el archivo Install_KiXtart.inf (que se incluye en la descarga de código que acompaña este artículo) en la misma carpeta. A continuación, haga clic con el botón secundario del mouse en Install_KiXtart.inf y seleccione Install. Entonces, podrá instalar PowerToy ElevateKiXtart.inf.

PowerToy de ejecución como otro Usuario
La opción Control de cuentas de usuario (UAC) se creó para reducir la vulnerabilidad del sistema operativo ante malware al obligar a los usuarios, incluso los administradores, a ejecutar la mayoría de las aplicaciones con privilegios estándar de usuario. UAC ofrece elevación eficaz para tareas administrativas y otras funciones de aplicación. Este potencial de elevación se proporciona a través de la opción de ejecución como administrador, que se obtiene al hacer clic con el botón secundario del mouse en archivos ejecutables. Los PowerToys de elevación que traté en el número de junio de 2007 ampliaron esta capacidad para que funcione en otros tipos de archivo y objetos.
La funcionalidad integrada en Windows Vista funciona muy bien para muchas tareas administrativas. Sin embargo, una situación importante ha quedado fuera en Windows Vista. Un gran número de departamentos de TI tienen una directiva en la que los administradores de red usan una cuenta de usuario para sus tareas diarias (correo electrónico, creación de documentos, etc.) y otra cuenta que se usa sólo para administración de red (o la administración de equipos locales).
Esto sirve para ayudar a reducir el riesgo de forma que si un administrador de red ejecutase accidentalmente malware durante sus tareas diarias, no ponga en peligro todo el sistema o el dominio en el que se encuentra. Esto se logró en Windows XP mediante la opción contextual Ejecutar como... Pero esta opción desapareció en Windows Vista porque se reemplazó con la opción Ejecutar como administrador.
Sin embargo, la herramienta de línea de comandos runas aún existe en Windows Vista. Lamentablemente, no se puede usar para las tareas más comunes de cuenta doble: la ejecución de complementos de Microsoft® Management Console. Por ejemplo, supongamos que es responsable de realizar algunas tareas de administración de cuentas en Active Directory®. Ejecuta como usuario estándar para las tareas diarias y la cuenta de administración de red también es miembro del grupo de administradores local (de modo que puede instalar herramientas de administración de red cuando sea necesario) en un equipo Windows Vista con UAC habilitado. Ahora desea iniciar usuarios y equipos de Active Directory (ADU&C) con la cuenta de administración de Active Directory, por lo que intenta usar el comando runas, tal como se indica a continuación:
runas /user:mydomain\admin
"mmc.exe %windir%\system32\dsa.msc"
Lamentablemente, eso no inicia ADU&C. En cambio, recibe un error runas "La operación solicitada requiere elevación". Lo que sucede en este caso es que el archivo ejecutable de MMC está marcado para ejecutar en el nivel del privilegio highestAvailable. Dado que el nivel highestAvailable de la cuenta de administración de red se ejecuta como administrador, el inicio de ADU&C de esta manera requeriría elevación. Puesto que runas no provoca ningún mensaje para la elevación, se produce el error.
Por lo tanto, Windows Vista dificulta esta situación porque no ofrece ningún elemento de menú contextual para la opción Ejecutar como... ni ningún medio integrado para ejecutar un proceso como otro usuario que requiere la elevación.
Si no hubiera solución, sería un artículo frustrante pero, por suerte, uno de los PowerToys de elevación originales proporciona la clave para resolver el segundo problema, y he creado otro para resolver el primero. (Me gustaría poder decir que la solución al problema de elevación era mía, pero fue idea de Gov Maharaj del equipo de Windows AppCompat.)
Resulta que el PowerToy de elevación del comando se puede usar con el comando runas. Donde el comando anterior no creó ningún mensaje de elevación, el código siguiente provocará el mensaje:
runas /user:mydomain\admin
"elevate mmc.exe%windir%\system32\dsa.msc"
Esto hace que runas inicie eleva.cmd (técnicamente, el proceso que se inicia es cmd.exe) como el otro usuario, y el comando de elevación se encarga de iniciar mmc.exe con un mensaje de elevación.
Por último, yo he tomé esta artimaña, la combiné con asociaciones de archivo .exe y .msc y le asigné una IU de aplicación HTML para crear un PowerToy que crea una opción de ejecución como otro usuario disponible a través del menú contextual. Al seleccionar Ejecutar como otro usuario, obtiene una aplicación HTML como la que se muestra en la figura 1.
Figura 1 Herramienta de ejecución como otro usuario
Figura 1 Herramienta de ejecución como otro usuario (Hacer clic en la imagen para ampliarla)
Aquí, simplemente escriba el nombre de usuario y el dominio; para una cuenta en el equipo local, active la casilla Use Local Account. A continuación, puede hacer clic en el botón Run para iniciar la aplicación como usuario estándar, o bien puede hacer clic en el botón Run as Admin para iniciar la aplicación con privilegios elevados. Tras hacer clic en cualquiera de estos dos botones, runas.exe ejecutará y solicitará una contraseña o código PIN de tarjeta inteligente.
Dado que este PowerToy usa el PowerToy de comandos de elevación, deberá instalarlo primero. A continuación, haga clic con el botón secundario del mouse en el archivo RunAs.Inf, seleccione Install y autorice la elevación. Para desinstalar la herramienta, use la función Programas y características del Panel de control.
Verá que algunos de los accesos directos a los archivos .msc de las herramientas administrativas, tal como Administración de equipos, funcionará con este PowerToy. Sin embargo, tenga en cuenta que si instala las herramientas administrativas de Windows Server® 2003 mediante adminpak.msi, los accesos directos creados no serán los estándar a los archivos .msc. En cambio, son accesos directos de Windows Installer y, como resultado, Explorador de Windows no mostrará la opción de ejecución como otro usuario para ellos.
Para dichos accesos directos, deberá buscar los archivos .msc reales y hacer clic con el botón secundario del mouse en ellos o crear accesos directos nuevos a archivos .msc. Además, runas no funciona con Internet Explorer® debido a la manera en que se cambió la estructura de Internet Explorer para la opción de modo protegido de Windows Vista (encontrará información adicional relacionada con este problema en support.microsoft.com/?id=922980).
Nota: desde que terminé estos PowerToys hasta la publicación de este artículo, Windows Sysinternals lanzó al mercado una nueva herramienta que funcionalmente es muy similar al PowerToy de ejecución como otro usuario. Se llama ShellRunas y se encuentra en el sitio de Windows Sysinternals: technet.microsoft.com/sysinternals/cc300361.
Dado que la gente de Sysinternals se dedica a la escritura de código verdadero, quizás prefiera usar esa herramienta. Decidí dejar la mía en el artículo como ejemplo de cómo se puede realizar esta tarea en particular y las extensiones de shell en general mediante aplicaciones HTML con código script.

Símbolo del sistema de CMD y PowerShell aquí como sistema
A veces, es necesario ejecutar programas en el contexto de sistema local. Por ejemplo, muchas herramientas de distribución de software, tal como System Center Configuration Manager (SCCM), usan un agente de cliente que se ejecuta como sistema local para realizar sus tareas.
Para probar el comportamiento de un programa de instalación de software que se ejecuta como sistema local antes de intentar una distribución con un producto como, por ejemplo SCCM, puede ser útil iniciar el instalador mediante un símbolo del sistema que se ejecute como sistema local. Por lo tanto, comencé la creación del Símbolo del sistema de CMD y PowerShell aquí como PowerToys del sistema.
Cuando usaba Windows XP, lograba una función de este tipo con un script de shell de comandos:
@echo off
sc create CmdAsSystem type= own type= interact
binPath= "cmd /c start cmd /k (cd c:\ ^& color ec ^&
title ***** SYSTEM *****)"
net start CmdAsSystem
sc delete CmdAsSystem
Sin embargo, si intenta ejecutar esto desde un símbolo del sistema elevado en Windows Vista, aparecerá el siguiente mensaje de error y no aparecerá el símbolo del sistema que se ejecuta como sistema:
ADVERTENCIA:  El servicio CmdAsSystem está configurado como interactivo y se desaprueba su soporte técnico. Puede que el servicio no funcione correctamente.
El problema es que este script intenta crear e iniciar un servicio interactivo. Los servicios interactivos no funcionarán correctamente debido al aislamiento de la sesión 0 en Windows Vista. (Para obtener una explicación del aislamiento de la sesión 0, consulte el artículo acerca de los servicios de Windows Vista disponible en microsoft.com/whdc/system/vista/Vista_Services.mspx.)
Para resolver esta limitación, usé la herramienta Psexec desarrollada por Sysinternals (consulte technet.microsoft.com/sysinternals/bb897553.aspx). Esta herramienta permite iniciar procesos en el contexto del sistema. Lamentablemente, la mayoría de las herramientas de Sysinternals no incluye instalador. Por lo tanto, proporcionó un archivo INF (disponible en la descarga de código) para instalar el conjunto de Sysinternals Suite (que incluye Psexec) en Archivos de Programa\Sysinternals Suite. Como beneficio extra, este archivo INF crea accesos directos de menú de inicio para las herramientas gráficas del conjunto.
Para instalar el conjunto, primero descargue el archivo SysinternalsSuite.zip de technet.microsoft.com/sysinternals/bb842062.aspx y descomprímalo en una carpeta. Copie el archivo INF (Install_SysinternalsSuite.inf) en la misma carpeta, haga clic con el botón secundario del mouse en Install_SysinternalsSuite.inf y seleccione Install. Dado que estos nuevos PowerToy usan el PowerToy de comandos de elevación, instale ahora dicho componente. A continuación, puede instalar CmdHereAsSystem.inf y PowerShellHereAsSystem.inf. Una vez instalados dichos PowerToys, tendrá disponibles las opciones de Símbolo del sistema de CMD y PowerShell aquí como PowerToys del sistema como elementos de menú contextual para las carpetas y las unidades de disco en Explorador de Windows, tal como se puede observar en la figura 2.
Figura 2 Opciones de Símbolo del sistema de CMD y PowerShell aquí como PowerToys del sistema
Figura 2 Opciones de Símbolo del sistema de CMD y PowerShell aquí como PowerToys del sistema
La figura 3 muestra un símbolo del sistema de CMD que se ejecuta como sistema. Seleccioné colores brillantes como recordatorio que este símbolo del sistema se ejecuta como sistema y puede hacer cosas inesperadas (y malintencionadas) al sistema si se entran comandos incorrectos.
Figura 3 El símbolo del sistema de CMD como Sistema se debe usar de manera responsable
Figura 3 El símbolo del sistema de CMD como Sistema se debe usar de manera responsable
Por último, estos PowerToys agregan comandos al sistema para que los símbolos del sistema se puedan iniciar en el cuadro de diálogo Ejecutar o en un símbolo del sistema de CMD. Por ejemplo, si se ejecuta el siguiente comando desde el cuadro Ejecutar, se iniciará un símbolo del sistema CMD como sistema en la carpeta Windows:
cmdassystem "c:\windows"
El comando equivalente para Windows PowerShellTM es psassystem. Debe tener en cuenta que también modifiqué el Símbolo del sistema de CMD y PowerShell aquí como PowerToys del sistema para instalar comandos similares; cmdasadmin y psasadmin, respectivamente.

Gadget de elevación
La mayor parte de los PowerToys requieren hacer clic en el botón secundario del mouse. Pero como beneficio extra para esta actualización, he incluido algo un poco más divertido. Es un gadget de la barra lateral de Windows, que he denominado Gadget de elevación (figura 4). Se trata de un objetivo de arrastrar y colocar. Simplemente arrastre desde Explorador de Windows un archivo ejecutable o script con acción runas definida y se iniciará como elevado.
Figura 4 Gadget de elevación de arrastrar y colocar
Figura 4 Gadget de elevación de arrastrar y colocar
Si instaló los PowerToys de elevación anteriores, entonces esto funcionará para los scripts de Windows Script Host, los scripts de Windows PowerShell, las aplicaciones HTML y los paquetes y las revisiones de Windows Installer (así como los archivos ejecutables y scripts de shell de comandos que tienen una acción runas definida de forma predeterminada en Windows Vista). Además, también puede arrastrar más de un elemento a la vez. (Intente arrastrar una carpeta al gadget y vea que sucede.)
Para instalar el gadget, haga doble clic en Elevation.gadget (disponible en la descarga de código). Si desea echar un vistazo al código del gadget, agregue la extensión .cab al nombre de archivo. A continuación, podrá extraer el contenido del archivo CAB.

Conclusión
La descarga de este artículo contiene tanto los PowerToys nuevos y como los del artículo original. He realizado pequeños cambios a algunos de los anteriores. Por ejemplo, las versiones originales de Símbolo del sistema Windows PowerShell aquí como Administrador y de Elevación de script WSH instalaban sus propias copias de elevate.cmd y elevate.vbs. Dado que un gran número de los nuevos PowerToys también dependen de estos archivos, cambié estas herramientas de modo que requieren la instalación del PowerToy de comandos de elevación (par que puedan compartir dicha copia). Para determinar si un PowerToy requiere la instalación del PowerToy de comandos de elevación, compruebe el encabezado del archivo INF.
Algunos otros PowerToy originales también fueron sometidos a pequeños cambios no funcionales. Siempre desinstale la versión anterior de un PowerToy antes de instalar la nueva. Dado que esta colección ahora se ha ampliado a 17 herramientas, he incluido scripts de shell de comandos para instalar y desinstalar todo el conjunto (InstallAllPowerToys.cmd y UninstallAllPowerToys.cmd, respectivamente). Puede personalizar estos scripts para instalar y desinstalar sólo las herramientas que necesita usar.
Debe tener en cuenta que, de manera predeterminada, InstallAllPowerToys.cmd no instala los PowerToys de ejecución como administrador para las herramientas de scripting de terceros. Puede modificar este script para instalar sólo los PowerToys para los que tiene instalado el software. Cuando ejecute cualquiera de ellos, se volverá a iniciar como elevado. UninstallAllPowerToys.cmd también debería eliminar todas las versiones anteriores de estas herramientas.
Al igual que todos los PowerToys, son herramientas no compatibles que debe usar bajo su propia responsabilidad. Y no se trata de productos oficiales de Microsoft; son mis propias creaciones personales. Únicamente yo y algunos voluntarios los han probado en Windows Vista de 32 bits con inglés de EE. UU. como idioma predeterminado. Por último, es posible que alguno o todos estos PowerToys no funcionen con futuras actualizaciones de Windows, Service Packs o versiones de sistema operativo.

Michael Murgolo es consultor jefe de infraestructuras de Servicios de consultoría de Microsoft (Microsoft Consulting Services, MCS). Su trabajo se centra en sistemas operativos, implementación, servicios de red, Active Directory, administración de sistemas, automatización y administración de revisiones. Es un experto en materia de implementación y migración de escritorios.


Seguridad
Avances en el Cifrado de unidad BitLocker
Byron Hynes
De un vistazo:
  • Mejoras en BitLocker
  • Obtener e instalar BitLocker
  • Uso de BitLocker en un servidor
  • Consideraciones para la protección completa de datos

En el número del año pasado de TechNet Magazine acerca de la seguridad, presenté algunas de las características de Cifrado de unidad BitLocker de Windows para mostrar cómo se implementó en la versión inicial de Windows Vista. Ahora, con el lanzamiento de Service Pack 1 para
Windows Vista® y el nuevo sistema operativo Windows Server ® 2008, ha llegado el momento de volver a visitar BitLocker®.
En este artículo trataré algunos de los cambios incluidos en la última versión, ofreceré información general acerca de la instalación y el uso de BitLocker en un servidor, y describiré algunas consideraciones que han surgido recientemente y que hay que tener en cuenta. (A propósito, para leer el artículo del año pasado, "Claves para la protección de datos con Cifrado de unidad BitLocker", vaya a technet.microsoft.com/magazine/cc138009.aspx.)

Novedades
Los cambios incorporados en esta versión de BitLocker proporcionan una flexibilidad nueva sin modificar ninguna operación básica. Los cambios que repasaré son la compatibilidad con volúmenes de datos; la autenticación de tres factores para el acceso al equipo; compatibilidad con Unified Extensible Firmware Interface (UEFI), el nuevo firmware estándar del sector para sistemas de 64 bits; protección mejorada contra ataques de cifrado en los metadatos del volumen; y el uso aumentado del Módulo de plataforma segura (TPM).

Volúmenes de datos
Cuando se lanzó Windows Vista inicialmente, el panel de control de BitLocker sólo permitía activar el cifrado para el volumen del sistema operativo de Windows® (generalmente la unidad C:). Para muchos consumidores, esto era suficiente, ya que los equipos domésticos suelen configurarse con todos los datos y programas del usuario almacenados en el mismo volumen que el sistema operativo. No obstante, en las empresas y, especialmente, en los servidores, este no suele ser el caso. Como resultado, una de las solicitudes más comunes que recibimos de los clientes era la capacidad de cifrar volúmenes de datos, es decir, volúmenes distintos del volumen del sistema operativo instalados en el equipo (tenga en cuenta que BitLocker no está diseñado para cifrar medios extraíbles).
Como se puede observar en la figura 1, hay tres volúmenes que se pueden usar en este equipo. (En realidad, hay cuatro si se incluye la pequeña partición activa que se usa para el inicio.) Mi sistema operativo está instalado en la unidad C: (en realidad, esto se puede ver gracias al marcador de Windows del icono). También hay dos volúmenes de datos, E: y P:. El volumen P: ya se cifró con BitLocker y ahora está bloqueado. El volumen E: aún no está cifrado. En Windows Vista SP1 y Windows Server 2008, se pueden cifrar y desbloquear estos volúmenes de datos desde el applet del panel de control de BitLocker.
Figura 1 La interfaz de Bitlocker
Figura 1 La interfaz de Bitlocker (Hacer clic en la imagen para ampliarla)
Si el volumen del sistema operativo está cifrado con BitLocker, el comportamiento predeterminado es que los volúmenes de datos cifrados se desbloquean cada vez que se desbloquee el volumen del sistema operativo. Si usa el panel de control para desbloquear un volumen de datos, puede ver esta opción presentada como una casilla, tal como se indica en la figura 2.
Figura 2 Guardado de claves para el desbloqueo automático
Figura 2 Guardado de claves para el desbloqueo automático (Hacer clic en la imagen para ampliarla)
Para activar o desactivar el desbloqueo automático de un volumen de datos, use la herramienta de línea de comandos manage-bde.wsf. manage-bde.wsf es un script muy eficaz que se incluye con Windows y que usa los proveedores subyacentes de Instrumental de administración de Windows (WMI) instalados con BitLocker.
Por ejemplo, para marcar el volumen de datos P: de forma que se deba desbloquear manualmente, use el siguiente comando:
manage-bde.wsf –autounlock –disable P:
Para volver a activar el desbloqueo automático para el volumen P:, use:
manage-bde.wsf –autounlock –enable P:
El panel de control de BitLocker no expone todo que se puede hacer con BitLocker y los volúmenes de datos, por lo que debería usar la opción -? para explorar los comandos manage-bde.wsf. La sintaxis de manage-bde.wsf también se incluye en la Guía de diseño de cifrado de unidad BitLocker de Windows y la Guía de implementación de Windows BitLocker disponibles en el Centro de descarga de Microsoft en go.microsoft.com/fwlink/?LinkId=115215.

TPM+USB+PIN
Los clientes también querían poder usar factores de autenticación adicionales con BitLocker. BitLocker usa el chip TPM del equipo para comprobar la integridad de la plataforma; es decir, para comprobar que ni se han alterado ni dañado los componentes de inicio iniciales. Sin embargo, desde el lanzamiento de Windows Vista, puede que también necesite un código PIN o la presencia de una unidad USB que contenga una clave creada al habilitar BitLocker.
Con Windows Server 2008 y Windows Vista SP1, ahora puede combinar los tres métodos. El TPM comprueba la integridad de la plataforma, la clave USB representa "algo que tiene" y el código PIN representa "algo que sabe". Esta configuración le ofrece una protección muy eficaz para impedir que los usuarios no autorizados puedan iniciar el equipo y desbloquear unidades de disco protegidas por BitLocker.
No obstante, al igual que ocurre con otros muchos aspectos relacionados con la seguridad, esto representa una contrapartida. Evidentemente, al configurar BitLocker de esta forma, un equipo no puede reiniciarse de forma automática. En el caso de un servidor, por ejemplo, debe decidir qué es más importante: un reinicio perfecto o niveles más altos de protección.

Compatibilidad UEFI
Con Windows Server 2008 y Windows Vista SP1, también se agregó compatibilidad para equipos con Unified Extensible Firmware Interface (UEFI). UEFI es una especificación que representa una modernización del BIOS tradicional que usa la mayoría de los equipos al iniciar. Para obtener más información acerca la especificación UEFI, vaya a www.uefi.org.

Mayor protección
Cuando BitLocker detecta que se ha modificado el sistema, o bien si un código PIN o tecla USB obligatorios no están disponibles al iniciar, BitLocker entra en modo de recuperación. En este modo, los volúmenes habilitados con BitLocker permanecen bloqueados y el usuario recibe un cuadro de diálogo de texto denominado Consola de recuperación.
Para desbloquear la unidad, el usuario debe especificar una contraseña de recuperación (un número de 48 dígitos) desde el teclado o desde una unidad flash USB. (Cuando se almacena en una unidad flash USB, la contraseña a veces se denomina clave de recuperación, porque tiene un formato binario en lugar de un formato de texto).
BitLocker usa la contraseña de recuperación para descifrar las claves almacenadas en los metadatos del volumen, es decir, la clave maestra del volumen (VMK) y, a continuación, la clave de cifrado de volumen completo (FVEK), para desbloquear la unidad. Para que la recuperación se realice correctamente, debe estar disponible una copia de la contraseña de recuperación.
Por este motivo, además del almacenamiento por parte del usuario (por ejemplo, una unidad flash USB), también es recomendable almacenar la contraseña de recuperación de forma centralizada. El sistema operativo incluye funcionalidad para almacenar contraseñas de recuperación en los servicios de dominio de Active Directory® (ADDS).
Las contraseñas almacenadas en los metadatos del volumen, como, por ejemplo, la VMK, se cifran y la integridad de todos los metadatos del volumen se protege mediante cifrado. Si BitLocker detecta que los metadatos del volumen han sido alterados, se negará a usarlos y no desbloqueará ninguno de los volúmenes protegidos. Tenga en cuenta que sólo con la contraseña de recuperación no se desbloqueará una unidad en este estado.
Es importante enfatizar que esta situación sólo se produce con un ataque deliberado contra la seguridad del equipo. Si sucede, es muy probable que el equipo ya se encuentre en manos de un usuario malintencionado y fuera de su control. Esto no se producirá a partir de un simple cambio imprevisto en la plataforma ni si se olvida el código PIN.
Para desbloquear el volumen, necesitará los tres elementos siguientes:
  • La contraseña de recuperación (como texto que se debe especificar en una unidad flash USB).
  • El paquete de claves binarias que incluya las versiones cifradas de la FVEK y la VMK.
  • La herramienta de reparación de BitLocker.
En resumen, deberá asegurarse de que la empresa siempre tiene acceso a todos estos elementos.
Se puede crear una copia de seguridad de la contraseña de recuperación de forma manual o automática. Es recomendable usar la configuración de directiva de grupo para realizar copias de seguridad de la contraseña de recuperación de forma automática en los servicios de dominio de Active Directory.
Al configurar esta opción, tal y como se muestra en figura 3, incluya la opción para realizar copias de seguridad del paquete de claves binarias. El paquete de claves binarias incluye versiones cifradas de la VMK y la FVEK, lo que permite usar la herramienta de reparación de BitLocker, si fuera necesario.
Figura 3 Configuración de la directiva de grupo para incluir paquetes de claves en la información de recuperación
Figura 3 Configuración de la directiva de grupo para incluir paquetes de claves en la información de recuperación (Hacer clic en la imagen para ampliarla)
La herramienta de reparación de BitLocker está diseñada para ayudar a recuperar los datos de discos dañados con BitLocker habilitado. Tenga en cuenta que se trata de una herramienta avanzada, destinada para su uso por parte de administradores experimentados. Para obtener más información acerca de la herramienta de reparación de BitLocker, lea el artículo de Microsoft Knowledge Base en support.microsoft.com/kb/928201, o consulte mi webcast acerca de Microsoft BitLocker en la empresa: Herramientas de BitLocker para facilitar la vida (que incluye una demostración en directo), en go.microsoft.com/fwlink/?LinkId=114985.
Ahora es un buen momento para indicar que BitLocker no reemplaza la necesidad de realizar copias de seguridad de los datos. Si se daña el disco o éste ha recibido un ataque deliberado, no hay garantía de que la herramienta de reparación de BitLocker pueda recuperar ni siquiera parte de los datos.

Uso más amplio de TPM
Técnicamente, no supone un cambio de BitLocker, pero resulta suficientemente interesante como para mencionarlo. Antes de SP1, la única parte del sistema operativo de Windows que usaba TPM era BitLocker, pero ahora también hay otras funciones que usan TPM. En primer lugar, cuando Windows detecta que hay disponible un TPM, lo usa como fuente de entropía aumentada al generar números aleatorios. Esto mejora la calidad de todos los tipos de cifrado (y puede, incluso, ayudar también al rendimiento de los juegos).
No obstante, esto también significa que no todos los eventos relacionados con el TPM que aparecen en el visor de eventos tienen que estar relacionados con BitLocker necesariamente. Como profesional de la TI, quizás desee saber qué otros componentes del sistema (y probablemente software de otros proveedores) pueden hacer uso del TPM y, por lo tanto, provocará el registro de eventos.

Cambios en BitLocker en Windows Server 2008
Debido al código base compartido entre Windows Vista y Windows Server 2008, los cambios en BitLocker incluidos en SP1 forman parte de Windows Server 2008, pero, ¿por qué BitLocker es importante en un servidor? Después de todo, por su diseño, BitLocker protege un equipo contra ataques sin conexión. Es decir, BitLocker no ofrece protección a un sistema en ejecución y, generalmente, se espera que los servidores estén en ejecución de forma permanente.
Resulta que hay situaciones en las que un servidor, o un disco duro de un servidor, podría estar expuesto a un ataque sin conexión. Incluso si esto nunca suceda, BitLocker puede ayudar significativamente a la hora de retirar de servicio un servidor o un disco duro, tal y como verá más adelante. En primer lugar, veamos cómo instalar y ejecutar BitLocker en un servidor.

Obtener e instalar BitLocker
BitLocker se incluye en todas las ediciones de Windows Server 2008, pero es un componente o característica opcional, que se instala desde el administrador de servidores o la línea de comandos. BitLocker se implementa, en parte, como un controlador de filtros de NTFS. La instalación de este controlador de filtros necesita que se reinicie del equipo, por lo que deberá saber que la activación de BitLocker en un servidor necesitará un reinicio. Asimismo, al igual que ocurre con Windows Vista, BitLocker necesita una configuración de carga dividida, en la que la partición activa que se usa para iniciar el equipo se queda sin cifrar. La herramienta de preparación de unidad BitLocker está disponible para ayudar a configurar correctamente los discos duros y hacer que sean compatibles con BitLocker si el servidor no está preconfigurado así del fabricante. Sin embargo, si prefiere usar particiones de unidades de disco, puede configurar los discos duros manualmente.
Para instalar BitLocker en Windows Server 2008, puede usar la interfaz gráfica del administrador de servidores para seleccionar BitLocker de la lista de características, tal como se muestra en la figura 4. Asimismo, puede usar la interfaz de línea de comandos del administrador de servidores mediante el siguiente comando:
Figura 4 Selección de BitLocker en el administrador de servidores
Figura 4 Selección de BitLocker en el administrador de servidores (Hacer clic en la imagen para ampliarla)
ServerManagerCmd –install BitLocker –restart
Al usar el administrador de servidores, éste instala BitLocker y las herramientas de administración correspondientes. También puede instalar los componentes de administración sin tener que instalar BitLocker. Esto evita la necesidad de reiniciar, ya que no se incluye el controlador de filtros. El nombre de este componente es "RSAT-BitLocker".
BitLocker funciona correctamente en equipos que ejecutan la opción de instalación Server Core, pero no puede usar el administrador de servidores para instalar BitLocker en Server Core ni usar la interfaz gráfica de usuario para administrar BitLocker en Server Core. En cambio, para instalar los componentes, use las herramientas de la línea de comandos pkgmgr u ocsetup.
Una vez que tenga instalados los códigos binarios de BitLocker y los discos configurados en la configuración de carga dividida necesaria, puede habilitar BitLocker en el volumen del sistema operativo. El applet del panel de control de BitLocker tiene los mismos iconos y opciones en Windows Server 2008 que los de Windows Vista SP1. Para habilitar los modos avanzados de BitLocker, deberá ajustar la configuración predeterminada mediante el editor de directivas local o un objeto de directiva de grupo que se aplique al servidor.
En Server Core, o si no desea usar el panel de control, puede usar manage-bde.wsf para habilitar BitLocker. Para habilitar BitLocker en la unidad C:, escriba
manage-bde.wsf –on C: -RecoveryPassword –RecoveryKey F:\
donde C: es el volumen que se debe cifrar y F:\ es una clave USB u otro volumen en el que se almacenará una copia de la clave de recuperación (en el formato binario). También puede usar una ruta de acceso UNC para almacenar la clave de recuperación en una unidad de red. Además, se generará y se mostrará una contraseña de recuperación (en formato de texto numérico). Quizás desee agregar el parámetro –skiphardwaretest si está seguro de que la plataforma de hardware cumple todos requisitos de BitLocker. Esto le ahorrará un reinicio.

Situaciones de servidor
Ahora hablemos de algunas situaciones específicas en las que BitLocker es de gran utilidad para los servidores. Tenga en cuenta que, tal y como mencioné anteriormente, BitLocker está diseñado para ayudarle a protegerse contra ataques sin conexión (el tipo de ataques que se llevan a cabo cuando no se ejecuta Windows).
Sucursales Uno de los primeros y principales usos de BitLocker en un servidor es como parte de la estrategia de sucursal de Windows Server 2008. Entre una cuarta y una tercera parte de los servidores están instalados en sucursales (es decir, las oficinas que pueden tener un nivel inferior de seguridad, menor acceso al soporte técnico de TI y quizás menor conectividad a los centros de datos). Las sucursales también son un objetivo muy atractivo para los ataques. Junto con características como, por ejemplo, controladores de dominio de sólo lectura (RODC), BitLocker puede ayudar a proteger los datos confidenciales que se deben almacenar en una sucursal para ser de utilidad, pero que no están protegidos físicamente como lo estarían quizás en un centro de datos.
Ahora es un buen momento para reflexionar acerca del nivel correcto de protección. ¿Qué es más importante? ¿Impedir un acceso no autorizado a los datos o exigir que un servidor vuelva a iniciarse inmediatamente y sin intervención? Mi sugerencia es que en muchas sucursales, sería buena idea exigir la escritura de un código PIN para reiniciar un servidor, pero eso es una decisión que debe realizar cada empresa de forma individual.
Discos durante el transporte A menudo, es necesario transportar datos en un disco duro a una ubicación lejana. Esto puede incluir el transporte de un solo disco o la preconfiguración y el transporte de servidor completo. Durante el transporte, los datos en dichos discos están fuera de su control y alguien podría copiarlos, perderlos o robarlos.
Para mitigar este riesgo, habilite BitLocker en dichos volúmenes en el equipo antes del transporte y, a continuación, quite todos los protectores de clave salvo una clave o contraseña de recuperación. Esta clave o contraseña se puede transportar por separado o, incluso, se puede comunicar por teléfono o correo electrónico cifrado al personal de destino. Al recibir el equipo o el disco, se puede desbloquear la unidad con la contraseña de recuperación. La unidad se puede dejar cifrada (volver a agregar otros protectores de clave), o bien se puede descifrar el disco por completo tras la entrega, si así lo desea.
Esta es una forma especialmente eficaz de preparar los controladores de dominio o servidor para las sucursales.
Robo de un servidor Tal y como se indicó en la sección anterior, existe un riesgo real de que se produzca el robo de un servidor (especialmente un controlador de dominio). Los ladrones pueden llevarse un equipo portátil al presentarse la oportunidad, pero un servidor puede ser un objetivo cuidadosamente elegido. Si BitLocker se configura para que sólo exija la comprobación de integridad de TPM, el servidor robado simplemente podría encenderse y arrancarse. En cambio, si las unidades en un servidor están protegidas mediante BitLocker y este último se configura en modo avanzado (requerir una clave USB, un código PIN, o ambos elementos), a los ladrones les resultaría mucho más difícil obtener información de utilidad en un marco de tiempo razonable.
Robo de un disco Por el contrario, si sólo se roba un disco, el TPM ofrece una gran protección. Sólo se puede usar el TPM del servidor original para desbloquear la unidad protegida mediante BitLocker, por lo que el disco no se puede insertar en otro equipo para su lectura sin más.
Exposición reducida Al pedir hardware de servidor que incluya un chip de TPM y usar la comprobación de la integridad de la plataforma de BitLocker, aumenta la defensa contra algunas formas de código malintencionado (malware). En concreto, BitLocker detectará los cambios realizados mientras que Windows está sin conexión o los cambios realizados a los componentes de inicio iniciales, especialmente, si el código malintencionado (por ejemplo, un kit de raíz) necesita que se reinicie el equipo para su instalación. Esta no es una solución completa, pero cuando se combina con características como, por ejemplo, la integridad de código de Windows y productos como Seguridad de cliente Microsoft® ForefrontTM, resulta otro nivel de defensa eficaz.
Retiro de servicio seguro Una de las situaciones más útiles para BitLocker se produce al final del ciclo de vida de un servidor o disco. ¿Cuántas veces ha oído que los servidores o sus discos se desechan sin realizar un retiro de servicio seguro adecuado? ¿Sabía que los discos duros usados a veces se venden a un mayor precio en los sitios de subasta que los discos nuevos, ya que los compradores poco escrupulosos esperan obtener información de utilidad de ellos?
Por suerte, en lugar de emprender un proceso costoso y complicado para limpiar los datos útiles del disco, BitLocker permite adoptar otro enfoque. Básicamente, no se escribe ninguna información en un formato útil. Ya que los datos cifrados no se pueden usar, la eliminación de toda la información clave se convierte en un paso rápido y sencillo. Después de eso, no importa lo que le ocurra al hardware del disco, se puede vender, reciclar, remodelar, etc., sin tener que preocuparse por que los datos caigan en manos equivocadas.
En Windows Vista y Windows Server 2008, el comando de formato se actualizó para eliminar por completo las claves de BitLocker, incluidos varios procesos de sobrescritura. Ahora dispone de una manera sencilla y eficaz de retirar de servicio una unidad de disco.

Noticias recientes
Mientras redacto este artículo, varias semanas antes de que los lectores obtengan una copia de la publicación, varios artículos, informes y noticias recientes han tratado algunas características interesantes de hardware y la forma en que éstas afectan a BitLocker, otras características de seguridad de Windows y otros productos de cifrado de distintos proveedores. Me gustaría tomar un momento para tratar algunas de las conclusiones.
Un artículo publicado por investigadores en la Universidad de Princeton que demostraron (de manera muy eficaz) un rasgo de la memoria informática moderna a veces denominado "remanencia de DRAM" (disponible en citp.princeton.edu/pub/coldboot.pdf). Dicho de manera simple, se puede obtener acceso al contenido de la memoria informática durante cierto período de tiempo tras retirar la fuente de energía de la memoria. BitLocker conserva las claves para descifrar datos en la memoria mientras se ejecuta Windows y principal la preocupación es que usuarios no autorizados puedan obtenerlas.
Otra demostración de Adam Boileau (security-assessment.com/files/presentations/ab_firewire_rux2k6-final.pdf) mostró cómo IEEE 1394 (a menudo llamado FireWire) permite el acceso a la memoria directa (DMA), que se puede usar para conseguir los secretos de Windows, como contraseñas y claves de descifrado. Lo más interesante de esto es que DMA es prácticamente el punto de 1394. No es una brecha de seguridad, sino lo que Firewire está diseñado para hacer.
No obstante, lo que estos dos ataques tienen en común es que necesitan el acceso físico a un equipo en ejecución (o al menos a uno que haya estado en ejecución recientemente). BitLocker no está diseñado para proteger frente a ataques con conexión y no elimina la necesidad de aplicar algún tipo de seguridad física. Una defensa adecuada precisa el uso de diferentes herramientas y características, la creación de un entorno de seguridad física, las esquematización de las directivas corporativas principales y la educación continua de los usuarios.
Además, no se trata de descubrimientos nuevos. Hace tiempo que se conocen y, de hecho, se habla de ellos en el kit de herramientas de cifrado de datos de Microsoft® (DET). El análisis de riesgos que se proporciona en el DET está diseñado para ayudar a los clientes a obtener una seguridad de equilibrio con la utilidad y el costo de implementación y la administración. Esto no es ninguna tontería. Creemos que los clientes informados están mejores equipados para tomar decisiones acerca de las contrapartidas de seguridad, de la utilidad y del costo.
Además del DET, algunos de mis colegas han proporcionado excelentes comentarios y sugerencias. En primer lugar, Russ Humphries habló acerca de los equilibrios de seguridad en el contexto de remanencia de DRAM en su entrada de blog en go.microsoft.com/fwlink/?LinkId=115217. Además, Douglas MacIver escribió acerca de los pasos de configuraciones y contramedidas específicos adicionales que se pueden emplear hoy mismo, en el blog del equipo de integridad del sistema (SUS) en go.microsoft.com/fwlink/?LinkId=115218. Le recomiendo que se tome el tiempo de leer estas dos entradas de blog de gran utilidad. También debería leer el DET.
El elemento clave entre estas recomendaciones es usar un modo avanzado (es decir, uno que requiera una clave USB o un código PIN) y no dejar un equipo desatendido en modo de suspensión (usar el modo de hibernación).

Conclusión
BitLocker sigue siendo una de las características de mayor utilidad de Windows Vista. Con el lanzamiento de SP1, se ha mejorado como respuesta directa a los comentarios de los clientes para permitir un mayor número de situaciones y satisfacer una mayor cantidad de necesidades para la protección de datos. La ampliación de la protección de datos sin usar en Windows Server 2008 ofrece más formas de proteger los datos y mantener el cumplimiento, independientemente de si los datos se almacenan en servidores o en estaciones de trabajo cliente, en el centro de datos, en la sucursal o con un trabajador móvil.

Byron Hynes es estratega de tecnología empresarial en el grupo de empresas y socios de Microsoft (EPG), especializado en las características y los productos de seguridad. Antes de unirse a EPG, trabajó en la división de Windows Server y de manera estrecha con BitLocker (integridad del sistema) desde que 2005. Agradecemos sus comentarios y preguntas. Póngase en contacto con él en Tech•Ed 2008, o envíe un correo electrónico a bhynes@microsoft.com.


Seguridad
Bloqueo de la aplicación mediante directivas de restricción de software
Chris Corio and Durga Prasad Sayana
De un vistazo:
  • Cómo funcionan las directivas de restricción de software
  • Inventario de las aplicaciones de su entorno
  • Creación y aplicación de directivas

Cuando los profesionales de TI tratan de reducir el costo total de propiedad, o TCO, de sus equipos de escritorio, existen dos estrategias clave que se suelen llevar a cabo. La primera es obtener las cuentas
de usuarios de escritorio del grupo Administradores. La segunda es limitar las aplicaciones que pueden ejecutar los usuarios. Enfocar estos problemas en un entorno empresarial puede suponer un reto, pero Windows Vista® ofrece algunas tecnologías que pueden ayudarle a conseguir sus objetivos.
Windows Vista, gracias a su característica Control de cuentas de usuario (UAC), ha realizado un gran paso para ayudar a los profesionales de TI a mover los usuarios de la empresa al grupo Usuarios (usuarios estándar). UAC cambió el contexto predeterminado de seguridad para que, además de los administradores, los usuarios puedan usar todas las aplicaciones. Esta migración al grupo Usuarios es una tarea extraordinaria, pero conforme el sector se vaya ajustando a este nuevo paradigma, esta tarea será cada vez más sencilla.
Tras analizar los retos que supone mover los usuarios al grupo Usuarios, o también a veces durante el proceso, muchos administradores catalogan las aplicaciones que los usuarios necesitan ejecutar y tienen en cuenta los pasos necesarios para permitir únicamente el uso de estas aplicaciones. La característica de la directiva de restricción de software está diseñada para ayudar a los profesionales de TI a hacerlo.
Tan sólo se deben especificar las aplicaciones que se pueden ejecutar y, a continuación, implementar la directiva mediante la directiva de grupo. La aplicación de dicha directiva a través de toda la empresa puede reducir el TCO, ya que este bloqueo limitará los problemas relacionados con las aplicaciones no admitidas. Además, puede usar las directivas de restricción de software de formas interesantes y muy radicales, tal como se indica en la barra lateral "Directiva básica de restricción de software".

Cómo funciona la directiva de restricción de software
La directiva de restricción de software pretende controlar exactamente qué código puede ejecutar un usuario en un equipo con Windows Vista. El administrador crea una directiva que defina lo que puede (o no puede) ejecutarse en su entorno. A continuación, esta directiva se evalúa en el lugar y el momento en que el código se pueda ejecutar. Puede ser durante la creación de un proceso, al llamar a ShellExecute y al ejecutar un script. (En seguida nos centraremos en este aspecto.)
Si se establece que puede ejecutarse una aplicación, se iniciará. No obstante, si se establece que no se puede ejecutar, se bloqueará y se le notificará al usuario. Por ejemplo, si intenta ejecutar el juego Solitario del menú Inicio y no estaba habilitado, aparecerá un cuadro de diálogo similar al que aparece en la figura 1.
Figura 1 Si la aplicación está bloqueada aparece un cuadro de diálogo
Figura 1 Si la aplicación está bloqueada aparece un cuadro de diálogo (Hacer clic en la imagen para ampliarla)
La interfaz de usuario que define una directiva de restricción de software se expone en el editor de objetos de directiva de grupo (GPOE) y es donde se crea la directiva de bloqueo. Existe una serie de métodos para definir el código que se puede ejecutar. Una vez que la directiva está completa y se ha probado, puede implementarla.

Definición de la directiva de restricción de software
La primera decisión que debe tomar y que afectará en gran medida al funcionamiento de la directiva de restricción de software en su entorno, es la elección de un tipo de regla predeterminada. Las directivas de restricción de software se pueden implementar de dos formas: lista de permitidos o Lista de denegación. Básicamente, puede crear una directiva en la que se describen las aplicaciones que se pueden ejecutar en su entorno o en la que se definen las que no se pueden ejecutar.
En el modo Lista de permitidos, la regla predeterminada de la directiva es que aparezca Restringido y se bloquean las aplicaciones que establezca que no se ejecuten de forma explícita. En el modo Lista de denegación, la regla predeterminada es que aparezca Sin restricciones y se restringen sólo las aplicaciones incluidas en una lista de forma explícita.
Como puede suponer, el modo Lista de denegación es un enfoque poco realista si lo que se pretende es una amplia reducción de TCO y las ventajas de seguridad procedentes del bloqueo de una aplicación. La creación y el mantenimiento de una lista extensa que bloquee el malware y otras aplicaciones problemáticas puede ser casi irrealizable. Por lo tanto, le recomendamos que implemente dicha directiva de restricción de software en el modo Lista de permitidos, lo que significa que la regla predeterminada que aparece es Restringido.

Inventario de las aplicaciones de su entorno
Si desea diseñar una directiva en la que se especifiquen las aplicaciones que se pueden ejecutar, deberá establecer de forma precisa qué aplicaciones necesitan los usuarios. La característica de la directiva de restricción de software le ofrece una característica de registro avanzada con una directiva muy sencilla para comprender exactamente qué aplicaciones que se ejecutan en su entorno.
Implemente en un conjunto de equipos de muestra de su entorno la directiva de restricción de software con el conjunto de reglas predeterminadas establecido como Sin restricciones y asegúrese de quitar las demás reglas adicionales. La idea es habilitar la directiva de restricción de software sin permitir que se restrinjan las aplicaciones. En lugar de eso, lo usará para supervisar las aplicaciones que se ejecutan.
A continuación, cree el siguiente valor del registro para habilitar la característica de registro avanzada y establecer la ruta de acceso en la que se debe escribir el archivo de registro:
"HKLM\SOFTWARE\Policies\Microsoft\Windows\Safer\
CodeIdentifiers"
String Value: LogFileName, <path to a log file>
Al ejecutar una aplicación y evaluar la directiva de restricción de software (se evalúa aunque permita que todo se ejecute), se escribe una entrada en el archivo de registro.
Cada entrada de registro incluye la persona que llama a la directiva de restricción de software y el identificador de proceso (PID) de la llamada, el objetivo evaluado, el tipo de regla de la directiva de restricción de software seleccionada y un identificador para la regla. Se trata de una entrada escrita de muestra cuando un usuario hace doble clic en notepad.exe:
explorer.exe (PID = 3268) identified
C:\Windows\system32\notepad.exe as Unrestricted using
path rule, Guid =
{191cd7fa-f240-4a17-8986-94d480a6c8ca}
Este archivo de registro representa todas las partes de código ejecutable que comprobará la directiva de restricción de software cuando está habilitada y establecida para bloquear las aplicaciones. Esto significa que debe decidir si desea considerar todas las entradas del archivo de registro de la Lista de permitidos. Tenga en cuenta que se comprobarán varios binarios de Windows® necesarios para que funcione el sistema.
La técnica de registro que describimos en este artículo pretende indicar de manera clara con qué aplicaciones de su entorno se encontrará la directiva de restricción de software. Aunque no es la única manera de llevar a cabo esta tarea.
El recopilador de inventario que se incluye en el kit de herramientas de compatibilidad de aplicaciones 5.0 de Microsoft® permite realizar un inventario de las aplicaciones que se usan en su entorno. Esta herramienta ofrece diferentes formas de detectar las aplicaciones que se instalan en su entorno, además de consolidar los resultados en una base de datos central.

Creación de reglas adicionales
Una vez que tenga la lista de aplicaciones que se pueden ejecutar en su entorno, podrá crear las reglas reales que permitirán ejecutarlas. La característica de la directiva de restricción de software puede identificar la directiva de dos maneras: una, basada en las propiedades de cifrado de una aplicación (como su hash), mientras que la otra define una ruta de acceso de confianza o una carpeta en la que se incluirán las aplicaciones de confianza.
En la figura 2 se muestra dónde debe agregar las reglas para permitir que las aplicaciones se ejecuten en el nodo de directivas de restricción de software del GPOE (gpedit.msc). La forma más sencilla de definir las aplicaciones en su entorno es crear una regla hash para cada binario sencillo que encuentre durante la fase de registro.
Figura 2 Uso de gpedit.msc para crear directivas de restricción de software
Figura 2 Uso de gpedit.msc para crear directivas de restricción de software (Hacer clic en la imagen para ampliarla)
Ya que el hash es un valor único devuelto para un conjunto de bits particular, cada binario de su directiva tendrá un hash diferente. Este enfoque es especialmente seguro y sólo permitirá ejecutar binarios específicos de su directiva.
Por supuesto, hay algunos inconvenientes a este enfoque. Por ejemplo, su entorno puede tener varios miles de binarios. Puede ser difícil crear todas estas reglas en la interfaz de usuario de la directiva de restricción de software, y a medida que el número de reglas aumenta, el rendimiento puede quedar afectado. Además, cada actualización de aplicaciones de su entorno requerirá la implementación de una o varias reglas hash nuevas. La actualización de una directiva tan importante al actualizar las aplicaciones puede ser una gran carga.
Afortunadamente, esta carga se puede evitar, ya que hay otras dos maneras diferentes de identificar las reglas que facilitan el uso de las directivas de restricción de software en su entorno. Al adentrarse todavía más en la seguridad de cifrado, puede crear una regla que le permitirá ejecutar cualquier binario firmado por un certificado particular.
Esto permite simplificar el mantenimiento de la lista de directivas ya que, cuando se actualiza una aplicación, los nuevos binarios los firmará el mismo certificado que los anteriores. Sin embargo, si no desea que una versión anterior del binario se ejecute en su entorno, deberá agregar una regla de hash Restringido para no permitir el archivo.
De forma predeterminada, la evaluación de las reglas de certificado está deshabilitada para las directivas de restricción de software. Existen dos razones por las que se tuvo que optar por esta situación.
En primer lugar, las reglas de certificado de las directivas de restricción de software se definen por lo que hay en el almacén de los editores de confianza del sistema. Ya que se usa el almacén de los editores de confianza para propósitos diferentes a las reglas de la directiva de restricción de software, se necesita más tiempo y consideración cuando se usa para la característica de las directivas de restricción de software.
La segunda razón es que para determinar si la firma de un archivo es válida, debe tomar un hash del archivo y compararlo con la información de la firma. Usar un hash de un archivo es una operación carísima: el disco debe leer todo el archivo y procesarlo para calcular este hash.
Para habilitar las reglas de certificado, desplácese al nodo Directivas de restricción de software y seleccione el objeto de aplicación en el panel de resultados. A continuación, haga doble clic en él para abrir el cuadro de diálogo de propiedades y seleccione la opción de radio de las reglas del certificado de aplicación.
Otra forma de identificar del código es mediante la ruta de acceso del código en el equipo local. Se trata de una técnica efectiva y eficaz, aunque tiene un inconveniente: debe asegurarse de que la configuración de seguridad está establecida correctamente en la carpeta.
Si agrega una regla de ruta de acceso particular y permite a los usuarios escribir archivos en ella (en el escritorio, por ejemplo), podrían ejecutar lo que deseen siempre que coloquen el archivo ejecutable en esa carpeta. Sin embargo, si los usuarios no están en el grupo Administradores, no podrán modificar los directorios Archivos de programa o Windows. Esto significa que si todas sus aplicaciones están en el directorio Archivos de programa y sus usuarios no son administradores, deberá tener en cuenta las reglas de ruta de acceso para conseguir una directiva muy sencilla y eficaz.
Las reglas de la ruta de acceso ofrecen otras características que las hacen más apropiadas para algunos entornos. Admite caracteres comodín y le permite usar variables del entorno para facilitar la definición de reglas portátiles en su entorno; después de todo, %systemdrive% puede no ser c:\ para todos los usuarios.
En cuanto al rendimiento y el mantenimiento, probablemente ésta sea la manera más sencilla de identificar el código. Debe considerar las reglas de la ruta de acceso, aunque hay que tener en cuenta algunos aspectos de seguridad adicionales.

Reglas Zona de red
La directiva de restricción de software incluye un tipo de regla denominado reglas Zona de red, aunque ha quedado obsoleto. La intención original de estas reglas se basaba en la idea de que el origen del código ejecutable particular se podía identificar y era de confianza, y, por lo tanto, se podría ejecutar el código. Desafortunadamente, es algo demasiado difícil de conseguir y, como consecuencia, no funciona demasiado bien. Actualmente, este tipo de regla no se aplica en la mayoría de lugares de los puntos de entrada de la directiva de restricción de software.
En los casos en que la mayoría de las aplicaciones se instalan en el directorio %Archivos de programa% pero hay otros archivos ejecutables que se instalan en otro lugar y se firman mediante un certificado específico, puede tener sentido usar reglas de diferentes tipos. Con algunas reglas hash y un par de reglas de ruta de acceso, puede comprobar que ha encontrado la directiva adecuada.
Tan sólo tenga presente que las reglas se procesan siguiendo un orden (tal como se muestra en la figura 3). Las reglas de certificado son las más específicas, las reglas hash son las siguientes, a continuación, están las reglas de ruta de acceso y, finalmente, las reglas de ruta de acceso con caracteres comodín. De esta forma, si una regla hash y una regla de ruta de acceso identifican un código, el nivel de seguridad de la regla hash tendrá prioridad.
Figura 3 Orden de procesamiento de reglas
Figura 3 Orden de procesamiento de reglas (Hacer clic en la imagen para ampliarla)

Aplicación de directivas
La característica de directivas de restricción de software ofrece una variedad de cobertura protegida en el sistema. La idea es que cualquier ubicación desde la que se puede ejecutar el código se debe integrar en la directiva de restricción de software y, por su parte, comprobar la directiva para saber si se puede ejecutar el código ejecutable.
Aunque hay muchos lugares que comprueban la directiva de restricción de software, el punto de entrada más directo es CreateProcess. Mediante CreateProcess, se comprueba la directiva para determinar si el binario que representa la aplicación se puede ejecutar. La comprobación de la directiva se realiza a través de la API SaferIdentifyLevel, que se documenta públicamente. El proceso general se ilustra en la figura 4. (Enseguida nos centraremos en SaferIdentifyLevel.)
Figura 4 Uso de SaferIdentifyLevel para determinar si un binario se puede ejecutar
Figura 4 Uso de SaferIdentifyLevel para determinar si un binario se puede ejecutar (Hacer clic en la imagen para ampliarla)
Después de CreateProcess, la API que se suele usar con más frecuencia en el lugar en que se aplica la directiva de restricción de software es ShellExecute. Se trata de la API a la que se llama cuando el usuario hace clic en una aplicación del menú Inicio o doble clic en algún punto del escritorio.
Se puede llamar a ShellExecute mediante una gran variedad de formatos de archivo. En el caso de los archivos .txt, al llamar a ShellExecute en el archivo no se produce la ejecución del archivo (por supuesto, técnicamente, el archivo se abre). Por este motivo, la directiva de restricción de software contiene una lista de tipos de archivo ejecutables de manera que se pueden controlar los tipos de archivos que se comprueban al llamar a ShellExecute. Esta lista de tipos de archivos ejecutables se puede personalizar en la interfaz de usuario de la directiva de restricción de software.
Además de CreateProcess y ShellExecute, existen otros dos puntos clave de integración: LoadLibrary y hosts de scripts. Obviamente, LoadLibrary es un lugar importante para comprobar el código ejecutable, aunque presenta algunas restricciones especiales.
La mayoría de las aplicaciones tienen un archivo ejecutable y varias DLL cargadas. En el sistema se suelen ejecutar muchas aplicaciones. Esto significa que LoadLibrary necesita comprobar la directiva en muchas ocasiones. En función de su directiva para la identificación de código, podría ser un punto de entrada cuya aplicación resultaría muy costosa; suponga que debe comprobar el hash de todos los archivos DLL cargados en el sistema, lo que incluye usar un algoritmo hash en el binario y, a continuación, compararlo con una lista de miles de hash.
Esta funcionalidad está deshabilitada de forma predeterminada, pero se puede habilitar manualmente. Para ello, navegue al nodo Directivas de restricción de software en gpedit.msc y haga doble clic en Cumplimiento. A continuación, seleccione el botón de radio Todos de los archivos de software.
Tal como hemos mencionado, la directiva de restricción de software está integrada en el sistema con la mayoría de hosts de scripts. Se incluye cmd, VBScript, Cscript y JScript®. Estos puntos de entrada, entre otros, usan la API principal de aplicación de la directiva de restricción de software: SaferIdentifyLevel.
La API SaferIdentifyLevel establece si un archivo ejecutable específico se puede ejecutar mediante la información de identificación de las directivas de restricción de software pertinentes. Se trata de una API documentada públicamente. Los hosts de scripts de terceros y entornos ejecutables pueden y deben usarla para integrarse en la directiva de restricción de software, de forma que ésta pueda determinar si se puede ejecutar una parte del código ejecutable.

Ejecución como usuario estándar
Una característica menos conocida de la directiva de restricción de software es su capacidad para filtrar los privilegios de determinadas aplicaciones al iniciarlas. Esta funcionalidad se introdujo en Windows XP, pero no se expuso en la interfaz de usuario de la directiva de restricción de software hasta Windows Vista.
De esta forma, fue la precursora del UAC de Windows Vista ya que lo podía usar para ejecutar una aplicación como usuario estándar aunque el usuario fuera miembro del grupo Administradores. Esto es lo que sucede al crear una regla y establecer el nivel de seguridad como Usuario normal en la interfaz de usuario Reglas adicionales.
Tanto la funcionalidad de filtro de token como las reglas de usuario normal de las directivas de restricción de software de UAC aprovechan una API subyacente que implementa el mismo comportamiento que la API CreateRestrictedToken. Sin embargo, las diferencias de arquitectura generales entre las tecnologías son muy significativas. Sin embargo, UAC se diferencia de la directiva de restricción de software de un par de aspectos clave.
En primer lugar, en Windows Vista con el UAC habilitado, todas las aplicaciones se inician con un token de seguridad similar a un miembro del grupo Usuarios de forma predeterminada, aunque el usuario sea un administrador. Esto es factible con la directiva de restricción de software, pero no existe ningún medio para iniciar una aplicación con el token real de administrador del usuario, por ejemplo, cuando el usuario debe instalar una aplicación. El cambio en el contexto de seguridad predeterminado y la facilidad de acceso a un token de administrador completo del usuario son ventajas clave del UAC.
La segunda diferencia es que, en el caso de archivos ejecutables, el código en sí expresa el nivel de privilegio necesario para que funcione. Se trata de una distinción clave porque los proveedores de software independientes (ISV) y los desarrolladores comprenden las necesidades del código. Por ejemplo, si una aplicación del panel de control necesita editar alguna opción que requiera el privilegio de administrador, puede especificarlo en su manifiesto. De esta forma, el ISV podrá describir los privilegios que necesita una aplicación en lugar de imponer un determinado nivel de privilegio sin tener medios disponibles para cambiarlo.
Por ahora, debe evitar usar las reglas del usuario normal a menos que realmente comprenda su funcionamiento. UAC es una excelente manera de ayudar a sacar a sus usuarios de escritorio del grupo Administradores y debe dejar el UAC tan sólo en su entorno empresarial.

Directivas de restricción de software en el uso actual
Hay una serie de partes móviles que debe tener en cuenta al usar la directiva de restricción de software. Aunque no es como se imagina y, de hecho, puede estar usando todavía las directivas de restricción de software actuales sin darse cuenta de ello. Por ejemplo, si ejecuta la característica de control parental en un sistema de Windows Vista, está usando las directivas de restricción de software para controlar la ejecución de las aplicaciones.
La directiva de restricción de software fue un desarrollo tecnológico importante al introducirla por primera vez en Windows XP. Sin embargo, es ahora cuando el bloqueo de aplicaciones está empezando a acaparar la atención de los profesionales de TI.
La característica de la directiva de restricción de software de Windows Vista tiene algunos defectos que aún hay que pulir, pero está claro que los administradores desean un mayor control sobre lo que se ejecuta en sus entornos. Afortunadamente para todos nosotros, esta tecnología continuará evolucionando y facilitando a los profesionales de TI la administración de sus sistemas, además de la reducción del costo de ejecución de un entorno de Microsoft Windows.
Directiva básica de restricción de software
Una aplicación de la directiva de restricción de software es la creación de una directiva que bloquee Windows en una pantalla completa. Microsoft genera un juego de herramientas, denominado SteadyState™, para crear esta pantalla completa. No obstante, si sólo está interesado en bloquear las aplicaciones que se pueden ejecutar, podrá conseguirlo con más facilidad.
Para habilitar el conjunto de aplicaciones mínimo necesario para iniciar sesión en Windows Vista, cree una directiva que permita ejecutar logonui.exe y userinit.exe desde %windir%\system32. Probablemente, la mayoría de los usuarios también necesiten ejecutar las siguientes aplicaciones permitidas:
dllhost.exe, rundll32.exe, control.exe (also under %windir%\system32)....
Si desea usar el shell predeterminado de Windows, tal vez considere oportuno agregar también %windir%\explorer.exe.
Otra posibilidad sería arrancarlo directamente en una aplicación, como Internet Explorer®. En ese caso, sería necesario incluir en la lista iexplore.exe en lugar de explorer.exe.
Otro aspecto a tener en cuenta de esta directiva básica es que sus usuarios no deben estar en el grupo Administradores. Este punto es importante para que no puedan eludir la directiva. Sin embargo, ya que sólo pueden ejecutar un conjunto de aplicaciones muy básico y no pueden usar los privilegios de un administrador, los usuarios no dispondrán de los privilegios para instalar aplicaciones ni para ocuparse del mantenimiento del sistema.
Deberá hacerlo de alguna forma en estos equipos. Si trata de actualizar y mantener estos equipos al iniciar sesión de forma local con una cuenta de administrador, debe seleccionar el botón de radio que aplica la directiva de restricción de software a todos usuarios excepto a los administradores locales. La directiva también debe incluir consent.exe y cmd.exe. Esto permitirá al administrador iniciar cualquier opción de administración desde un mensaje cmd de administrador.
Tenga en cuenta que el UAC limita los privilegios del token de seguridad del usuario de forma predeterminada para que parezca que el token no es un miembro del grupo Administradores. Aunque establezca la configuración anterior para no aplicar la directiva a los administradores, se aplicará a los usuarios de todas formas. Solamente al pasar por la elevación del UAC, el administrador puede obtener realmente los privilegios completos de administrador y no se aplicará la directiva de restricción de software.

Chris CorioChris Corio fue miembro del equipo de seguridad de Windows en Microsoft durante más de cinco años. En Microsoft, se centró principalmente en las tecnologías de seguridad de las aplicaciones y en las tecnologías de administración para proteger Windows. Puede ponerse en contacto con Chris en winsecurity@chriscorio.com.
Durga Prasad SayanaDurga Prasad Sayana es ingeniero y realiza pruebas de diseño de software en el equipo de seguridad principal de Windows. Sus intereses principales son las tecnologías de seguridad y las pruebas de software. Puede ponerse en contacto con Durga en durgas@microsoft.com.


Seguridad
Administración del firewall de Windows Vista
Jesper M. Johansson
De un vistazo:
  • Tipos de reglas y escenarios
  • Perfiles del firewall
  • Reglas de aislamiento de dominios
  • El problema con el filtrado de salida

Hace poco escribí un artículo en mi blog acerca del firewall de Windows Vista. En él se destacaban simplemente algunas de las características más beneficiosas, si bien no ofrecía demasiados consejos de implementación.
En este artículo, sin embargo, me detendré en algunas de las características del firewall de Windows Vista® diseñadas específicamente para facilitar la administración empresarial. También ofreceré consejos acerca de cómo puede usarlas para facilitar su trabajo y asegurarse de que sus usuarios estén más protegidos.
Con el reciente lanzamiento del SP1 para Windows Vista, es posible que tenga previsto iniciar la implementación de Windows Vista en la empresa. Es habitual entre las empresas esperar el lanzamiento del primer Service Pack antes de migrar a un sistema operativo nuevo. Si usted es uno de los profesionales de TI que están considerando ahora más seriamente implementar Windows Vista en su entorno empresarial, le recomiendo que observe el firewall con detenimiento. Cuando se dé cuenta de lo que puede hacer el firewall de Windows Vista, deseará seguramente renegociar el acuerdo vigente de su paquete de seguridad de terceros para eliminar el firewall del paquete.

Los firewall de Windows antes y ahora
El firewall incluido en el lanzamiento original de Windows® XP dejaba mucho que desear. Si bien se ajustaba adecuadamente a las funciones de seguridad de los firewall comerciales basados en host de aquel momento, no incorporaba ninguna novedad.
Su sustituto de Windows XP SP2, no obstante, cambiaba completamente el panorama. Fue diseñado específicamente para facilitar la administración de la empresa. El firewall de Windows XP SP2 tiene como principales atractivos su ligereza, capacidad de administración centralizada, efectividad y discreción. Pero, quizás lo más importante: el firewall de Windows XP SP2 protege el sistema durante el arranque.
Este último punto es crucial. He visto cómo muchos sistemas en el pasado quedaban infectados durante el arranque incluso con el firewall activado. De hecho, durante el punto álgido de la epidemia del virus Blaster, el índice de ataques era de hasta uno cada cuatro minutos. En otras palabras, si dejó un equipo desprotegido conectado a Internet, éste se podría haber infectado, de media, en cuatro minutos. Y si confiaba en un firewall que no protegía el sistema durante el arranque, un sistema de cada doce se habría infectado al volver a arrancar. Estas cifras fueron las que llevaron a Microsoft a asegurarse de que el firewall de Windows XP SP2 protegiera el sistema durante el arranque.
Con Windows Vista, el firewall vuelve a transformarse por completo. El cambio más obvio, desde el punto de vista de la administración, es la fusión de las interfaces de administración del protocolo de seguridad de Internet (IPsec) y del firewall. Se trata de un cambio muy lógico. IPsec y el firewall tienen ambos como misión bloquear el acceso de elementos no permitidos. La diferencia es que en el firewall, los parámetros que definen lo que se permite no son muy detallados, mientras que el bloqueo o admisión de grandes volúmenes del espacio de direcciones en IPsec resulta complicado.
Con estas dos características ubicadas en una misma interfaz de administración, los administradores pueden usar ambas tecnologías sin problemas, sin preocuparse demasiado por si algo requiere una regla de IPsec o si debe aplicarse en su lugar un filtro de firewall. Básicamente, dispone de una única vista de la superficie de ataque de la red del sistema, lo que contribuye a minimizar el riesgo de cometer errores.
El SP1 para Windows Vista incorpora algunas mejoras de confiabilidad a las características del firewall. También incluye algoritmos nuevos, en particular los algoritmos de la Suite B, para su uso en IPsec. Se trata de un conjunto de algoritmos relacionados con el cifrado, y que incluyen Advanced Encryption System (AES), la criptografía de curva elíptica (ECC) y el algoritmo hash seguro (SHA) 256 y 384.
Lo más importante, sin embargo, es que el Service Pack 1 incluye compatibilidad con la Protección de acceso a redes (NAP). NAP es una herramienta de cumplimiento de directivas que garantiza que los clientes administrados y que no se hayan puesto en peligro se actualicen con las últimas directivas de seguridad, actualizaciones y definiciones de antimalware antes de que puedan conectarse a la red. NAP no puede detener los intentos de conexión a la red por parte de host malintencionados, pero sí se asegura de que todos los host administrados sean completamente compatibles mientras no sean puestos en peligro de manera activa.
El firewall de Windows Vista, llamado Firewall de Windows con seguridad avanzada, también se incluye en Windows Server® 2008. Todas las características pueden administrarse también de forma remota y configurarse a través de una red que use directivas de grupo.

Tipos de reglas y escenarios
La funcionalidad del firewall combinada con la de IPsec en la interfaz de administración significa que ahora tenemos dos tipos diferentes de reglas: reglas direccionales y de conexión. Las reglas direccionales son reglas estándar de firewall que definen qué tráfico se permitirá en la dirección apropiada. Las reglas de conexión, por su parte, definen los parámetros de protección para las conexiones entre equipos. A modo de comparación, las reglas direccionales son parecidas a las reglas conocidas de firewall anteriores, mientras que las reglas de conexión son más similares a las usadas en IPsec con el firewall en Windows XP SP2.
Al combinar el firewall e IPsec en una misma interfaz, se nos presentan una serie de situaciones muy interesantes. Por ejemplo, el aislamiento mutuo de sistemas en la red es uno de los conceptos de seguridad actuales más valiosos. Microsoft lo denomina "aislamiento de servidor y dominio".
El aislamiento de servidor y dominio usa tanto la funcionalidad de IPsec como la del firewall. Sabiendo esto, cabe decir que la nueva interfaz de administración del firewall incluye funcionalidad específica para las reglas de aislamiento. Éstas resultan apropiadas si, por ejemplo, desea restringir la conexión basándose en los atributos de los sistemas de origen o de destino, como por ejemplo la pertenencia al dominio.
Como se puede apreciar en la figura 1, el Asistente para nueva regla de seguridad de conexión empieza preguntando qué tipo de regla desea crear. Si selecciona Aislamiento, el asistente preconfigurará los parámetros que corresponden a una regla de aislamiento.
Figura 1 Uso del Asistente para nueva regla de seguridad de conexión para crear una regla de aislamiento
Figura 1 Uso del Asistente para nueva regla de seguridad de conexión para crear una regla de aislamiento (Hacer clic en la imagen para ampliarla)
Advertirá también en la figura 1 que la regla de aislamiento menciona el estado de mantenimiento. Las reglas empleadas para el aislamiento de servidor y dominio son en realidad las mismas que para NAP.
No es posible aplicar la autenticación a determinados tipos de tráfico. Por ejemplo, seguramente no requerirá autenticación para la resolución DNS. Para los extremos de ese tipo de tráfico, necesitará por tanto una regla de exención de autenticación. Una regla de exención de autenticación hace exactamente eso: exime el tráfico de los requisitos de IPsec.
Una regla de servidor a servidor, en cambio, es un poco un nombre equivocado. Si bien se usa con mayor frecuencia en servidores, también se puede usar en clientes. Una regla de servidor a servidor configura simplemente una conexión para que requiera autenticación. La diferencia con una regla de aislamiento es que esta última no sólo requiere autenticación, sino también el cumplimiento de una serie de criterios adicionales, como la pertenencia al dominio o el estado de mantenimiento.
Una regla de túnel define básicamente una red privada virtual (VPN) de sitio a sitio y el túnel ubicado entre las puertas de enlace. Las reglas de túnel prácticamente no se usan en Windows Vista, ya que es poco probable que vaya a usar este sistema en una instalación de puerta de enlace. Es posible crear reglas totalmente personalizadas para que pueda personalizar cada uno de los parámetros de una regla.

Orden de reglas
El orden de reglas puede parecer complicado a primera vista. La clave para entender el orden de reglas consiste en olvidarse primero del orden. La razón es que no se trata tanto de ordenar, sino más bien de selecciones coincidentes. Tomemos como ejemplo el tráfico entrante. El tráfico entrante que no coincide con ninguna regla que lo permita queda bloqueado de forma predeterminada. Esto se podría considerar con un orden que dijera "Considerar primero las reglas de admisión", aunque se trataría de una suposición incorrecta. Si un paquete específico coincide con una regla de admisión y otra de bloqueo, se impondrá la de bloqueo. Esto significa que, en otras palabras, la coincidencia es:
  1. reglas de bloqueo. Si un paquete o conexión coincide con una de ellas, se descartará.
  2. Reglas de admisión. Si un paquete o conexión coincide con una de ellas, se permitirá.
  3. Comportamiento de perfil direccional predeterminado. Si no coincide ninguna regla de bloqueo ni de admisión, el tráfico se tratará según el comportamiento especificado como predeterminado para el tráfico en esa dirección y en ese perfil. En la dirección entrante para cualquier perfil, significa bloquear el tráfico en una configuración predeterminada. En la dirección saliente significa permitir el tráfico en la configuración predeterminada.
El proceso de coincidencia lo controlan las reglas de omisión autenticada (IPsec). Mediante este tipo de regla, se permite todo tráfico autenticado que coincide con los parámetros restantes de la regla, independientemente de si coincide o no con cualquier otra regla. Las reglas de omisión autenticada son reglas direccionales con la opción de invalidar reglas de bloqueo seleccionada, tal como se muestra en la figura 2. Éstas se tendrán en cuenta en primer lugar con el fin de permitir que el tráfico autenticado llegue siempre al sistema. Este aspecto resulta fundamental para poder permitir el tráfico procedente de host autenticados y bloquear el que no proceda de éstos. Podemos considerar esta regla como la número 0 en el orden. Así, la lista completa de orden de reglas quedaría del siguiente modo:
Figura 2 Activación de la opción de invalidar reglas de bloqueo para configurar una regla de omisión autenticada
Figura 2 Activación de la opción de invalidar reglas de bloqueo para configurar una regla de omisión autenticada (Hacer clic en la imagen para ampliarla)

0. Reglas de omisión autenticada
1. Reglas de bloqueo
2. Reglas de admisión
3. Comportamiento de perfil direccional predeterminado

En realidad, no importa si hay varias reglas en cada clase que coincidan con el patrón de tráfico. En el momento en que coincida una regla con éste, se detendrá el procesamiento de la regla.

Público, privado y en el dominio
Recursos de red
  • Centro de seguridad de TechNet
  • Uso de la herramienta de línea de comandos Netsh Advfirewall
  • Reglas de seguridad para el firewall de Windows y conexiones basadas en IPsec en Windows Vista y Windows Server 2008
  • Vigilancia de seguridad con SCW en Windows Server 2008

El nuevo firewall cuenta con tres perfiles: público, privado y dominio. El firewall de Windows XP SP2, por su parte, presentaba dos perfiles de red: estándar y dominio. El perfil de dominio se invoca automáticamente cuando el equipo encuentra el controlador de dominio. En Windows XP, el perfil estándar se usaba de otro modo. Ofrecía funciones eficaces para que el administrador de seguridad pudiera bloquear completamente el equipo cuando se encontraba en movimiento y al mismo tiempo permitir todas las funciones de administración remota necesarias al trabajar en la red de la organización. Sin embargo, este método presentaba ciertos problemas para algunos usuarios, en particular, los que contaban con redes personales domésticas. Dado que siempre se usaba el perfil estándar si el sistema no podía llegar al controlador de dominio, el sistema quedaba bloqueado desde el hogar del usuario.
El nuevo perfil privado que incluye Windows Vista contribuye a resolver este problema. Ahora, cuando conecte el sistema a una red nueva, se le preguntará si esa red es pública (este es simplemente el nuevo nombre para el perfil estándar anterior) o privada y configurará el sistema en correspondencia. El sistema recuerda esta circunstancia cada vez que se conecta a esa red concreta, en función de los parámetros de red que presenten los servidores de infraestructura de la red. Este método no es en absoluto infalible, pero resulta de gran ayuda, ya que permite el bloqueo óptimo de un mayor número de redes.
También ha mejorado la lógica de detección para averiguar si el sistema se encuentra en el dominio. El resultado es una transición más rápida y confiable y, en consecuencia, menos sistemas que piensan que deben usar el perfil público o privado cuando en realidad se encuentran en el dominio.
Puede asignar sus reglas a un tipo determinado de red para evitar así que el sistema ofrezca demasiada información y trate de conectarse a sistemas de redes que no son de confianza. Es en esta área donde se ve que ha valido la pena la integración del firewall con IPsec.
Estas nuevas reglas le permiten aplicar restricciones que no eran posibles anteriormente. Por ejemplo, durante muchos años los atacantes han intentado emitir ataques para lograr que los usuarios establezcan conexiones de bloque de mensajes del servidor (SMB) (para conexiones de redes Windows) a host que no son de confianza, forzando así que una secuencia de autenticación les ofrezca un par desafío/respuesta que puedan usar para averiguar contraseñas. Las versiones más antiguas de este ataque también se usaban para convertir la autenticación a texto no cifrado o devolver el par de desafío/respuesta del usuario al equipo que la originaba. La primera de estas técnicas fue anulada hace años. La segunda fue mitigada con Windows XP SP2, aunque hay que tener presente que ofrecer pares de desafío/respuesta es una práctica no obstante imprudente.
Para evitarlo, puede usar otra nueva función del firewall de Windows Vista, el filtrado de salida. Un administrador podría decidir, por ejemplo, bloquear todas las conexiones SMB de salida que terminen en los puertos TCP 135, 139 y 445 y UDP 137, 138 y 445 en el perfil público. Esto dificultaría el uso de un sistema en un ataque con engaño para obtener pares de desafío/respuesta o bien evitaría que dicho sistema tuviera acceso a recursos compartidos de archivos de Windows en Internet que no fueran de confianza.
De nuevo, esta característica no es infalible. Por ejemplo, si el sistema ya se ha puesto en peligro, esta regla no impediría que el sistema se comunicara con el exterior, ya que el atacante podría simplemente deshabilitar la regla. Sin embargo, puede resultar muy útil como medida para proteger sistemas que se comporten correctamente pero que puedan quedar expuestos.
Es importante mencionar en este sentido que, al igual que ocurre en Windows XP SP2, sólo un perfil puede estar activo a la vez en Windows Vista y Windows Server 2008. Si hay dos interfaces de red activas en el sistema y una de ellas se encuentra en el dominio mientras que la otra reside en una red pública, el perfil de firewall público se aplicará a ambas interfaces. Siempre se usará el perfil más restrictivo. Como quizás ya habrá adivinado, el perfil público es más restrictivo que el privado, y este último más restrictivo que el perfil de dominio. Así pues, tenga presente que la regla de bloqueo SMB de salida puede interrumpir mucho tráfico a través de conexiones VPN.
Para habilitar el tráfico a través de una conexión VPN cuando el equipo se encuentra en una red pública o privada, cree reglas direccionales que se apliquen únicamente a interfaces de VPN. Para que funcionen, Windows debe reconocer las interfaces de VPN como tales. Si no usa el servidor VPN Servicios de enrutamiento y acceso remoto de Microsoft®, pruebe esta funcionalidad antes de implementarla de forma masiva. Se trata principalmente de un problema con el tráfico entrante al cliente y las reglas de salida personalizadas que vaya a crear.

Creación de reglas de firewall
El nuevo firewall facilita enormemente el proceso de creación de reglas de firewall. El Asistente para regla nueva, que se muestra en la figura 3, permite definir todos los tipos habituales de reglas. Asimismo, incluye reglas predefinidas para servicios concretos.
Figura 3 Reglas predefinidas en el Asistente para regla nueva
Figura 3 Reglas predefinidas en el Asistente para regla nueva (Hacer clic en la imagen para ampliarla)
Las reglas predefinidas son especialmente importantes. El aislamiento del servidor consiste básicamente en restringir servicios de manera que sólo estén disponibles para aquellos sistemas que necesitan usarlos. En productos de servidor, puede usar el Asistente para configuración de seguridad de Windows (SCW) para realizar esta tarea de forma más sencilla, aunque no sin alguna que otra dificultad. (En el número de marzo de 2008 de TechNet Magazine traté SCW).
Sin embargo, las versiones de cliente de Windows no disponían de una funcionalidad semejante hasta la fecha. Si usa el tipo de regla predefinida, se ahorrará gran parte del trabajo, es decir, la tarea de determinar qué extremos usará un servicio. El firewall no sólo es sensible a las aplicaciones, es decir, sabe qué programa representa el "Servicio de iSCSI", sino que también incluye reglas predefinidas que describen determinadas funciones. Esto le permite centrarse en los equipos a los que debe aplicarse una regla. Sigue siendo una tarea difícil y laboriosa, pero por lo menos sólo deberá realizarse una vez para todo el entorno.
Existe también una regla personalizada, oculta por el desplegable de la figura 3, que le aporta la flexibilidad que puede esperar de un firewall de autenticación. Por ejemplo, si desea una regla que sólo permita tráfico cifrado de IPsec, seleccionará la opción para admitir únicamente conexiones seguras en la página Acción del asistente, que se muestra en la figura 2.
Cuando la seleccione, también tendrá la opción de activar el cifrado. Si deja esta opción en blanco, sin embargo, el tráfico usará ESP-NULL, es decir, carga de seguridad encapsulada con una clave NULL. Ésta es la manera recomendada de usar IPsec para la autenticación. Permite a la mayoría de las herramientas de administración de la red seguir funcionando, ya que el tráfico atraviesa la red sin cifrado y, en el caso de que desee cifrado, basta con activar la casilla correspondiente.
En muchos casos, el cifrado del tráfico de red no es ni de lejos tan importante como el hecho de no aceptar tráfico procedente de host malintencionados. El cifrado del tráfico en la red impide a los usuarios malintencionados que hayan obtenido acceso a la propia red comprobar el contenido del paquete en cuestión. Requerir autenticación podría impedirle a usted enviar el paquete, además de impedir que sea atacado. Si bien es cierto que hay muchos casos en los que el cifrado a nivel de red es importante, también es verdad que en muchos otros sólo necesita autenticación.

Creación de reglas de aislamiento de dominio
En la mayoría de los entornos, desea que un número limitado de equipos puedan enviar el tráfico a una estación de trabajo. Como mínimo, todas estaciones de trabajo deberán configurarse con reglas de aislamiento de dominio. Esto resultaba complicado en Windows XP, pero ahora es fácil con Windows Vista.
Primero, abra la herramienta de administración de su elección y seleccione el nodo Reglas de seguridad de conexión. A continuación, haga clic con el botón secundario en el nodo y seleccione Nueva regla para que aparezca el cuadro de diálogo que se muestra en la figura 1. Seleccione Regla de aislamiento y haga clic en Siguiente. A continuación deberá elegir si desea que se cumpla la regla o no. En la mayoría de los casos relacionados con estaciones de trabajo, deseará que se requiera autenticación para el tráfico entrante. De este modo evitará que cualquier equipo que no se haya incorporado al dominio envíe tráfico a la estación de trabajo. Sin embargo, para solicitar servicios de servicios de infraestructura, el sistema debe permitir el paso de parte del tráfico no cifrado. La mejor opción, por lo tanto, es la de exigir autenticación para las conexiones entrantes y solicitar autenticación para las conexiones de salida.
A continuación, escoja el método de autenticación. La selección predeterminada recibe el nombre no especialmente útil de Predeterminado. Puede configurar el método de autenticación predeterminado para cada equipo en las propiedades de IPsec, a las que obtendrá acceso si hace clic con el botón secundario en el nodo de Firewall de Windows con seguridad avanzada y selecciona Propiedades. El método de autenticación predeterminado es siempre Kerberos, ya que se trata del más sencillo y seguro. Sin embargo, para no complicarlo todo, recomiendo seleccionarlo en el momento de crear las reglas. Por lo general, desea sólo autenticar el equipo, no el usuario también. Si usted necesita autenticar ambos, es posible que no pueda aceptar determinadas clases de tráfico de administración, como el tráfico SNMP que se transmite anónimamente.
Una vez que haya seleccionado el método de autenticación, tan sólo le queda seleccionar los perfiles en los que desea que esté disponible la regla. Dado que se trata de una regla que se aplica a equipos incorporados al dominio, los cuales pueden presentar un vale Kerberos, no tiene sentido abrir este orificio concreto en los perfiles privado o público. Para finalizar, guarde la regla.
Las reglas básicas de aislamiento han dejado de ser complicadas. Sin embargo, para beneficiarse de la eficacia de IPsec con el aislamiento, necesita implementar el aislamiento de servidor incluso en las estaciones de trabajo. Al hacerlo, puede impedir que las estaciones de trabajo escuchen a otros clientes. En su lugar, sólo responderán a las estaciones de administración apropiadas. Imagínese cómo se habría reducido el impacto de diversos ataques de malware si los clientes se hubieran negado a escuchar a otros clientes.

Scripting del firewall
El nuevo firewall incluye una API completa que permite elaborar los scripts tanto de implementación como de evaluación. Lo ideal sería que usara la Directiva de grupo para la implementación, pero dado que ésta no siempre está disponible, es importante disponer de un conjunto de API apropiado para configurar el firewall. Las API se agrupan bajo el conjunto INetFWPolicy2 de API. Si bien el kit de desarrollo de software y MSDN® Library contienen información más detallada acerca de su uso, usaremos unos ejemplos que nos ayudarán a ilustrar la situación.
Un ejemplo común es la necesidad de determinar si un grupo de reglas está activado o no. Supongamos, por ejemplo, que una aplicación o un administrador necesitan determinar si un sistema concreto permite el uso compartido de archivos e impresoras. Esto puede comprobarse mediante INetFWPolicy2::IsRuleGroupCurrentlyEnabled. La figura 4 incluye un ejemplo de VBScript que demuestra esta función.
Figure 4 Uso de INetFWPolicy2::IsRuleGroupCurrentlyEnabled
' Create the FwPolicy2 object.
Dim fwPolicy2
Set fwPolicy2 = CreateObject("HNetCfg.FwPolicy2")

' Get the Rules object
Dim RulesObject
Set RulesObject = fwPolicy2.Rules

'Create a profile object
Dim CurrentProfile
CurrentProfile = fwPolicy2.CurrentProfileTypes

'Check whether File and Printer Sharing is on, and turn it on if not
if fwPolicy2.IsRuleGroupEnabled(CurrentProfile, "File and Printer Sharing") <> TRUE then
    fwPolicy2.EnableRuleGroup CurrentProfile, "File and Printer Sharing", TRUE
end if
Ahora bien, si el uso compartido de archivos e impresoras está desactivado y necesita activarlo, primero deberá asegurarse de que esto es posible y que no quedará invalidado por la Directiva de grupo. Para ello, use la API INetFWPolicy2::LocalPolicyModifyState. A continuación se muestra un esquema, que puede llenarse con código real:
Const NET_FW_MODIFY_STATE_OK = 0
Const NET_FW_MODIFY_STATE_GP_OVERRIDE = 1
Const NET_FW_MODIFY_STATE_NO_EXCEPTIONS = 2

Dim PolicyModifyState
PolicyModifyState = fwPolicy2.LocalPolicyModifyState
Select Case PolicyModifyState
  Case NET_FW_MODIFY_STATE_OK
  Case NET_FW_MODIFY_STATE_GP_OVERRIDE
  Case NET_FW_MODIFY_STATE_NO_EXCEPTIONS
End Select

Tipos de interfaz y línea de comandos
Ningún firewall sería completo sin una línea de comandos apropiada para la administración. Hay un subcontexto en netsh denominado advfirewall. El contexto advfirewall proporciona acceso de línea de comandos a todas las funciones que pueden realizarse en la IU gráfica. Por ejemplo, si desea implementar el bloqueo de salida en el puerto 445, puede ejecutar el siguiente comando desde un símbolo del sistema elevado:
netsh advfirewall firewall add rule name="Block CIFS Out in the Public profile"
dir=out action=block enable=yes profile=public
localIP=any remoteIP=any remoteport=445 protocol=TCP interfacetype=any
A continuación deberá ejecutar el mismo comando, reemplazando TCP con UDP para completar el bloqueo. En ese momento habrá completado la implementación de la regla.
Una característica interesante del firewall es la capacidad para configurar reglas en función del tipo de interfaz de red. Recuerde que algunas reglas pueden afectar a las conexiones VPN. Mientras Windows reconozca la interfaz como de VPN, puede usar este tipo de regla para eximir el tráfico a través de esa interfaz:
netsh advfirewall firewall add rule name="Allow CIFS on VPN interfaces"
dir=out action=allow enable=yes profile=public localIP=any
remoteIP=any remoteport=445 protocol=TCP interfacetype=RAS
Esto también puede llevarse a cabo en la GUI, si bien primero deberá haber creado la regla. A continuación, haga clic con el botón secundario en la regla, seleccione Propiedades y haga clic en la ficha Avanzadas. Aparecerá una sección de tipos de interfaz en la que podrá seleccionar los tipos apropiados.

Filtrado de salida
La falta de filtrado de salida en el firewall de Windows XP SP2 fue considerada la prueba principal de que el firewall integrado resultaba inadecuado para la seguridad. Debe haber miles de artículos escritos acerca del grado de inseguridad del firewall de Windows XP SP2 debido a la falta de filtrado de salida. Esto es así a pesar del hecho de que ningún firewall en Windows XP pueda ofrecer filtrado de salida seguro.
La funcionalidad fundamental que transforma el filtrado de salida de un mero instrumento de desaceleración (o herramienta de aplicación de políticas, como mencioné anteriormente) en una característica de seguridad útil simplemente no existe en Windows XP. Sí existe, sin embargo, en Windows Vista. Es lógico, por tanto, que el nuevo firewall haga uso de esta característica. De forma predeterminada, se bloquea la mayor parte del tráfico entrante y se permite la mayor parte del de salida.
El filtrado de salida en el nuevo firewall de Windows Vista sólo bloquea de forma predeterminada el tráfico innecesario procedente de los servicios. En realidad, esto es realmente todo lo que se puede hacer para ofrecer protección contra un posible peligro en el host que proporciona los filtros de salida, y hacerlo en Windows XP no habría tenido ningún sentido.
Los servicios en Windows Vista pueden ejecutarse con un token sumamente restringido. Básicamente, cada servicio posee su propio identificador de seguridad (SID), que es exclusivo de ese servicio. El SID del servicio puede usarse para restringir el acceso a recursos, como puertos de red. Se trata de la misma funcionalidad que vimos anteriormente al estudiar la restricción del tráfico para los usuarios. Esto significa que aunque dos servicios puedan ejecutarse como NetworkService, no pueden administrarse los procesos mutuamente; así, el firewall puede configurarse para permitir sólo uno de ellos para la comunicación exterior. Si se pone en peligro el servicio bloqueado, no podrá apropiarse del servicio permitido ni usar su puerto permitido para comunicarse con el exterior, ya que el puerto estará restringido por el SID del servicio.
Esta funcionalidad es otra de las interesantes características de seguridad que incorpora Windows Vista y que emplea el nuevo firewall para ofrecer seguridad verdadera mediante el filtrado del firewall de salida.
De hecho, el filtrado de firewall en los SID de servicios está habilitado de forma predeterminada en el nuevo firewall. Sin embargo, no existe ninguna GUI para configurarlo. Las reglas se encuentran predefinidas en la clave de registro HKLM\System\CurrentControlSet\services\sharedaccess\parameters\firewallpolicy\RestrictedServices. Deberá extremar las precauciones, no obstante, al modificar esa clave manualmente, ya que se trata de una acción no admitida.

¿Qué nivel de seguridad ofrece el filtrado de salida?
Un punto que se presta a malentendidos en el ámbito de la seguridad es el nivel de seguridad que ofrece realmente el filtrado de salida. Si bien he mencionado dos escenarios hasta ahora que ofrecen seguridad a través de filtrado de salida, ambos dependen de una nueva funcionalidad de Windows Vista que no estaba disponible anteriormente. A pesar de ello, la idea general es que el filtrado de salida es una característica positiva y debe constituir un factor clave a la hora de decidir qué firewall adquirir.
Lo irónico es que, en muchas organizaciones, las capacidades de filtrado de salida eran las que decidían la compra pero, una vez implementado el firewall, dichas capacidades no se empleaban. Se trata de un tema absurdo y que provoca una pérdida de dinero y esfuerzo por parte del grupo de seguridad de la información. Esta actitud parece impulsada más por un deseo de sentirse bien al hacer algo relacionado con la seguridad que por el análisis que se realice de una amenaza verdadera. El deseo de aparentar en relación con la seguridad es con demasiada frecuencia el responsable de la toma de decisiones que deberían en cambio tomarse en función de los hechos.
Existe un dato muy sencillo acerca del filtrado de salida que sus defensores no suelen tener en cuenta. El argumento habitual de los proveedores de firewall basados en host es que si un sistema se pone en peligro, ya sea por un gusano o por un usuario malintencionado interactivo, el filtrado de salida impedirá que el gusano infecte a otros sistemas o que el atacante se comunique con el exterior. Esto no es verdad.
Lo que sí es cierto es que, en igualdad de condiciones, el filtrado de salida habría sido capaz de detener parte del malware histórico. Sin embargo, si Windows XP hubiera incluido filtrado de salida, lo más seguro es que los gusanos que conocemos se habrían diseñado para desactivar dicho filtrado o bien esquivarlo de algún modo.
En Windows XP y versiones anteriores de Windows, cualquier gusano que se ejecuta como un servicio (y todos los gusanos que me vienen a la mente se ejecutaban efectivamente como servicios) podría haberlo hecho. La única razón por la que no lo hicieron es que no había prácticamente entornos que usaran filtrado de salida y por lo tanto no era necesario deshabilitarlo. En un ataque interactivo, el atacante puede esquivar los filtros de salida a su voluntad. Si el atacante tiene la capacidad de ejecutar código arbitrario, es tarea fácil. Pero si es necesario, el atacante también puede engañar al usuario para que esquive los filtros.
Los filtros de salida de firewall basados en host pueden esquivarse de varias maneras, en función del escenario del ataque en cuestión. La manera más sencilla de llevarlo a cabo es pedir a un usuario que posea mayores privilegios que lo haga por usted. Demasiados entornos siguen ejecutando a sus usuarios como administradores. Esos usuarios tienen el derecho de esquivar directivas de seguridad si lo desean. Lo único que debe hacer el atacante es ofrecerle al usuario la elección entre una serie de ventajas de seguridad intangibles y no inmediatas y algo verdaderamente atractivo: pongamos por ejemplo unos alegres cerditos bailando.
En muchos casos, el usuario recibe tantos cuadros de diálogo de este tipo que acaba por hacer clic rápidamente en uno de ellos sin saber realmente de qué se trata. Éste es el problema número uno del filtrado de salida. Si se ofrece la elección entre la seguridad y unos premios lo suficientemente tentadores, como es el caso de los cerditos, éstos resultarán elegidos siempre, ya que la inmensa mayoría de los cuadros de diálogo que solicita a los usuarios que tomen decisiones acerca de seguridad están desprovistos de cualquier información que les permita tomar realmente una decisión.
Presentar cuadros de diálogo que soliciten la toma de decisiones de seguridad y que incluyan información suficiente en la que basar dichas decisiones es mucho más difícil de lo que parece, ya que requeriría que el producto de seguridad, como por ejemplo el firewall, conociera no sólo los puertos, protocolos y la aplicación que realiza la solicitud, sino también que supiera qué trata de hacer realmente la solicitud y lo que ello significa para el usuario. Esta información es muy difícil de obtener mediante programación. Por ejemplo, el hecho de que Microsoft Word intente establecer una conexión de salida no es ni de lejos tan importante como saber exactamente qué trata de hacer Word con esa conexión.
Necesitamos reducir el número de cuadros de diálogo sin sentido, no aumentarlos, y los firewall con filtrado de salida no contribuyen a esta causa. Para captar una impresión de las técnicas más recientes para proporcionar a los usuarios información valiosa y de utilidad, decidí consultar la documentación de ventas de uno de los principales proveedores de firewall basados en host. Los folletos promocionan capacidad de filtrado de salida del firewall así como la de asesoramiento. Esta última detecta lo que el usuario trata de hacer y ofrece el asesoramiento apropiado. O al menos en teoría. El texto del folleto iba acompañado de una captura de pantalla con el texto: "Todavía no hay asesoramiento disponible para este programa. Elija una de las opciones siguientes o haga clic en Más información para recibir ayuda." Por lo que parece, los proveedores no son capaces de producir cuadros de diálogo informativos ni siquiera en el material de marketing.
Dado que los usuarios no poseen información suficiente para tomar las decisiones correctas acerca de seguridad, lo que le correspondería al administrador es configurar todo el filtrado de salida, ya que el usuario final no es capaz de ello. Esto aumenta infinitamente la carga administrativa del administrador.
Aunque el usuario haga clic en "No. Recordarme más tarde" cuando el firewall emita una consulta, el malware por lo general puede seguir esquivando el firewall. Siempre que el usuario para el que se ejecuta el código malintencionado pueda abrir conexiones de salida en algún puerto, el código pernicioso usará simplemente ese puerto. Así, un proceso existente puede conllevar cualquier otro proceso. Y esto se permite en sistemas operativos de nivel inferior. Para empezar, en Windows Vista, los procesos pueden restringirse convenientemente, motivo por el cual los servicios, restringidos de manera predeterminada, aparecen bloqueados de forma predeterminada mediante filtros de salida.
Lamentablemente, la mayoría de los usuarios piensan que el filtrado de salida de firewall basados en host evitará que un activo puesto en peligro ataque a otros activos. Eso no es posible. Asumir medidas protectoras en un activo en peligro y pedirle que no ponga en peligro otros activos simplemente no funciona. La protección reside en el activo que trata de proteger, no en el que representa una amenaza. Pedir a los ladrones que no roben nada después de que hayan entrado en su casa no parece que vaya a resultar tan efectivo como evitar que de hecho entren en su casa.

Jesper M. Johanssones un arquitecto de software que trabaja en el campo del software de seguridad y es editor colaborador de TechNet Magazine. Posee un doctorado en sistemas de información de administración, más de 20 años de experiencia en el ámbito de la seguridad y es un MVP de Microsoft en seguridad empresarial. Su último libro es Windows Server 2008 Security Resource Kit.


Seguridad
Correo electrónico seguro mediante certificados digitales
Matt Clapham and Blake Hutchinson
De un vistazo:
  • Creación de una identidad comprobable
  • Actualización del estado de certificados
  • Obtención e intercambio de certificados
  • Solución de problemas en su sistema S/MIME

Durante milenios, los humanos han usado varios métodos para ocultar información en tránsito, validar remitentes y autenticar mensajes. Al evolucionar la civilización, se desarrolló un método para realizar las tres tareas cuyo uso está cada vez más extendido. Extensiones seguras multipropósito al correo
de Internet (S/MIME) es un sistema para enviar correos electrónicos de forma segura mediante el cifrado y las firmas digitales.
Las tecnologías de cifrado actuales (de ocultación) se dividen en dos tipos principales: algoritmos de claves simétricos (secreto), como el Estándar de cifrado de datos (DES) y el Estándar de cifrado avanzado (AES), y algoritmos de claves asimétricos (público/privado), como RSA y la criptografía de curva elíptica (ECC). Las herramientas modernas de validación del remitente son funciones matemáticas unidireccionales, denominadas hash, que crean firmas únicas. Dos de los métodos de hash usados comúnmente son Message Digest 5 (MD5) y algoritmo hash seguro (SHA). Los equipos pueden usarlos para generar un hash único o un número que corresponda con el texto de origen individual (hash idéntico de los textos de origen para el mismo valor). Estas sencillas herramientas se usan y combinan para crear un sistema de infraestructura de claves públicas (PKI).

Una identidad comprobable
Recursos de la entidad de certificación
  • Uso de una entidad de certificación para el servicio de cifrado de archivos
  • No se puede cambiar el nombre ni quitar de la red los servidores de la entidad de certificación
  • Cómo quitar una entidad de certificación de confianza de los equipos en el dominio
  • Cómo retirar del servicio a una entidad de certificación empresarial de Windows y cómo quitar todos los objetos relacionados de Windows Server 2003 y Windows 2000 Server
  • Cómo mover una entidad de certificación a un servidor nuevo que se ejecuta en un controlador de dominios

Las identidades de un sistema PKI se administran mediante certificados digitales similares a la identificación del gobierno que la mayoría de personas usa para cruzar las fronteras internacionales: el pasaporte. El pasaporte estándar del mundo de la certificación digital es el formato X.509 y se suele usar tanto para la firma como para el cifrado en tecnologías como S/MIME, el protocolo de seguridad de Internet (IPsec), shell seguro (SSH), seguridad de red inalámbrica, redes privadas virtuales (VPN) e incluso las comunicaciones seguras del servidor (como sitios web SSL).
Los certificados están creados a partir del cifrado y de los hash asimétricos. Para crear un certificado, el solicitante (entidad que desea una clave firmada por una autoridad más importante) genera una clave privada. La clave se mantiene guardada en un lugar seguro para que no se pueda cuestionar su autenticidad. Junto con la clave privada, también se genera la clave pública correspondiente. Tal como su nombre indica, la parte pública no es secreta y se distribuye libremente, aunque de manera que se garantiza su autenticidad.
Este par de claves permite dos operaciones fundamentales. En primer lugar, cualquiera puede usar la clave pública para cifrar los elementos que sólo puede descifrar la clave privada. En segundo lugar, la clave pública se puede usar para descifrar los elementos cifrados con la clave privada. Esto es importante para la comprobación de una firma que tan sólo podría crear una clave privada.
La solicitud a la entidad de certificación incluye detalles como la identidad de la persona o el equipo para los cuales está pensada la clave, el tipo de algoritmo y la seguridad, y la parte pública del par de claves. La entidad de certificación (CA) recibe y valida la información de la solicitud y, mediante un algoritmo de hash, crea un identificador único correspondiente a la información.
Mediante la clave privada, la CA cifra el hash de información, lo reúne en un formato estándar (como X.509) y crea el certificado correspondiente a la solicitud original. El certificado X.509 contendrá una lista de solicitudes incluidas la identidad del certificado (el asunto), un margen de tiempo de validez, la clave pública y las operaciones para las que se puede usar el certificado. A continuación, el certificado se devuelve al solicitante. En efecto, se trata de un token que indica: "Yo, la CA, doy fe de esta clave pública y la parte privada correspondiente, para todos los usos descritos en este documento".
En el caso de las CA raíz (las que se encuentran en el nivel más alto de la cadena de confianza), los certificados son autofirmados. La mayoría de las CA raíz aceptables están preinstaladas en el sistema operativo básico o aplicación base, pero se pueden actualizar y alterar a través de la configuración de paquetes o empresas. Entre la CA raíz y un nodo hoja (que suele describir un particular o sistema), puede haber varias CA intermedias.
La cadena consiste en todos los nodos y certificados anteriores incrustados en ellos, firmados por la CA en ese nivel. Un tercero que trate de validar el certificado puede comprobar el hash calculado de forma local y compararlo con el que se ha descifrado a partir del certificado mediante la clave pública correspondiente para esa CA o particular. Es decir, una cadena de confianza completamente validada desde la hoja a la raíz (siempre que la raíz sea confiable).

Actualización del estado de la certificación
Cada CA satisfactoria dispone de un medio para distribuir una lista de certificados en los que no se debe confiar. Esta lista de revocación de certificados (CRL) describe los elementos publicados que la CA ha anulado de forma específica. Afortunadamente, la ubicación de la CRL suele ser propiedad del certificado de CA.
Las CA publican las CRL de forma rutinaria en dos bases: una programación (alrededor de cada dos semanas) o un evento (los casos en los que un certificado publicado no es de confianza). Una CA firmará las CRL emitidas durante su publicación. Cuando un sistema de recepción evalúa la validez de una cadena, suele intentar obtener la CRL para las CA emisoras de la cadena (a través de los detalles incrustados en los certificados o de algún mecanismo de distribución predefinido de confianza). Si no hay disponible ninguna CRL, el cliente puede recurrir a una copia en caché reciente y correcta siempre que no sea más antigua que el período de actualización especificado en la CRL. Sin embargo, si no se cumplen estos requisitos, los sistemas cliente mostrarán algún tipo de error en el que se indique que el certificado parece válido pero el estado de revocación no se puede determinar.
Muchas aplicaciones tardan más en cargar un certificado si no pueden validar la cadena o la CRL para todos los nodos de la cadena. En función de la protección del certificado, el usuario puede confiar en él o no. Es imprescindible que las dispongan de un punto de distribución de CRL actualizado de forma rutinaria, especialmente para sus raíces públicas.
Las raíces son la base de la cadena de certificados y el encadenamiento es la base de las jerarquías de todos los certificados. La mayoría de los sistemas o aplicaciones del cliente sólo presumen que un certificado de nodo hoja es válido si está encadenado a una raíz de confianza. Puede tratarse de una CA de empresa, perteneciente y usada por una empresa concreta, o bien, podría ser una CA de raíz pública (como VeriSign).
Mediante las CA de raíz pública, se puede obtener una experiencia operativa significativa que permita asegurar la integridad. Las empresas deben procurar el mismo nivel para sus operaciones internas, como la importancia que tiene la inquebrantabilidad de una CA de raíz en ese contexto. Para una protección óptima, las CA de raíz se deben mantener sin conexión y usarlas únicamente para publicar certificados y actualizar CRL. Para obtener más información acerca de las prácticas recomendadas operativas de las CA, consulte los artículos incluidos en la barra lateral "Recursos de la entidad de certificación".
Un aspecto importante que hay que tener en cuenta es la recuperación de claves. Para facilitar las investigaciones y asegurarse de que ningún usuario bloquee los datos de forma irreversible, la empresa debe hacer copias de seguridad de todas las claves publicadas por el usuario. Además, estas copias de seguridad se deben almacenar en un repositorio seguro. De esta forma, si desaparece la clave de un usuario, por ejemplo, al olvidar una tarjeta inteligente en un taxi, se puede obtener acceso al contenido protegido mediante la clave.
Por último, dentro de todos los sistemas cifrados de calidad se encuentra el concepto de administración del ciclo de vida. A medida que los equipos son más rápidos, los algoritmos son más deficientes. Los sistemas de cifrado de calidad deben tener la capacidad de renovarse y desplazarse a nuevos algoritmos y tamaños de clave con el tiempo. Las CA se deben actualizar de forma apropiada al encontrar deficiencias en el cifrado y al introducir o retirar determinadas funciones.

Implementación de S/MIME
Existen varias fases de secuencia de arranque, redacción, envío y recepción de correo electrónico firmado o cifrado que usa S/MIME. Trataremos los detalles, los problemas y las posibles soluciones a medida que progresamos en una situación típica de S/MIME: dos usuarios que se envían correos electrónicos firmados o cifrados desde dos bosques de Active Directory® diferentes y desde cadenas de entidad de certificación distintas (es decir, desde entidades independientes de forma operativa, aunque estén en la misma compañía) mediante Microsoft® Office Outlook® 2007.
Suponemos que existe la infraestructura necesaria para permitir las operaciones que describimos. En nuestro caso, usamos un servidor de certificados empresariales integrado en Active Directory.

Obtención de certificados
La primera tarea es obtener los certificados apropiados. Para ello, abra el administrador de certificados en MMC (certmgr.msc), haga clic con el botón secundario del mouse en la carpeta Personal, seleccione All Tasks en la lista emergente y, a continuación, seleccione Request New de la lista.
Esto inicia el asistente de inscripción de certificados, tal como se muestra en la figura 1. De forma predeterminada, aparecerán varias opciones centradas en la empresa, pero el certificado User es el importante. Se usará para habilitar los procesos de firma y cifrado más adelante. El certificado se podrá usar para:
Figura 1 Solicitar un certificado
Figura 1 Solicitar un certificado (Hacer clic en la imagen para ampliarla)
  • Firmas digitales (creación de un mensaje con sello de autenticidad de su creador)
  • Cifrado de claves (protección de una clave con otra para tecnologías como el sistema de cifrado de archivos)
  • Correo seguro (mensajes cifrados que sólo puede leer el destinatario al que van dirigidos que disponen de la clave privada correspondiente)
Para enviar S/MIME firmado por correo electrónico, no es necesaria la propiedad de cifrado de claves. Sin embargo, para enviar o recibir correo cifrado, se necesita esta propiedad y no la propiedad de firma. De forma predeterminada, las plantillas de los servicios de servidor certificados de Windows® habilitan estas tres propiedades. Si el usuario no puede solicitar certificados nuevos, no aparecerá ninguno al iniciar el asistente. Si no hay disponible ninguna CA empresarial, el usuario podrá ver un "Error de inscripción" en el que se indicará que no se pudo poner en contacto con el dominio o la CA. En este tutorial, consideraremos un solo certificado que permita tanto la firma como el cifrado.

Intercambio de certificados
La manera más sencilla de que dos usuarios se empiecen a enviar correos electrónicos cifrados es sencillamente enviarse mensajes firmados. Después de redactar un mensaje, el usuario debe hacer clic en el botón Firmar. (Puede que el botón esté oculto en Outlook de forma predeterminada hasta que se usa al menos una vez. Para encontrarlo, haga clic en la configuración Opciones para mensajes nuevos, haga clic en el botón "Configuración de seguridad...", a continuación, active el cuadro "Agregar una firma digital a este mensaje" en el cuadro de diálogo Propiedades de Seguridad.) El botón de firma (un sobrecito amarillo con una cinta roja en el que aparece Firmar) agrega una firma digital al mensaje para establecer la autenticidad de su origen.
Al seleccionar el botón Enviar, al usuario se le puede solicitar que proporcione tokens adicionales de posesión de claves, como insertar una tarjeta inteligente o especificar un PIN. Esto depende de los métodos particulares de protección de claves de la organización.
El usuario que recibe el mensaje firmado de S/MIME debe hacer clic con el botón secundario del mouse en el nombre del remitente (después de De:), y seleccionar "Agregar a contactos de Outlook" del menú contextual, que agrega una nueva entrada de contacto o actualiza una existente. Entonces, el certificado se asocia con esta entrada de contacto. Tenga en cuenta que en un entorno común de Active Directory (dos usuarios en el mismo bosque o compañía), la distribución pública de certificados para usuarios se realiza de forma automática a través de atributos del objeto Active Directory del usuario.
Otra forma de intercambiar certificados es que cada usuario envíe sus certificados de S/MIME como datos adjuntos. Para ello, ambas partes deberán exportar sus certificados a un archivo CER. Los usuarios deben ver el certificado y seguir el proceso de exportación que trataremos en breve, con cuidado de no exportar la clave privada con él, tal y como se muestra en la figura 2.
Figura 2 Al intercambiar los certificados, no exporte la clave privada
Figura 2 Al intercambiar los certificados, no exporte la clave privada (Hacer clic en la imagen para ampliarla)
A continuación, cada receptor crea una entrada de contacto en Outlook y agrega el certificado a la entrada del remitente de forma manual. Una vez que los dos usuarios han intercambiado los certificados, podrán intercambiar correos electrónicos cifrados.

Solución de problemas
A veces, el receptor tiene dificultades para abrir el mensaje cifrado. Los tres orígenes de problemas que solemos detectar en esta área son: las CA raíz no son de confianza, no se pueden validar las CA intermedias y las CRL no están disponibles.
Una CA raíz que no sea de confianza suele aparecer en Outlook como un mensaje de error asociado con la firma: "Existen problemas con la firma. Haga clic en el botón de la firma para obtener más detalles". Para resolver el problema, abra el certificado desde Outlook y haga clic en el botón "Ver entidad emisora de certificados" del diálogo emergente. Consulte el mensaje en la ficha General del cuadro de diálogo de propiedades del certificado. Si indica que el certificado de raíz de CA no es de confianza y es necesario instalarlo, vaya a la ficha Detalles. Haga clic en el botón "Copiar en archivo..." y siga los pasos del asistente, acepte todos los valores predeterminados y proporcione un nombre de archivo y una carpeta cuando se le solicite.
Ahora abra una nueva consola de Microsoft Management Console (MMC) como administrador del equipo. Vaya a Archivo|Agregar o quitar complemento (Ctrl+M), seleccione Certificados y agréguelo a la cuenta del equipo (cuando se le solicite, debe elegir el equipo Local). A continuación, amplíe el nodo Certificados del árbol izquierdo y haga lo mismo con las entidades emisoras raíz de confianza. Haga clic con el botón secundario del mouse y seleccione Todas las tareas|Importar del menú emergente. Importe el archivo de certificado exportado que se menciona anteriormente a las entidades emisoras raíz de confianza y haga clic en Finalizar. Entonces, el usuario afectado debe reiniciar Outlook.
Estas instrucciones sólo se deben seguir para agregar una CA raíz de confianza. No todas raíces se crean de la misma manera. Considere detenidamente quién posee y usa la CA raíz antes de usar este método para agregar una raíz al almacén del sistema. Si su empresa controla la lista de raíces de confianza a través de la directiva de grupo, la configuración se insertará en los sistemas cliente. En ese caso, puede que no funcionen las instrucciones. De ser así, puede que necesite considerar alternativas como sitios web o servidores protegidos para intercambiar datos, ya que el correo electrónico no será una experiencia perfecta y protegida.
El segundo problema mencionado anteriormente (que las CA intermedias no se pueden validar) se suele producir en dos situaciones: un cliente que intenta validar el certificado no puede obtener acceso a la ubicación de Acceso a la información de entidad emisora (AIA) que aparece definida en el certificado, o el cliente tiene una versión del certificado de la CA intermedia que no coincide lo que la que emite la CA (el cliente suele tener una o dos versiones anteriores). Estas situaciones parecen muy similares en la interfaz de usuario de Outlook. Sólo lo hemos advertido en una circunstancia muy específica: cuando expira una CA de nivel medio de la cadena y se vuelve a emitir antes de que expiren otros certificados subordinados emitidos.
Básicamente, este problema ocurre cuando la cadena tiene huecos. Puede que algunos certificados primarios no estén bien detallados o no estén incrustados en el nodo hoja correctamente, lo que complicaría la situación aún más.
Para resolver este problema, el remitente deberá abrir un mensaje nuevo y hacer clic en Opciones del mensaje nuevo, a continuación, en el botón de configuración Seguridad, y después en el botón de configuración Cambiar. Haga clic en el botón Elegir del certificado de firma y, a continuación, en el botón Ver certificado del cuadro de diálogo emergente. Vaya a la ficha Ruta de certificado, seleccione el emisor del nodo hoja (es decir, suba un nivel de la cadena) y haga clic en el botón Ver certificado. Haga clic en la ficha Detalles, a continuación, en el botón Copiar en archivo..., complete el asistente de exportación y seleccione PKCS #7 (.P7B). Asegúrese de que está activada la opción "Incluir todos los certificados en la ruta de certificación", tal como se muestra en la figura 3. Por último, envíe el archivo exportado de la cadena al receptor deseado.
Figura 3 Corrección de huecos de una cadena de certificados
Figura 3 Corrección de huecos de una cadena de certificados (Hacer clic en la imagen para ampliarla)
Después de obtener la cadena de certificados exportada, el destinatario deberá abrir e importar la cadena de la misma forma que importamos una raíz anteriormente. La diferencia es que la carpeta de almacenamiento elegida debe ser donde se encuentran las entidades de certificación intermedias. Si se abre el mensaje y el certificado se muestra como válido en Outlook, todo funciona correctamente.
En cuanto al tercer problema (las CRL no están disponibles), en comparación, la corrección es bastante sencilla. La respuesta inicial de Outlook será muy parecida a la del problema anterior. Sin embargo, el error aparecerá incluso aunque la raíz o la CA de firma intermedia sean de confianza. En cada nivel de la cadena de certificados por encima de la hoja, abra las propiedades del certificado, a continuación, la ficha de detalles y consulte el campo denominado "Puntos de distribución CRL".
En cada punto de distribución CRL enumerado (especialmente los que tienen acceso a Internet), compruebe que se puede abrir la dirección URL del archivo CRL. Al validar cada nivel, suba un nivel de la cadena. Si no se puede adquirir ninguna CRL, probablemente éste sea el origen del problema. Para resolver el problema, debe comprobar que su directiva de red local no le bloquea el acceso. De lo contrario, intente de ponerse en contacto con la empresa que posee la CA o espere que el punto de distribución CRL de CA vuelva a encontrarse en estado operativo.

Distribución de certificados
La distribución es la parte fácil. Básicamente, el mensaje firmado se transmite a un servidor de correo, que lo envía de una ubicación a otra a través de un método de eficacia probada, el SMTP. El problema con el que nos encontramos al tratar con el correo firmado o cifrado en tránsito es que algunos sistemas de correo rechazan o interrumpen los mensajes firmados o cifrados que pasan por ellos. La corrección sirve para funcionar con el administrador de TI del sistema y obtener los tipos de mensajes permitidos. Por supuesto, deberá trabajar sabiendo que algunos tipos de mensajes están bloqueados. La parte receptora puede tener una buena razón para no permitir los mensajes cifrados en un entorno operativo particular.

Cifrado de respuestas
Para crear una respuesta cifrada (suponiendo que el proceso de secuencia de arranque mencionado anteriormente ya se ha realizado), el remitente sólo debe crear un mensaje y, a continuación, hacer clic en el botón Cifrar (el sobrecito amarillo con el candado azul en el que aparece Cifrar) en la ventana de composición de mensajes. Si el botón Cifrar no está disponible, siga los pasos para enviar un mensaje firmado (menos el último) y, en lugar de eso, marque la casilla "Cifrar el contenido del mensaje y de los datos adjuntos".
Para enviar un mensaje cifrado a un destinatario no es necesaria la firma de S/MIME, pero con toda certeza funcionan bien juntos, debido a que la firma permite que el lector valide el remitente (la función de cifrado no realiza ninguna notificación al remitente). El proceso de cifrado tratará de cifrar el mensaje con las claves públicas conocidas de todos los destinatarios. Si el sistema no puede encontrar certificados para algunos destinatarios a los que van dirigidos, se marcarán en un cuadro de diálogo emergente que permite enviar el mensaje sin cifrar, tal como se muestra en la figura 4.
Figura 4 Puede decidir enviar un mensaje sin cifrar si se encuentra con algún problema relacionado con un certificado
Figura 4 Puede decidir enviar un mensaje sin cifrar si se encuentra con algún problema relacionado con un certificado (Hacer clic en la imagen para ampliarla)
De forma predeterminada, la firma y el cifrado deben funcionar con otros sistemas cliente configurados, pero, a veces, los mensajes cifrados o firmados cruzados pueden tener problemas si el algoritmo de cifrado o de hash no es compatible con el nivel inferior. Nos encontramos con un problema al enviar un correo electrónico firmado (mediante SHA-512 como el algoritmo de hash) a un usuario que ejecuta Windows XP SP2. Ya que el sistema receptor no era compatible con el hash, el usuario no pudo validar la firma digital ni leer el mensaje. No obstante, a menos que se hayan cambiado los valores predeterminados de Outlook, no es probable que los usuarios se encuentren con muchos problemas en esta fase.
Tras la recepción del mensaje, el destinatario al que va dirigido debe poder abrirlo, siempre que esté disponible la clave privada asociada con el certificado público. De nuevo, puede que el usuario tenga que proporcionar un token adicional para demostrar la posesión de la clave privada, en función de cómo se haya implementado. Otros usuarios que hayan completado un proceso de secuencia de arranque similar pueden participar en comunicaciones firmadas y cifradas semejantes con el remitente. Si un usuario cambia la clave privada en algún momento (quizás por la pérdida de un equipo), deberá volver a solicitar certificados y redistribuir un mensaje firmado o un archivo de certificado a los que deseen intercambiar el correo cifrado.

Conclusión
El uso de S/MIME firmado y cifrado entre dos usuarios en dos directorios u organizaciones diferentes no suele ser mucho más complicado que el proceso que acabamos de tratar. La firma es muy útil cuando se usa correctamente, ya que proporciona autenticidad al mensaje. En el caso de la información confidencial, los mensajes cifrados ofrecen un nivel extra de confidencialidad para los datos en tránsito. Al combinarse, permiten autenticar tanto el origen como la confidencialidad de los datos. A través del proceso descrito en este documento, la mayoría de usuarios podrá sacar partido de estas capacidades sin ningún problema.

Matt Clapham, CISSP, es ingeniero en seguridad de Microsoft IT. Realiza revisiones de seguridad en aplicaciones de LOB durante el día y durante la noche se interesa por la tecnología, los juegos, la música por PC y la seguridad. En ocasiones, habla en la comunidad acerca de seguridad Puget Sound IT. Póngase en contacto con él en matt.clapham@microsoft.com.
Blake Hutchinson es analista de soporte técnico del grupo de servicios en línea empresariales (BOSG) de Microsoft. Su función incluye el soporte técnico operacional y la revisión de proyectos de las herramientas LOB creadas internamente para clientes empresariales de BOSG. A Blake le gusta la fotografía, el esquí y los videojuegos. Puede ponerse en contacto con él en blakeh@microsoft.com.


Nota del editor El gran debate
Joshua Hoffman

Me encanta un buen debate. No me refiero a los desacuerdos pedestres en los que las opiniones opuestas y las fuertes personalidades causan choques sin sentido. Eso es una pérdida de tiempo. Pero un debate realmente bueno, en el que las personas inteligentes con puntos de vista opuestos se reúnen para presentar apasionadamente sus argumentos, es algo muy poderoso. Piense en la iluminación. Piense en Sócrates.
Este mes presentamos uno de los grandes debates en el sector de la TI, la seguridad por oscuridad. Explicaría el concepto aquí, pero sospecho que tras leer esas tres palabras, la mayoría de los lectores habrán expresado su opinión acerca del asunto, y seguramente en voz alta. Estoy también dispuesto a apostar que la mayoría de los lectores caen directamente en uno de dos campos: "la seguridad por oscuridad es completamente inútil" o "en cuanto a la seguridad, cualquier avance ayuda".
Bien, este mes reunimos a los conocidos expertos de seguridad Jesper Johansson y Roger Grimes para presentar los dos lados de este debate. También se incluyen argumentos especiales para cada lado de dos notables adicionales, Aaron Margosis y Steve Riley. Si bien estoy muy orgulloso de todas las páginas que publicamos, tengo que admitir que este artículo es uno de mis preferidos desde hace mucho tiempo. Espero que lean este artículo sin ningún prejuicio, independientemente de la posición que tome en este gran debate. Estoy seguro que disfrutarán de él.
Por supuesto, puesto que este número representa la edición anual acerca de la seguridad, también hay mucho más. Volvemos a abordar algunos de los temas que cubrimos en el número del año pasado. Uno de los artículos más populares del año pasado lo escribió el editor contribuidor Michael Murgolo y describió un conjunto de Power Toys de elevación de scripts, que ayudan a ejecutar VBScript o scripts de Windows PowerShell en un contexto elevado junto con la característica Control de cuentas de usuario de Windows Vista. Michael recibió numerosos comentarios positivos por este artículo, por lo que ha regresado este año con un nuevo conjunto de utilidades para ampliar su código original. Les animo a que prueben estas herramientas altamente eficaces.
Byron Hynes también hizo una contribución el año pasado, con una introducción al Cifrado de unidad BitLocker en Windows Vista. Byron retoma su papel con una mira a los cambios de BitLocker con el lanzamiento de Windows Vista SP1 y Windows Server 2008. Además, se incluyen artículos acerca de directivas de restricción de software, administración de Firewall de Windows Vista, solución de problemas S/MIME, la segunda edición de la columna Dentro de SharePoint, ideas empresariales para promover la informática sostenible, entre muchas otras cosas. Que disfrute. Joshua Hoffman

Mi agradecimiento a los siguientes expertos de Microsoft: Troy Funk, Aaron Margosis, Michael Murgolo, Steve Peschka, Steve Riley, Mark Russinovich, Jon Schwartz y Jim Truher.


Cartas Comentarios de los lectores

Copias de seguridad de Windows
Me gustó tanto leer vuestro artículo acerca de Windows Server® 2008 (TechNet Magazine, marzo de 2008, technet.microsoft.com/magazine/cc268370), que fui al evento de lanzamiento y me compré una copia para mi red doméstica. No tuve problemas con la instalación. Pero me sorprendió el tema de las copias de seguridad.
Se ha eliminado la Copia de seguridad de NT y el nuevo componente Copias de seguridad de Windows Server no es compatible con unidades de cinta, aunque el sistema operativo sí lo es. (Hago copias de seguridad de mis datos personales, incluidos Active Directory® y Exchange Server 2007, en una unidad de cinta).
Intenté descargar el Administrador de protección de datos (DPM) de Microsoft® siguiendo las indicaciones de la Web, aunque DPM pueda que sea excesivo para mi instalación. De todas formas, DPM no se instala en Windows Server 2008, y no tuve suerte con las instrucciones para realizar una instalación manual. ¿Qué van a hacer las instalaciones pequeñas con las copias de seguridad?
—Ravi S.

DPM es sin lugar a dudas la solución para las copias de seguridad en cinta, puesto que la nueva solución de Windows Server 2008 está optimizada para el almacenamiento basado en disco. DPM será compatible oficialmente con Windows Server 2008 en un par de meses.
—Karandeep Anand, director de programas senior, Microsoft

Flujos de trabajo de encuestas
En el artículo de febrero de 2008 "Creación de una infraestructura de generación de informes eficaz" (technet.microsoft.com/magazine/cc194407), la siguiente afirmación se encuentra en la sección Trabajo sólo con WSS: "También tiene la opción de asignar un flujo de trabajo a la encuesta."
En mi opinión, Windows® SharePoint® Services 3.0 (WSS) y Microsoft Office SharePoint Server 2007 (MOSS) no son compatibles con flujos de trabajo asociados con respuestas de encuestas. He intentado asociar un flujo de trabajo con una respuesta de encuesta, y, aunque SharePoint Designer permite la asociación, el flujo de trabajo siempre muestra un error al iniciarse. Hay un artículo de Knowledge Base (support.microsoft.com/kb/926370) en el que se indica claramente que los flujos de trabajo asociados con respuestas de encuesta no son compatibles.
Comprendo que es posible vincular un receptor de eventos con una encuesta y, a continuación, iniciar algún otro proceso, pero esto realmente no es un flujo de trabajo como se entiende normalmente en SharePoint. ¿Se trata de un error o me estoy perdiendo algo?
—Matt B.

En el párrafo mencionado se habla de cómo WSS ofrece un asistente para un proceso paso a paso de creación de encuestas. También existe un debate acerca de las distintas opciones (la lógica de bifurcación, las preguntas abiertas/cerradas, etc.).
Una de las opciones que ofrece el asistente es la asignación de un flujo de trabajo; por lo que, por una parte, no es exactamente incorrecto decir "tiene la opción de asignar un flujo de trabajo a una encuesta". Puede asignarlo. Sin embargo, como usted indica, los flujos de trabajo en encuestas no funcionan, aunque por alguna razón esa opción está incluida. Permítame intentar explicar los motivos por los que sucede esto.
Después de asociar un flujo de trabajo a una encuesta e intentar iniciarlo, recibirá el error de inicio. Los registros de esta actividad muestran lo siguiente:
RunWorkflow: System.ArgumentException: Invalid field name.
{<<< GUID>>>} at ...
El GUID representa la instancia del flujo de trabajo. Parece ser la mejor manera de asegurar que se active el flujo de trabajo correcto, aunque el tipo de lista "encuesta" no admite el atributo de flujo de trabajo. Simplemente, no está codificado. Así, cuando el flujo de trabajo intenta activarse con el método de MakeActivation y realice algo como lo siguiente:
internal static void MakeActivation(SPWorkflow workflow, SPWorkflowEvent e)
{e.EventData = new object[ ] { workflow.InstanceId, new SPWorkflowActivation
Properties(workflow, e.RunAsUserId, associationData, initiationData) };
...
}
llama a SPWorkflowActivationProperties, que se parece a lo siguiente:
internal SPWorkflowActivationProperties(SPWorkflow workflow,
int runAsUserId, string associationData, string initiationData)
{
...
this.m_itemGuid = new Guid((string)
this.Item[SPBuiltInFieldId.GUID]);
...
}
Así que, si espera que la cadena GUID sea un atributo en la encuesta (que aparentemente debe estar integrado) y la encuesta no tiene el atributo para el GUID del flujo de trabajo, nunca funcionará.
Hay una solución alternativa posible y usted está en el camino correcto. La solución alternativa implica crear una lista personalizada que active un flujo de trabajo y vincular un receptor de eventos con la encuesta mediante ItemEventReceiver. Este receptor de eventos crea un artículo en la lista personalizada, que, a continuación, activa un flujo de trabajo. Pero usted tiene razón, no es realmente lo mismo. En resumen: sí, ha sido una buena observación por su parte, pero realmente, no funciona.
—Pav Cherny, columnista, Dentro de SharePoint, TechNet Magazine


Cuadro de herramientas Nuevos productos para profesionales de TI
Greg Steen

Emitir anuncios a través de la red
NetSupport Notify
www.netsupportnotify.com
El entorno de trabajo basado en PC es casi omnipresente en cualquier oficina. La mayoría de los usuarios permanecen delante de sus pantallas durante todo el día, conectados a una red que usted ayuda a administrar. Además ofrecer un transporte para los recursos compartidos, las aplicaciones e Internet, la red de su compañía también puede ser usada como parte de la estrategia de su organización para comunicar mensajes importantes a los usuarios. Una herramienta que puede ayudarle a entregar mensajes a los usuarios a través de la LAN y la red de área extensa (WAN) es NetSupport Notify, de NetSupport Limited.
Este servidor de aplicaciones ligero le permite difundir mensajes de un modo rápido y seguro. Puede, por ejemplo, alertar fácilmente a los usuarios acerca de una pérdida inesperada del servicio de un recurso compartido, informarles de que la alarma de seguridad que están oyendo fue activada por accidente o notificarles acerca de una emergencia relacionada con el edificio.
Algunas de las herramientas de difusión de mensajes más sencillas que habrá podido probar se limitan a la LAN en la que se instalan. NetSupport Notify, sin embargo, se basa en agentes, y gracias a su componente de puerta de enlace de notificación, puede atravesar fácilmente su topología de red para llegar a clientes Windows® o Mac, independientemente de si están conectados directamente, a través de una conexión inalámbrica o de una red privada virtual.
El servicio de notificación se ejecuta como un servicio de Windows, al que podrá conectarse a través de la consola administrativa de notificación, que puede instalarse en el mismo equipo o en otro distinto. Las notificaciones procedentes del servicio se clasifican en tres niveles de gravedad distintos: mensaje, alerta y crítico. Una vez que el cliente recibe un mensaje, se crea una entrada en el registro de eventos y se notifica al servidor que el mensaje ha sido recibido. Otras opciones de mensajes incluyen la reproducción de un pitido además de mostrar la ventana, forzar la notificación para que siempre sea visible o configurar un tiempo de espera automático para que el mensaje se cierre automáticamente.
También puede optar por dirigir un mensaje a grupos específicos. La consola de notificación puede conectarse a varios servidores de notificación, de modo que una consola puede ser el centro de la difusión de mensajes.
Además del servidor y la consola, NetSupport Notify también incluye una herramienta que admite la implementación remota del agente para los usuarios finales, lo que le permitirá ahorrarse una visita al escritorio. Puede especificar equipos de destino por intervalo de direcciones IP o a través de la detección de dominios de redes y grupos de trabajo de Windows.
La consola de implementación también le ofrece una vista rápida de la red, ya que muestra la versión del agente instalado junto con una serie de elementos esenciales, como el nombre DNS, la dirección MAC, la dirección IP, la plataforma y si la consola dispone de acceso al equipo remoto. Si usa Active Directory®, puede administrar la configuración y la implementación a través de la directiva de grupo.
Para protegerse ante difusiones no autorizadas (del tipo "¡Oye, hay una fiesta en mi oficina a las 4.00!"), los agentes y las consolas emplean un código de seguridad parecido a una cadena de claves de Instrumental de administración de Windows (WMI). Asimismo, puede controlar la capacidad de enviar alertas a través de una directiva de Active Directory.
Precio: A partir de 180 USD para una licencia de 75 usuarios.
Difunda anuncios a sus empleados con NetSupport Notify
Difunda anuncios a sus empleados con NetSupport Notify (Hacer clic en la imagen para ampliarla)

Supervise la red
NetOptics: Teeny Tap
www.netoptics.com
Usados en combinación con una aplicación de supervisión confiable, los dispositivos de escucha de red pasivos pueden resultar una herramienta esencial a la hora de reparar redes problemáticas, corregir aplicaciones que exhiban un comportamiento extraño o mitigar posibles amenazas a su infraestructura. Un dispositivo de escucha interesente que atrajo mi atención para redes 10/100 es Teeny Tap de NetOptics, increíblemente portátil.
Este diminuto aparato de 7,9 cm por 3,8 cm ofrece supervisión del tráfico de dúplex completo a partir del nivel 1, lo que permite realizar comprobaciones puntuales o bien supervisar el tráfico de manera continua de su red 10/100. Este dispositivo logra la supervisión de dúplex completo gracias a sus dos puertos RJ45 de supervisión, que ofrecen una vista detallada del tráfico que fluye a ambos lados de sus dos puertos de red al conectarse al monitor de red, analista de protocolos, IDS/IPS o sonda de otro tipo.
Teeny Tap no requiere dirección IP. Al aislarse de la red, puede permanecer invisible para aquellos a los que su presencia les sirve de indicación para dejar de juguetear con la red. La característica Zero Delay, por su parte, garantiza que una pérdida de alimentación del dispositivo de escucha no afectará al tráfico que circule a través de éste, por lo que no se producirán retrasos ni pérdidas de paquetes.
El dispositivo de escucha puede alimentarse a través de USB o mediante la fuente de alimentación incluida; también puede usar ambos para fines de redundancia, característica notable para un dispositivo tan pequeño. Teeny Tap, además, es compatible con servicios basados en Power over Ethernet, como cámaras de red y teléfonos IP. Así que también puede supervisar el tráfico de dichos dispositivos para asegurarse de que sus comunicaciones sean seguras.
El kit de Teeny Tap incluye el dispositivo de escucha, una fuente de alimentación universal, dos cables RJ45 cruzados y otros dos rectos y una funda de transporte. Si necesita un poco más de potencia en su entorno, le recomendamos que compruebe otros productos de escucha de red que ofrece NetOptics. La línea de productos cubre toda la gama, desde redes pequeñas de oficina hasta entornos empresariales de gran envergadura, tanto para redes de cobre como de fibra, con velocidades de 10 MB a 10 GB.
Precio: 325 USD (directo).
Supervise la red con Teeny Tap
Supervise la red con Teeny Tap (Hacer clic en la imagen para ampliarla)

Optimice su equipo
DTweak Pro
www.daoisoft.com
Como profesional de TI, y apasionado de la tecnología en general, indudablemente sentirá el deseo de retocar su sistema y tratar de obtener el máximo rendimiento y personalizarlo al máximo para sus actividades diarias. Si su equipo ejecuta Windows Vista®, existe una gran cantidad de herramientas en el mercado que le ayudarán a optimizar y personalizar su experiencia de usuario. Una opción de bajo costo es DTweak Pro de Daoisoft. Existe también una versión disponible para Windows® XP y Windows Server® 2003.
Esta aplicación ofrece diversas vistas de acceso rápido a diversas herramientas y personalizaciones para Windows Vista. Por ejemplo, en la sección de herramientas diarias, puede ejecutar una herramienta de limpieza del registro, una utilidad de limpieza de archivos, herramientas de desfragmentación de disco y de registro y un monitor de rendimiento del disco duro.
DTweak también permite ver y adaptar fácilmente los elementos de inicio, obtener información de la CPU, incluidos el identificador de la CPU, la velocidad del bus y la velocidad de reloj, y reunir información acerca del equipo, como el proveedor, el estado de arranque, la configuración de la memoria y el tipo de sistema. Puede ajustar incluso la memoria caché de E/S y la cantidad de tiempo que se esperará antes de finalizar los programas bloqueados y servicios colgados.
La sección de herramientas de la GUI ofrece vínculos a herramientas integradas de Windows Vista, incluidas diskpart y la restauración del sistema, así como vínculos a herramientas prácticas de red, como finger, ping, netstat o nslookup. Otras modificaciones de red incluyen el ajuste de la unidad máxima de transmisión, TCP/IP TTL, y la configuración de tiempo de espera de DNS, o la limitación del ancho de banda con el servicio de programador de paquetes QoS.
Precio: 29,95 USD (descarga directa).
Ajuste y optimice su sistema con DTweak
Ajuste y optimice su sistema con DTweak (Hacer clic en la imagen para ampliarla)

Reseña de libro
Microsoft Exchange Server 2007 Administrator's Companion
www.microsoft.com/mspress
El correo electrónico puede ser una bestia de aspecto remilgado. Por ejemplo, usted no tiene un control verdadero sobre el flujo de mensajes entrantes. Si trata de evitar la inundación de mensajes entrantes suspendiendo el servidor SMTP hasta que se hayan reducido sus colas, se arriesga a que el emisor reciba un aviso de "el mensaje no se ha podido entregar". La analogía con un sistema de tuberías es muy acertada: el agua siempre fluye y, si cierra una válvula de una sección, se arriesga a que otra tubería reviente. Una infraestructura de correo electrónico bien planeada, ajustada y flexible es esencial si desea mantener un funcionamiento óptimo del negocio en general.
Obviamente, Microsoft Exchange Server® 2007 fue diseñado para administrar enormes volúmenes de correo, por lo que permite personalizar la infraestructura con el fin de satisfacer las necesidades de su organización, tanto actuales como futuras. Sin embargo, la cantidad de opciones y decisiones que debe tomar en una implementación de Exchange 2007 es también enorme. Y Exchange cubre muchos más aspectos que el correo electrónico, lo que complica aún más la tarea.
Necesita por tanto disponer de una referencia o dos de confianza para que le ayuden a tomar las decisiones correctas en materia de arquitectura y administración. Una referencia que puede acabar siendo imprescindible es Microsoft Exchange Server 2007 Administrator's Companion.
En este libro se cubre el ciclo de vida de la implementación del producto, desde las fases de planeación e implementación hasta el mantenimiento y la seguridad. También se tratan los diferentes clientes y opciones de conectividad de clientes disponibles en Exchange 2007. Al principio se ofrece una introducción acerca de las diferencias existentes entre las diferentes versiones y un resumen de las novedades que presenta Exchange 2007. Asimismo, se incluye una introducción completa de los diferentes componentes arquitectónicos de Exchange Server 2007.
En la siguiente sección se explica cómo planear la implementación de Exchange e indica cómo calcular los requisitos de almacenamiento, los requisitos de servidor y procesador y agregar la tolerancia a errores. El manual pasa después a tratar las fases de instalación e implementación propiamente dichas, e indica cómo preparar el servidor para Exchange e instalar los diferentes componentes del software. Se ofrece incluso una referencia exhaustiva a los servicios de clúster de Exchange para lograr un nivel más alto de disponibilidad.
El libro pasa a continuación a describir las numerosas herramientas de administración disponibles, como el panel MMC de Exchange o el nuevo Shell de administración de Exchange basado en Windows PowerShell™. En esta sección también aprenderá desde cómo crear buzones de correo hasta cómo crear grupos de almacenamiento o realizar copias de seguridad y restaurar operaciones. Otro aspecto interesante acerca de esta sección es que indica cómo realizar todas esas operaciones tanto con la GUI de administración como a través de la línea de comandos con Windows PowerShell.
Exchange 2007 posee diversas características de mensajería unificada que permiten administrar los datos y las comunicaciones por voz en un mismo sistema; asimismo, en el libro se muestra cómo configurar y usar la mensajería por voz, fax y el acceso al buzón de entrada por voz, entre muchas otras funciones.
En lo que respecta al mantenimiento, se tratan las técnicas y herramientas básicas de solución de problemas, los datos dañados y la recuperación de desastres y el ajuste preciso del rendimiento. La seguridad, lógicamente, debe ser una de las máximas preocupaciones de cualquier sistema de mensajería unificado, por lo que el libro contiene información exhaustiva acerca de cómo proteger la implementación. Obtendrá información acerca de directivas e instrucciones de seguridad, las características de antivirus y protección contra correo electrónico no deseado y la infraestructura de claves públicas.
Por último, se analizan los diversos clientes de Exchange y se incluyen instrucciones de compatibilidad con otros clientes POP3 y del Protocolo de acceso a mensajes de Internet de la organización. En conjunto, se trata de una excelente referencia general para cualquier administrador, tanto si se desea planear, realizar un mantenimiento o simplemente se desea conocer la plataforma de mensajería unificada del servidor Exchange Server 2007.
Precio: 49,99 USD (lista).
(Hacer clic en la imagen para ampliarla)

Greg Steen es un profesional emprendedor y entusiasta de la tecnología. Siempre está buscando nuevas herramientas para ayudar a simplificar las operaciones, el control de calidad y el desarrollo para los profesionales de TI.


Preguntas y respuestas acerca de SQL Errores de E/S, creación de reflejos de la base de datos, etc.
Paul S. Randal

P He empezado a ejecutar comprobaciones de coherencia con regularidad en las bases de datos que administro e, incluso, he agregado algunas alertas del Agente SQL para localizar los errores de E/S que se indican en las consultas de los usuarios. No sé si la lógica que he implementado en las comprobaciones y las alertas funcionará, ya que mis bases de datos no tienen daños. ¿Cómo puedo crear daños en una base de datos de prueba para asegurarme de que todo lo que he configurado funciona correctamente? Además, ¿qué más puedo hacer para detectar los errores de E/S?
R En SQL Server® 2000, el truco para crear una base de datos dañada en la que realizar pruebas consistía en eliminar manualmente una fila de la tabla sysindexes de una base de datos de prueba. Pero con SQL Server 2005, dañar una tabla del sistema de esta manera es muy difícil. La mejor manera de dañar una base de datos de prueba es usar un editor hexadecimal para alterar un archivo de datos con la base de datos cerrada. Estos son los pasos que debe seguir:
  • Cierre la base de datos para que los archivos de datos no estén bloqueados. (Tenga cuidado de no separar la base de datos porque, si daña la página incorrecta, tal vez no pueda unirla de nuevo).
  • Elija una parte del archivo de más de 100 páginas aproximadamente (por lo menos de 819.200 bytes) con intervalos de 8.192 bytes (límite de página). De esta forma puede evitar las páginas de metadatos importantes y los mapas de bits de asignación, lo que le permite iniciar la base de datos y ejecutar DBCC CHECKDB en ella.
  • Escriba algunos bytes de ceros en la parte elegida del archivo. Al usar esta técnica la introducción de algunos daños en el encabezado de la página está prácticamente garantizada.
Dicho esto, la forma más rápida de dañar una base de datos de prueba es usar una que ya esté creada. Puede encontrar ejemplos de bases datos dañadas de SQL Server 2000 y SQL Server 2005 (con explicaciones) en mi blog (en go.microsoft.com/fwlink/?LinkId=115151).
En cuanto a la segunda pregunta con respecto a lo que se debe hacer para detectar los errores de E/S: debe habilitar las sumas de comprobación de las páginas. Esta característica se introdujo en SQL Server 2005 para proteger una página entera de la base de datos de los errores introducidos por el subsistema de E/S.
Básicamente, al escribir una página en el disco, lo último que hace SQL Server es calcular una suma de comprobación de los 8 KB de la página y marcarla en la página. Al leer una página del disco, si tiene una suma de comprobación de página, se calculará de nuevo y se comparará con la que se almacena en la página. Si no coinciden, significa que algún elemento ajeno a SQL Server dañó la página y se produce un error 824. El error se muestra en la conexión que provocó la lectura de la página, además de registrarse en el registro de error de SQL Server y en el registro de eventos de aplicación de Windows®.
Las sumas de comprobación de página están activadas de forma predeterminada en todas bases de datos creadas en SQL Server 2005 y SQL Server 2008. Sin embargo, hay que habilitarlas manualmente en las bases de datos actualizadas a partir de versiones anteriores de SQL Server. Para habilitar las sumas de comprobación de página, use este código:
ALTER DATABASE mydb SET PAGE_VERIFY CHECKSUM;

Sugerencia: cambie el puerto predeterminado de SQL Server
De forma predeterminada, el puerto configurado de las instancias de SQL Server es el 1433. Una vez que una instancia use este puerto, no podrá ocuparlo ninguna otra. Por lo tanto, si instala una segunda instancia (con nombre) de escucha en la red mediante tcp, necesitará otro puerto. En algunos casos, el administrador puede cambiar el puerto por razones de ofuscación (aunque esta forma de ofuscación es secundaria y se puede interrumpir fácilmente mediante un escáner de puerto). Por supuesto, deberá configurar el cliente para usar un puerto diferente. Existen tres enfoques típicos de hacerlo.
Primero, suponiendo que el administrador cambió el puerto de una instancia a 5555, puede especificar simplemente el número de puerto de la instancia dentro del nombre del equipo al que desea conectar mediante la sintaxis MiNombreDeServidor,5555. Si se vuelve a cambiar el puerto, los clientes deberán cambiar sus connectionStrings de nuevo.
Otra opción es usar alias de SQL Server, que se configuran en el cliente. Además de especificar un nombre de alias, debe indicar el nombre de servidor, el nombre de puerto y el protocolo. Una vez configurado, el alias se puede usar como nombre de servidor para conectarse a la instancia de la base de datos. La ventaja que aporta esta opción es que un administrador de dominio puede implementar los cambios de configuración del servidor, ya que la configuración se almacena en el registro.
La tercera opción de las instancias con nombre en las que el usuario sólo conoce el nombre de la instancia y especifica el nombre con la estructura NombreDeEquipo\NombreDeInstancia dentro de connectionString es usar el servicio Explorador de SQL Server. Esto ya se ha implementado en SQL Server 2000 como parte de un servicio en ejecución. No obstante, en SQL Server 2005, se creó el servicio Explorador de SQL Server como servicio independiente. Además del descubrimiento de instancias del equipo, responde a las solicitudes entrantes del protocolo de datagramas de usuario (UDP) en el puerto 1434 con el número de puerto adecuado para la instancia solicitada, lo que permite la redirección del cliente y la compatibilidad de una conexión transparente.
—Jens K. Suessmeyer, consultor de bases de datos en Microsoft

P Para eliminar la fragmentación de la base de datos, he configurado un plan de mantenimiento nocturno que regenera todos los índices de la base de datos de producción que se ejecuta en SQL Server 2005 Enterprise Edition con SP2. He observado que, de esta forma, la base de datos crece demasiado, por eso, agregué un paso para reducir el espacio extra, ya que no hay mucho espacio en el disco. Ahora parece que la regeneración no funciona. ¿Qué pasa?
R Se ha encontrado con un problema al que suelen enfrentarse muchos usuarios cuando intentan configurar un plan de mantenimiento. Ha entrado en un ciclo de reducción y crecimiento.
Al regenerar un índice, se crea una nueva copia del índice antes de eliminar el índice existente. Este procedimiento necesita espacio extra en los archivos de la base de datos (generalmente el mismo espacio que use el índice actual). En SQL Server 2000, también se necesita el espacio extra para ordenar las filas del índice (aproximadamente un 20 por ciento del tamaño del índice), pero ese requisito se ha eliminado en la regeneración de un índice sencillo en SQL Server 2005.
A veces, los administradores desean quitar el espacio extra creado durante la regeneración del índice, por lo que realizan una operación de reducción al plan de mantenimiento después de la regeneración. Sin embargo, poca gente sabe que esta reducción provocará la fragmentación del índice debido a la naturaleza de su algoritmo. Esto significa que el índice regenerado y desfragmentado recientemente se fragmentará de inmediato, lo que anulará el efecto de regeneración en primer lugar.
Ya que el archivo de la base de datos volverá a aumentar la próxima vez que se regenere el índice, es preferible que la base de datos tenga espacio extra y evitar que se ejecute la reducción. (Además, el continuo crecimiento y reducción de los archivos de la base de datos causará la fragmentación de los archivos a nivel de sistema operativo, lo que puede provocar un rendimiento insuficiente al igual que la fragmentación del índice.
Por último, debería plantearse la posibilidad de reducir la frecuencia con que regenera los índices. Incluso puede tratar de usar un método alternativo, como el antiguo DBCC INDEXDEFRAG que escribí para SQL Server 2000 o la nueva sintaxis ALTER INDEX REORGANIZE en SQL Server 2005 y SQL Server 2008.
Hay unas notas técnicas de gran utilidad en las que se trata la fragmentación de índices y ofrece orientación acerca de cuándo eliminar la fragmentación (en go.microsoft.com/fwlink/?LinkId=115154). Aunque este texto se escribió para SQL Server 2000, los conceptos son los mismos.

P Hemos estado evaluando la estrategia de recuperación de desastres en mi organización y creo que la creación de reflejos de bases de datos es el procedimiento correcto en nuestra situación. El servidor que intento proteger tiene muchas bases de datos no relacionadas (resultado de un proyecto previo de consolidación de servidores) y quiero usar la creación de reflejos de bases de datos para todas. Mi pregunta es la siguiente: ¿cuántas bases de datos se pueden reflejar antes de que se reduzca el rendimiento?
R La respuesta a esta pregunta es muy típica: depende. Las directrices publicadas aconsejan no reflejar más de 10 bases de datos por instancia, pero depende de cada usuario. Hay que tener en cuenta los siguientes factores para la instalación del hardware:
  • ¿De cuánta memoria disponen las instancias principal y reflejada? (Lo idea sería que dispongan de la misma.)
  • ¿Cuánta capacidad de procesamiento tienen las instancias principal y reflejada? (También debería ser la misma.)
  • ¿Cuánto ancho de banda tiene el subsistema de E/S de la instancia reflejada? (Debería tener tanto como el de la principal.)
  • ¿Cuántos registros de transacciones genera la carga de trabajo en cada base de datos?
  • ¿Cuánto ancho de banda de red está disponible entre las instancias principal y la reflejada?
Los últimos dos factores son los más importantes. Si el ancho de banda de red disponible entre las dos instancias no es suficiente para encargarse la velocidad de generación de registros de transacciones combinados por segundo de todas las bases de datos reflejadas, el rendimiento disminuirá en las bases de datos principales. SQL Server 2008 ayuda a mejorar una parte de esta carga mediante la compresión de secuencias de registro.
El siguiente aspecto más importante a tener en cuenta en la creación de reflejos es la memoria y los requisitos de los subprocesos. Todas las bases de datos reflejadas ocupan un subproceso además de memoria. Si un servidor de baja potencia tiene una muchas bases de datos reflejadas, esto puede suponer una carga excesiva para el servidor al combinarlas con la carga de trabajo habitual.
Además, debe tener en cuenta cómo llevará a cabo la creación de reflejos de bases de datos. En el modo sincrónico, las transacciones de la base de datos principal no se pueden confirmar hasta que todos los registros de transacciones se hayan copiado en el registro de transacciones de la base de datos reflejada. Por lo tanto, cualquier retraso causado por una red sobrecargada podría provocar un problema de rendimiento de la carga de trabajo de la principal.
En el modo asincrónico, las transacciones se pueden confirmar en la principal sin tener que esperar, aunque un retraso de la red podría aumentar el número de registros de transacciones en espera de envío. Esto puede causar problemas relacionados con el tamaño del registro de transacciones. O, lo que es peor, los registros de transacciones que no se hayan enviado se perderán en caso de error. Por lo tanto, cuantos más registros de transacciones queden sin enviar, mayor será la probabilidad de perder datos en una situación de recuperación.
Las situaciones pueden ser muy diferentes y he detectado algunos ejemplos interesantes en entornos de producción reales. Por ejemplo, advertí un entorno con 150 bases de datos con una actividad muy pequeña y sin sincronización. Las 150 bases de datos se reflejaron sin problemas.
Por el contrario, también pude ver una configuración que solamente tenía tres bases de datos muy cargadas sin una conexión de red buena. En esa situación, apenas se pudo reflejar una base de datos antes de que la falta de ancho de banda de la red degradara la carga de trabajo.
La clave del éxito es, en primer lugar, realizar el cálculo de generación de registros. Si parece que el ancho de banda de red disponible puede ser compatible con el número de las bases de datos que desea reflejar, no debería haber ningún problema. Pruebe su configuración antes de ponerlo en ejecución y asegúrese de incluir todas operaciones que podrían generar un registro de transacciones (especialmente todo el mantenimiento de bases de datos que pueda realizar).

Paul S. Randal es el director general de SQLskills.com y uno de los profesionales más valorados (MVP) de SQL Server. Trabajó en el equipo del motor de almacenamiento de SQL Server de Microsoft de 1999 a 2007. Paul escribió las directrices de reparación de DBCC CHECKDB para SQL Server 2005 y fue responsable del motor de almacenamiento del núcleo durante el desarrollo de SQL Server 2008. Es experto en recuperación de desastres, en alta disponibilidad y en el mantenimiento de bases de datos, además de moderador habitual en congresos. Además, es autor de un blog: SQLskills.com/blogs/paul.


Utility Spotlight Asesor de actualizaciones de Windows Vista
Lance Whitney

Ha llegado el momento de comenzar a planear la actualización de la organización a Windows Vista® y, al igual que ocurre con cualquier actualización, hay que plantear una serie de preguntas. ¿Los clientes de red cumplen los requisitos de hardware y software? ¿A qué problemas de compatibilidad se enfrenta? Para ayudar a responder a estas y otras preguntas, Microsoft le ofrece el Asesor de actualizaciones de Windows Vista. Esta utilidad analiza todo el hardware y el software instalados en un equipo para determinar si una actualización es viable. Si lo es, el asesor recomienda la versión óptima de Windows Vista e indica los posibles problemas que se deberán resolver antes de realizar la actualización.
El análisis del Asesor de actualizaciones suele tardar varios minutos. Durante el análisis, un gráfico indica las diferentes versiones de Windows Vista y aparecen comparadas las características de cada una de ellas. También puede seleccionar una edición específica (Ultimate, Home Premium, Business o Home Basic) para obtener una descripción breve y una lista con las principales características. Una vez finalizado el análisis, la pantalla de detalles del informe indica si el equipo puede actualizarse a Windows Vista y la versión recomendable. Entre los detalles se incluyen los siguientes elementos:
Requisitos del sistema Indica si el hardware (la CPU, la memoria RAM, la memoria de vídeo y la unidad CD/DVD) es suficiente. Si no lo es, aparecerán los detalles acerca de los elementos necesarios para actualizar el equipo; por ejemplo, la cantidad de memoria que debe agregar.
Dispositivos Se examinan todos dispositivos y controladores externos, incluidos el módem, la impresora, el escáner, la tarjeta de sonido, el monitor y la tarjeta de vídeo. Si un dispositivo no supera la prueba de compatibilidad, el informe explica qué medida se debe tomar, como, por ejemplo, descargar los controladores más recientes del sitio web del fabricante. Para su comodidad, se proporciona un vínculo al sitio web.
El Asesor de actualizaciones notifica los problemas de compatibilidad conocidos y proporciona recomendaciones para su solución.
El Asesor de actualizaciones notifica los problemas de compatibilidad conocidos y proporciona recomendaciones para su solución. (Hacer clic en la imagen para ampliarla)
Programas Este proceso analiza el software instalado. Le permite conocer qué aplicaciones se podrán ejecutar en Windows Vista sin tener que realizar ningún cambio y cuáles son incompatibles o necesitan una actualización para superar la prueba.
Si algún componente no supera la prueba de compatibilidad en una versión más eficaz de Windows Vista, como, por ejemplo, Ultimate, puede devolver a la pantalla de inicio y seleccionar otra versión, como, por ejemplo Business. A continuación, podrá comprobar si el equipo cumple todos requisitos para esa versión.
Por último, en una lista de tareas se describe la configuración de hardware del equipo y se enumeran las tareas que hay que realizar antes y después de instalar Windows Vista. Puede encontrar un resumen de los elementos de las pantallas anteriores, así como recomendaciones adicionales, tal y como se puede ver en la captura de pantalla. Puede imprimir la lista de tareas o guardarla como archivo HTML.
El Asesor de actualizaciones se ejecuta en Windows Vista de 32 bits o Windows® XP Service Pack 2, y necesita Microsoft® .NET Framework 2.0 y MSXML 6.0. Para obtener más información y descargar la herramienta, vaya a microsoft.com/windows/products/windowsvista/buyorupgrade/upgradeadvisor.mspx.

Lance Whitney es consultor, instructor y escritor técnico de TI. Ha pasado cientos y cientos de horas trabajando con estaciones de trabajo y servidores de Windows. Periodista en sus inicios, dio un giro hacia el mundo de TI hace unos 15 años.


Dentro de SharePoint Descentralización de la administración de sitios
Pav Cherny

Descargar el código de este artículo: SharePoint2008_06.exe (1160KB)

Microsoft Windows SharePoint Services (WS) 3.0 y Servidor de Microsoft Office SharePoint Server (MOSS) 2007 admiten un modelo flexible de administración y seguridad que permite a las organizaciones de TI centralizar el control sobre componentes de infraestructura, tales como servidores web y de base de datos, y descentralizar el control sobre colecciones
de sitios y sitios hospedados. La centralización de la infraestructura de SharePoint® ayuda a reducir el costo general de mantenimiento, consolidar la lógica empresarial, ofrecer un único punto de acceso a los recursos de SharePoint y evitar inversiones innecesarias en tecnología.
Al mismo tiempo, la descentralización de la administración de sitios permite asegurarse de que los departamentos individuales mantienen el control autónomo de sus colecciones de sitios departamentales, sitios, bibliotecas de documentos, listas, soluciones de flujo de trabajo y otros recursos de SharePoint. Sin embargo, un efecto secundario de delegar la administración de sitios a departamentos individuales es una mayor complejidad del mantenimiento para el departamento de TI. Por ejemplo, ¿cómo se realiza el seguimiento del uso de los recursos, los sitios de SharePoint caducados y el contenido obsoleto en una infraestructura centralizada si no se dispone de acceso a las colecciones de sitios y sitios dentro del entorno?
En este artículo, describo el modelo de seguridad de WS 3.0, incluidas las ventajas y las implicaciones de la delegación del control administrativo sobre sitios de SharePoint a departamentos individuales a la vez que se mantiene el control administrativo centralizado sobre la infraestructura de SharePoint. Muestro cómo funciona la administración de sitios delegada, cómo los permisos de acceso y restricción de seguridad en el sitio, la lista y el nivel de elemento ayudan a mantener un ámbito laboral seguro y amigable, y cómo los administradores de granjas de servidores web pueden obtener acceso a las estadísticas necesarias del sitio sin permisos elevados de SharePoint.
Si desea seguir mis explicaciones en un laboratorio de pruebas, descargue el material que acompaña a este artículo en technetmagazine.com. El material incluye instrucciones detalladas acerca de la implementación para una granja de servidores web basados en Windows Server® 2008 que refleja razonablemente bien un entorno de producción para una empresa con varios departamentos.

Administración de la infraestructura y la colección de sitios de SharePoint
Puede generar una infraestructura SharePoint según una implementación de un único servidor o una implementación de granja de servidores web. De hecho, las empresas a menudo tienen las dos. La implementación en un único servidor es adecuada para los departamentos individuales que necesitan una solución de colaboración rápida y sencilla. Los requisitos de rendimiento y confiabilidad son mínimos. Los usuarios suelen comprender si el servidor de SharePoint de un departamento, que, con frecuencia, se implementa en hardware de estación de trabajo, no está disponible ya que el mantenimiento del sistema es la responsabilidad propia del departamento y los usuarios que pertenecen a él, después de todo, no son administradores de TI.
Todo cambia completamente para los recursos de servidor del que el departamento de TI realiza el mantenimiento. El rendimiento y la confiabilidad pasan a ser factores esenciales y, con frecuencia, requieren la implementación de soluciones de alta disponibilidad para garantizar la conformidad del contrato de nivel de servicio (SLA). Las implementaciones de granja de servidores web con carga equilibrada, los clústeres de conmutación por error de SQL Server® y las bases de datos almacenadas en redes de área de almacenamiento (SAN) pueden ayudar a satisfacer las necesidades de rendimiento y alta disponibilidad de la empresa. Consulte la figura 1 para ver una ilustración de esta arquitectura.
Figura 1 Una infraestructura de SharePoint con clúster de conmutación por error de SQL Server y SAN
Figura 1 Una infraestructura de SharePoint con clúster de conmutación por error de SQL Server y SAN (Hacer clic en la imagen para ampliarla)
Como se puede observar en la figura 1, varios tipos de administradores deben trabajar conjuntamente para realizar el mantenimiento de los recursos en una infraestructura centralizada de SharePoint. Sin embargo, cada uno de estos administradores ve el entorno desde una perspectiva diferente. Por ejemplo, los servidores de la infraestructura son transparentes para los administradores de la colección de sitios. Los administradores de la colección de sitios trabajan con la interfaz de usuario estándar de SharePoint. Esta interfaz no cambia, independientemente de si hospeda los sitios en un equipo de estación de trabajo que ejecuta WS 3.0 en la oficina o en una granja de servidores web en un centro de datos.
La infraestructura de SharePoint también es transparente para los administradores de bases de datos e ingenieros de almacenamiento SAN. Para estos administradores, las bases de datos de SharePoint no difieren de las demás bases de datos de SQL Server, y los números lógicos de la unidad (LUN) para el clúster de conmutación por error de SQL Server no difieren de ningún otro LUN. El administrador más afectado por la infraestructura de SharePoint es el administrador de la granja de servidores web. Sin embargo, esta persona no ejerce ningún control sobre las colecciones de sitios, las bases de datos ni los LUN.
Se puede decir que, generalmente, los administradores departamentales de colección de sitios desconocen los detalles de infraestructura. Después de todo, no es necesario conocer estos detalles para el suministro a los sitios y la delegación de permisos de acceso a equipos y grupos dentro de un departamento. Es fácil crear un sitio y comenzar a colaborar, y rara vez se piensan temas tales como los costos elevados de almacenamiento asociados con la tecnología SAN.
Con cada proyecto e iniciativa, aparecen nuevos sitios de equipo, caducan sitios, no se elimina el contenido obsoleto y el entorno de SharePoint crece a un ritmo impresionante hasta que alcance una escala de la que los administradores de sistema ya no pueden hacer caso omiso. Por ejemplo, el entorno interno de SharePoint de Microsoft llegó a incluir más de 180.000 sitios antes de que la división de TI de Microsoft iniciara una iniciativa de simplificación en 2006.
Educar a los administradores de la colección de sitios puede ayudar a controlar las cosas en una infraestructura de SharePoint centralizada. La aplicación de cuotas y bloqueos de colección de sitios también resulta de utilidad. Sin embargo, estos métodos no son muy eficaces cuando se trata de sitios de equipo y contenido obsoletos que malgastan los importantes recursos de almacenamiento y de copia de seguridad.
El contenido obsoleto no necesariamente empuja a una colección de sitios más allá de su cuota. Por supuesto, puede configurar SharePoint para enviar notificaciones por correo electrónico a los propietarios de colección de sitios y eliminar automáticamente colecciones de sitios sin usar después de un período especificado. Para ello, usa la característica de confirmación del uso de sitio y eliminación disponible en el sitio de Administración central de SharePoint 3.0, pero esta característica no funciona en el nivel de sitio individual. Una colección de sitios puede incluir sitios actuales y obsoletos, pero la característica de confirmación del uso de sitio y eliminación no funciona en este nivel de granularidad.
Más adelante, mostraré cómo identificar sitios sin usar y contenido obsoleto al comprobar la fecha de última modificación de documentos y elementos de lista, incluso cuando no se dispone de permisos de acceso a la colección de sitios. Esta característica de creación de informes no está disponible con la instalación inicial, pero afortunadamente no es difícil de implementar.

Administración descentralizada de sitios de SharePoint
La delegación de privilegios de administración de sitios de SharePoint es muy sencilla. Mediante el sitio de Administración central de SharePoint 3.0, la herramienta de línea de comandos Stsadm.exe, o una herramienta de aprovisionamiento personalizada, puede crear aplicaciones web, rutas de acceso administradas y colecciones de sitios en la infraestructura. Como administrador de la granja de servidores web, puede especificar administradores principales y secundarios de colección de sitios al crear una colección de sitios. Estos administradores de la colección de sitios pueden ser usuarios de dominio normales. No necesitan permisos administrativos en la granja de servidores web ni en otros servidores de infraestructura. Usan sus exploradores web para realizar las tareas de administración de sitios directamente en la interfaz de usuario de SharePoint.
La figura 2 muestra la administración de sitios delegada según las instrucciones paso a paso disponibles en las hojas de cálculo del material adjunto. En este ejemplo, el administrador de la granja de servidores web aprovisionó colecciones de sitios individuales para el departamento de recursos humanos (http://sharepoint/hr) y el de TI (http://sharepoint/it).
Figura 2 Administración delegada de sitios de SharePoint
Figura 2 Administración delegada de sitios de SharePoint (Hacer clic en la imagen para ampliarla)
A continuación, los administradores de RR. HH. y TI pueden usar la característica de sitios y áreas de trabajo del menú Acciones del sitio de la interfaz de usuario de SharePoint para crear sitios de subnivel y pueden aplicar los permisos del sitio principal o definir nuevos permisos administrativos y de usuario para los sitios de subnivel. Tenga en cuenta que a menos que se configure explícitamente lo contrario, el administrador de la granja de servidores web no puede tener acceso a ningún sitio de nivel superior o de subnivel, el administrador de RR. HH. no puede tener acceso a los sitios de TI y el administrador de TI no puede tener acceso a los sitios de RR. HH., aunque todos sitios se hospeden en el mismo entorno de SharePoint.
El diseño de las colecciones de sitios y jerarquías de sitios depende de los requisitos de la organización. En el ejemplo de la figura 2, no creé un sitio maestro encima de http://sharepoint/hr y http://sharepoint/it. Es decir, no hay colección de sitios en la ruta de acceso http://sharepoint. Sin embargo, puede crear fácilmente una colección de sitios en esta ruta de acceso o usar otras rutas de acceso administradas, como, por ejemplo, http://sharepoint/sites/hr y http://sharepoint/sites/it.
También puede crear aplicaciones web individuales para RR. HH. y TI con el fin de establecer direcciones URL base más intuitivas, como, por ejemplo, http://hr y http://it, aprovisionar sitios de portal generales para los departamentos y, a continuación, usar elementos web acumulados para enumerar información de sitios de subnivel en dichos sitios maestros. Las colecciones de sitios individuales facilitan la administración autónoma, ayudan a limitar el acceso a la información departamental y proporcionan capacidades individuales para la personalización de páginas maestras, diseños de página, plantillas, elementos web y controles de navegación. También se pueden usar para colocar datos confidenciales en bases de datos de contenido dedicadas, separadas de otras colecciones de sitios y bases de datos de contenido.

Funciones, permisos de sitio y restricción de seguridad
Una vez creadas las colecciones de sitios y delegados los permisos administrativos, un administrador de la colección de sitios puede abrir un sitio de nivel superior y usar la característica de configuración del sitio disponible en el menú Acciones del sitio para administrar la colección de sitios. Esto incluye la adición o eliminación de otros administradores de la colección de sitios con permisos completos a todos sitios de la colección de sitios, la creación de grupos, la asociación de dichos grupos a funciones y la adición de usuarios a dichos grupos para conceder permisos de lectura y colaboración. También incluye el aprovisionamiento de sitios de grupos de subnivel y sitios de equipo.
Aunque se puede conceder permisos de SharePoint a usuarios individualmente, es preferible crear grupos de SharePoint según funciones específicas. Por ejemplo, SharePoint incluye tres grupos predeterminados para las funciones de visitante, contribuidor y propietario. Los visitantes tienen acceso de sólo lectura, los colaboradores pueden agregar elementos a listas y bibliotecas de documentos y personalizar páginas web y los propietarios tienen control total.
Una característica que vale la pena tener en cuenta es que SharePoint realiza la restricción de seguridad según la función de usuario, lo que significa que los usuarios sólo verán los vínculos y elementos de la interfaz de usuario a los que realmente pueden tener acceso. Si anula el acceso de un usuario a un recurso, como por ejemplo, una lista (mediante la configuración de permisos explícitos en la configuración de la lista) o un elemento de lista seleccionado (mediante el comando de administración de permisos del menú contextual del elemento), la lista o el elemento desaparecerán para este usuario. Si el usuario especifica la dirección URL del elemento directamente en el explorador, obtendrá la página Error: acceso denegado.
La figura 3 muestra la restricción de seguridad en acción. El administrador de RR. HH. dispone de permisos completos y puede alcanzar el menú Acciones del sitio para realizar tareas administrativas. Por otro lado, el visitante de RR. HH. sólo dispone de permisos de sólo lectura a la colección de sitios y no ve este menú.
Figura 3 Restricción de seguridad según las funciones de usuario en la interfaz de SharePoint
Figura 3 Restricción de seguridad según las funciones de usuario en la interfaz de SharePoint (Hacer clic en la imagen para ampliarla)
La restricción de seguridad es de gran utilidad, ya que no solamente oculta las características, los vínculos y los elementos inaccesibles, sino que también implica que los administradores de la granja de servidores web no pueden usar la interfaz de usuario de SharePoint para enumerar sitios y recursos de sitios sin tener permisos de acceso. No podrá ver estos recursos en páginas web ni elementos web. Asimismo, los recursos inaccesibles no parecen en los resultados de búsqueda ya que la búsqueda empresarial de SharePoint realiza una restricción de seguridad en el momento de la consulta según la identidad del usuario que envía la consulta.

¿Qué hay de la línea de comandos?
Si la interfaz gráfica de usuario no proporciona una vía a la información deseada sin permisos elevados en el nivel de la colección de sitios, quizás la herramienta de línea de comandos Stsadm.exe ofrece la solución. Por ejemplo, podría usar el comando
Stsadm -o enumsites -url http://sharepoint
para enumerar todas las colecciones de sitios y los propietarios dentro de la aplicación web http://sharepoint. A continuación, podría enumerar todos los subsitios mediante el comando siguiente:
Stsadm -o enumsubwebs -url <colección de sitios>
Sin embargo, en un entorno de granjas de servidores web, Stsadm.exe suele devolver un mensaje de error que indica que faltan los permisos de acceso a la base de datos. Stsadm.exe no puede enumerar las colecciones de sitios aunque sea administrador de la granja de servidores web y pueda administrar las colecciones de sitios en la Administración central de SharePoint 3.0. A continuación, se muestra el mensaje de error que se recibe si se usa Stsadm.exe en una granja de servidores web sin permisos de acceso a SQL Server:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN>stsadm -o enumsites -url http://sharepoint
<Sites Count="2">
<Site Error="Cannot open database &quot;WSS_Content&quot; requested by the login. The login failed.&#xD;&#xA;Login failed for user 'CONTOSO\SPAdmin'.">
<Site Error="Cannot open database &quot;WSS_Content&quot; requested by the login. The login failed.&#xD;&#xA;Login failed for user 'CONTOSO\SPAdmin'." />
El administrador de la granja de servidores web recibe este mensaje de error porque Stsadm.exe se ejecuta en el contexto del usuario que ha iniciado la sesión, como por ejemplo, CONTOSO\SPAdmin; mientras que el sitio Administración central de SharePoint 3.0 obtiene acceso a las bases de datos de SharePoint en el contexto de la cuenta de sistema asociada con el grupo de aplicaciones de Administración central de SharePoint v3, como por ejemplo, CONTOSO\WssConfigAdmin. Aunque la concesión de permisos de cuenta db_owner para el contenido de la base de datos de SQL Server permite ejecutar el comando Stsadm -o enumsites -url http://sharepoint, aún no podrá enumerar los sitios de subnivel dentro de las colecciones de sitios. El comando Stsadm -o enumsubwebs -url <site collection> de dirección URL devuelve el error de acceso denegado. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) y nada habrá cambiado. Sin embargo, hay una manera mejor y más satisfactoria que no requiere permisos elevados para SQL Server.

Información del sitio en bases de datos de contenido
Si no puede obtener la información necesaria a través de las interfaces y herramientas estándar de SharePoint, debe ir directamente a las bases de datos de contenido de SharePoint. Pero cuidado, ya que este método debe ser el último recurso. Las bases de datos de contenido dependen de esquemas de propietario y estructuras de base de datos que Microsoft sólo documentó parcialmente en el WS 3.0 SDK para intentar que los clientes desistan de trabajar directamente con las bases de datos. Siempre que se pueda, debe usar la interfaz de usuario de SharePoint, herramientas de línea de comandos, el modelo de objetos o servicios web para obtener acceso a la información deseada.
Si no tiene otra alternativa y debe ir directamente a las bases de datos, al menos limite la solución de modo que tenga acceso de sólo lectura. No se admite la modificación del esquema o las estructuras de base de datos y puede producir problemas graves que quizás requieran la restauración de las colecciones de sitios de la copia de seguridad o la reinstalación de la granja de servidores web de SharePoint.
Una alternativa a la implementación de una solución de generación de informes que tiene acceso directo a las bases de datos de contenido es especificar la cuenta de administrador de la granja de servidores web como propietario secundario en la configuración de colección de sitios. Los administradores de la granja de servidores web pueden realizar este paso en el sitio de Administración central de SharePoint 3.0. El vínculo correspondiente para los administradores de la colección de sitios se encuentra en la sección de administración de sitios de SharePoint en la página Administración de la aplicación.
Como administrador secundario de la colección de sitios, puede abrir la colección de sitios en el explorador web, mostrar la configuración del sitio y, a continuación, hacer clic en el vínculo Informe de uso del sitio en Administración de sitios, siempre y cuando haya habilitado Procesamiento del análisis de uso en la Administración central de SharePoint 3.0. Mire en Crear registros e informes en la página Operaciones si desea realizar un seguimiento de los datos de uso de en archivos de registro de los servidores de SharePoint. La característica Informe de uso del sitio está deshabilitada de forma predeterminada.
Sin embargo, la creación manual de informes de uso del sitio para colecciones de sitios individuales no es práctica en entornos con un gran número de colecciones de sitios o con requisitos estrictos que impidan la concesión de los permisos necesarios a los administradores de la granja de servidores web. Un método más práctico es implementar una aplicación de creación de informes ASP.NET que enumera todas las colecciones de sitios y los sitios de la base de datos de contenido junto con las estadísticas importantes, como, por ejemplo, el número de elementos, el tamaño total combinado de todos los elementos y de fecha de última modificación de los elementos, tal como se muestra en la figura 4.
Figura 4 Obtener las estadísticas del sitio directamente desde una base de datos de contenido
Figura 4 Obtener las estadísticas del sitio directamente desde una base de datos de contenido (Hacer clic en la imagen para ampliarla)
Si se ejecuta esta aplicación bajo la identidad de la aplicación de Administración central de SharePoint v3, se puede obtener acceso a las bases de datos de contenido sin necesidad de permisos elevados para SQL Server. Como mencioné anteriormente, la cuenta de administración central ya dispone de los permisos necesarios para SQL Server.
El material acompañante incluye una solución sencilla de creación de informes que usa consultas SELECT a la base de datos de contenido en SQL Server, así como instrucciones detalladas para implementar esta solución en un servidor web. Es importante tener en cuenta que yo no implementé ninguna comprobación de seguridad. La solución se ejecuta con la autenticación anónima.
No es necesario autenticar el usuario porque la cuenta Administración central ofrece el contexto de seguridad necesario para obtener acceso a las bases de datos de contenido. Usé un puerto personalizado para el sitio web de la solución, bloqueado a través de Firewall de Windows® en Windows Server 2008, por lo que sólo un usuario local puede abrir la aplicación web. Esto satisfizo los requisitos de seguridad en mi entorno de pruebas, pero en un entorno de producción, debe aumentar la seguridad; por ejemplo, al habilitar la autenticación de Windows y configurar permisos de acceso restrictivos al directorio virtual de la aplicación de ASP.NET.

Conclusión
SharePoint ofrece capacidades flexibles de colección y administración de sitios que permiten centralizar la administración de la infraestructura de SharePoint, a la vez que descentraliza la administración de sitios según las necesidades específicas de la compañía. Una infraestructura centralizada puede ser una ventaja para las empresas de cualquier tamaño ya que un entorno consolidado ayuda a reducir los costos, facilita el uso compartido de la información entre departamentos, ofrece una base para la aplicación de conocimientos expertos de manera dirigida con el fin de mantener la seguridad, confiabilidad y escalabilidad del entorno y ofrece a los usuarios un único punto de acceso a los sitios y los recursos de SharePoint en la red de la empresa.
Al mismo tiempo, los departamentos y las unidades de negocio individuales pueden conservar el control de sus recursos de SharePoint. Los administradores de la granja de servidores web pueden designar administradores de la colección de sitios que, a su vez, realizan tareas de administración de sitios dentro de sus áreas de responsabilidad sin participación adicional del departamento de TI.
Sin embargo, al pasar el control a los departamentos, los administradores de la granja de servidores web también pierden la capacidad de supervisar el uso de los recursos en la infraestructura mediante las características y herramientas estándar de SharePoint. La aplicación de cuotas a las bases de datos de contenido, el envío de recordatorios por correo electrónico a los administradores de la colección de sitios y el seguimiento de los datos de uso para fines informativos pueden ayudar a mitigar el problema. Sin embargo, para administrar la infraestructura de SharePoint de manera eficaz, los administradores de la granja de servidores web necesitan herramientas adicionales que extraigan los metadatos de sitio necesarios directamente de las bases de datos de contenido con acceso de sólo lectura.
Entre las opciones disponibles se incluye el uso de SQL Server 2005 Reporting Services o una solución similar de creación de informes de nivel empresarial. Tal como demuestra el ejemplo del material acompañante, también puede usar consultas SELECT de SQL Server para obtener la información necesaria.

Pav Cherny es experto en TI y autor especializado en tecnologías de Microsoft para la colaboración y las comunicaciones unificadas. Sus publicaciones incluyen notas del producto, manuales de productos y libros centrados en operaciones de TI y administración de sistemas. Pav es Presidente de Biblioso Corporation, una empresa especializada en servicios de documentación y localización administrados.


Windows PowerShell Aspectos positivos
Don Jones

Muchas veces es deseable que los scripts produzcan resultados con un buen aspecto y con frecuencia la gente me pregunta cuál es la mejor manera de crear elementos como, por ejemplo, tablas. En realidad, hay dos maneras de hacerlo. El primer paso es escribir un script que coloca los datos (es decir, los datos que deseo mostrar con formato) en variables denominadas
$data1, $data2 y $data3. Ahora puedo proceder a dar formato a los datos.

La vía de texto
En la Web
¿Busca una demostración rápida de las técnicas tratadas en la columna de Windows PowerShell de este mes? Vaya a technetmagazine.com/video para ver cómo Don Jones pone en acción estos cmdlets.

La metodología más común que la gente suele usar para abordar esta tarea es igual a la que aplicaría cuando trabaja con lenguajes tales como VBScript, Perl, KiXtart u otro lenguaje orientado al texto. Podría comenzar por escribir un conjunto de encabezados de columna en la pantalla:
Write-Host "ColumnA'tColumnB'tColumnC"
Tenga en cuenta que `t es una secuencia de escape especial en Windows PowerShellTM que inserta un carácter de tabulación. Para escribir cada línea de mi tabla, recordando que mis datos están en $data1, $data2 y $data3, tengo varias opciones. Una es escribir simplemente las variables y depender de la capacidad del shell para reemplazar las variables con su contenido entre comillas dobles:
Write-Host "$data1't$data2't$data3"
Otra un manera algo más atractiva para lograr esto usa el operador -f. Esta técnica separa el formato de los datos y crea una línea de código que, en mi opinión, es más fácil leer y mantener:
Write-Host "{0}'t{1}'t{3}" –f $data1,$data2,$data3
Sin embargo, este método presenta importantes problemas. En primer lugar, al depender de saltos de tabulación fijos en la ventana de consola, estoy preparando el terreno para un formato inusual. Por ejemplo, si una fila en particular de la tabla tiene un valor de 20 caracteres en la primera columna, todo el formato quedará desequilibrado. Además, dato que produzco este texto mediante Write-Host, estoy limitado a una pantalla de consola.
No hay una manera fácil de enviar los resultados a un archivo ni de colocarlos en otros formatos, si lo deseara. Lo más importante, este enfoque basado en texto no toma en cuenta el shell intrínsecamente basado en objetos con el que trabajo, de modo que no se saca partido de las increíbles técnicas y capacidades que ofrece Windows PowerShell.

El método de Windows PowerShell
Windows PowerShell es un shell orientado a objetos. Idealmente, esto significa que todos los elementos con los que trabaje deben encontrarse en objetos, de modo que el shell podrá convertirlos en visualizaciones de texto cuando sea necesario. Pero, ¿cómo se crean objetos para fragmentos arbitrarios de datos?
Siguiendo mi ejemplo, comienzo con la creación de un objeto personalizado en blanco y su almacenamiento en una variable:
$obj = New-Object PSObject
De este modo, dispongo de un nuevo objeto vacío con el que trabajar. A continuación, agrego los datos al objeto en forma de propiedades. Para ello, simplemente canalizo el objeto al cmdlet Add-Member. Agrego un elemento denominado NoteProperty, asigno un nombre a la propiedad (una idea buena es usar los encabezados de columna como nombres de propiedad) y, a continuación, inserto los datos como los valores para las propiedades:
$obj | Add-Member NotePropertyColumnA $data1
$obj | Add-Member NotePropertyColumnB $data2
$obj | Add-Member NotePropertyColumnC $data3
Ahora, simplemente obtengo los resultados de objeto, no a la consola, pero a la canalización:
Write-Output $obj
A continuación, puedo repetir estos pasos para cada fila de tabla que necesito como resultado. A continuación se incluye una breve función que acepta una cadena y tiene como resultado una versión en mayúsculas y una en minúsculas, junto con la cadena original:
functionStringVersions {
param([string]$inputString)
  $obj = New-Object PSObject
  $obj | Add-Member NoteProperty Original($inputString)
  $obj | Add-Member NoteProperty Uppercase($inputString.ToUpper())
  $obj | Add-Member NoteProperty Lowercase($inputString.ToLower())
  Write-Output $obj
}
$strings = @("one","two","three")
foreach ($item in $strings) {
StringVersions $item
}
Comienzo con una matriz de variables de cadena, trabajo en cada una de ellas individualmente y las envío a la función. Y los resultados de la función se escriben en la canalización.
Debe tener en cuenta que hay las maneras más breves de escribir este código, pero elegí esta técnica porque muestra claramente lo que intento plantear. El resultado, tal como se muestra en la figura 1, es una tabla con formato correcto. Esto se debe a que el shell ya sabe cómo dar formato a los objetos de una tabla.
Figura 1 Resultados de Windows PowerShell mostrados en una tabla
Figura 1 Resultados de Windows PowerShell mostrados en una tabla (Hacer clic en la imagen para ampliarla)
Siempre que un objeto tenga cuatro o menos propiedades, Windows PowerShell elige automáticamente una tabla. De este modo, sin haber hecho absolutamente nada, tengo una tabla con un gran aspecto.

Pero espere, hay mucho más.
Cmdlet del mes Get-Command
Estoy seguro que ha usado alguna vez Get-Command, o su útil alias (gcm), para revisar la lista de cmdlets de Windows PowerShell disponibles. Sin embargo, es posible que desconozca el grado de flexibilidad real de gcm. Por ejemplo si desea ver todo lo que puede hacer Windows PowerShell con un servicio, ejecute gcm -noun service. O bien, si desea ver todas las opciones de la exportación de Windows PowerShell, intente ejecutar gcm -verb export. Si simplemente necesita ver los cmdlets que ha agregado un complemento en particular, como por ejemplo, las extensiones de la comunidad de PowerShell, intente ejecutar gcm -pssnapin pscx (puede reemplazar "pscx" con cualquier nombre de complemento para consultar los cmdlets de ese complemento).
Como puede observar, Get-Command es elemento clave en la capacidad de detección de Windows PowerShell. Permite conocer la funcionalidad que está disponible sin tener que acudir a ningún manual. Además, tenga en cuenta que gcm es una manera más precisa de descubrir la funcionalidad que el uso de un comando tal como Help *. La función Help sólo incluye en una lista de los temas de ayuda disponibles. Los cmdlets no incluidos en ayuda no aparecen en el listado, incluso si se encuentran allí para cuando los necesite.

La ventaja de esta técnica va mucho más allá de las tablas. Al trabajar con objetos, Windows PowerShell sabe cómo hacer una amplia variedad de cosas. ¿Desea sus datos en un archivo CSV? Use Export-CSV. ¿Prefiere una tabla HTML? Cree una canalización de los objetos hacia ConvertTo-HTML. ¿Necesita un formato en lista? Cree una canalización de los objetos hacia Format-List. Mediante el uso de objetos, puede aprovechar todas las capacidades del shell. A continuación se incluye un ejemplo modificado:
functionStringVersions {
  PROCESS {
   $obj = New-Object PSObject
   $obj | Add-Member NoteProperty Original($_)
   $obj | Add-Member NoteProperty Uppercase($_.ToUpper())
   $obj | Add-Member NoteProperty Lowercase($_.ToLower())
   Write-Output $obj
}
}
Esta vez, modifiqué la función para aceptar entradas de canalización (siempre una mejor idea cuando se trabaja con objetos) y enviar los resultados a la canalización.
Esta función ahora tiene su código dentro de un bloque script PROCESS. Esto significa que la función aceptará entradas de canalización y ejecutará el bloque script PROCESS una vez para cada objeto que entra.
Dentro del bloque script PROCESS, la variable especial $_ hace referencia al objeto actual de canalización que se está procesando. El resultado práctico de esto es que ahora puedo canalizar una matriz de cadenas:
@("one","two","three") | StringVersions
Obtengo una tabla porque la función coloca sus resultados en la canalización. Al final de la canalización, el shell sabe que debe invocar su subsistema de formato, que toma la decisión de usar una tabla porque los objetos de la canalización tienen menos de cinco propiedades (si hay un mayor número de propiedades, el shell usará una lista de forma predeterminada).
Pero no hace falta depender del comportamiento predeterminado. Puedo simplemente canalizar esos objetos a otro cmdlet para pasarlos por un proceso adicional:
@("one","two","three") | StringVersions | Format-List
@("one","two","three") | StringVersions | ConvertTo-HTML | Out-File "strings.html"
@("one","two","three") | StringVersions | Export-CSV "strings.csv"
@("one","two","three") | StringVersions | Select Uppercase,Lowercase -unique
La figura 2 muestra el HTML resultante del segundo ejemplo mostrado en un explorador web. Al representar los datos de salida en objetos, en lugar de representarlos como texto sencillo, ahora dispongo de acceso completo a una amplia variedad de funciones integradas en el shell: una serie de diseños de formato, conversión HTML, opciones de exportación, capacidad de clasificar, filtrar y agrupar, y mucho más.
Figura 2 Resultados de datos de Windows PowerShell en formato HTML
Figura 2 Resultados de datos de Windows PowerShell en formato HTML (Hacer clic en la imagen para ampliarla)
Todo esto es muy eficaz. De hecho, sugeriría que cada script que escriba debe producir un objeto como su resultado, de modo que podrá usar estos resultados la mayor cantidad de maneras diferentes posible, todo sin tener que escribir una sola línea adicional de código.

Don Jones es un experto en la automatización administrativa de Windows y ha escrito varios libros, tal como Windows PowerShell: TFM y VBScript, WMI, and ADSI Unleashed. Puede ponerse en contacto con él a través de los foros en ScriptingAnswers.com.


Hey, Scripting Guy! Trabajar sin esforzarse también es gratificante
Los chicos de la sección Microsoft Scripting Guy

Descargar el código de este artículo: HeyScriptingGuy2008_06.exe (150KB)

Durante siglos se creyó que la dedicación al trabajo era una recompensa; que la satisfacción total se obtenía después de un duro día de trabajo; que la felicidad completa llega al alcanzar el destino, no al realizar el viaje; que... bueno, ésa es la idea. Si trabaja mucho y no se queja (como Cenicienta), algún día tendrá una recompensa.
Nota: ¿es realmente cierto que si trabaja mucho no sólo será más feliz si no que, algún día se le recompensará por sus esfuerzos? ¿Por qué nos plantea esta pregunta?
Cenicienta tuvo suerte; vivir con una madrastra y dos hermanastras malvadas significa tener mucho trabajo. ¿Pero, qué pasa si no tiene tanta suerte? ¿Qué ocurre si no tiene la oportunidad de vivir con una madrastra y dos hermanastras malvadas? ¿Cómo logrará trabajar mucho durante todo el día sin obtener nada a cambio? ¿Cómo obtendrá algún día la felicidad completa?
Si completamente decidido a dejarse la piel trabajando, los chicos de la sección Scripting Guy le sugieren que trate de escribir un script para generar datos en un formato atractivo, ordenado y tabular, como el resultado que se muestra en la figura 1.
Figura 1 Resultado tabular
Figura 1 Resultado tabular (Hacer clic en la imagen para ampliarla)
Insistimos, Cenicienta tuvo mucha suerte: limpiaba la casa de arriba abajo y, cuando terminaba, descansaba en la chimenea entre las cenizas y el hollín. Sin embargo, también ella se habría negado a tener que escribir un script que muestre los datos en formato tabular. Sentarse en las cenizas y el hollín es una cosa, y escribir un script que genere datos en formato tabular es totalmente diferente.
Nota: a menos que deba sentarse en la chimenea para escribir scripts; entonces es casi lo mismo.
¿Por qué Cenicienta se negaría a hacer esta tarea? Sencillamente, porque es demasiado duro. La única manera de mostrar datos en formato tabular en VBScript es hacer algo similar a esto:
  • Para empezar, determine el tamaño máximo de las columnas. Por ejemplo, es posible que el nombre para mostrar de un servicio deba tener 52 caracteres.
  • A partir de ahí, calcule el número de caracteres de una parte de los datos. Por ejemplo, el nombre para mostrar de Adobe LM Service tiene 16 caracteres.
  • Si éste supera el límite de 52 caracteres, determine el número de caracteres que debe cortar al final de la cadena para que se ajuste al espacio asignado. Si el nombre para mostrar no supera los 52 caracteres, determine los espacios en blanco que debe agregar al final de la cadena para conseguir un largo exacto de 52 caracteres.
  • Repita estos pasos en el conjunto de datos siguiente. Y en el siguiente. Etc.
Si conoce el cuento de Cenicienta, sabrá que en cualquier momento puede aparecer su hada madrina, convertir un ratoncito en un administrador del sistema (no haremos ningún comentario acerca de lo fácil que puede resultar la conversión) y el ratoncito le escribirá este script. Aunque no debería contar con que suceda esto. Está sólo ante el peligro.
Sin embargo, por el lado bueno, será la persona más feliz del mundo. También se sentirá así porque será la persona que más trabaja, con diferencia.
Por supuesto, algunas personas están dispuestas a cambiar un poco esa satisfacción por no tener que trabajar tanto. Si es su caso, seguramente estará pensando: "Gracias a Dios que puedo contar con los chicos de la sección Scripting Guy; ellos me explicarán cómo convertir un ratoncito en un administrador del sistema y conseguir que el ratoncito dé formato de tabla a los datos". Sentimos decirle que tenemos malas noticias: los chicos de la sección Scripting Guy no tienen la menor idea de cómo convertir un ratoncito en un administrador del sistema. Aunque, si le sirve de algo, podemos convertir un administrador del sistema en un ratoncito. Nosotros no sabemos cómo conseguir que alguien le escriba scripts, y menos aún, los que generan datos en formato tabular.
Pero no es necesario. Siempre que ejecute Windows® XP o Windows Server® 2003 (que es lo que usan muchos de los usuarios), no necesita que un ratoncito le escriba scripts. (Lo siento, me temo que no funciona en Windows Vista®.) En cambio, puede hacerlo usted mismo dedicándole un esfuerzo mínimo con el objeto Microsoft.CmdLib. Observe el script de muestra de la figura 2.
Figure 2 Crear una visualización tabular
Dim arrResultsArray()
i = 0

Set objCmdLib = _
  CreateObject("Microsoft.CmdLib")
Set objCmdLib.ScriptingHost = _
  WScript.Application

arrHeader = Array("Display Name", _
  "State", "Start Mode")
arrMaxLength = Array(52, 12, 12)
strFormat = "Table"
blnPrintHeader = True
arrBlnHide = Array(False, False, False)

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" _
  & strComputer & "\root\cimv2")

Set colServices = objWMIService.ExecQuery _
  ("Select * FROM Win32_Service")

For Each objService In colServices
  ReDim Preserve arrResultsArray(i)
  arrResultsArray(i) = _
  Array(objService.DisplayName, _
    objService.State,objService.StartMode)
  i = i + 1
Next
objCmdLib.ShowResults arrHeader, _
  arrResultsArray, arrMaxLength, _
  strFormat, blnPrintHeader, arrBlnHide
En caso de que se lo pregunte, Microsoft.CmdLib es un objeto COM que se distribuye con Windows XP y Windows Server 2003. Este objeto tiene diferentes características; para obtener más información, escriba cmdlib.wsc /? en el símbolo del sistema y lea los comentarios del archivo de script que aparece en la pantalla. Hoy tan sólo nos centraremos en una característica de Microsoft.CmdLib: la capacidad de mostrar datos en formato tabular.
Esto hace que nos planteemos una pregunta obvia: ¿cómo se muestran datos en formato tabular? Intentaremos explicarlo. Como puede observar, el script de muestra empieza con la definición de una matriz dinámica denominada arrResultsArray:
Dim arrResultsArray()
En un script normal, se devuelven los datos a la pantalla en el momento en que se recuperan. ¿Pero de verdad cree que los chicos de la sección Scripting Guy hacen las cosas de forma normal? En este script, no devolveremos los datos en el momento de recuperarlos. En cambio, almacenaremos todos los datos devueltos en una matriz y el formato Microsoft.CmdLib nos mostrará los datos.
En otras palabras, ésta es la razón por la que crearemos una matriz dinámica (es decir, una matriz a la que se puede cambiar el tamaño durante el script). Después de definir la matriz, establecemos los valores de una variable de contador de i a 0; usaremos esta variable para realizar el seguimiento del tamaño actual de la matriz.
En caso de que se lo pregunte, establecemos el valor de i a 0 porque al primer elemento de una matriz siempre se le atribuye el número de índice 0. Por consiguiente, al agregar el primer elemento a la matriz, agregamos el elemento 0 en lugar del 1.
A continuación, debemos inicializar la copia del objeto Microsoft.CmdLib; es para lo que sirven las dos líneas de código:
Set objCmdLib = _
CreateObject("Microsoft.CmdLib")
Set objCmdLib.ScriptingHost = WScript.Application
Esto nos lleva al siguiente bloque de código:
arrHeader = Array("Display Name", "State", "Start Mode")
arrMaxLength = Array(52, 12, 12)
strFormat = "Table"
blnPrintHeader = True
arrBlnHide = Array(False, False, False)
Aquí configuramos algunos parámetros para configurar el resultado. En la primera línea, asignamos valores a una matriz denominada arrHeader; como puede imaginar, se trata de los encabezados de cada columna de la tabla de salida. En el script de muestra, recuperaremos información acerca de los servicios que se ejecutan en un equipo, a continuación, mostraremos los valores de las propiedades DisplayName, State y StartMode de cada servicio.
No es muy sorprendente que denominemos a las columnas de la matriz DisplayName, State y StartMode (aunque también habríamos podido denominarlas A, B y C; Larry, Moe y Curly; o cualquier otra cosa. El nombre de las columnas no será el mismo que el de las propiedades.).
Nota: Existen muchas versiones del cuento de Cenicienta, incluidos los nombres de sus hermanastras. En la versión de Disney, las hermanastras se llaman Drizzella y Anastasia, que casualmente son los nombres de nuestro editor de scripting.
En la segunda línea del código, asignamos valores a otra matriz, denominada arrMaxLength. Esta matriz contiene el tamaño de las columnas de la tabla. En el resultado, asignaremos 52 caracteres a la columna 1, que contiene el nombre para mostrar del servicio (DisplayName); a continuación, asignaremos 12 espacios al estado del servicio (State) y al modo de inicio (StartMode). Microsoft.CmdLib insertará automáticamente un espacio en blanco entre columnas. Para que el tamaño de las columnas sea de 52, 12 y 12 caracteres, usaremos un código similar a éste:
arrMaxLength = Array(52, 12, 12)
La tercera línea especifica el formato de salida de los datos. Para que los datos se muestren como una tabla, estableceremos el valor de strFormat (variable que contiene el tipo de salida) como Table. Ahora, en lugar de eso, supongamos que queremos mostrar los datos como una lista de valores separados por comas. En ese caso, estableceríamos el formato como CSV, de la siguiente manera:
strFormat = "CSV"
En cambio, obtendremos un resultado similar al que aparece a continuación:
"Display Name","State","Start Mode"
"Adobe LM Service","Stopped","Manual"
"Adobe Active File Monitor V4","Stopped","Manual"
"Alerter","Stopped","Manual"
"Application Layer Gateway Service","Running","Manual"
"Apple Mobile Device","Running","Auto"
"Application Management","Stopped","Manual"
Fíjese que Microsoft.CmdLib no sólo puso comas entre cada elemento, sino que también colocó los valores individualmente entre comillas dobles. Esta característica es más atractiva de lo que parece al principio. Después de todo, para hacerlo manualmente, deberá usar un código similar al siguiente:
Wscript.Echo Chr(34) & objService.DisplayName & Chr(34) & "," & Chr(34) & objService.State & Chr(34) & "," & Chr(34) & objService.StartMode & Chr(34)
Vaya.
¿Cómo que qué es eso? Aunque no le gusten las tablas, ¿tampoco le gusta el formato CSV? En ese caso, trate de configurar el formato como List, lo que le proporcionará un resultado similar al siguiente:
Display Name: Adobe LM Service
State:        Stopped
Start Mode:   Manual
Display Name: Adobe Active File Monitor V4
State:        Stopped
Start Mode:   Manual
Pero hacemos una digresión. (Como solemos hacer de vez en cuando.) Después de definir el formato de salida, establecemos el valor de una variable denominada blnPrintHeader como True:
blnPrintHeader = True
Usaremos blnPrintHeader para decir a Microsoft.CmdLib que imprima el encabezado de las columnas. ¿Qué debemos hacer para no imprimir el encabezado de las columnas? Establezca blnPrintHeader como False:
blnPrintHeader = False
Por último, tenemos la siguiente línea de código:
arrBlnHide = Array(False, False, False)
Cuando llega el momento de mostrar los datos, Microsoft.CmdLib le da la opción de mostrar u ocultar alguna columna. Para ocultar una columna (es decir, para suprimir los datos de una propiedad particular), establezca el valor de esa propiedad como True; para mostrar una columna, establezca el valor como False.
En el resultado, mostraremos los valores de las propiedades DisplayName, State y StartMode, en ese orden; por consiguiente, en nuestra matriz usamos los valores False, False, False. ¿Qué debemos hacer para mostrar DisplayName, ocultar State y mostrar StartMode? En ese caso, usaremos la siguiente línea de código:
arrBlnHide = Array(False, True, False)
Recuerde, use False para mostrar una columna y True para ocultarla.
En este punto, podemos generar algunos datos, si los tenemos. ¿Alguna vez los chicos de la sección Scripting Guy escribieron un script que produjo un error al generar datos y, después de pasar una gran cantidad de tiempo depurándolo, se dieron cuenta de que no se habían molestado en recuperar ningún dato en primer lugar? No, claro que no; ¿por qué lo pregunta?
Con esta idea en mente, el siguiente paso es enlazar el servicio Instrumental de administración de Windows (WMI) en el equipo local y usar, a continuación, el método ExecQuery para recuperar información acerca de todos los servicios instalados en ese equipo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colServices = objWMIService.ExecQuery ("Select * FROM Win32_Service")
Debemos mencionar que no sólo puede trabajar con los datos de WMI. Como es de esperar, Microsoft.CmdLib funciona con cualquier tipo de datos. WMI es una forma útil de recuperar gran cantidad de datos.
Una vez que tenemos una recopilación de datos relacionados con el servicio, configuramos un bucle For Each para recorrer todos los servicios de la recopilación. Sin embargo, en lugar de devolver los valores de propiedad de cada servicio, ejecutamos este código:
ReDim Preserve arrResultsArray(i)
arrResultsArray(i) = Array(objService.DisplayName, objService.State,objService.StartMode)
i = i + 1
¿Qué haremos con este bloque de código? En la línea 1 cambiamos el tamaño de la matriz mediante el comando ReDim Preserve no sólo para cambiar el tamaño de la matriz sino también para conservar los datos existentes de ésta. Sin la palabra clave Preserve, cambiará el tamaño de la matriz, pero se borrarán los datos que contiene.
¿De qué tamaño hacemos la matriz? La primera vez que se realiza el bucle, haremos una matriz de tamaño 0; en otras palabras, crearemos una matriz que incluye un elemento. ¿Y cómo sabemos con seguridad que estamos haciendo una matriz de tamaño 0? Porque usamos la variable de contador i, y esa variable es igual a 0.
Por tanto, ¿si usamos la variable i para representar el tamaño de la matriz, no significa que siempre estableceremos el tamaño como 0? En principio sí, salvo si cada vez que realizamos un bucle aumentamos 1 punto el valor de i; como puede observar, eso es lo que hacemos en la línea 3 del bloque de código.
Lo que nos deja con sólo una línea de código por la que preocuparnos:
arrResultsArray(i) = Array(objService.DisplayName, objService.State,objService.StartMode)
Entonces, usamos únicamente los valores de propiedad que nos interesan (DisplayName, State y StartMode) y los agregamos a la matriz arrResultsArray. Tenga en cuenta que no agregamos los valores de propiedad individualmente; en cambio, los agregamos como una matriz de valores. Efectivamente, es excepcional: significa que cada elemento de la matriz arrResultsArray será otra matriz; así es como funciona Microsoft.CmdLib.
Por supuesto, esto puede suponer otro motivo de preocupación. "Una matriz de matrices. ¿Cómo demonios podré obtener acceso a todos los valores individuales de una matriz llena de matrices?" No se asuste. Es sencillo: deje que se encargue Microsoft.CmdLib.
Nota: lamentamos decirle que obtener acceso a todos los valores individuales de una matriz de matrices es casi lo único en lo que puede ayudarle Microsoft.CmdLib. Sin embargo, en el próximo lanzamiento del objeto se explicará cómo limpiar las habitaciones de su malvada madrastra, fregar los platos y lavar la ropa de sus hermanastras.
De hecho, podemos generar datos (en formato tabular ordenado) con tan sólo llamar al método ShowResults y pasarle todas las matrices y variables configuradas anteriormente en el script:
objCmdLib.ShowResults arrHeader, arrResultsArray, arrMaxLength, strFormat, blnPrintHeader, arrBlnHide
¿Qué aspecto tendrá todo esto? Será el formato ordenado que esperábamos, tal como se muestra en la figura 1.
No está nada mal, ¿verdad? Consiguió un resultado ordenado sin necesidad de hacer mucho trabajo. Y el siguiente script será aún más fácil porque tan sólo tendrá que hacer algunos cambios secundarios a este primer script.
Hay que reconocer que no obtendrá la misma satisfacción que Cenicienta al estar esclavizada día y noche para poder mostrar el resultado de un script en una tabla. Y, para ser honesto, seguramente no se casará con un príncipe; no lo habíamos acordado. Pero es un precio pequeño que tendrá que pagar por obtener un resultado tan atractivo a partir de un script de VBScript, especialmente si tiene en cuenta lo que representa un príncipe hoy en día.
Y, ¿quién sabe?: quizás consiga casarse con un príncipe de todos modos. Después de todo, incluso la realeza necesita obtener información acerca de todos los servicios instalados en sus equipos, ¿verdad?

Dr. Scripto's Scripting Perplexer
El desafío mensual que prueba no sólo sus habilidades para resolver rompecabezas, también sus habilidades para el scripting.

Junio de 2008: El camino a PowerShell
En cada uno de estos enigmas, conecte las letras horizontal, vertical y diagonalmente de forma que lea el nombre de un cmdlet de Windows PowerShell. Cada letra se usará sólo una vez. Por ejemplo:
El cmdlet creado en este enigma es New-Alias. Ahora le toca a usted. Aquí hay tres enigmas más:

ANSWER:
Dr. Scripto's Scripting Perplexer
Encontrará las respuestas en: El camino a PowerShell, junio de 2008

Read-Host

Set-AuthenticodeSignature

Los chicos de la sección Microsoft Scripting Guy trabajan para Microsoft, mejor dicho, están contratados por Microsoft. Cuando no juegan al béisbol, ni entrenan ni lo ven (u otras actividades varias), dirigen el TechNet Script Center. Visite la página web www.scriptingguys.com.


Archivos del escritorio Seguridad frente a Cumplimiento
Wes Miller

Como profesional de la TI, puede enfrentarse a objetivos que deben complementarse pero que, a menudo, compiten entre sí. La seguridad y el cumplimiento son dos de este tipo de objetivos de la organización, en los que el logro de uno debe mejorar el otro. Sin embargo, esto no es generalmente el caso. Mi intención con este artículo es proporcionarle
información general acerca de por qué la seguridad no siempre significa cumplir con las iniciativas exigidas y de por qué satisfacer el cumplimiento con frecuencia no significa garantizar la seguridad, o por lo menos obtener el nivel de seguridad que debería si el cumplimiento realmente se identificase con la seguridad.

La seguridad no es una casilla
Recursos de SDL
  • The Security Development Lifecycle de Michael Howard y Steve Lipner (Microsoft press, 2006)
  • Blog del ciclo de vida del desarrollo de la seguridad
  • Análisis del ciclo de vida del desarrollo de la seguridad en Microsoft
  • Centro de desarrollo de seguridad
  • El ciclo de vida de desarrollo de seguridad de Trustworthy Computing

Generalmente, el cumplimiento implica unos requisitos (personas, procesos, infraestructura, tecnología, etc.) que se imponen en una organización, sector, empresa o producto desde fuera. A veces, el cumplimiento tiene que ver con estándares promulgados desde el sector en sí, como por ejemplo, el Payment Card Industry Data Security Standard (PCI-DSS). Idealmente, se trata de iniciativas que se alinean con la manera en que ya funciona la organización, al menos hasta cierto punto. A medida que prolifera la adopción de un estándar, comprueba que ya no puede hacer caso omiso, especialmente, para tener éxito en los negocios. Finalmente, deberá actuar y sacar el mayor partido posible.
Es el otro tipo de cumplimiento que suele causar más problemas. Me refiero a las iniciativas que establece el gobierno, como por ejemplo, Insurance Portability and Accountability Act y Sarbanes-Oxley, donde las decisiones acerca de la implementación y los plazos rara vez se realizan por voluntad propia.
El punto clave que se debe comprender acerca del cumplimiento de las normas es que a menudo implica un enfoque de "arriba hacia abajo". Suele haber una plantilla establecida donde se define la iniciativa, y debe mirar los productos y procesos e intentar averiguar cómo pueden cuadrar con la plantilla predefinida que recibe. Debe ser consciente, además de la intención de la iniciativa de cumplimiento, ya que tal vez sea más importante, de las posibles consecuencias legales o financieras de su no aplicación o de su aplicación incorrecta (si las hay).
Si bien podemos estar de acuerdo con la intención de muchas iniciativas de cumplimiento, la implementación suele ser difícil y puede no satisfacer el objetivo deseado. Además, lamentablemente, muchas de ellas no tienen fuerza (es decir, no hay consecuencias legales o financieras directas que se pueden imponer por la aplicación incorrecta).
Puedo decir que, como paciente médico, no soy capaz de describir completamente la ventaja neta de HIPAA para mí. Lo que sí puedo decir es que hay mucho más papeleo cuando voy a un médico. Incluso puede haber consecuencias involuntarias. ¿Ha intentado alguna vez enviar información médica importante de un médico o agencia a otro? Si no hay permiso por escrito, no podrá hacerlo, independientemente de lo urgente que se necesite la información.
Lo que intento decir es que, en muchos sentidos, algunas iniciativas de cumplimiento se convierten en iniciativas tipo casilla. Es decir, diseña o modifica el proceso o producto solamente para cumplir la iniciativa de cumplimiento. A menudo le pregunto a mi hijo de tres años, ¿crees que eso es una buena idea?"
La seguridad, por otro lado, es una iniciativa ascendente (cuando se realiza correctamente). Independientemente de si diseña un producto de software o la arquitectura para la nueva red de la organización, el concepto clave que debe recordar es "medir dos veces y cortar una". Al diseñar la arquitectura del producto, por ejemplo, del mismo modo que un buen paso inicial describiría la comunicación, la localización, las versiones, etc., también debería describir los elementos de seguridad que se deben generar en la aplicación desde el principio (y que debería seguir investigando y ajustando a lo largo del desarrollo).
Si trabaja con una aplicación o arquitectura heredadas (que seguramente es la mayoría de los casos), es igualmente importante realizar la clase de revisión exhaustiva acerca de la seguridad que, a menudo, menciono en este artículo. Si no comprende el funcionamiento de algún elemento, ¿cómo podría comprender su grado de seguridad? Para obtener más información acerca del ciclo de vida de desarrollo de seguridad (SDL) de Microsoft®, consulte la barra lateral "Recursos de SDL".

Imagen general
Recuerdo que, durante el inicio de mi vida profesional, me enseñaron que la seguridad no significa simplemente la implementación de cifrado, listas de control de acceso (ACL) o TLS, o la infraestructura de claves públicas (PKI). La verdadera seguridad significa comprender el panorama completo: comprender por qué se abandona o, incluso, nunca se admitió una versión específica de un protocolo determinado; por qué un mecanismo nuevo detiene los ataques intermediarios; cómo puede ser la implementación de la segunda versión del producto más segura que la versión 1, incluso si esta última era mucho más rápida. También es necesario comprender cómo encajan todas las piezas de la infraestructura entre sí.
Por otro lado, el cumplimiento implica asegurarse de que la tecnología y la infraestructura creada cumplen determinados criterios. Algunas iniciativas, como por ejemplo, el Payment Card Industry Data Security Standard (PCI-DSS) o el North American Electric Reliability Council (NERC), están bien dirigidas y, probablemente, acabarán impulsando un auténtico cambio en la seguridad. Pero, al final, con el gran número de opciones de "iniciativas de cumplimiento" que deben encajar con los proyectos propios y el número limitado de recursos disponibles, las iniciativas de seguridad pierden terreno.
Hace mucho tiempo que la seguridad es el hijastro del desarrollo de software. Seguramente muchos lectores han formado parte de una organización en la que seguridad era algo que se postergaba continuamente. Bueno, las iniciativas de cumplimiento no desaparecerán porque esa actitud de que la seguridad puede esperar, no funciona y nunca lo hará.

Muy bien
Hace poco, cambié de trabajo. Ahora trabajo para una nueva empresa aquí en Austin, Tejas, que se dedica a crear una tecnología de listas blancas (whitelisting) de aplicaciones similar a la tecnología creada en Winternals con el producto Protection Manager. Una tema de conversación interesante con los clientes es hasta qué punto creen que sus tecnologías actuales son seguras, o bien, más concretamente, qué grado de seguridad creen que tiene el conjunto de tecnologías que usan en su infraestructura. Si bien es muy probable que la mayoría de ellas sean seguras y no tengan vulnerabilidades de seguridad, la conclusión más frecuente y que me da un poco de miedo es que un sistema es "suficientemente seguro".
Las iniciativas de cumplimiento son extrañas, tiene la opción de cumplirlas o no cumplirlas. La responsabilidad cae en sus manos. El costo de no cumplir una iniciativa suele ser una multa, una penalización o la eliminación de una organización. Por lo general, no es suficiente garantizar que las cosas realmente cambian.
En el caso de una iniciativa de mandato nacional, a menudo me encuentro con una actitud del tipo "suficiente como para complacer al auditor" o la voluntad de seguir adelante sin establecer ningún marco de cumplimiento debido a que la legislación aplicable (tal como HIPAA) no financia adecuadamente el cumplimiento; lo que significa que es mucho más económico conducir sin seguro y enfrentarse posteriormente a las consecuencias.
La seguridad suele enfrentarse al mismo obstáculo, pero, en mi opinión, al menos es más concreto. Si, como desarrollador o implementador, indica a la administración que no incluir la sección X en las especificaciones aumentará significativamente la vulnerabilidad del producto, al menos podrá decir tras la entrega del producto o la finalización de la implementación que ya lo había advertido. Con las iniciativas de cumplimiento, mi experiencia es que cumplimiento suele realizarse precipitadamente, con el presupuesto más ajustado posible. El objetivo es simplemente cumplir los requisitos mínimos establecidos por la iniciativa, es decir, cumplir la iniciativa al pie de la letra, pero sin tener en cuenta el espíritu de ésta, en mi opinión.

Establecer la posición
Recursos de seguridad y cumplimiento
  • Guía de soluciones para la seguridad y el cumplimiento
  • Guía de seguridad
  • Guía de planeación de cumplimiento del Payment Card Industry Data Security Standard
  • Cumplimiento de las normas y actualizaciones de seguridad
  • Lograr el cumplimiento
  • Oficina de derechos civiles: HIPAA
  • PCI Security Standards Council
  • North American Electric Reliability Council

Aunque pueda resultar idealista de mi parte decir que debe hacer su producto y su organización lo más seguros posibles, la realidad es que la mayoría de las iniciativas de cumplimiento es un compromiso que procede de una ingeniería inadecuada o, más probablemente, de la autocomplacencia. Vivimos en un mundo en el que "suficientemente bueno" es, lamentablemente, suficientemente bueno. Sin embargo, en el mundo de la seguridad "suficientemente bueno" raramente es recomendable. Los profesionales de la TI de todo el mundo pueden aceptar completamente las iniciativas de cumplimiento e intentar de cumplirlas tanto en espíritu como en implementación. Sin embargo, deben asegurarse de que la infraestructura aplicada no tiene el máximo nivel de seguridad posible, sino el nivel de seguridad que debe tener. Dicho de otro modo, debe cumplir a través de una verdadera seguridad y no solamente estar en conformidad con la iniciativa.
Es importante detenerse y mirar la tecnología que se está creando, tanto si se trata de software comercial o de un conjunto de tecnologías que desee integrar en un sistema de mayor tamaño. Nunca me canso de enfatizar la importancia de comprender las piezas entrelazadas del sistema, cómo funcionan en conjunto y las amenazas más importantes a las que se enfrenta el sistema.
En función del sector en el que trabaje, las diferentes iniciativas de cumplimiento pueden ser importantes para su trabajo. Tal vez se encuentre con ellas en la vida cotidiana o solamente al diseñar nuevos proyectos o tecnologías. O bien, quizás sean sólo una parte del trabajo que realiza durante las revisiones o las auditorías de cumplimiento diseñadas específicamente. Da igual. No creo que las iniciativas de cumplimiento deban pasarse por alto, pero les animo a que desafíen el statu quo y a que, en lugar de trabajar exclusivamente para cumplir las iniciativas de cumplimiento de las que sean responsables, realicen una revisión completa de la seguridad con el fin de comprender totalmente la tecnología y modelarla cuando realicen la revisión de cumplimiento.

No tiene nada que perder.
Al final, los castigos por no cumplir una iniciativa de cumplimiento pueden parecer ambiguos. La falta de cumplimiento puede hacer se produzca la misma situación que intenta evitar la iniciativa. Las consecuencias pueden parecer imprecisas o lejanas, pero son reales. Además, puede no se trate de consecuencias individuales. Debe ser pragmático, pero tenga siempre en cuenta las situaciones más complicadas.
Al mirar el mismo espacio desde el punto de vista de la seguridad, la amenaza resulta evidente y, lo que es más importante, debe ser capaz de identificar inmediatamente el posible costo de dejar la vulnerabilidad abierta.
Muchas personas con las que he hablado acerca de este tema han acentuado el hecho de que las iniciativas de cumplimiento suelen dejarse de lado, ya que, a menudo, dejan mucho a la interpretación. Sin embargo, esto no debería aplicarse a ninguna omisión de seguridad tras haber realizado una revisión de la seguridad. Las amenazas inmediatas de seguridad omitida deben ser claramente visibles. Si no lo son, es recomendable recapacitar acerca de las personas implicadas en las revisiones de seguridad. Puede que no cuente con miembros clave en el equipo que puedan ayudarle a detectar los problemas reales de la solución.

Círculo vicioso
En el artículo del año pasado acerca de la seguridad, hablé acerca de cómo evitar la pérdida de datos (technet.microsoft.com/magazine/cc162325). Un año después, un mayor número de sistemas se han puesto en peligro, se ha perdido un mayor número de equipos portátiles sin cifrar y una mayor cantidad de información personal se ha puesto en manos potencialmente dudosas. Resulta difícil saber si se ha producido algún progreso. ¿Por qué no hemos avanzado? A menudo, los proyectos van con retrasos, tienen presupuestos muy limitados con recursos que no dan más de sí y se intenta ofrecer demasiadas características dentro de un período demasiado corto.
Por desgracia, este tipo de entorno conduce a uno en el que realizar la menor cantidad de trabajo posible se convierte en lo normal. Esa no es la forma de garantizar la seguridad o el cumplimiento de una solución, ni que ésta no afecte negativamente el tiempo o los costos del proyecto.
Personalmente, creo firmemente que
  1. no debería crear una solución si no está dispuesto a garantizar su seguridad.
  2. Cada vez que se agreguen nuevas características, se debe diseñar la seguridad antes de comenzar.
  3. Si la organización no está dispuesta a integrar la seguridad como parte del proceso de ingeniería, debería preguntarse cuáles son los objetivos generales de la empresa u organización.
Las organizaciones tienen cada vez más datos personales acerca de los clientes o socios para los que deben garantizar la seguridad. Es lamentable que vivamos en un mundo en el que, con demasiada frecuencia, la seguridad no es la norma y los empleados no se sienten capaces de cuestionar la dedicación de la organización en cuanto a la seguridad.
El fracaso real de la seguridad (no del cumplimiento) pasa a ser a menudo el desencadenador que indica que ha llegado la hora de proteger el sistema y que el seguro contra el robo de identidad se ha convertido en una táctica estándar de responsabilidad para tranquilizar a clientes, estudiantes, pacientes y empleados cuyos datos personales (y probablemente su bienestar financiero) han entrado en peligro.
A todos se nos exige hacer demasiado, a menudo a cambio de una recompensa muy pequeña y, generalmente, en muy poco tiempo. Pero es nuestra responsabilidad como profesionales de la TI cuestionar por qué la seguridad no es el enfoque clave, por qué, por lo general, la administración sólo se acuerda de la seguridad ante iniciativas de cumplimiento o, lo que es más probable, ante una infracción de la seguridad y sus verdaderas amenazas legales, ya sean reales o potenciales (que podrían desprestigiar a la organización o ponerla en peligro).

Acepte el desafío
Principalmente, les invito a desafiar el statu quo. Si solamente se le solicita que satisfaga los objetivos del cumplimiento, intente asegurarse de que, al hacerlo, no pierde el tiempo en satisfacer el concepto que alguien tiene de seguridad. En lugar de eso, asegúrese de que el objetivo es garantizar la seguridad del sistema y, al mismo tiempo, definir una cantidad suficiente del proceso o de la infraestructura como para satisfacer la iniciativa del cumplimiento. Para obtener más información acerca de este tema, consulte la barra lateral Recursos de seguridad y cumplimiento.
En resumen, recuerde que, por lo general, el cumplimiento no es un camino a la seguridad. No obstante, si se implementa y se instrumenta la seguridad correctamente, a menudo, puede acabar siendo un camino al cumplimiento.

Wes Miller es jefe de productos técnicos senior en CoreTrace (www.CoreTrace.com), con base en Austin, Texas. Anteriormente, trabajó en Winternals Software y como administrador de programas en Microsoft. Si lo desea, puede ponerse en contacto con Wes en la dirección technet@getwired.com.


El negocio de TI 10 claves para convertirse en un líder medioambiental
Michael Walsh and Eliza Walsh

Parece que cada compañía habla hoy en día de sus estrategias ambientales. TI puede resultar clave en estas estrategias, ya que representa una gran oportunidad para dirigir cambios y llegar a ser un líder decisivo en su compañía y sector. Pero, ¿por dónde empezar? A continuación presentamos 10 claves para llegar a ser un líder eficaz en las iniciativas medioambientales y de sostenibilidad.
Familiarícese con los problemas
El primer paso consiste en desarrollar una amplia y profunda experiencia en los campos de sostenibilidad medioambiental y entorno informático. Como profesional de TI, debe empezar con un análisis profundo de las maneras de reducir el impacto medioambiental del entorno informático, como la administración de energía, la consolidación del hardware o el tratamiento de los residuos.
Como líder medioambiental, debe visionar asimismo cómo el software y hardware pueden contribuir a reducir el impacto de las operaciones más allá del departamento de TI. Es posible que deba trabajar codo a codo con responsables de RR. HH., abogados o directivos con el fin de definir directivas destinadas a minimizar el impacto medioambiental global de la compañía, desde las directivas de viajes de empresa hasta normativas para las emisiones de carbono globales.
Las personas dentro y fuera de su compañía esperarán que usted tenga experiencia en el medio ambiente, la compañía y los sectores en los que ésta opera. Así, necesitará evaluar sus conocimientos acerca de sostenibilidad medioambiental e informática sostenible, así como las necesidades propias de su compañía a corto y largo plazo.
Si es nuevo en la compañía o se incorpora a un nuevo cargo, es probable que reciba cierta presión, ya sea real o intuida, para actuar con rapidez. Éste es el caso sobre todo de compañías que poseen un historial muy corto en relación con la adopción de una postura respetuosa con el medio ambiente y que, por tanto, tiene ahora prisa por llevarla a cabo.
Debe resistir la tentación de reaccionar con precipitación, ya que puede poner en riesgo su credibilidad y la de la compañía. A corto plazo, céntrese en los asuntos urgentes y aplace la comunicación de iniciativas estratégicas hasta que esté preparado para ello o haya superado ese período problemático.

Valore objetivamente su compañía
El siguiente paso consiste en valorar de un modo crítico el comportamiento ambiental y la sostenibilidad de su compañía o línea de negocio. Para ello, necesitará el compromiso por parte de los miembros clave y otras personas influyentes dentro y fuera de la compañía.
Deberá crear una red de contactos internos y externos, personas que le permitan definir el ecosistema de miembros clave de la empresa. Ellos le pueden ayudar a situar la compañía en la escala de sostenibilidad medioambiental.
En función de sus responsabilidades, es posible que necesite conocer la posición que ocupa su compañía en materia de cumplimiento, tanto actual como futuro, de normativas, estándares y legislación medioambientales. Quizás tenga que medir la posición de su compañía con respecto a sus expectativas de competencia y analista. Asimismo, deberá conocer la impresión que tienen clientes, asociados, organismos gubernamentales y abogados de clientes influyentes acerca de su compañía y su estrategia medioambiental. Además, es posible que deba determinar las restricciones tecnológicas, financieras y medioambientales existentes con respecto a su iniciativa, tanto actuales como futuras.
En función del tamaño y el presupuesto de su compañía, podría ser beneficioso llevar a cabo determinados estudios adicionales. Las encuestas internas, grupos especializados o estudios de terceros pueden contribuir a generar una perspectiva constructiva. Estos factores le pueden ayudar a conocer mejor el grado de satisfacción de los empleados en relación con las medidas corporativas anteriores en materia medioambiental, la posición que ocupa su compañía con respecto a la competencia y dónde encontrar oportunidades comerciales latentes. El mayor valor potencial, sin embargo, es la capacidad de los estudios realizados por terceros para validar o rechazar las opiniones que mantienen los miembros clave.

Piense qué posición desea ocupar y cuándo
Ahora ya puede comenzar a conocer la posición que necesita ocupar su compañía, tanto a corto como a largo plazo. Para empezar, puede englobar ambos períodos en uno y cinco años, respectivamente, y a continuación comenzar a ajustar dichos períodos a sus necesidades específicas. La clave es que el medio ambiente definitivamente no es un problema a corto plazo, por lo que aquellos que adopten una perspectiva de este tipo acabarán perjudicando gravemente a su compañía, así como a los accionistas, asociados y clientes.
Para poder determinar la posición que debe ocupar su compañía tanto en un período de un año como de cinco, debe definir el panorama empresarial actual y futuro al que se enfrentará. Esto incluye la filosofía de la compañía, sus objetivos empresariales a corto y largo plazo, las restricciones presupuestarias actuales y futuras, los planes de expansión geográfica, y los cambios en el entorno legal y regulador del sector.
Por ejemplo, un centro de datos ofrece un contexto en el conflicto entre la toma de decisiones táctica y el posicionamiento estratégico. Anteriormente, el espacio era el principal factor a tener en cuenta para el diseño de un centro de datos. Sin embargo, en los últimos años, la energía ha pasado a ser un factor más determinante para el crecimiento en detrimento del espacio y supone un costo operativo cada vez mayor. Los operadores del centro de datos, dándose cuenta de las implicaciones a largo plazo que tenía la importancia cada vez mayor de la energía, tomaron medidas para mitigar el uso ineficaz de ésta, lo que provocó cambios radicales en la administración de centros de datos que se contradecían con el factor de decisión basado en el espacio vigente por aquel entonces. En ocasiones, las inversiones realizadas con el fin de mitigar el consumo de energía acarreaban considerables costos a corto plazo en comparación con la opción de mantener el paradigma existente. Sin embargo, con la considerable subida de los precios de la energía, los operadores de centros de datos que modificaron proactivamente el curso de la administración de centros de datos hace unos años son ahora considerados visionarios, y sus compañías tienen más que compensadas aquellas inversiones iniciales.

Desarrolle una visión y una estrategia
A continuación debe desarrollar una visión y una estrategia. Éstas, lógicamente, deben basarse en sus conclusiones acerca de la posición que ocupa actualmente y la que debe ocupar la empresa. Cuando establezca una visión y estrategia, no deberá considerar estos elementos como perpetuos e inamovibles. Si bien el compromiso de su compañía para con el medio ambiente debe ser duradero, es más que probable que su visión y estrategia no lo sean. En cambio, deberá sufrir revisiones profundas debido a variables internas y externas, como los cambios en los requisitos reguladores, los cambios de opinión de los clientes y la evolución de las necesidades del negocio. Con la cada vez mayor presencia de iniciativas corporativas medioambientales, es importante alinear la visión y estrategia de TI con cualquier visión y estrategia corporativas de índole global.
Cuando establezca una visión, estará decidiendo la dirección que tomará su negocio. Deberá elegir cuidadosamente sus palabras para que su discurso sea reflexivo, conciso y coherente, pero no exhaustivo. El objetivo de una visión no consiste en tratar todas las medidas que adoptará la compañía con respecto al medio ambiente, sino que deberá ocuparse únicamente de aquellos problemas que necesitan mencionarse para orientar correctamente a los empleados y asociados. Para transmitir la visión se emplea a menudo una declaración de intenciones o de objetivos. Es fundamental que comience a transmitir su visión en los primeros seis meses.
Al decidir la estrategia, no se limitará simplemente a definir la dirección, sino que deberá también establecer los objetivos explícitos del negocio, además de decidir las inversiones que se realizarán para lograr estos objetivos. Existen modelos que pueden ayudarle a formular un plan estratégico. Dos de los modelos más apropiados para problemas medioambientales y de sostenibilidad son SWOT (Strengths, Weaknesses, Opportunities and Threats, puntos fuertes, débiles, oportunidades y amenazas) y PESTLE (Political, Economic, Social, Technological, Legal, and Environmental; político, económico, social, tecnológico, legal y medioambiental). A continuación, puede definir la estrategia en un documento, como un plan estratégico.
Tenga en cuenta que los líderes que solicitan con frecuencia comentarios y opiniones acerca de su visión y estrategia a los miembros clave que intuyen que puedan estar a favor o en contra antes de publicar cualquier documento por escrito tendrán seguramente mayores probabilidades de éxito. Esto se aplica especialmente a aquellos que se enfrentan a los comentarios de sus principales detractores en el plan definitivo.

Predique los aspectos imperativos del negocio
La predicación no tiene por qué esperar al lanzamiento de su visión y estrategia, sino que debe iniciarse el día que asume su cargo. Tras el lanzamiento de la visión y estrategia, no obstante, necesitará adoptar una función más pública, tanto interna como externamente. Como medida inicial, usted o su representante deberán comunicar su visión a los grupos más influyentes, como los empleados, analistas, medios de comunicación, asociados, clientes y abogados de clientes. Necesitará inspirarlos y motivarlos para que crean en su visión y estrategia y elaborar un argumento persuasivo para transmitir que su estrategia es para el bien de su compañía y de las personas a las que ésta va dirigida.
Con el tiempo, necesitará desplazar su punto de mira hacia los diferentes elementos que componen la estrategia. Durante todo este período, deberá también actualizar periódicamente la información presentada al público de destino, destacando hitos importantes que demuestren el éxito, comunicando los cambios realizados en la estrategia y comentando con franqueza los desafíos a los que se enfrenta su compañía o el sector.
Prepárese de manera individual para cada audiencia y presénteles intereses y necesidades diferentes. Aunque mencione las necesidades e intereses específicos de cada audiencia, su visión y estrategia de base deberán ser coherentes en todo momento. Esto le permitirá ganarse la confianza de las distintas audiencias de un modo más eficaz.
Resista el impulso de comunicar "necesidades de negocio" conflictivas para apaciguar las diferentes audiencias. Los líderes que actúan de este modo pierden su credibilidad en los asuntos de los que se ocupan. Como mínimo, les limita su eficacia a la hora de liderar los cambios. Y, en el peor de los casos, podría poner en entredicho la credibilidad de toda la compañía. En la figura 1 se resaltan siete claves para comunicar su mensaje de forma eficaz.
Figura 1 Siete claves para comunicar su mensaje
Figura 1 Siete claves para comunicar su mensaje (Hacer clic en la imagen para ampliarla)

Administre sus mensajes
Cuando predique su visión y estrategia, intente mantener el profesionalismo y la integridad de sus mensajes internos y externos. El medio ambiente y la sostenibilidad están vinculados a la responsabilidad social corporativa en igual medida que lo están al desarrollo de productos, de servicios, a las ventas y al marketing. Aunque su organización le haya asignado el liderazgo medioambiental de manera funcional, es decir, sin asignarle propiedad directa sobre las estrategias de sostenibilidad medioambiental para la población, debe trabajar pensando que se regirá por los mismos estándares que un líder de la ciudadanía.
No subestime la pasión de su audiencia externa por los problemas medioambientales y su familiaridad con las prácticas empresariales de este tipo. Y, lo que es más importante, no subestime su capacidad para destruir su comunicado si carece de integridad o si promete demasiado o demasiado poco. De lo contrario, su compañía podría ser etiquetada de "demagogos ecologistas".
Por lo tanto, necesita una estrategia de comunicaciones con un proceso de revisión que incluya a expertos internos capaces de ofrecer sus comentarios antes de adoptar un cargo público. Su estrategia de comunicaciones debe englobar los elementos clave de sus mensajes como, por ejemplo, un informe medioambiental corporativo, un marco de trabajo de mensajes, una lista de portavoces autorizados o temas de discusión. La estrategia de comunicación resulta fundamental para conseguir coherencia y una estructura transparente, y debe llevarse a cabo poco después de la implementación de su visión y estrategia. Si atribuye responsabilidades personales a los principales propietarios de los mensajes, ello le resultará beneficioso.

Administración a través de la medición
Es importante administrar las responsabilidades que corresponden al ámbito de su visión y estrategia. Tanto si se trata de operaciones, de desarrollo de productos, de ventas o de marketing, debe definir los factores que afectarán a las posibilidades que tiene de cumplir sus objetivos. Estos factores deben organizarse en una lista resumida y asignarse al plan estratégico general. A continuación, deberá establecer una línea de base tanto cualitativa como cuantitativa para estos factores y definir métricas de seguimiento que permitan su análisis en el futuro. Estas métricas deben administrarse de manera activa.
Las responsabilidades para elaborar informes relativos a estas métricas de seguimiento deben definirse con claridad, por lo que se recomienda celebrar reuniones periódicas con todos los miembros clave de la empresa. Estos últimos, a continuación, podrán discutir el impacto de las métricas de seguimiento en el estado general del plan estratégico, lo cual será posible mediante la asignación de las métricas a factores y, a su vez, de los factores a los diferentes elementos del plan estratégico.
Desgraciadamente, muchos líderes medioambientales descubrirán que sus organizaciones no están preparadas para admitir este tipo de métricas de seguimiento con las herramientas de medición de que disponen. Sin embargo, estas herramientas son necesarias para ofrecer los datos cualitativos y cuantitativos que necesita para realizar un análisis adecuado y elaborar los informes relativos a las estrategias medioambientales y de sostenibilidad. Por lo tanto, debe desarrollar herramientas de medición especializadas, ya sea a través de un nuevo diseño de los procesos de negocio, la implementación de una tecnología de colaboración y medición o el desarrollo de herramientas internas personalizadas.
Sin el apoyo por parte de los principales responsables con respecto a la inversión de la compañía en estas herramientas de medición, es probable que se enfrente a decisiones trascendentales de costos/beneficios acerca de si la creación de las herramientas de medición adecuadas debe ser prioritaria a pesar de que esto suponga un costo adicional.

Analice e informe del impacto medioambiental
La recopilación de los datos cuantitativos y cualitativos permite realizar un análisis exhaustivo. Este análisis resulta fundamental para aquellos líderes que desean conocer el nivel de éxito de sus iniciativas, así como el impacto de sus acciones en la compañía o la línea de negocio.
Los cambios en el panorama regulador, de homologación, legal y de informes corporativos voluntarios en relación con el medio ambiente ha aumentando la presión en las compañías para publicar información detallada acerca de sus impactos medioambientales. La implementación de las herramientas y los procesos necesarios para llevar a cabo las tareas de administración, medición y análisis facilita la recopilación de la información necesaria para los informes anuales y expedientes obligatorios, así como para los informes corporativos voluntarios de sostenibilidad. Por lo tanto, es importante que conozca los requisitos de informes tanto actuales como futuros para que pueda invertir en una infraestructura de administración, medición, análisis e informes integrada que se desarrolle acorde con las necesidades del negocio.
La tecnología de análisis e informes es muy importante para aquellas compañías que desean destacar como líderes decisivos. El software juega un papel fundamental en este ámbito, en especial el empleado para la gestión medioambiental, el diseño de procesos, la recopilación de datos, la manipulación de datos, la detección a distancia, la colaboración, la visualización y la presentación.
El software disponible comercialmente deberá en ocasiones personalizarse en función de aplicaciones específicas del ámbito medioambiental. Así, es posible que sea necesaria una gran inversión en tecnología para poder disponer de una infraestructura de administración, medición, análisis e informes integrada.

Conviértase en un líder decisivo
El liderazgo decisivo es algo que cada líder medioambiental debe aspirar a lograr. Si bien existen diversos tipos de líderes decisivos (vea la figura 2 para obtener algunos ejemplos), todos tienen en común lo siguiente: su experiencia no se deriva de un título, sino de su historial de medidas tomadas y liderazgo de cambios realizado con integridad y franqueza.
Figura 2 Tipos de líderes decisivos
Figura 2 Tipos de líderes decisivos (Hacer clic en la imagen para ampliarla)
El ecosistema de sostenibilidad medioambiental global se sustenta en los cambios dirigidos por líderes decisivos. Gracias a su amplia red de contactos en organismos gubernamentales, no gubernamentales, el sector y organizaciones de apoyo al consumidor, un líder decisivo es capaz de conectar partes influyentes para solucionar los problemas que requieren una estrecha colaboración. Un líder decisivo está también familiarizado con muchos de los problemas ambientales emergentes que preocupan a la comunidad internacional y puede llevar la marca de estos problemas a una audiencia global.
Por último, un líder decisivo diseña soluciones para problemas importantes que todavía no constituyen uno de los puntos centrales del sector. La implementación de estas soluciones puede requerir influir y colaborar con otros, incluidos los competidores, e introducir la propia compañía en mercados en los que todavía no opera, si bien los líderes decisivos pueden influir en los cambios de carácter global.

Manténgase al corriente
Se trata, en definitiva, de una disciplina emergente, por lo que el cuerpo de conocimientos sufre constantes cambios. El mantenimiento y aumento de la credibilidad requerirán un conocimiento erudito de las diferentes perspectivas científica, de directiva, legal, económica, de tecnología y de negocio impulsadas por otros líderes medioambientales. También requerirán que no se cumpla necesariamente con las opiniones predominantes actuales, sino más bien que se impulsen perspectivas únicas basadas en un conocimiento experto del entorno informático y la sostenibilidad medioambiental. Esta integridad será uno de los principales factores diferenciales dado el número creciente de líderes ambientales (o de personas que afirman ser líderes decisivos) en el sector.
Un líder asentado también debe tener la seguridad suficiente para delegar responsabilidades a subordinados que posean conocimientos específicos acerca de un tema de interés así como a representantes superiores de la directiva medioambiental dentro de la compañía cuando así lo requiera un compromiso. Si bien es cierto que mantener reuniones periódicas con los superiores y subordinados le permite asegurarse de mantener un conocimiento completo acerca de la estrategia de la compañía con respecto a la sostenibilidad medioambiental, la clave consiste en saber cuándo es necesario hablar en nombre de la compañía. Esto requiere un conocimiento claro de sus compromisos principales y es un rasgo que refleja la responsabilidad sincera que tiene de apoyar las convicciones acerca del medio ambiente que sus audiencias internas y externas esperan.

Michael Walsh es Director senior medioambiental de productos en Microsoft.
Eliza Walsh es Consultora de estrategias de comunicaciones y trabajó anteriormente como Especialista de comunicaciones para Microsoft en China.


Notas de campo Compartir una pantalla dividida
Kentaro Toyama

La ampliación del acceso al equipo a tantos usuarios como se pueda es el objetivo loable de Microsoft Research India, implementado con éxito en MultiPoint (tema que se trató en el número de mayo de 2008 de TechNet Magazine). Se trata de un programa que permite a muchos usuarios interactuar con un equipo con varios mouse.
La pantalla dividida es una forma de acceso compartido simultáneo de equipos concebida por Microsoft Research India. El programa configura un único equipo con dos teclados y dos mouse y, a continuación, adapta Terminal Services para dividir el monitor por la mitad. Por lo tanto, dos usuarios pueden compartir el monitor, de forma que se ejecutan instancias independientes del sistema operativo y pueden elegir el software de forma independiente de cada parte (research.microsoft.com/users/udaip/splitscreen.htm). Por ejemplo, un usuario puede usar un programa de procesamiento de texto mientras que otro trabaja con una hoja de cálculo.
Para habilitar la pantalla dividida, usamos tres instancias independientes de Terminal Server en Windows Server® 2003 (se está actualizando a Windows Server 2008). La primera es un contenedor que captura y redistribuye todos los eventos de los mouse y de los teclados. Este nivel usa el mismo truco que usamos en MultiPoint, donde se capturan todos los eventos del mouse y del teclado junto con sus id. de dispositivo (al conectar los dispositivos USB, Windows® asigna de forma automática id. únicos; no son únicos para el dispositivo de hardware, si no para la instancia actual de la operación, es lo necesario para apreciar si dos clics del mouse proceden del mismo mouse o de mouse diferentes). El contenedor también indica los cursores del mouse.
Dentro de él, abrimos dos instancias adicionales de Terminal Server que sólo reciben los eventos pertinentes para cada pantalla. En el modo predeterminado, por ejemplo, todos los eventos del mouse con Id. x acabarán en la pantalla dividida izquierda mientras que los de Id. y acabarán en la pantalla dividida derecha.
La pantalla dividida usa Terminal Services para dividir un monitor de PC por la mitad
La pantalla dividida usa Terminal Services para dividir un monitor de PC por la mitad (Hacer clic en la imagen para ampliarla)
Es importante tener una instancia de contenedor de Terminal Server de forma que tengamos control total sobre los eventos que van en cada lugar y habilitar características más avanzadas. Por ejemplo, podemos habilitar que el cursor derecho pase a la pantalla izquierda y sólo pueda señalar (quizás para uso tutorial), o, incluso, interactuar con la otra ventana.
En este caso, también se incluirá una parte de los eventos del mouse derecho en la pantalla izquierda. Además, consideramos el uso de la tecnología de virtualización de Windows para realizar funciones similares. Esto se podía conseguir, pero descubrimos que consumía más recursos.
A los investigadores les preocupaba que las personas se sintieran frustradas por disponer tan sólo de la mitad de la pantalla. Realizamos investigaciones en Hope Foundation de Bangalore (India), entidad que enseña conceptos básicos de informática a los jóvenes de la ciudad con ingresos bajos. Los estudiantes aprendían tanto con la pantalla dividida como usando un único equipo, al menos en una matriz limitada de tareas de aprendizaje de TI. También buscamos problemas ergonómicos, pero no surgieron, incluso en pantallas de 14 pulgadas. Lo más importante es que al centro de aprendizaje de TI le entusiasmó el hecho de que el doble de estudiantes pudieran usar el mismo número de equipos.
Microsoft Research India está negociando con Terminal Services y otros grupos de Microsoft para decidir si vale la pena sacar al mercado la pantalla dividida. Si está interesado en probar la pantalla dividida, necesitamos saber en qué situaciones la usaría. Envíe un correo electrónico a splitscr@microsoft.com.

Kentaro Toyama es el Director General adjunto de Microsoft Research India (research.microsoft.com/india) e investigador principal del grupo de tecnologías para mercados emergentes (research.microsoft.com/research/tem), que desarrolla tecnologías para comunidades pobres de todo el mundo.


Confidencial de Windows Los dos peores equipos de la historia
Raymond Chen

En marzo de 2007, cuando PC World desarrolló su lista de los 10 peores equipos de la historia, los dos primeros de la lista me llamaron la atención porque los usábamos en el trabajo. Bueno, "usar" es decir demasiado. Quizás debería decir que fui testigo de estos equipos, ya que pasaron la mayor parte de sus vidas productivas en la oficina de un empleado de Microsoft.
El equipo Barbie PC de la marca Mattel figuraba en el segundo puesto de la lista de PC World. Este equipo era una importante mejora en comparación con los equipos baratos disponibles en colores aburridos. No obstante, no era más que un equipo barato en un color aburrido en el que podían colocar pegatinas color rosa sobre la carcasa, el monitor, los altavoces, etc. También tenía preinstalado software con la temática de Barbie.
Compramos uno como equipo de prueba y, al menos, la pobre persona encargada de evaluarlo tuvo el sentido del humor suficiente como para realizarlo con un entusiasmo simulado. Colocó todas las pegatinas y decoraciones proporcionadas para asegurarse de que el equipo se instalase "como estaba diseñado". Se colocó en una mesa a la vista de todos para que cualquiera que pasase y viese el desastre rosa pudiese jugar con él.
El equipo Barbie PC sirvió como fuente continua de diversión. Cada vez que el equipo daba problemas y tenían que venir desarrolladores a la oficina para depurarlo, siempre se quedaban mirándolo o mostraban entusiasmo al darse cuenta del tipo de equipo en el que les tocaba trabajar. Me han dicho que un verano los becarios universitarios instalaron una copia de la versión Datacenter Edition de Windows Server® en el equipo de Barbie, sólo para divertirse un poco.
El primer puesto, o más bien el peor puesto, se concedió al equipo de Packard Bell. ¡Qué recuerdos! Para darles algunos ejemplos del maravilloso diseño de este equipo: la configuración de fábrica tenía todas las ranuras de expansión ocupadas. Quizás el fabricante pensó que el equipo era tan perfecto que nunca sería necesario actualizarlo.
En los días del proyecto de Windows® 95, un director ejecutivo compró uno para usarlo en casa e instalaba regularmente la última compilación de Windows 95 como parte del esfuerzo de usar los equipos de Microsoft. Como era de esperar, se produjeron todo tipo de problemas y, a menudo, tenía que llevarlo a la oficina para depurarlo.
El director de desarrollo del proyecto Windows 95 era un hombre inteligente con un enfoque increíblemente directo para solucionar los problemas. Por ejemplo, para asegurarse de que Windows 95 incluyera una amplia cobertura de compatibilidad de aplicaciones, fue a una tienda de informática y se compró una copia de todos los programas que había en la tienda. A continuación, puso el software sobre las mesas de la cafetería e invitó a los miembros del equipo de producto de Windows 95 a que se llevasen dos programas de software, con la condición de que instalasen y ejecutasen todo el software que se llevaban, y que registrasen los errores de todo lo que no funcionase correctamente, independientemente de la importancia del error. A cambio, se podían quedar con el software. La escena en el comedor era como un mercadillo, con las personas deambulando por las mesas en búsqueda del producto deseado y preguntando con entusiasmo a sus colegas "¿y tú, qué elegiste?".
Avergonzado por el número de veces que el director ejecutivo tuvo que traer su equipo para depurarlo, el director de desarrollo del proyecto Windows 95 tomó una vez más el enfoque directo. Fue a una tienda de informática y compró un equipo de Packard Bell idéntico al del director ejecutivo.
El hecho de que estos dos equipos existiesen ya era algo suficientemente grave; lo que empeoraba las cosas es que me encargaron a mí que instalase en el segundo equipo todas las compilaciones nuevas de Windows 95 y que depurase cualquier problema que surgiese. Así, cuando el director ejecutivo instalase la última compilación en su equipo doméstico, la compilación no daría ningún problema.
Si ha seguido la historia y ha atado cabos, tal vez haya observado que este plan tiene un obstáculo. Ya que no había disponible ninguna ranura de expansión en el equipo de Packard Bell, no se podía instalar una tarjeta de adaptador de red. Tuve que recurrir a otros medios tortuosos para obtener conectividad de red. Odiaba ese equipo con todas mis fuerzas.

Raymond Chen, The Old New Thing, y en su libro homónimo se trata la historia de Windows y la programación Win32. Los objetos que se muestran en este reflejo están más cerca de lo que parecen.