Share via


Consideraciones de seguridad de los controladores de Microsoft para PHP para SQL Server

Descargar controlador PHP

En este tema se describen consideraciones de seguridad específicas para el desarrollo, la implementación y la ejecución de aplicaciones que utilizan los Controladores de Microsoft para PHP para SQL Server. Para más información sobre la seguridad de SQL Server, consulte Información general sobre la seguridad de SQL Server.

Conexión con la autenticación de Windows

Debe utilizarse la autenticación de Windows para conectarse a SQL Server siempre que sea posible por los siguientes motivos:

  • No se transmiten credenciales por la red durante la autenticación. Los nombres de usuario y las contraseñas no se incrustan en la cadena de conexión de la base de datos. Por tanto, los atacantes o usuarios malintencionados no pueden obtener las credenciales supervisando la red o consultando las cadenas de conexión de los archivos de configuración.

  • Los usuarios tienen que pasar por un proceso de administración de cuentas centralizada. Se aplican directivas de seguridad (por ejemplo, periodos de expiración de contraseñas, longitudes mínimas de contraseñas y bloqueo de cuentas) después de varias solicitudes de inicio de sesión no válidas.

Para obtener información sobre cómo conectarse a un servidor con la autenticación de Windows, consulte Cómo conectarse mediante la autenticación de Windows.

Cuando se conecte mediante la autenticación de Windows, se recomienda que configure el entorno para que SQL Server puede utilizar el protocolo de autenticación Kerberos. Para obtener más información, vea Cómo asegurarse de que está utilizando la autenticación Kerberos cuando crea una conexión remota a una instancia de SQL Server 2005 o Autenticación Kerberos y SQL Server.

Uso de conexiones cifradas cuando se transfiere información confidencial

Se deben usar conexiones cifradas siempre que se envíe información confidencial o se recupere de SQL Server. Para obtener información sobre cómo habilitar conexiones cifradas, vea el artículo Habilitar conexiones cifradas en el motor de base de datos (Administrador de configuración de SQL Server). Para establecer una conexión segura con los Controladores de Microsoft para PHP para SQL Server, utilice el atributo de conexión Encrypt cuando se conecte al servidor. Para obtener más información sobre los atributos de conexión, consulte Connection Options.

Uso de consultas con parámetros

Utilice consultas con parámetros para reducir el riesgo de ataques por inyección de SQL. Para obtener ejemplos de la ejecución de consultas con parámetros, consulte How to: Perform Parameterized Queries.

Para obtener más información sobre los ataques por inyección de SQL y las consideraciones de seguridad relacionadas, vea Inyección de código SQL.

No aceptación de información de la cadena de conexión o del servidor procedente de usuarios finales

Escriba aplicaciones para que los usuarios finales no puedan enviar información de la cadena de conexión o del servidor a la aplicación. Al mantener un control estricto sobre la información de la cadena de conexión y del servidor, se reduce el área expuesta a actividades malintencionadas.

Activación de WarningsAsErrors durante el desarrollo de las aplicaciones

Desarrolle aplicaciones con la configuración WarningsAsErrors definida como True para que las advertencias emitidas por el controlador se traten como errores. Esto le permitirá abordar las advertencias antes de implementar su aplicación. Para obtener más información, consulte Handling Errors and Warnings.

Registros seguros para la aplicación implementada

Para las aplicaciones implementadas, asegúrese de que los registros se agregan a una ubicación segura o de que el registro esté desactivado. Esto ayuda a proteger contra la posibilidad de que los usuarios finales accedan a información escrita en los archivos de registro. Para obtener más información, consulte Logging Activity.

Consulte también

Guía de programación para los controladores de Microsoft para PHP para SQL Server