En este capítulo se proporciona información sobre los riesgos inherentes a la ejecución de servicios y se analizan los tipos de cuenta utilizados para este fin. Asimismo, se describen los principios y estrategias que se deben aplicar cuando se planea ejecutar servicios con más seguridad. En esta páginaVulnerabilidades del servicioDebido a que los servicios se ejecutan sin vigilancia cuando se inician, resultan muy adecuados en aplicaciones de tipo servidor como, por ejemplo, servicios Web. No obstante, esta característica presenta inconvenientes, ya que el usuario puede ignorar que se esté ejecutando un servicio. Aunque puede que algunos servicios abran una ventana o cuadro de diálogo visible para el usuario, no suele existir casi interacción alguna con ellos, por lo que un usuario puede ejecutar una serie de servicios predeterminados y no conocer nunca los riesgos potenciales de seguridad. Gusanos de Internet recientes, como Nimda, se aprovechan de que el usuario puede ejecutar servicios Web de forma inconsciente en las estaciones de trabajo, las cuales, una vez infectadas, propagan el gusano a miles de equipos a través de Internet. Algunos servicios, concretamente los que utilizan las herramientas de administración empresariales como Microsoft® Systems Management Server, Microsoft Operations Manager y Tivoli, necesitan iniciar sesión con una cuenta de usuario de dominio, ya que suelen requerir acceso a todo el dominio y posiblemente también a otros dominios de confianza. En otras situaciones, el uso de una cuenta de usuario de dominio para ejecutar servicios constituía una práctica estándar, pero recientemente las organizaciones han reconocido que supone un riesgo para la seguridad. La información de nombre de usuario y contraseña de cada servicio que utiliza una cuenta de usuario local o de dominio se almacena en el registro, lo que puede ser objetivo de un atacante si éste obtiene acceso administrativo al equipo. Como resultado, se produce exposición de la seguridad si se configura un servicio para iniciar sesión como usuario. Debido a que la exposición de la seguridad se crea siempre que un servicio se configura para iniciar sesión como cuenta de usuario de dominio, la posibilidad de aprovechar esta vulnerabilidad aumenta en función de varios factores, entre los que se encuentran:
Escenarios de vulnerabilidad del servicioExisten varios ejemplos distintos, cada uno de ellos con diferentes niveles de riesgo de seguridad. Éstos se describen en la siguiente figura y en la tabla que se muestra a continuación. Se asume que todas las cuentas de la figura son cuentas de dominio. Cada cuenta ejecuta al menos un servicio en uno de los servidores. Descripciones de las cuentas de dominio en el diagrama:
Prioridades en la vulnerabilidad de seguridadLos niveles de prioridad utilizados en la siguiente tabla son:
En la siguiente tabla se incluye una descripción detallada de los escenarios de vulnerabilidad del servicio y sus posteriores niveles de prioridad de vulnerabilidad. Tabla 2.1: Escenarios de vulnerabilidad de seguridad
Resumen de las vulnerabilidades del servicioLos servicios constituyen puntos de vulnerabilidad excelentes para los atacantes que desean obtener acceso al servidor local o a otros servidores de la red. Si no necesita utilizar un servicio determinado, se recomienda deshabilitarlo. De este modo, la superficie de ataque se puede reducir de forma rápida y sencilla, además de obtener ventajas adicionales de rendimiento al no ejecutar servicios innecesarios. Para proteger un servicio correctamente, se deben conocer sus vulnerabilidades y reducir al mínimo la exposición del servicio a las mismas. Cuentas del sistemaUn servicio debe iniciar sesión como cuenta para obtener acceso a los recursos y objetos del sistema operativo. Si se asigna una cuenta a un servicio que no dispone de los permisos adecuados para iniciar la sesión, el complemento Servicios para Microsoft Management Console (MMC) otorgará automáticamente a dicha cuenta el derecho de usuario para iniciar sesión como servicio en el equipo que se está administrando. Microsoft Windows Server™ 2003 incluye tres cuentas locales integradas que se utilizan como cuentas de inicio de sesión para diversos servicios del sistema:
Cuentas de usuarioLas distintas categorías de cuentas de usuario pueden iniciar sesión como servicio. Cada categoría tiene propios privilegios y capacidades:
Cambios en la configuración de seguridad predeterminada de los servicios en Windows Server 2003Con las versiones de Windows anteriores a Windows XP y Windows Server 2003, casi todos los servicios incluidos con el sistema operativo utilizaban la cuenta del sistema local de forma predeterminada. Los programas que se ejecutan en este contexto disponen de privilegios ilimitados en el equipo local, lo cual implica un riesgo obvio para la seguridad. Con la aparición de Windows Server 2003, los desarrolladores modificaron la configuración predeterminada para que el entorno resultara más seguro. Uno de estos cambios es que un menor número de servicios se ejecutan con la cuenta del sistema local de forma predeterminada. En lugar de utilizar esta cuenta, muchos servicios comunes utilizan la cuenta Servicio de red o Servicio local. Estas cuentas tienen un nivel de privilegios mucho más bajo que la cuenta del sistema local y, por lo tanto, representan una amenaza menor para la seguridad. Diversos servicios aún inician la sesión como sistema local, incluyendo Actualizaciones automáticas, Examinador de equipos, Mensajero y el servicio Windows Installer. Otros no lo hacen. Por ejemplo, aunque el Servicio de alerta utilizaba la cuenta del sistema local en Windows 2000, emplea la cuenta Servicio local en Windows Server 2003. El Cliente DNS utilizaba la cuenta del sistema local en Windows 2000, pero usa la cuenta Servicio de red en Windows Server 2003. En la siguiente tabla se incluyen los servicios que ya no utilizan la cuenta del sistema local en Windows Server 2003 y se indica qué cuenta de servicio están empleando ahora. Precaución: No intente cambiar las cuentas que los servicios incluidos en el sistema operativo Windows Server 2003 utilizan, ya que se pueden originar graves problemas y detener la correcta ejecución de servicios importantes. Por ejemplo, el servicio Cliente DNS utiliza la cuenta Servicio de red porque debe tener acceso a recursos de red tales como los servidores DNS. Este servicio no funciona con la cuenta Servicio local ni con ninguna otra que no se pueda autenticar en los recursos de red. Tabla 2.2: Nueva configuración de la cuenta de servicios en Windows Server 2003
Principios para mejorar la seguridad de la ejecución de serviciosPara obtener la seguridad deseada, se debe comprender la naturaleza de los servicios disponibles en el entorno de red y establecer procedimientos con los que proteger el uso de los mismos. En esta sección se analizan tres principios esenciales que se deben seguir para planear una ejecución segura:
Si estos principios se incorporan correctamente en los procedimientos de seguridad de TI, se podrá lograr un nivel adecuado de seguridad. Conocimiento del sistemaAunque la recomendación parece obvia, muchas organizaciones no conocen a fondo las funciones y servicios que se ejecutan en todos sus equipos. Para saber si los equipos son seguros, se deben conocer los servicios que ejecutan, así como sus propiedades. Esta información es de vital importancia para mantener la seguridad de los servidores. Gracias a una tabla con los servicios que se ejecutan en los equipos y las propiedades de aquéllos, los riesgos se podrían evaluar de forma inmediata. La creación de una tabla de este tipo puede resultar en un principio un proceso largo y complejo, pero el esfuerzo bien merece la pena, ya que es de vital importancia comprender las propiedades de una configuración válida para las distintas funciones del servidor. Existen varias herramientas que pueden ayudar a crear una lista de los servicios en ejecución y sus propiedades. Entre ellas, se incluyen:
Utilización del principio de privilegios mínimosLa mayor parte de la documentación y los cursos relacionados con la seguridad analizan la implementación del principio de privilegios mínimos. Aunque este principio es sencillo, el impacto de su implementación aumenta enormemente la seguridad y reduce el riesgo. Con el principio se plantea conceder a una entidad la cantidad mínima de acceso necesario para realizar únicamente su tarea. En Windows Server 2003, este principio se aplica tanto a las cuentas de usuario como a las de equipo, ya que en Active Directory ambas cuentas constituyen puntos principales de seguridad, lo que significa que se les puede asignar permisos y privilegios. Una razón por la que este principio funciona tan bien es que obliga a evaluar los recursos de red y los riesgos potenciales de seguridad. Se deben conocer los privilegios de acceso que realmente son necesarios para un equipo o usuario determinado y, posteriormente, comprobar que solamente se apliquen dichos privilegios. La ejecución más segura de servicios requiere que las organizaciones implementen servicios con un enfoque de privilegios mínimos. Siempre que sea posible, ejecute los servicios como la cuenta Servicio local, de modo que sólo se pueda obtener acceso a un único equipo y no a todo el dominio. Los servicios que requieren acceso de red con autenticación pueden necesitar utilizar la cuenta Servicio de red; asimismo, se deben implementar servicios que requieran una mayor implementación como cuenta del sistema local. Si se determina que es necesaria una cuenta de administrador de nivel de dominio para implementar un servicio, el servidor en el que se realice la implementación se debe tratar como un servidor de alta seguridad y se debe proteger con las mismas medidas utilizadas para otros recursos de red de gran importancia como, por ejemplo, controladores de dominio. Para obtener más información sobre este tema, consulte la sección Creación de un grupo de servidores de alta seguridad para excepciones de administrador de dominio del capítulo 3, "Ejecución más segura de servicios". Microsoft ha realizado una comprobación exhaustiva de Windows Server 2003 para garantizar que los servicios principales del sistema operativo se ejecuten con la cuenta de menos privilegios; por lo tanto, generalmente no es necesario modificar estos servicios. El principal objetivo debe ser asegurar los servicios que no formen parte del sistema operativo como, por ejemplo, los que se proporcionan como componente de otras ofertas de productos de servidor; por ejemplo, Microsoft SQL Server™, Microsoft Operations Manager y servicios ofrecidos por otros fabricantes de software. Se puede emplear Directiva de grupo de Windows Server 2003 para controlar servicios específicos que se pueden ejecutar en uno o varios equipos. Para ello, abra el objeto de directiva de grupo de la unidad organizativa que incluye el equipo que se desee configurar. Examine el nodo Configuración del equipo\Configuración de Windows\Configuración de seguridad\Servicios del sistema y abra la página Propiedades del servicio que desea controlar. En el cuadro de diálogo Propiedades, defina el modo de inicio del servicio (Automático, Manual o Deshabilitado) y establezca los permisos de seguridad que controlan qué cuentas de usuario pueden realizar operaciones concretas en el servicio como, por ejemplo, detención o inicio del servicio. Para obtener más información sobre lo que hay que considerar al decidir qué tipo de cuenta se debe utilizar para la ejecución de un servicio, consulte la figura 3.1, "Jerarquía de privilegios mínimos para la implementación de servicios", del capítulo 3, "Ejecución más segura de servicios". Cuando se implemente el principio de privilegios mínimos en los equipos, funcionará junto con la norma de conocimiento del sistema. ¿Cómo se sabe si los equipos ejecutan la cantidad mínima de servicios si no se conoce cuáles se están ejecutando realmente? Con la combinación de estos dos principios, el personal de administración puede evaluar qué servicios se ejecutan en un equipo, el estado de éstos y las credenciales que se emplean con cada servidor; a continuación, otorgue metódicamente a todos los servicios posibles el mínimo privilegio necesario. Supervise los equipos para garantizar que no se agregue ninguno nuevo sin realizar los procedimientos adecuados de control de cambios. Aplicación del principio de servicios mínimosEste principio indica que el sistema operativo y los protocolos de red disponibles en cualquier dispositivo en red deben ejecutar únicamente los servicios y protocolos justos que sean necesarios para cumplir el objetivo empresarial. Por ejemplo, si no se necesita que un servidor aloje ninguna aplicación Web, se debe eliminar o deshabilitar el servicio World Wide Web. La mayoría de los sistemas operativos y programas instalan muchos más servicios y protocolos en su configuración predeterminada de los que realmente son necesarios para situaciones de uso normal. El mejor modo de configurar un nuevo servidor es incluir un paso en el que el administrador del sistema cierre todas las necesidades del sistema operativo menos las imprescindibles. Por ejemplo, en los sistemas operativos Windows antes de Windows Server 2003, era una práctica habitual cerrar el Servicio de alerta y Mensajero. Asimismo, compruebe la correcta situación de los servicios en la red. Por ejemplo, el servicio Enrutamiento y acceso remoto o los Servicios de Internet Information Server (IIS) no se deben situar en un controlador de dominio, ya que ejecutan servicios en segundo plano que pueden aumentar la vulnerabilidad del controlador. Microsoft recomienda que no se ejecute ningún servicio adicional en el controlador de dominio, excepto los necesarios para que opere correctamente como tal. Para obtener más información sobre la seguridad de los servicios en Windows Server 2003 y Windows XP, consulte las siguientes guías:
| En este artículo
|