Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo garantizar la seguridad de la base de datos

Cómo garantizar la seguridad de la base de datos

Configuración de seguridad de SQL Server 2000 Antes de configurar la seguridad de la base de datos de SQL Server 2000, primero debe realizar la configuración de seguridad operativa en el sistema operativo para garantizar que su sistema operativo se encuentre en un estado seguro. Luego, debe realizar las auditorías de seguridad necesarias en el software (programas) utilizados para operar la base de datos, como ASP, PHP y otros scripts. Este es un riesgo de seguridad que ocurre a menudo en muchas aplicaciones WEB basadas en bases de datos. principalmente un problema de filtrado. Es necesario filtrar algunos caracteres similares a ';@/, etc., para evitar que los vándalos construyan declaraciones SQL maliciosas. A continuación, después de instalar SQL Server2000, aplique los parches sp1, sp2 y los últimos parches sp3 y sp4.

Después de completar los tres pasos básicos anteriores, analicemos la configuración de seguridad de SQL Server.

1. Utilice una política de contraseñas segura

Ponemos la política de contraseñas como el primer paso en todas las configuraciones de seguridad. Tenga en cuenta que las contraseñas de muchas cuentas de bases de datos son demasiado simples. diferente de la contraseña del sistema. La simplificación excesiva es la misma. Esto es lo mismo que la contraseña del sistema. Tenga más cuidado con sa y no escriba la contraseña de la cuenta sa en la aplicación o script. ¡Una contraseña segura es el primer paso hacia la seguridad! Las instalaciones de SQL Server 2000 que utilizan el modo mixto requieren una contraseña sa a menos que confirme que debe utilizar una contraseña en blanco. Esta es una mejora con respecto a las versiones anteriores. También adquiera el hábito de cambiar su contraseña con regularidad. Los administradores de bases de datos deben comprobar periódicamente si hay cuentas que no cumplan con los requisitos de contraseña.

Por ejemplo, utilice la siguiente instrucción SQL:

Usar master

Seleccione nombre y contraseña de syslogins donde la contraseña es nula

2 Utilice la política de cuenta segura

Debido a que SQL Server no puede cambiar el nombre de usuario de sa ni eliminar el superusuario, debemos proporcionar la protección más sólida posible para esta cuenta, incluido, por supuesto, el uso de una contraseña muy segura. Es mejor no usar la cuenta sa en aplicaciones de bases de datos y solo usar sa cuando no hay otra forma de iniciar sesión en la instancia de SQL Server (por ejemplo, si otros administradores del sistema no están disponibles o han olvidado la contraseña). Se recomienda que el administrador de la base de datos cree un nuevo superusuario con los mismos permisos que sa para administrar la base de datos. Una política de cuenta segura también incluye no otorgar privilegios de administrador a la cuenta.

SQL Server tiene dos modos de autenticación: Autenticación de Windows y Autenticación Mixta. Si el administrador de la base de datos no desea que los administradores del sistema operativo accedan a la base de datos a través de inicios de sesión del sistema operativo, la cuenta del sistema "BUILTIN/Administradores" se puede eliminar de Administración de cuentas. Pero el resultado de esto es que una vez que se olvida la contraseña de la cuenta sa, no se puede restaurar. Muchos hosts usan aplicaciones de bases de datos solo para funciones simples como consultar y modificar, así que asigne cuentas de acuerdo con las necesidades reales y otorgues solo los permisos que cumplan con los requisitos y necesidades de la aplicación. Por ejemplo, poder realizar selecciones utilizando una cuenta pública simple está bien siempre que exista una función de consulta.

3. Fortalecer el registro de la base de datos

Audite el "error y el éxito" de los eventos de inicio de sesión de la base de datos. En "Seguridad" de las propiedades de la instancia, seleccione todos los niveles de auditoría para mantener registros detallados. de registros del sistema de base de datos y del sistema operativo. Esto registrará todos los eventos de inicio de sesión de la cuenta en el sistema de base de datos y en los registros del sistema operativo. Verifique periódicamente los registros de SQL Server para detectar eventos de inicio de sesión sospechosos o use comandos de DOS para encontrarlos. *

4. Administrar procedimientos almacenados extendidos

Realice operaciones importantes en procedimientos almacenados y preste atención a los permisos de la cuenta para llamar a procedimientos almacenados extendidos.

De hecho, no se utilizan muchos procedimientos almacenados del sistema en la mayoría de las aplicaciones, por lo que muchos procedimientos almacenados del sistema en SQL Server solo se usan para satisfacer las necesidades de la mayoría de los usuarios, así que elimine los procedimientos almacenados innecesarios, porque algunos procedimientos almacenados del sistema pueden ser fácilmente Se utiliza para aumentar privilegios o causar daños. Si no se requiere el procedimiento almacenado extendido xp_cmdshell, elimínelo. Utilice la siguiente instrucción SQL:

use master

sp_dropextendedproc 'xp_cmdshell'

xp_cmdshell es el mejor acceso directo para ingresar al sistema operativo y lo deja la base de datos al sistema operativo Una gran puerta trasera. Si necesita este procedimiento almacenado, también puede utilizar esta declaración para restaurarlo.

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

Si no lo necesita, abandone el procedimiento almacenado automático OLE (hará que algunas funciones en el administrador sean inutilizable),

Estos procedimientos almacenados incluyen lo siguiente:

Sp_addextendedproc 'xp_cmdshell', 'xpsql70:

Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty

Sp_OAMethod Sp_OASetProperty Sp_OAStop

Elimina programas de acceso al registro no deseados. Los programas de registro pueden incluso leer la contraseña del administrador del sistema operativo, como se muestra a continuación:

Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue

Xp_regenumvalues. ​​Xp_regread Xp_regremovemultistring

Xp_reg_reg_values Cuando utilice procedimientos almacenados, asegúrese de verificarlos para evitar daños a su base de datos o aplicación.

5. Utilice protocolo de cifrado

SQL Server 2000 utiliza el protocolo de flujo de datos de tabla para el intercambio de datos de red. Sin cifrado, todas las transmisiones de la red se realizan en texto claro, incluidas las contraseñas, el contenido de la base de datos, etc. Esta es una enorme amenaza para la seguridad. Si alguien en la red lo intercepta y obtiene lo que necesita, incluidas cuentas de bases de datos y contraseñas, será una gran amenaza para la seguridad. Por lo tanto, cuando las condiciones lo permitan, es mejor utilizar SSL para cifrar el protocolo. Por supuesto, esto requiere el soporte de un certificado.

6. No permita que nadie pruebe su puerto TCP/IP

De forma predeterminada, el puerto de escucha de SQL Server es 1433. Mucha gente dice que SQL Server debe configurarse para cambiar el puerto para que otros no puedan saber fácilmente qué puerto está en uso. Desafortunadamente, el puerto TCP/IP utilizado por SQL Server se puede conocer fácilmente mediante un sondeo UDP a través del puerto no revelado 1434 de Microsoft. Sin embargo, Microsoft ha tenido esto en cuenta, porque después de todo, los puertos públicos y abiertos pueden causar problemas innecesarios. Seleccione las propiedades del protocolo TCP/IP en las propiedades de la instancia. Seleccione Ocultar instancia de SQL Server. Ocultar una instancia de SQL Server evita respuestas a difusiones de clientes que intentan enumerar instancias de SQL Server existentes en la red.

De esta manera, otros no pueden usar 1434 para sondear su puerto TCP/IP (a menos que usen un escaneo de puertos).

7. Modifique el puerto utilizado para TCP/IP

Cambie el puerto predeterminado original 1433 de acuerdo con la configuración del paso anterior. En las propiedades de la instancia, seleccione las propiedades del protocolo TCP/IP en Configuración de red y cambie el puerto utilizado por TCP/IP de forma predeterminada a un puerto diferente.

9. Rechazar la detección desde el puerto 1434

Dado que no hay restricciones en la detección del puerto 1434, el puerto 1434 puede ser utilizado por otros para detectar cierta información de la base de datos y también puede ser utilizado por el ataque DOS, aumentando así la carga de la CPU en el servidor de la base de datos, por lo que el sistema operativo Windows 2000 puede ocultar su tráfico UDP tanto como sea posible al negar el tráfico UDP en el puerto 1434 en el filtro IPSec.

10. Restricciones de IP para conexiones de red

El sistema de base de datos SQL Server 2000 en sí no proporciona una solución de seguridad para las conexiones de red, pero Windows 2000 proporciona dicho mecanismo de seguridad. La seguridad de los paquetes IP se consigue mediante el propio IPSec del sistema operativo. Restrinja las conexiones IP para que solo sean accesibles desde su propia IP y niegue las conexiones de puertos de otras IP para controlar de manera efectiva las amenazas a la seguridad de la red.