如何在 Azure Web 角色上禁用 RC4 密码
How to disable RC4 cipher on Azure Web Roles
我有一个托管在 Microsoft Azure Web-Role 上的 Web 应用程序。
如何禁用 RC4 密码?
1 月发布后,PaaS Guest OS 映像中禁用了 SSL 3.0。有关详细信息,请参阅 http://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/。
为什么您认为 SSL 3.0 仍然启用?
我在使用 Powershell 脚本时遇到的问题是需要修改的键包含正斜杠,Powershell 将其视为路径分隔符,因此脚本失败。
解决方案是创建一个控制台应用程序并在启动时将其设置为 运行:
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();
}
}
复制输出文件(DisableRc4.exe 在我的例子中)到 webrole 的根目录并设置为 Copy Always
创建一个包含
的文件DisableRc4.cmd
.\DisableRc4.exe
EXIT /B 0
为您的 Web 角色更新 ServiceDefinition.csdef 如下
<Startup>
<Task commandLine="DisableRc4.cmd" executionContext="elevated" taskType="simple" />
</Startup>
我确认使用 https://www.ssllabs.com/ssltest/index.html
删除了 RC4 支持
修改启动前
之后
我看到我们中很少有人讨论 Powershell 和在脚本中使用前向“/”的问题,但下面解决了这个问题。有效。
([Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine,$env:COMPUTERNAME)).CreateSubKey('SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128')
上周有一个博客 post 更新,它将在云服务上默认禁用 RC4 密码。
https://azure.microsoft.com/en-us/blog/azure-services-ssl-tls-cipher-suite-update-and-removal-of-rc4/
这个更新应该会在这个月推出,如果操作系统版本配置为自动,它将自动安装在云服务上(见下图)
下一位嘉宾OS:WA-GUEST-OS-4.31_201604-01
发布日期:2016 年 5 月 2 日
我有一个托管在 Microsoft Azure Web-Role 上的 Web 应用程序。 如何禁用 RC4 密码?
1 月发布后,PaaS Guest OS 映像中禁用了 SSL 3.0。有关详细信息,请参阅 http://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/。
为什么您认为 SSL 3.0 仍然启用?
我在使用 Powershell 脚本时遇到的问题是需要修改的键包含正斜杠,Powershell 将其视为路径分隔符,因此脚本失败。
解决方案是创建一个控制台应用程序并在启动时将其设置为 运行:
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();
}
}
复制输出文件(DisableRc4.exe 在我的例子中)到 webrole 的根目录并设置为 Copy Always
创建一个包含
的文件DisableRc4.cmd.\DisableRc4.exe
EXIT /B 0
为您的 Web 角色更新 ServiceDefinition.csdef 如下
<Startup>
<Task commandLine="DisableRc4.cmd" executionContext="elevated" taskType="simple" />
</Startup>
我确认使用 https://www.ssllabs.com/ssltest/index.html
删除了 RC4 支持修改启动前
之后
我看到我们中很少有人讨论 Powershell 和在脚本中使用前向“/”的问题,但下面解决了这个问题。有效。
([Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine,$env:COMPUTERNAME)).CreateSubKey('SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128')
上周有一个博客 post 更新,它将在云服务上默认禁用 RC4 密码。 https://azure.microsoft.com/en-us/blog/azure-services-ssl-tls-cipher-suite-update-and-removal-of-rc4/
这个更新应该会在这个月推出,如果操作系统版本配置为自动,它将自动安装在云服务上(见下图)
下一位嘉宾OS:WA-GUEST-OS-4.31_201604-01
发布日期:2016 年 5 月 2 日