Configurazione di DataSunrise Sniffer per MS SQL Server
La caratteristica principale di Microsoft SQL Server è che la sua principale applicazione client, SQL Server Management Studio, richiede sempre la crittografia anche se la casella Connetti con crittografia non è selezionata.
Ciò significa che per qualsiasi sniffer, è impossibile ascoltare il traffico criptato oppure lo sniffer richiederà una chiave privata del server per la decrittazione. Il DataSunrise sniffer può decrittare il traffico SSL se ha la chiave privata, quindi ci soffermeremo sulla configurazione di un server per il funzionamento di DataSunrise in modalità sniffer.
Di default, il server è configurato per lavorare con chiavi effimere – non ci sono chiavi statiche e certificati stabiliti per esso. Il certificato e la chiave vengono generati per ogni connessione. Tale strategia garantisce un alto livello di sicurezza per tutte le connessioni del server. Pertanto è chiaro che l’integrato Microsoft Cryptoprovider sulle versioni più recenti di Windows ha aumentato il livello di priorità di tutti i suoi cifrari effimeri. Ora diventa sempre più difficile abilitare cifrari più adeguati per lo sniffing senza una ulteriore configurazione del server.
Certificato
Per disabilitare i cifrari effimeri e ottenere una chiave privata statica è necessario installare un certificato. Ciò può essere fatto tramite SQL Server Configurations Manager (Protocol settings per MSSQLSERVER, SQL Server Network Configuration settings, Tab Certificato):
Qui possiamo selezionare un certificato dall’elenco che viene caricato dallo store locale dei certificati di Windows.
Ci sono alcuni requisiti di Microsoft per preparare il certificato.
- Il certificato deve essere nel certificato dello store del computer locale o nello store corrente dell’utente.
- L’ora corrente del sistema deve essere successiva alla proprietà Valid from del certificato e precedente alla proprietà Valid to del certificato.
- Il certificato deve essere destinato all’autenticazione del server. Ciò richiede che la proprietà Enhanced Key Usage del certificato specifichi Server Authentication (1.3.6.1.5.5.7.3.1).
- Il certificato deve essere creato utilizzando l’opzione KeySpec di AT_KEYEXCHANGE.
- La proprietà Subject del certificato deve indicare che il nome comune (CN) è lo stesso del nome host o del nome di dominio completamente qualificato (FQDN) del computer server. Se SQL Server è in esecuzione su un cluster di failover, il nome comune deve corrispondere al nome host o FQDN del server virtuale e i certificati devono essere forniti su tutti i nodi del cluster di failover.
Per creare un certificato che rispetti queste condizioni, può utilizzare l’utilità Make Cert inclusa in Windows SDK.
makecert -r -pe -n "CN= HERE24322118" -b 01/09/2016 -e 01/09/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
In questo esempio il certificato “HERE24322118” sarà creato e collocato nello store dei certificati locale. A questo punto, questo certificato può essere selezionato dalla lista dei certificati di SQL Server Configuration Manager. Dopo il riavvio del server, potrebbe essere utilizzato per proteggere le connessioni di rete.
Chiave del Server
Il passo successivo è ottenere la chiave del server. Per fare ciò è necessario esportarla dallo store dei certificati, e ricavare key.pem da certname.pfx:
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
Key.pem è la chiave privata richiesta dallo sniffer.
Il server è configurato e la sua chiave privata è ottenuta, ma utilizza ancora algoritmi effimeri a causa del cryptoprovider. Per disabilitare gli algoritmi di scambio chiave effimeri è necessario fare riferimento alla guida Microsoft o alla sua interpretazione GUI – IISCrypto.
Qui è necessario disabilitare 2 algoritmi di scambio chiave: Diffie Hellman ed ECDH. Le modifiche entreranno in vigore dopo il riavvio del server host.
Installazione della Chiave in DataSunrise
L’ultimo passo è installare la chiave in DataSunrise. Per fare ciò, apriamo la scheda Configurazioni, selezioniamo il database richiesto, apriamo la finestra Certificati, scheda PrivateKey e incolliamo la chiave privata copiata dal file.
La configurazione del server e del firewall per lo sniffing di SQL Server è completata. E penseremo a come rendere la protezione della Sua infrastruttura più semplice e migliore.