Consejos para asegurar tu MS SQL Server

Microsoft SQL Server es un sistema de administración de bases de datos relacionales (RDBMS) que contiene pocos componentes y subcomponentes. Cada componente en SQL Server tiene su propio mecanismo de seguridad que está casi separado el uno del otro. La seguridad de Database Engine incluye la cuenta de servicio, la instancia y la seguridad de las bases de datos.

Como DBA y Sysadmin debes pensar en diferentes mecanismo para asegurar tus motores de bases de datos. No solo por la criticidad de la información, sino por el costo de no estar en producción.

Lo primero que debes pensar es a nivel de networking que medidas tomar

  • Cambia el puerto predeterminado de tu SQL Server (https://maurobernal.com.ar/blog/mssql/cambiar-el-puerto-del-ms-sql-server)
  • SQL Server puede encriptar el protocolo TDS con protocolo SSL. Para habilitar el protocolo SSL, SQL Server necesita un certificado auto firmado o un certificado autorizado de los proveedores de certificados.
  • Revisa y crea las reglas en tu firewall en base a tu puerto
    • Por ejemplo: limita las conexiones entrantes solo a tu segmento de red permitido
netsh advfirewall firewall add rule name="SQL Access" ^
dir=in action=allow ^
program="%programfiles%\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" ^
remoteip=LOCAL_SUBNET

Seguido a este puedes tener en cuenta estas recomendaciones a nivel de sistema operativo:

  • De forma predetermina el servicio del MS SQL Server corre con su propio usuario que tiene permisos limitados a los archivos, a la red y al registro. Mi consejo es que trabajes siempre dentro de un entorno de directorio activo (DC) y que crees un usuario nuevo, único para cada instancia de SQL Server
  • Este usuario debe ser extremadamente limitado, solo para correr el servicio.
  • Recuerda que complementario al servicio del SQL Server, tendrás el del agente, encargado entre otras cosas de efectuar tu backup. Haz lo mismo y limita su ambito solo al directorio de backups, el cúal no debería estar disponible para usuarios normales del directorio activo

A nivel de aplicación, ten tu información encriptada y cifrada

  • Puedes encriptar la información almacenada en tus tablas, limitándose a campos extremadamente sensibles (como tarjetas de crédito, cuentas bancarias, etc)
  • Pero también puedes cifrar toda la base de datos.

Mas adelante te mostraré como hacer estos dos últimos puntos…

2 comentarios

Trackbacks y pingbacks

  1. […] ¿Cómo saber en que puerto está corriendo nuestro motor SQL Server? Primero que nada es conveniente entender porque es que no esta en su puerto default. Si eres novato en el tema, seguramente tienes la instalación estándar del motor de Microsoft, y nunca te has preguntado porque debería cambiarlo de puerto. Si es tu caso te dejo este artículo donde te contamos como es la seguridad del MS SQL Server y que cosas debes tener en cuenta. (https://maurobernal.com.ar/blog/consejos-para-asegurar-tu-ms-sql-server/) […]

  2. […] Seguido a este te dejamos este post donde te contamos como funciona la seguridad de MS SQL (https://maurobernal.com.ar/blog/consejos-para-asegurar-tu-ms-sql-server/) […]

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.