前々から言われてきていたことだが、いよいよ各テナントに仕様変更が伝搬してきているよう。
対策しないとM365へスクリプトで接続できない状態になるので、早めに手を打っておきましょう。
対策にあたっては、
- OS観点での対策
- .NET Framework観点での対策
- Powershell観点での対策
があるよう。
TLS1.2必須化対応 – OS観点での対策
この対策は、OSとしてTLS1.2がデフォルトの暗号化方式になっていない場合に必須の対策です。
Windows Server 2012R2、Windows 8.1以降のOSはTLS1.2のNativeにサポートしているのでこの対策は不要となります。
私はWindows Server 2012の環境があったので、そこでこの対策を実施しました。以下が実施した内容のメモです。
- 更新プログラム適用(kb3140245)※これをしないと2.のレジストリ変更をおこなってもTLS1.2デフォルト化がされません
- レジストリ値を変更
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
DisabledByDefault: 00000000
Enabled: 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
DisabledByDefault: 00000000
Enabled: 00000001
TLS1.2必須化対応 – .NET Framework観点での対策
こんなのもあるんですね。こちらもレジストリ値の変更で対応します。
以下のレジストリを追加します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
TLS1.2必須化対応 – Powershell観点での対策
こちらは、M365接続等を実行する前にコマンドを打ち込みます。
[Net.ServicePointManager]::SecurityProtocol
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3, [Net.SecurityProtocolType]::Tls, [Net.SecurityProtocolType]::Tls12
[Net.ServicePointManager]::SecurityProtocol
コメント