Existe uma maneira de monitorar conexões criptografadas por meio de eventos estendidos? Eu monitorei para handshakes TLS 1.0, 1.1 e 1.2 no passado usando sqlsni.TRACE, mas não consigo encontrar algo na mesma linha para conexões criptografadas. A menos que "encrypt=yes" não seja adicionado à string de conexão, apenas o handshake será criptografado e nada mais.
Eu posso usar sys.dm_exec_connections para capturar isso, mas não é em tempo real e eu teria que executá-lo com muita frequência (a cada minuto ou menos) para encontrar o que estou procurando.
Sim, isso pode ser feito usando o evento de rastreamento abaixo,
" Você pode encontrar mais detalhes do protocolo TLS negociado real e da cifra deste rastreamento de Evento Estendido, mas isso requer o SQL Server 2016 SP1 ou posterior:"
" A resposta original está aqui por Dan Guzman
Observe também que, se isso precisar ser feito em 2019, altere o evento para
sqlsni.sni_trace
e o código será como
EDIT Após o comentário do OP, o requisito é descobrir que a conexão está criptografada ou não e não TLS.
Não conheço uma opção no evento estendido para isso, mas para conseguir isso, você pode aproveitar os gatilhos de logon no servidor SQL.
Abaixo está uma tentativa de capturar o
sys.dm_exec_connections
após cada login.Altere o código conforme sua necessidade para a auditoria.