Como criptografar conexões com o SQL Server com IPSec?

2

O provedor OLEDB do SQL Server pode usar conexões criptografadas SSL para o SQL Server com uma opção na string de conexão :

Use Encryption for Data
Specifies whether data should be encrypted before sending it over the network.
The valid values are "true" and "false". The default value is "false".

Como a Microsoft observa, que tem vários problemas :

  • requer a obtenção de um certificado SSL válido
  • requer a instalação do certificado SSL no servidor
  • requer alterar a string de conexão
  • não é o que estou perguntando

IPSec

Felizmente, a Microsoft sugere que o IPSec possa ser usado uma alternativa:

SQL Server data can be encrypted during transmission by using IPSec. IPSec is provided by the client and server operating systems and requires no SQL Server configuration. For information about IPSec, see your Windows or networking documentation.

Porque, embora o cliente e o servidor estejam na mesma rede local:

NãoqueremosninguémcomWireShark,umhub,umPCnomodopermanenteouumswitchquepossamonitorarotráfegocapazdeverotráfego.

Aperguntaé: como você faz isso?

O esforço de pesquisa é imaterial

Na máquina cliente, queremos configurar uma política que requer conexão IPSec a um SQL Server (por exemplo, porta 1433). De dentro do Firewall do Windows com Segurança Avançada :

  • Crie uma nova regra de firewall de saída

  • paraumaportaIP:

  • paraaportaTCPdedestino1433

  • Permitiraconexão,seforsegura

  • Concluir

Adesvantageméqueoclienteagoranãopodeseconectaraoservidor:

Leituradebônus

por Ian Boyd 16.09.2016 / 17:40

2 respostas

2

Você não pode usar 'permitir esta conexão se ela for segura' até que você tenha uma regra de segurança de conexão em vigor. Isso precisa ser definido em ambos os sistemas e ter configurações correspondentes, assim como configurar um túnel VPN ipsec padrão.

Aqui está como criar um.

  1. Crie uma regra de segurança de conexão usando o modelo 'Servidor para servidor'.
  2. Como regra geral, defina a regra de segurança de conexão para exigir autenticação em ambas as direções.
  3. Selecione um método para autenticar essa conexão. Se ambos os seus sistemas tiverem acesso a uma CA interna compartilhada, geralmente é a melhor opção. Na falta disso - especialmente DMZ para máquinas internas - uma chave pré-compartilhada é a próxima melhor opção. Isso é definido nas configurações avançadas de autenticação.
  4. Certifique-se de incluir os endereços IP de ambos os servidores nas configurações de conexão.
por 12.10.2017 / 21:26
0

A única maneira de ver isso como uma opção é ter uma configuração de servidor VPN IPSec em seu servidor SQL e fazer com que seu cliente crie o encapsulamento para ele primeiro e, em seguida, o tráfego pode fluir. Esta é uma solução confusa, mas é a que a documentação está se referindo quando diz que o IPSec é fornecido pelos sistemas operacionais cliente e servidor.

Você precisaria ter uma configuração de rede secundária com IPs sendo emitidos pelo sistema VPN e religar seu servidor SQL a esse intervalo de IPs, dessa forma somente pessoas conectadas à VPN podem se conectar ao servidor SQL.

    
por 17.09.2016 / 08:43