Considerações de segurança para os drivers da Microsoft para PHP para SQL Server

Baixar driver PHP

Este tópico descreve as considerações de segurança específicas para desenvolver, implantar e executar aplicativos que usam os Drivers da Microsoft para PHP para SQL Server. Para obter informações mais detalhadas sobre a segurança do SQL Server, confira Visão geral da segurança do SQL Server.

Conectar usando a Autenticação do Windows

A Autenticação do Windows deve ser usada para se conectar ao SQL Server sempre que possível, pelos seguintes motivos:

  • Nenhuma credencial é passada pela rede durante a autenticação. Nomes de usuário e senhas não são inseridas na cadeia de conexão do banco de dados. Portanto, usuários mal-intencionados ou invasores não podem obter as credenciais monitorando a rede ou exibindo cadeias de conexão nos arquivos de configuração.

  • Os usuários estão sujeitos ao gerenciamento centralizado de contas. Políticas de segurança, como períodos de validade da senha, comprimento mínimo da senha e bloqueio de conta após várias solicitações de logon inválidas são impostas.

Para obter informações sobre como se conectar a um servidor com a Autenticação do Windows, consulte How to: Connect using Windows Authentication.

Quando você se conecta usando a Autenticação do Windows, é recomendável configurar seu ambiente para que o SQL Server possa usar o protocolo de autenticação Kerberos. Para obter mais informações, veja Como certificar-se de que você está usando a Autenticação Kerberos ao criar uma conexão remota com uma instância do SQL Server 2005 ou Autenticação Kerberos e SQL Server.

Usar conexões criptografadas ao transferir dados confidenciais

Devem-se usar conexões criptografadas sempre que dados confidenciais forem enviados para ou recuperados do SQL Server. Para obter informações sobre como habilitar conexões criptografadas, veja Habilitar conexões criptografadas no Mecanismo de Banco de Dados (SQL Server Configuration Manager). Para estabelecer uma conexão segura com os Drivers da Microsoft para PHP para SQL Server, use o atributo de conexão Encrypt ao se conectar ao servidor. Para obter mais informações sobre atributos de conexão, consulte Connection Options.

Usar consultas parametrizadas

Use consultas parametrizadas para reduzir o risco de ataques de injeção de SQL. Para obter exemplos de como executar consultas parametrizadas, consulte How to: Perform Parameterized Queries.

Para obter mais informações sobre ataques de injeção de SQL e as considerações de segurança relacionadas, veja Injeção SQL.

Não aceitar informações de cadeia de conexão de usuários finais ou de servidor

Escreva os aplicativos de forma que os usuários finais não possam enviar informações da cadeia de conexão ou do servidor para o aplicativo. Manter controle restrito sobre informações de cadeia de caracteres de conexão e de servidor reduz a área de superfície para atividades mal-intencionadas.

Ativar WarningsAsErrors durante o desenvolvimento de aplicativos

Desenvolva aplicativos com a configuração WarningsAsErrors definida como true para que os avisos emitidos pelo driver sejam tratados como erros. Isso permitirá que você trate os avisos antes de implantar seu aplicativo. Para obter mais informações, consulte Handling Errors and Warnings.

Proteger os logs do aplicativo implantado

Para aplicativos implantados, verifique se os logs estão gravados em um local seguro ou se que o log está desativado. Isso ajuda a proteger contra a possibilidade de os usuários finais acessarem informações gravadas nos arquivos de log. Para obter mais informações, consulte Logging Activity.

Consulte Também

Guia de programação do Microsoft Drivers para PHP para SQL Server