Conociendo a SAC (Surface Area Configuration)

Publicado: 24/10/2006
Conociendo a SAC (Surface Area Configuration)

Por Maximiliano Accotto, MVP SQL Server

Microsoft SQL 2005 (MS SQL 2005) ha incorporado grandes cambios en lo que respecta a la seguridad. Uno de los más importantes es que luego de instalar el producto se tienen todas las funciones con las cuales el motor se debe relacionar fuera de él, de forma deshabilitada.

Esto es tan así, que luego de una instalación ni se permite la conexión desde un cliente al servidor de SQL.

Con estos cambios también se han introducido una serie de herramientas adicionales que no se disponían con anterioridad en las versiones de SQL.

En este artículo haremos un repaso por SAC, la herramienta que trae SQL 2005 para configurar todo lo relacionado a la seguridad del motor.

Para poder entrar a SAC debemos acceder desde Start\Programs\Microsoft SQL Server 2005\Configuration Tools al acceder encontraremos la siguiente figura como primer pantalla.

El aprendiz

“Hemos ganado rápidamente participación de mercado debido al nivel de aceptación de la oferta de soluciones Microsoft”, explicó Andrés Haidar, director de Ventas de Soluciones de Negocios Microsoft Cono Sur. “Además, lanzamos recientemente Microsoft Dynamics Great Plains 9.0, que entre sus principales características presenta una nueva forma de operación basada en roles. Esto representa una evolución a lo conocido en aplicaciones de gestión, y permitirá a las personas ser más productivas y tomar mejores decisiones”, agregó el ejecutivo.

Aquí básicamente tenemos tres opciones:

1. Change Computer: esta opción nos permite acceder a configurar otro servidor

2. Sourface área configuration for Service and Connections: entraremos a la configuración relacionada con los servicios de SQL y conexiones

3. Sourface area Configuration for Feature: aquí configuraremos Features nuevas de SQL 2005 y otras que ya existían en versiones anteriores donde necesiten que SQL se deba conectar con un mundo exterior a él mismo.

Sourface Area Configuration for Services and Connections

Como se menciono en el apartado anterior, en esta sección podremos configurar todo lo relacionado a los servicios y a las conexiones hacia SQL Server. La siguiente figura muestra las opciones que disponemos al acceder a esta sección.

Como se observa en la figura, podemos ver que el primer ítem (YUKON) hace referencia a nuestra instancia de SQL 2005, si dispondríamos mas de una instancia la veríamos también en este listado.

Del lado derecho podemos observar mas datos del servicio en si y hasta lo podríamos poner en pausa o detenerlo. Al pulsar sobre el plus (+) podremos ver mas opciones dentro de la instancia como se muestra en la siguiente figura.

Aquí vemos los distintos servicios de SQL, como por Ej.: Database Engine (El motor relacional), Analysis Services (Olap), Reporting Services (El servidor de reportes), Agent (El agente de SQL para programar trabajos) y por ultimo el Full-Text Search. En este artículo nos concentraremos solamente en Database Engine. La siguiente figura muestra las opciones que dispone este servicio al pulsar sobre el plus (+)

Esta opción que estamos viendo es la del servicio (Service), aquí configuramos básicamente como queremos que inicie este mismo. Para configurar las opciones del servicio se recomienda el uso de: SQL Server Configuration Manager (Otra herramienta de SQLServer que viene con el producto).

La opción más importante desde SAC es la segunda (Remote Connections) que mostramos en la siguiente figura:

Como se podrá observar, SQL Server por default no permite conexiones entrantes hacia el servidor. Esta es una de las consultas que mas se hacen en los foros: “instale un SQL 2005 y no puedo acceder a el desde un cliente”.

Pues es cierto. Ahora por seguridad y por lo que hemos mencionado antes (Reducir la superficie de ataque) SQL no permite las conexiones entrantes por default, entonces lo que se debe realizar es entrar al SAC y configurar la posibilidad de conexiones entrantes, al hacerlo tenemos tres opciones de protocolos, lo recomendable aquí es usar el que realmente este activado, si es TCP solo entonces esa opción, si es Named Pipes lo mismo, y si no estamos seguros entonces la tercer opción que usaría ambos.

Sourface Area Configuration for features

Esta otra opción del SAC permite configurar todas aquellas características en las cuales el motor de bases de datos se deba conectar con un mundo exterior. La siguiente figura muestra cuales son estas opciones que luego entraremos a detallar.

Todas las opciones que veremos aquí están deshabilitadas por default, si deseamos tenerlas disponibles deberemos entrar al SAC e indicarlo. La recomendación es solo habilitar aquellas características que sí o sí se estén utilizando, justamente la idea de no tener todo abierto es reducir la superficie de ataque.

Ad Hoc Remote Queries: Este característica también disponible en versiones anteriores permite conectarnos con TSQL a otros servidores de bases de datos como podrían ser SQL, Access, etc.

CLR Intregation: SQL 2005 ha incorporado la posibilidad de escribir objetos (Triggers – Stores Procedures – Funciones de usuario – Datos definido por el usuario) en .NET. Para ello se incorporo el CLR, esta opción del SAC permite la habilitación del mismo.

DAC: Esta también es una nueva característica de SQL 2005, que permite tener una conexión dedicada por línea de comandos (SQLCMD). Esto es muy útil para cuando nuestro servidor esta colgado y no podemos ni manejarlo con las herramientas administrativas.

Database Mail: La habilitación de esta nueva característica permitirá el envió de e-mails vía SMTP.

Active XML Web Services: Web service es una nueva funcionalidad de SQL 2005, que nos permite crear nuestros propios WS desde TSQL. Aquí en el SAC podremos ver cuales están activos y también cambiar sus estados de ser necesario.

OLE db Automation: Al habilitar esta opción desde el SAC le daremos a SQL la posibilidad de poder ejecutar procedimientos extendidos XP’s

OLE db Automation: Al habilitar esta opción desde el SAC le daremos a SQL la posibilidad de poder ejecutar procedimientos extendidos XP’s

Service Broker: Al igual que los Web Service, esta opción del SAC permite ver los distintos Endpoint de Service Broker (un nuevo servicio de SQL Server) y también cambiar sus estados.

SQL Mail: Esta opción habilita la posibilidad de utilizar el viejo método de envió de correos de SQL Server. Esta opción de correos esta disponible para mantener compatibilidad hacia atrás.

XP_CmdShell: Al habilitar esta opción desde SAC estaremos dando la posibilidad de utilizar este procedimiento extendido del sistema el cual nos permite ejecutar comandos del SO.

Conclusiones: SAC es la herramienta para configurar la seguridad en el motor de bases de datos. En anteriores versiones del producto se tenía por default las opciones habilitadas, ahora para disminuir las posibilidades de ataque hay que habilitar manualmente las opciones que puedan afectar a la seguridad de SQL Server. Esto nos da mayor tranquilidad pero a la vez debemos tener presente estas cosas a la hora de que no nos funcionen algunas característica, como recomendación primero acceder al SAC y ver si esa característica no esta deshabilitada.