Possiedo un'applicazione Web ospitata su Microsoft Azure Web-Role. Come posso disabilitare il cifrario RC4?Come disattivare il cifrario RC4 sui ruoli Web di Azure
risposta
Il problema che ho riscontrato usando uno script PowerShell era che le chiavi che richiedono la modifica contengono una barra diretta e Powershell considera questo come separatore di percorso e lo script fallisce.
La soluzione era quella di creare un'applicazione console e impostare che per l'esecuzione all'avvio:
class Program
{
static void Main(string[] args)
{
string[] subKeys = new string[]
{
"RC4 40/128",
"RC4 56/128",
"RC4 64/128",
"RC4 128/128",
};
RegistryKey parentKey = Registry.LocalMachine.OpenSubKey(
@"SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", true);
foreach (string keyName in subKeys)
{
var newKey = parentKey.CreateSubKey(keyName);
newKey.SetValue("Enabled", 0);
newKey.Close();
}
parentKey.Close();
}
}
Copiare il file di output (DisableRc4.exe nel mio caso) alla radice del WebRole e impostare Copia sempre
Creare un file contenente DisableRc4.cmd
.\DisableRc4.exe
EXIT /B 0
Aggiornamento ServiceDefinition.csdef per il vostro ruolo web come segue
<Startup>
<Task commandLine="DisableRc4.cmd" executionContext="elevated" taskType="simple" />
</Startup>
ho verificato il supporto RC4 è stato rimosso usando https://www.ssllabs.com/ssltest/index.html
Prima della messa modificato
Dopo
il tuo codice e la spiegazione sono abbastanza buoni, ma nel mio caso c'è un errore nella lettura del Registro: "L'accesso al registro richiesto non è permesso". Non ti è successo? – nrod
No, non ha mai avuto quel problema. Hai 'executionContext =" elevato "' nell'avvio? –
Il mio codice è come: '
SSL 3.0 è disabilitato nelle immagini del sistema operativo guest PaaS dopo la release di gennaio. Vedi http://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/ per maggiori informazioni.
Perché pensi che SSL 3.0 sia ancora abilitato?
Scusa, è stata colpa mia. Voglio disabilitare la crittografia RC4 non SSL 3.0 –
@ m.samy Quindi dovresti aggiornare la tua domanda, o chiudere questa e chiederne una nuova. – BenV
È possibile utilizzare lo script all'indirizzo http://azure.microsoft.com/blog/2014/10/19/how-to-disable-ssl-3-0-in-azure-websites-roles-and-virtual-machines/per abilitare o disabilitare qualsiasi suite di crittografia scelta. – kwill
vedo pochi di noi discutere di PowerShell ed emissione tramite avanti "/"in script, ma il sotto risolve il problema. Funziona.
([Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine,$env:COMPUTERNAME)).CreateSubKey('SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128')
La settimana scorsa c'era un aggiornamento del post sul blog che disattivare RC4 cifra di default su servizi cloud. https://azure.microsoft.com/en-us/blog/azure-services-ssl-tls-cipher-suite-update-and-removal-of-rc4/
Questo aggiornamento deve essere srotolare questo mese e se la versione del sistema operativo è configurato come automatico verrà installato automaticamente sul servizio cloud (vedi immagine sotto)
prossimo ospite OS: WA-guest- OS-4.31_201604-01
data di uscita: 2 maggio 2016
Perché disattivarlo? Qualche grande vulnerabilità? – sharptooth
@sharptooth Sì, la crittografia RC4 è debole. –
Prova questo script: https://gist.github.com/sidshetye/29d6d48dfa0c2f5488a4 che risolve i problemi di sicurezza e anche il problema di PowerShell. – Rory