Está en la página 1de 59

SQL SERVER

Sesión 1
• Ediciones del SQL Server
• Requerimientos de Hardware y Software
• Instalación y configuración del SQL Server
• Manejo de Instancias
• Consideraciones sobre la Seguridad

Agenda
Ediciones de SQL Server
Ediciones de SQL Server

• Enterprise
• Standard
• Web
• Developer
• Express
• Core
• Business Intelligence

https://www.microsoft.com/en-us/sql-server/sql-server-downloads
SQL Server Enterprise

The premium offering, SQL Server Enterprise edition delivers comprehensive high-end datacenter
capabilities with blazing-fast performance, unlimited virtualization1, and end-to-end business
intelligence - enabling high service levels for mission-critical workloads and end-user access to data
insights.
SQL Server Standard

SQL Server Standard edition delivers basic data management and business intelligence database for
departments and small organizations to run their applications and supports common development
tools for on-premises and cloud - enabling effective database management with minimal IT
resources.
SQL Server Web

SQL Server Web edition is a low total-cost-of-ownership option for Web hosters and Web VAPs to
provide scalability, affordability, and manageability capabilities for small to large-scale Web
properties.
SQL Server Developer

SQL Server Developer edition lets developers build any kind of application on top of SQL Server. It
includes all the functionality of Enterprise edition, but is licensed for use as a development and test
system, not as a production server. SQL Server Developer is an ideal choice for people who build and
test applications.
SQL Server Express

Express edition is the entry-level, free database and is ideal for learning and building desktop and
small server data-driven applications. It is the best choice for independent software vendors,
developers, and hobbyists building client applications. If you need more advanced database features,
SQL Server Express can be seamlessly upgraded to other higher end versions of SQL Server. SQL
Server Express LocalDB is a lightweight version of Express that has all of its programmability
features, runs in user mode and has a fast, zero-configuration installation and a short list of
prerequisites.
Requerimientos de Hardware y
Software
Requerimientos de Hardware (todas las ediciones)

Component Requirement
Hard Disk SQL Server requires a minimum of 6 GB of available hard-disk space.
Disk space requirements will vary with the SQL Server components you install. For more
information, see Hard Disk Space Requirements later in this article. For information on
supported storage types for data files, see Storage Types for Data Files.
Monitor SQL Server requires Super-VGA (800x600) or higher resolution monitor.
Internet Internet functionality requires Internet access (fees may apply).
Memory * Minimum: Express Editions: 512 MB / All other editions: 1 GB
Recommended: Express Editions: 1 GB
All other editions: At least 4 GB and should be increased as database size increases to ensure
optimal performance.
Processor Speed Minimum: x64 Processor: 1.4 GHz
Recommended: 2.0 GHz or faster
Processor Type x64 Processor: AMD Opteron, AMD Athlon 64, Intel Xeon with Intel EM64T support, Intel
Pentium IV with EM64T support

https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-ver15?view=sql-server-
ver15
Requerimientos de Software (todas las ediciones)

Component Requirement
Operating system Windows 10 TH1 1507 or greater

Windows Server 2016 or greater


.NET Framework Minimum operating systems includes minimum .NET framework.
Network Software Supported operating systems for SQL Server have built-in network software. Named and
default instances of a stand-alone installation support the following network protocols:
Shared memory, Named Pipes, and TCP/IP.
Instalación y configuración del SQL
Server
Tipos de SQL Server

• SQL Server 2019 on Windows, Linux, and Docker containers


• SQL Server on-premises or in the cloud
• Editions: Enterprise, Enterprise, Core, Business Intelligence, Standard, Web, Express y Developer
• Architecture: 32 or 64 bits
Descarga de SQL Server 2019 Express

https://www.microsoft.com/en-us/sql-server/sql-server-downloads
Descarga de SQL Server 2019 Express
Descarga de SQL Server 2019 Express
Descarga de SQL Server 2019 Express
Descarga de SQL Server 2019 Express
Descarga de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Express
Instalación de SQL Server 2019 Management Tools
Instalación de SQL Server 2019 Management Studio
Manejo de Instancias
RDBMS scalability and performance

https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15
Creación de Instancias en SQL Server 2019 Express
Consideraciones sobre la Seguridad
Mejores Practicas de Seguridad en SQL Server

 Fortalezca el servidor de Windows donde opera SQL Server


 Instale solo los componentes necesarios de SQL Server
 Permisos con el principio de privilegio mínimo
 Desactivar el servicio del navegador de SQL Server
 Utilice grupos y roles para simplificar la administración de permisos efectivos
 Principio de privilegio mínimo al asignar roles de SQL Server
 Utilice contraseñas seguras para administradores de bases de datos
 Instale las actualizaciones de SQL Server de inmediato
 Utilice las opciones de autenticación adecuadas
 Controlar las opciones de contraseña para inicios de sesión
 Sea diligente al deshabilitar y eliminar inicios de sesión
 Utilice una sólida estrategia de copia de seguridad de la base de datos
 Supervise la actividad en su servidor SQL
 Auditoria y cambios en SQL Server y sus BD
 Protéjase contra ataques de inyección de SQL
 Utilice el cifrado con prudencia

https://www.cisecurity.org/cis-benchmarks/
Fortalezca el servidor de Windows donde opera SQL
Server

• Es importante fortalecer el sistema operativo Windows Server antes de instalar SQL Server en él.
• De lo contrario, los atacantes que no puedan vencer las medidas de seguridad de SQL Server
simplemente pueden evitarlas: obtendrán acceso al sistema operativo y copiarán los archivos de
datos en su propio servidor, donde pueden romper las contraseñas y el cifrado en su tiempo libre.

https://www.netwrix.com/
Instale solo los componentes necesarios de SQL Server

• Debe limitar la instalación a solo los componentes necesarios para que su base de datos realice
sus tareas.
• Este enfoque reduce su área de superficie de ataque al eliminar componentes que podrían tener
vulnerabilidades de seguridad. También minimiza la utilización de recursos por parte de la base de
datos y simplifica la administración al eliminar los servicios y componentes necesarios para ser
administrados.

https://www.netwrix.com/
Permisos con el principio de privilegio mínimo

• Estos son los tipos de cuentas que puede usar para los servicios de SQL Server:
 Cuenta de servicio administrada de Active Directory
 Cuenta de usuario de dominio
 Cuenta de usuario local
 Cuenta del sistema local
 Cuenta de servicio de red
 Cuenta de servicio virtual

https://www.netwrix.com/
Desactivar el servicio del navegador de SQL Server

• El servicio SQL Server Browser elimina la necesidad de asignar números de puerto a las
instancias.
• Permite a los administradores de SQL y a los usuarios autorizados descubrir instancias de bases
de datos a través de la red. Sin embargo, esto también hace posible que los atacantes conozcan
los recursos de SQL Server disponibles.
• Por lo tanto, al ejecutar una instancia predeterminada de SQL Server, debe desactivar el servicio
del explorador de SQL Server o configurar otro puerto para que lo use para comunicarse.

https://www.netwrix.com/
Utilice grupos y roles para simplificar la administración de permisos
efectivos

• Los permisos efectivos para una cuenta determinada sobre un recurso específico son el resultado
de:
 Permisos explícitos otorgados directamente a la cuenta del recurso.
 Permisos heredados de la pertenencia a un rol o grupo.
 Permisos heredados de un recurso principal.

https://www.netwrix.com/
Principio de privilegio mínimo al asignar roles de SQL
Server

• Los roles de servidor proporcionan una manera fácil de delegar privilegios administrativos.
Roles predeterminados y sus permisos:
 Sysadmin: realiza cualquier actividad en el servidor SQL
 Serveradmin: configure los ajustes del servidor SQL y apague el servidor
 Securityadmin: administre los inicios de sesión, incluidas sus propiedades, contraseñas y permisos
 Processadmin: finalizar procesos en la instancia de SQL Server
 Setupadmin: agregue o elimine servidores vinculados y administre la replicación
 Bulkadmin: ejecute la instrucción BULK INSERT
 Diskadmin: administrar archivos de disco
 Dbcreator: cree, modifique o elimine cualquier base de datos
 Público: todos los usuarios son miembros de este rol. No tiene ningún permiso excepto para los objetos que
están configurados como públicos.

https://www.netwrix.com/
Utilice contraseñas seguras para administradores de bases de
datos

• Las contraseñas seguras son imprescindibles para todas las cuentas de administrador de bases
de datos para que sean resistentes a los ataques de fuerza bruta.
• Como mínimo, exija que estas contraseñas contengan al menos 10 caracteres, incluidas letras
mayúsculas y minúsculas, números y símbolos específicos; sin embargo, las frases de contraseña
son la mejor opción.
• Estas mejores prácticas de contraseñas ofrecen técnicas adicionales probadas para administrar
correctamente las contraseñas de administración de bases de datos.

https://www.netwrix.com/
Instale las actualizaciones de SQL Server de inmediato

• Tanto los piratas informáticos de sombrero blanco como los malintencionados descubren
constantemente vulnerabilidades y exploits en SQL Server. Microsoft lanza varios tipos de
actualizaciones para solucionarlos:
 Hotfixes: Para resolver los problemas de los clientes lo antes posible (ASAP). Debido a las limitaciones de tiempo, las
revisiones se someten a pruebas limitadas, por lo que deben aplicarse solo a sistemas que se sabe que tienen los
problemas específicos que abordan.
 Cumulative updates (CU): Son lanzamientos periódicos de un conjunto de revisiones que se han sometido a pruebas
adecuadas.
 Service packs (SP): Son una gran colección de parches y correcciones que se han probado correctamente y se pueden
instalar fácilmente como un solo paquete.

https://www.netwrix.com/
Utilice las opciones de autenticación adecuadas

• El servidor SQL ofrece varias opciones para autenticar usuarios:


 Modo de autenticación de SQL Server: solo los usuarios de Windows o AD pueden conectarse a SQL Server.
 Modo de autenticación de Windows: solo los usuarios de Windows o AD pueden conectarse a SQL Server. SQL
Server en realidad no autentica Windows; más bien, permite el acceso basado en un token de acceso que se
ha emitido al usuario que inició sesión.
 Modo de autenticación de SQL Server y Windows: tanto los inicios de sesión de Windows como de SQL, como la
cuenta del administrador del sistema (sa), pueden acceder a SQL Server. Este modo a menudo se denomina
autenticación mixta.

https://www.netwrix.com/
Controlar las opciones de contraseña para inicios de
sesión

• Cuando crea un inicio de sesión de SQL Server, puede especificar las siguientes opciones:
 MUST_CHANGE: SQL Server le pedirá al usuario que cambie su contraseña cuando inicie sesión por primera
vez. Utilice esta opción cuando cree un nuevo usuario o desee que un usuario restablezca su contraseña la
próxima vez que inicie sesión.
 CHECK_POLICY: se aplicarán al usuario las políticas de contraseña de Windows de la computadora en la que se
ejecuta SQL Server. Habilite siempre esta configuración.
 CHECK_EXPIRATION: el usuario deberá restablecer su contraseña con regularidad. Habilite siempre esta
configuración.

https://www.netwrix.com/
Sea diligente al deshabilitar y eliminar inicios de sesión

• Si un inicio de sesión no se utilizará durante un período de tiempo prolongado, como un mes o más, debe
deshabilitarlo y volver a habilitarlo más tarde si es necesario.
• En estas situaciones, es mejor deshabilitar el inicio de sesión en lugar de eliminarlo del sistema. Sin
embargo, debe revisar sus inicios de sesión periódicamente y eliminar los que se deshabilitaron hace más
de un año.

https://www.netwrix.com/
Utilice una sólida estrategia de copia de seguridad de la base de
datos

• Haga una copia de seguridad adecuada para que los datos se puedan recuperar si ocurre una falla.
Hay dos tipos de copias de seguridad: Completas e Incrementales.
 Completa: Hace una copia de seguridad de la base de datos completa.
 Diferenciales: Son mucho más rápidas y ocupan menos espacio en disco, por lo que son muy útiles para bases
de datos medianas y grandes después de la copia de seguridad completa inicial; sin embargo, se deben
realizar copias de seguridad completas periódicamente.
• Para bases de datos pequeñas, es mejor usar copias de seguridad completas.
• Para bases de datos muy grandes, puede considerar el uso de una estrategia de respaldo mixto.
Sin embargo, tenga en cuenta que la gestión de copias de seguridad puede resultar compleja.

https://www.netwrix.com/
Supervise la actividad en su servidor SQL

• La supervisión eficaz es fundamental para detectar, diagnosticar y resolver problemas. Por


ejemplo, puede identificar consultas de larga duración que podrían resultar maliciosas. En
particular, asegúrese de estar atento a lo siguiente:
 Problemas de simultaneidad: si varios usuarios intentan acceder a los mismos datos, algunas solicitudes se
bloquean hasta que otras se completan, lo que puede resultar en un punto muerto, en el que dos
operaciones se bloquean entre sí.
 Desviaciones de su línea de base: registre métricas de cargas de trabajo regulares para establecer una
línea de base para que sepa cómo se ven cuando la base de datos SQL funciona normalmente. Luego,
observe las desviaciones de esa línea de base. Si experimenta un cambio significativo con respecto a su
línea de base sin una causa clara, comience una investigación de seguridad lo antes posible. Las líneas de
base también lo ayudarán a planificar las actualizaciones de la infraestructura de manera oportuna, en
lugar de descubrir repentinamente que está por encima de la capacidad.

https://www.netwrix.com/
Auditoria y cambios en SQL Server y sus BD

• Auditar los inicios de sesión fallidos en SQL Server. Una vez que haya habilitado la auditoría de
inicio de sesión en SQL Server, la información de inicio de sesión fallida y exitosa se escribirá en
los registros de errores de SQL Server, que deben monitorearse regularmente para detectar
actividades sospechosas.
• Monitorear el acceso, los cambios y las eliminaciones de los objetos de la base de datos que
contienen datos restringidos. También debe realizar un seguimiento de los cambios en las
configuraciones y los permisos de SQL Server, de modo que pueda bloquear los ataques y corregir
los errores antes de sufrir daños importantes.

https://www.netwrix.com/
Protéjase contra ataques de inyección de SQL

• En un ataque de inyección SQL, los piratas informáticos ingresan comandos SQL en un campo de
formulario de la interfaz de una aplicación. Luego, la aplicación pasa ese código al motor de la
base de datos, que lo ejecuta; por ejemplo, puede crear inicios de sesión, eliminar datos o cambiar
permisos.
• La mejor forma de protegerse contra estos ataques es parametrizar cada consulta enviada a la
base de datos. Debe utilizar procedimientos almacenados configurados correctamente; son mucho
más seguros que el SQL dinámico directo.
• Nunca pase valores de cadena en la aplicación de front-end y asegúrese de que todas las
consultas a la base de datos estén desinfectadas antes de ejecutarse en la base de datos.

https://www.netwrix.com/
Utilice el cifrado con prudencia

• Cifrar los datos ayuda a mantenerlos seguros incluso si los usuarios no autorizados obtienen acceso a
ellos. Existen varias funciones de cifrado en SQL Server que puede utilizar para proteger sus datos:
 Transparent data encryption (TDE): Cifra los archivos físicos, tanto los archivos de datos (mdf) como los de registro
(ldf). El proceso de cifrado es completamente transparente para las aplicaciones que acceden a la base de datos; los
archivos se cifran utilizando Advanced Encryption Standard (AES) o Triple DES y luego se descifran a medida que la
información va a la memoria.
 Always encrypted: Cifra los datos tanto en reposo como en movimiento (los mantiene cifrados en la memoria), por lo que
protege los datos de administradores deshonestos, ladrones de copias de seguridad y ataques de intermediarios. A
diferencia de TDE, le permite cifrar solo ciertas columnas, en lugar de toda la base de datos. Habilite esta función si está
ejecutando Microsoft SQL Server 2016 o posterior.
 Column level encryption: Cifra solo ciertas columnas en una base de datos, como los detalles de la tarjeta de crédito o
los números de la Seguridad Social. Habilítelo si tiene Microsoft SQL Server 2014 o anterior; en versiones posteriores, la
función "siempre cifrada" es superior.

https://www.netwrix.com/
Computer Internet Security (CIS) - Benchmarking

• Publica lineas base de seguridad (controles) para diferentes plataformas con el objetivo de
reducer el riesgo.

https://www.cisecurity.org/cis-benchmarks/
• SQL Server es un potente Gestor de Base de Datos
Transacional y Relacional.
• Su adquisición debe estar basado en las necesidades
de negocio y requerimientos de hardware y software.
Conclusiones
• Se requiere contar con una línea base de seguridad
de la BD y su entorno.

También podría gustarte