WindowsServerOSで推奨されないバージョンのSSL/TLS無効化

# はじめに
- こちらの記事で紹介したように、***WindowsServerOSでもやんややんやセキュリティについて言われる**ので、対応したメモを残します

https://qiita.com/sattyo_domei/items/c10f27e8afdec956bc34

# WindowsOSのSSL/TLS対応一覧表
- T**LS1.0やTLS1.1といった脆弱なバージョンのTLSも、OSによってはデフォルトで有効化**になっている場合もあるため、こちらをチェックすることをお勧めします
なお、TLS1.3は全然サポートされませんね...

https://docs.microsoft.com/ja-jp/windows/win32/secauthn/protocols-in-tls-ssl--schannel-ssp-


# 推奨されないバージョンのSSL/TLS無効化(サーバサイド)
- 対象OS：WindowsServer2016/2019(2022もいけるはずですが、自己責任でお願いします)
- 以下レジストリ―キーを作成する
 
```
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0\Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Server
```

- それぞれのキーで`DisabledByDefault"`の`"dword"`の値を`"00000001"`に、`"Enabled"`の`"dword"`の値を`"00000000"`に設定する

# Powershellのコマンドに落とし込んだ場合
```
New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0"
New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Server"
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Server" -Name "DisabledByDefault" -PropertyType DWORD -Value 1
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Server" -Name "Enabled" -PropertyType DWORD -Value 0

New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0"
New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server"
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server" -Name "DisabledByDefault" -PropertyType DWORD -Value 1
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server" -Name "Enabled" -PropertyType DWORD -Value 0

New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0"
New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0\Server"
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0\Server" -Name "DisabledByDefault" -PropertyType DWORD -Value 1
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0\Server" -Name "Enabled" -PropertyType DWORD -Value 0

New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1"
New-Item "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Server"
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Server" -Name "DisabledByDefault" -PropertyType DWORD -Value 1
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Server" -Name "Enabled" -PropertyType DWORD -Value 0
```

# まとめ
- 特にないですが、今後サーバ構築をする際はデフォルトで設定しておくといい内容ですね。