Windows Server でどの TLS バージョンが有効になっているかを確認するのは、特にレジストリを詳しく調べる必要があるため、少々面倒です。一見するとそれほど明確ではなく、更新や構成が GUI に明確に反映されないこともあります。奇妙な SSL エラーに気付いた場合や、セキュリティコンプライアンスを確認したい場合、このプロセスを使用すると、アクティブな TLS バージョンを正確に確認できます。推測する必要はありません。ただし、レジストリをいじるのは気が弱い人には向いていないので、変更する予定がある場合は必ずバックアップしてください。ただし、少なくとも何が有効になっているかを *確認* することは、どこを確認すればよいかがわかっていれば非常に簡単です。これを実行することで、サーバーが最新のプロトコルをサポートしていることを確認したり、古くて脆弱なプロトコルを無効にしたりできます。基本的に、これにより通信の安全性が大幅に向上し、新しいクライアントとの互換性が向上します。さらに、一部のアプリやクライアントは、TLS 1.2 または 1.3 を必要とするのに有効になっていない場合、接続を拒否することがあります。ですから、何が何なのかを知っておくことで、後々のストレスを大幅に軽減できます。Windowsでは、設定を確認するだけでは不十分なので、少し複雑になっています。すべてはレジストリ内の特定のキーの下に隠されているからです。そこで、混乱することなくTLSバージョンを確認する方法をご紹介します。
Windows ServerでTLSバージョンを確認する方法
チェック1: レジストリを安全に開く
まず、レジストリにアクセスする必要があります。「ファイル名を指定してWin + R実行」ダイアログを開くには、regedit
と入力してEnterキーを押します。レジストリエディターが起動しますが、編集しすぎるとシステムがおかしくなる可能性があるので注意してください。確認するだけなら問題ありませんが、実際に変更する場合は、事前にバックアップを作成してください。念のため、「ファイル」>「エクスポート」でレジストリ全体をエクスポートすることもできます。
チェック2: プロトコルのレジストリパスに移動する
レジストリエディターで、次のパスに移動しますHKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\SCHANNEL\\Protocols
。このパスは長く、バックスラッシュが多く、大文字と小文字の区別もきちんとされています。別の言語バージョンや少しカスタマイズされたセットアップの場合は多少異なる場合がありますが、ほとんどのデフォルトのWindows Serverバージョンではこのパスに従っています。
チェック3: TLSフォルダを検査する
Protocols キー内で、「TLS 1.0」、「TLS 1.1」、「TLS 1.2」、「TLS 1.3」というフォルダを探してください。これらのフォルダが見つからない場合、これらのプロトコルがインストールされていないかサポートされていない可能性があります。特にTLS 1.3は新しいため、特定のアップデートやWindowsのバージョンが必要になる場合があります。TLS 1.0などの古いフォルダが存在しない、または無効になっている場合もあります。
チェック4: 有効になっているDWORD値を調べる
特定のバージョンのフォルダをクリックし、その中に「Enabled」DWORD値があるかどうかを確認してください。 が表示されている場合0x00000001 (1)
、そのバージョンは確実に有効になっています。 が表示されていない場合、または「Enabled」が になっている0x00000000 (0)
場合は、無効になっています。設定によっては、最初に手動で機能を有効にしない限り、これらの値が表示されない場合があります。そのため、後でサポートを切り替えたい場合は、自分で追加する必要があるかもしれません。
ちょっと奇妙ですが、一部のサーバーではレジストリエントリは存在するものの、実際には有効になっていないことがあります。そのため、これは実際に何が有効化されているかを確認する方法です。この手順を実行することで、サーバーが実際にどのTLSバージョンでSSL通信に対応しているかがわかります。
TLS設定を健全に保つためのヒント
- 何かを変更する前に必ずバックアップを作成してください。当然ですが、Windows は必要以上に物事を複雑にするのが大好きだからです。
- 1.0 や 1.1 などの古い TLS バージョンが見つかった場合は、現時点ではかなり安全ではないため、必要がない場合は無効にすることを検討してください。
- このプロセスを自動化したい場合は PowerShell を使用します。スクリプトを使用すると、regedit を調べなくてもバージョンをすばやくスキャンしたり切り替えたりできます。
- 定期的にサーバーを確認し、最新の TLS サポートにパッチを適用してください。忘れがちですが、古いプロトコルはセキュリティホールになります。
- よりきめ細かな制御が必要な場合は、SCHANNEL 設定について学習してください。レジストリの調整だけでは不十分な場合があり、グループ ポリシーやセキュリティ構成が影響することがあります。
よくある質問
TLS とは何でしょうか?
これは、転送中にデータのプライバシーを維持する暗号化プロトコルです。Web サイト、アプリ、サーバーの安全なハンドシェイクと考えてください。
TLS バージョンをわざわざ確認する必要があるのはなぜですか?
古いバージョンは脆弱であるため、特に機密情報を扱う場合やコンプライアンスを維持したい場合は、サーバーで最新の標準をサポートする必要があります。
無効と表示されている TLS バージョンをオンにできますか?
はい。「Enabled」DWORDを に変更するだけです1
。ただし、念のため、事前にバックアップを作成してください。また、バージョンによっては、変更を有効にするためにサーバー、または少なくともSCHANNELサービスの再起動が必要になる場合があります。
どのくらいの頻度でこれをチェックすればよいですか?
数か月ごと、またはメジャーアップデートの後、特に奇妙な SSL エラーやクライアント接続の問題に気付いた場合は、必ず確認してください。
レジストリを台無しにしてしまったらどうなるのでしょうか?
バックアップはあなたの味方です。レジストリのバックアップの復元は通常簡単ですが、間違えるとシステムが不安定になる可能性があります。焦らずに行いましょう。
まとめ
- 実行 ( Win + R) を開き、 と入力します
regedit
。 - HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocolsに移動します。
- TLS 1.0、1.1、1.2、1.3 フォルダーを探します。
- 各フォルダ内の「Enabled」DWORD を確認します。
まとめ
サーバーのTLSサポート状況を把握するのは、どこを確認すれば良いかさえ分かれば、それほど難しくありません。特に脆弱性が蔓延している現状では、確認する価値は十分にあります。何か問題が発生したり、セキュリティ監査で指摘されたりするまでは、見落としがちな点の一つです。レジストリパスと確認すべき項目を知っていれば、最初は少し面倒かもしれませんが、それほど難しくはありません。この方法は完璧ではありませんが、手動で確認するには迅速で、サーバーの脆弱性を確認するための良い第一歩となります。この方法が、将来誰かが頭を悩ませる事態を未然に防ぐことにつながることを願います。