Configuração de segurança de mesclagem dividida

Aplica-se a:Banco de Dados SQL do Azure

Para usar o serviço Dividir/Mesclar, você deve configurar corretamente a segurança. O serviço faz parte do recurso Escala Elástica do Banco de Dados SQL do Azure. Para obter mais informações, consulte Tutorial do serviço de divisão e mesclagem do Elastic Scale.

Configurando certificados

Os certificados são configurados de duas maneiras.

  1. Para configurar o certificado TLS/SSL
  2. Para configurar certificados de cliente

Para obter certificados

Os certificados podem ser obtidos de Autoridades de Certificação (CAs) públicas ou do Serviço de Certificados do Windows. Estes são os métodos preferidos para obter certificados.

Se essas opções não estiverem disponíveis, você poderá gerar certificados autoassinados.

Ferramentas para gerar certificados

Para executar as ferramentas

Para configurar o certificado TLS/SSL

Um certificado TLS/SSL é necessário para criptografar a comunicação e autenticar o servidor. Escolha o mais aplicável dos três cenários abaixo e execute todas as suas etapas:

Criar um novo certificado autoassinado

  1. Criar um certificado autoassinado
  2. Criar arquivo PFX para certificado TLS/SSL autoassinado
  3. Carregar certificado TLS/SSL para o serviço de nuvem
  4. Atualizar certificado TLS/SSL no arquivo de configuração do serviço
  5. Importar Autoridade de Certificação TLS/SSL

Para usar um certificado existente do repositório de certificados

  1. Exportar certificado TLS/SSL do armazenamento de certificados
  2. Carregar certificado TLS/SSL para o serviço de nuvem
  3. Atualizar certificado TLS/SSL no arquivo de configuração do serviço

Para usar um certificado existente em um arquivo PFX

  1. Carregar certificado TLS/SSL para o serviço de nuvem
  2. Atualizar certificado TLS/SSL no arquivo de configuração do serviço

Para configurar certificados de cliente

Os certificados de cliente são necessários para autenticar solicitações para o serviço. Escolha o mais aplicável dos três cenários abaixo e execute todas as suas etapas:

Desativar certificados de cliente

  1. Desativar a autenticação baseada em certificado de cliente

Emitir novos certificados de cliente autoassinados

  1. Criar uma autoridade de certificação autoassinada
  2. Carregar certificado de autoridade de certificação para o serviço de nuvem
  3. Atualizar certificado da autoridade de certificação no arquivo de configuração do serviço
  4. Emitir certificados de cliente
  5. Criar arquivos PFX para certificados de cliente
  6. Importar certificado de cliente
  7. Copiar impressões digitais do certificado do cliente
  8. Configurar clientes permitidos no arquivo de configuração do serviço

Usar certificados de cliente existentes

  1. Encontrar chave pública da autoridade de certificação
  2. Carregar certificado de autoridade de certificação para o serviço de nuvem
  3. Atualizar certificado da autoridade de certificação no arquivo de configuração do serviço
  4. Copiar impressões digitais do certificado do cliente
  5. Configurar clientes permitidos no arquivo de configuração do serviço
  6. Configurar verificação de revogação de certificado de cliente

Endereços IP permitidos

O acesso aos pontos finais de serviço pode ser restrito a intervalos específicos de endereços IP.

Para configurar a criptografia para o repositório

Um certificado é necessário para criptografar as credenciais armazenadas no repositório de metadados. Escolha o mais aplicável dos três cenários abaixo e execute todas as suas etapas:

Usar um novo certificado autoassinado

  1. Criar um certificado autoassinado
  2. Criar arquivo PFX para certificado de criptografia autoassinado
  3. Carregar certificado de criptografia para o serviço de nuvem
  4. Atualizar certificado de criptografia no arquivo de configuração do serviço

Usar um certificado existente do armazenamento de certificados

  1. Exportar certificado de criptografia do armazenamento de certificados
  2. Carregar certificado de criptografia para o serviço de nuvem
  3. Atualizar certificado de criptografia no arquivo de configuração do serviço

Usar um certificado existente em um arquivo PFX

  1. Carregar certificado de criptografia para o serviço de nuvem
  2. Atualizar certificado de criptografia no arquivo de configuração do serviço

A configuração padrão

A configuração padrão nega todo o acesso ao ponto de extremidade HTTP. Essa é a configuração recomendada, já que as solicitações para esses pontos de extremidade podem conter informações confidenciais, como credenciais de banco de dados. A configuração padrão permite todo o acesso ao ponto de extremidade HTTPS. Esta definição pode ser ainda mais restringida.

Alterando a configuração

O grupo de regras de controle de acesso que se aplicam a e ponto de extremidade são configurados <na seção EndpointAcls> no arquivo de configuração de serviço.

<EndpointAcls>
    <EndpointAcl role="SplitMergeWeb" endPoint="HttpIn" accessControl="DenyAll" />
    <EndpointAcl role="SplitMergeWeb" endPoint="HttpsIn" accessControl="AllowAll" />
</EndpointAcls>

As regras em um grupo de controle de acesso são configuradas em uma <seção AccessControl name=""> do arquivo de configuração do serviço.

O formato é explicado na documentação das Listas de Controle de Acesso à Rede. Por exemplo, para permitir que apenas IPs no intervalo 100.100.0.0 a 100.100.255.255 acessem o ponto de extremidade HTTPS, as regras teriam esta aparência:

<AccessControl name="Retricted">
    <Rule action="permit" description="Some" order="1" remoteSubnet="100.100.0.0/16"/>
    <Rule action="deny" description="None" order="2" remoteSubnet="0.0.0.0/0" />
</AccessControl>
<EndpointAcls>
    <EndpointAcl role="SplitMergeWeb" endPoint="HttpsIn" accessControl="Restricted" />
</EndpointAcls>

Prevenção da negação de serviço

Há dois mecanismos diferentes suportados para detetar e prevenir ataques de negação de serviço:

  • Restringir o número de solicitações simultâneas por host remoto (desativado por padrão)
  • Restringir taxa de acesso por host remoto (ativado por padrão)

Estes são baseados nos recursos documentados em Segurança IP Dinâmica no IIS. Ao alterar essa configuração, cuidado com os seguintes fatores:

  • O comportamento de proxies e dispositivos de conversão de endereços de rede sobre as informações do host remoto
  • Cada solicitação para qualquer recurso na função Web é considerada (por exemplo, carregamento de scripts, imagens, etc.)

Restringir o número de acessos simultâneos

As configurações que configuram esse comportamento são:

<Setting name="DynamicIpRestrictionDenyByConcurrentRequests" value="false" />
<Setting name="DynamicIpRestrictionMaxConcurrentRequests" value="20" />

Altere DynamicIpRestrictionDenyByConcurrentRequests para true para habilitar essa proteção.

Restringir a taxa de acesso

As configurações que configuram esse comportamento são:

<Setting name="DynamicIpRestrictionDenyByRequestRate" value="true" />
<Setting name="DynamicIpRestrictionMaxRequests" value="100" />
<Setting name="DynamicIpRestrictionRequestIntervalInMilliseconds" value="2000" />

Configurando a resposta a uma solicitação negada

A configuração a seguir configura a resposta a uma solicitação negada:

<Setting name="DynamicIpRestrictionDenyAction" value="AbortRequest" />

Consulte a documentação de Segurança IP Dinâmica no IIS para obter outros valores suportados.

Operações para configurar certificados de serviço

Este tópico é apenas para referência. Siga as etapas de configuração descritas em:

  • Configurar o certificado TLS/SSL
  • Configurar certificados de cliente

Criar um certificado autoassinado

Execute:

makecert ^
  -n "CN=myservice.cloudapp.net" ^
  -e MM/DD/YYYY ^
  -r -cy end -sky exchange -eku "1.3.6.1.5.5.7.3.1" ^
  -a sha256 -len 2048 ^
  -sv MySSL.pvk MySSL.cer

Para personalizar:

  • -n com o URL do serviço. Curingas ("CN=*.cloudapp.net") e nomes alternativos ("CN=myservice1.cloudapp.net, CN=myservice2.cloudapp.net") são suportados.
  • -e com a data de validade do certificado Crie uma senha forte e especifique-a quando solicitado.

Criar arquivo PFX para certificado TLS/SSL autoassinado

Execute:

pvk2pfx -pvk MySSL.pvk -spc MySSL.cer

Introduza a palavra-passe e, em seguida, exporte o certificado com estas opções:

  • Sim, exporte a chave privada
  • Exportar todas as propriedades estendidas

Exportar certificado TLS/SSL do armazenamento de certificados

  • Encontrar certificado
  • Clique em Ações - Todas as tarefas ->> Exportar...
  • Exportar certificado para um arquivo . PFX com estas opções:
    • Sim, exporte a chave privada
    • Incluir todos os certificados no caminho de certificação, se possível *Exportar todas as propriedades estendidas

Carregar certificado TLS/SSL para o serviço de nuvem

Carregue o certificado com o existente ou gerado. PFX com o par de chaves TLS:

  • Introduza a palavra-passe que protege as informações da chave privada

Atualizar certificado TLS/SSL no arquivo de configuração do serviço

Atualize o valor de impressão digital da seguinte configuração no arquivo de configuração do serviço com a impressão digital do certificado carregado no serviço de nuvem:

<Certificate name="SSL" thumbprint="" thumbprintAlgorithm="sha1" />

Importar autoridade de certificação TLS/SSL

Siga estas etapas em todas as contas/máquinas que se comunicarão com o serviço:

  • Clique duas vezes no arquivo . Ficheiro CER no Explorador do Windows
  • Na caixa de diálogo Certificado, clique em Instalar Certificado...
  • Importar certificado para o armazenamento de Autoridades de Certificação Raiz Confiáveis

Desativar a autenticação baseada em certificado de cliente

Somente a autenticação baseada em certificado de cliente é suportada e desativá-la permitirá o acesso público aos pontos de extremidade de serviço, a menos que outros mecanismos estejam em vigor (por exemplo, Rede Virtual do Microsoft Azure).

Altere essas configurações para false no arquivo de configuração do serviço para desativar o recurso:

<Setting name="SetupWebAppForClientCertificates" value="false" />
<Setting name="SetupWebserverForClientCertificates" value="false" />

Em seguida, copie a mesma impressão digital que o certificado TLS/SSL na configuração do certificado da autoridade de certificação:

<Certificate name="CA" thumbprint="" thumbprintAlgorithm="sha1" />

Criar uma autoridade de certificação autoassinada

Execute as seguintes etapas para criar um certificado autoassinado para atuar como uma Autoridade de Certificação:

makecert ^
-n "CN=MyCA" ^
-e MM/DD/YYYY ^
 -r -cy authority -h 1 ^
 -a sha256 -len 2048 ^
  -sr localmachine -ss my ^
  MyCA.cer

Para personalizá-lo

  • -e com a data de validade da certificação

Encontrar chave pública da autoridade de certificação

Todos os certificados de cliente devem ter sido emitidos por uma Autoridade de Certificação confiável pelo serviço. Encontre a chave pública para a Autoridade de Certificação que emitiu os certificados de cliente que serão usados para autenticação para carregá-la no serviço de nuvem.

Se o arquivo com a chave pública não estiver disponível, exporte-o do armazenamento de certificados:

  • Encontrar certificado
    • Procurar um certificado de cliente emitido pela mesma Autoridade de Certificação
  • Clique duas vezes no certificado.
  • Selecione a guia Caminho de certificação na caixa de diálogo Certificado.
  • Clique duas vezes na entrada da autoridade de certificação no caminho.
  • Anote as propriedades do certificado.
  • Feche a caixa de diálogo Certificado .
  • Encontrar certificado
    • Procure a autoridade de certificação mencionada acima.
  • Clique em Ações - Todas as tarefas ->> Exportar...
  • Exportar certificado para um arquivo . CER com estas opções:
    • Não, não exporte a chave privada
    • Inclua todos os certificados no caminho de certificação, se possível.
    • Exporte todas as propriedades estendidas.

Carregar certificado de autoridade de certificação para o serviço de nuvem

Carregue o certificado com o existente ou gerado. CER com a chave pública da autoridade de certificação.

Atualizar certificado de autoridade de certificação no arquivo de configuração do serviço

Atualize o valor de impressão digital da seguinte configuração no arquivo de configuração do serviço com a impressão digital do certificado carregado no serviço de nuvem:

<Certificate name="CA" thumbprint="" thumbprintAlgorithm="sha1" />

Atualize o valor da seguinte configuração com a mesma impressão digital:

<Setting name="AdditionalTrustedRootCertificationAuthorities" value="" />

Emitir certificados de cliente

Cada indivíduo autorizado a aceder ao serviço deve ter um certificado de cliente emitido para seu uso exclusivo e deve escolher a sua própria palavra-passe forte para proteger a sua chave privada.

As etapas a seguir devem ser executadas na mesma máquina em que o certificado de autoridade de certificação autoassinado foi gerado e armazenado:

makecert ^
  -n "CN=My ID" ^
  -e MM/DD/YYYY ^
  -cy end -sky exchange -eku "1.3.6.1.5.5.7.3.2" ^
  -a sha256 -len 2048 ^
  -in "MyCA" -ir localmachine -is my ^
  -sv MyID.pvk MyID.cer

Personalização:

  • -n com um ID para o cliente que será autenticado com este certificado
  • -e com a data de validade do certificado
  • MyID.pvk e MyID.cer com nomes de arquivo exclusivos para este certificado de cliente

Este comando solicitará que uma senha seja criada e, em seguida, usada uma vez. Use uma senha forte.

Criar arquivos PFX para certificados de cliente

Para cada certificado de cliente gerado, execute:

pvk2pfx -pvk MyID.pvk -spc MyID.cer

Personalização:

MyID.pvk and MyID.cer with the filename for the client certificate

Introduza a palavra-passe e, em seguida, exporte o certificado com estas opções:

  • Sim, exporte a chave privada
  • Exportar todas as propriedades estendidas
  • A pessoa para quem este certificado está sendo emitido deve escolher a senha de exportação

Importar certificado de cliente

Cada indivíduo para o qual um certificado de cliente foi emitido deve importar o par de chaves nas máquinas que usará para se comunicar com o serviço:

  • Clique duas vezes no arquivo . PFX no Windows Explorer
  • Importe o certificado para o repositório pessoal com pelo menos esta opção:
    • Incluir todas as propriedades estendidas verificadas

Copiar impressões digitais do certificado do cliente

Cada indivíduo para o qual um certificado de cliente foi emitido deve seguir estas etapas para obter a impressão digital de seu certificado, que será adicionada ao arquivo de configuração do serviço:

  • Execute certmgr.exe
  • Selecione a guia Pessoal
  • Clique duas vezes no certificado do cliente a ser usado para autenticação
  • Na caixa de diálogo Certificado que é aberta, selecione a guia Detalhes
  • Verifique se Mostrar está exibindo Tudo
  • Selecione o campo chamado Impressão digital na lista
  • Copie o valor da impressão digital
    • Excluir caracteres Unicode não visíveis na frente do primeiro dígito
    • Excluir todos os espaços

Configurar clientes permitidos no arquivo de configuração do serviço

Atualize o valor da seguinte configuração no arquivo de configuração do serviço com uma lista separada por vírgulas das impressões digitais dos certificados de cliente com acesso permitido ao serviço:

<Setting name="AllowedClientCertificateThumbprints" value="" />

Configurar verificação de revogação de certificado de cliente

A configuração padrão não verifica com a Autoridade de Certificação o status de revogação do certificado do cliente. Para ativar as verificações, se a Autoridade de Certificação que emitiu os certificados de cliente oferecer suporte a essas verificações, altere a seguinte configuração com um dos valores definidos na enumeração X509RevocationMode:

<Setting name="ClientCertificateRevocationCheck" value="NoCheck" />

Criar arquivo PFX para certificados de criptografia autoassinados

Para um certificado de criptografia, execute:

pvk2pfx -pvk MyID.pvk -spc MyID.cer

Personalização:

MyID.pvk and MyID.cer with the filename for the encryption certificate

Introduza a palavra-passe e, em seguida, exporte o certificado com estas opções:

  • Sim, exporte a chave privada
  • Exportar todas as propriedades estendidas
  • Você precisará da senha ao carregar o certificado para o serviço de nuvem.

Exportar certificado de criptografia do armazenamento de certificados

  • Encontrar certificado
  • Clique em Ações - Todas as tarefas ->> Exportar...
  • Exportar certificado para um arquivo . PFX com estas opções:
    • Sim, exporte a chave privada
    • Inclua todos os certificados no caminho de certificação, se possível
  • Exportar todas as propriedades estendidas

Carregar certificado de criptografia para o serviço de nuvem

Carregue o certificado com o existente ou gerado. PFX com o par de chaves de encriptação:

  • Introduza a palavra-passe que protege as informações da chave privada

Atualizar certificado de criptografia no arquivo de configuração do serviço

Atualize o valor de impressão digital das seguintes configurações no arquivo de configuração do serviço com a impressão digital do certificado carregado no serviço de nuvem:

<Certificate name="DataEncryptionPrimary" thumbprint="" thumbprintAlgorithm="sha1" />

Operações de certificado comuns

  • Configurar o certificado TLS/SSL
  • Configurar certificados de cliente

Encontrar certificado

Siga estes passos:

  1. Execute mmc.exe.
  2. Arquivo - Adicionar/Remover Snap-in> ...
  3. Selecione Certificados.
  4. Clique em Adicionar.
  5. Escolha o local de armazenamento de certificados.
  6. Clique em Concluir.
  7. Clique em OK.
  8. Expanda Certificados.
  9. Expanda o nó de armazenamento de certificados.
  10. Expanda o nó filho Certificado.
  11. Selecione um certificado na lista.

Exportar o certificado

No Assistente para Exportação de Certificados:

  1. Clique em Next.
  2. Selecione Sim e, em seguida , Exportar a chave privada.
  3. Clique em Next.
  4. Selecione o formato de arquivo de saída desejado.
  5. Verifique as opções desejadas.
  6. Verifique a senha.
  7. Introduza uma palavra-passe forte e confirme-a.
  8. Clique em Next.
  9. Digite ou procure um nome de arquivo onde armazenar o certificado (use um arquivo . Extensão PFX).
  10. Clique em Seguinte.
  11. Clique em Concluir.
  12. Clique em OK.

Certificado de importação

No Assistente para Importação de Certificados:

  1. Selecione o local da loja.

    • Selecione Usuário atual se apenas os processos em execução sob o usuário atual acessarem o serviço
    • Selecione Máquina Local se outros processos neste computador acessarem o serviço
  2. Clique em Next.

  3. Se estiver importando de um arquivo, confirme o caminho do arquivo.

  4. Se importar um arquivo . Arquivo PFX:

    1. Introduza a palavra-passe que protege a chave privada
    2. Selecionar opções de importação
  5. Selecione "Colocar" certificados no seguinte armazenamento

  6. Clique em Browse (Procurar).

  7. Selecione a loja desejada.

  8. Clique em Concluir.

    • Se o armazenamento da Autoridade de Certificação Raiz Confiável tiver sido escolhido, clique em Sim.
  9. Clique em OK em todas as janelas de diálogo.

Carregar certificado

No portal do Azure

  1. Selecione Serviços na nuvem.
  2. Selecione o serviço de nuvem.
  3. No menu superior, clique em Certificados.
  4. Na barra inferior, clique em Carregar.
  5. Selecione o arquivo de certificado.
  6. Se for um arquivo . PFX, digite a senha para a chave privada.
  7. Uma vez concluído, copie a impressão digital do certificado da nova entrada na lista.

Outras considerações de segurança

As configurações de TLS descritas neste documento criptografam a comunicação entre o serviço e seus clientes quando o ponto de extremidade HTTPS é usado. Isso é importante, uma vez que as credenciais para acesso ao banco de dados e potencialmente outras informações confidenciais estão contidas na comunicação. No entanto, observe que o serviço persiste o status interno, incluindo credenciais, em suas tabelas internas no banco de dados no Banco de Dados SQL do Azure que você forneceu para armazenamento de metadados em sua assinatura do Microsoft Azure. Esse banco de dados foi definido como parte da seguinte configuração no arquivo de configuração de serviço (. Arquivo CSCFG):

<Setting name="ElasticScaleMetadata" value="Server=…" />

As credenciais armazenadas neste banco de dados são criptografadas. No entanto, como prática recomendada, certifique-se de que as funções Web e de trabalho de suas implantações de serviço sejam mantidas atualizadas e seguras, pois ambas têm acesso ao banco de dados de metadados e ao certificado usado para criptografia e descriptografia de credenciais armazenadas.

Recursos adicionais

Ainda não está usando ferramentas de banco de dados elástico? Consulte o nosso Guia de Introdução. Para dúvidas, entre em contato conosco na página de perguntas e respostas da Microsoft para o Banco de dados SQL e para solicitações de recursos, adicione novas ideias ou vote em ideias existentes no fórum de comentários do Banco de dados SQL.