Windows ServerでTLS 1.2を有効にするのは、特にレジストリをいじる場合は、プラグアンドプレイとは言い難いものです。最新のセキュリティプロトコルを正常に動作させるためだけに、Windowsは面倒な手続きを踏まなければならないように思えることがあります。重要なのは、サーバーがTLS 1.2に対応していない場合、データ転送が脆弱になったり、最新のクライアントやAPIで完全に失敗したりする可能性があることです。そこで、このガイドでは、レジストリキーを変更するという古典的な方法を解説し、サーバーがTLS 1.2に対応していることを確認し、他の問題もなく正常に動作するようにします。
念のためお知らせしますが、レジストリをいじると、万が一問題が発生したときに大変なことになります。何か大きな変更を加える前に、必ずレジストリのバックアップを行ってください。そうしないと、復旧が大変になります。レジストリのバックアップが完了したら、以下の手順でTLS 1.2のサポートを有効にし、接続のセキュリティと互換性を向上させることができます。
Windows Server で TLS 1.2 を有効にする
レジストリエディターを開く
SSL接続の失敗を修正したり、古いソフトウェアを安全に通信させたりしたい場合は、レジストリを操作する必要があります。 を押してWin + Rと入力しregedit
、Enterキーを押します。簡単ですが、盲目的にクリックしてはいけません。ここがミスを許してしまうポイントです。レジストリはサーバーの頭脳のようなもので、これをいじってしまうとシステム全体に悪影響を及ぼす可能性があります。
TLSプロトコルのレジストリパスに移動する
レジストリエディターで、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schannel\Protocolsに移動します。このパスが存在しない場合は、不足しているキーを作成する必要がある場合もありますが、通常はそこにあります(少なくともほとんどの構成では)。この場所には、Windows が SSL/TLS バージョンを含む、サポートされているセキュリティプロトコルに関する情報が保存されています。
TLS 1.2キーの設定
「プロトコル」を右クリックし、「新規」>「キー」を選択して、「TLS 1.2」という名前を付けます。設定によっては、キーを作成してからクライアントとサーバーの設定をその下で行った方が簡単な場合もあります。Windowsのこれらの処理方法は少し奇妙ですが、TLS 1.2を有効にしたい場合は、ここでWindowsに明示的に指示する必要があります。
クライアントとサーバーの設定を構成する
次に、TLS 1.2内で右クリックし、ClientとServerという新しいキーを追加します。それぞれの下に、Enabledという新しいDWORD(32ビット)値を作成します。Enabledを に設定します。この部分は基本的に、クライアント側とサーバー側の両方の接続でTLS 1.2を有効にするようにWindowsに指示するものです。当然のことながら、Windowsは最新のTLSを入手するのを必要以上に困難にしていますよね?1
一部のマシンでは、このトグルがすぐに有効にならない場合があります。場合によっては再起動、あるいはリブートが必要になることもあります。理由は正確には分かりませんが、Windowsの奇妙な仕様の一つです。
再起動してテスト
設定が完了したら、サーバーを再起動してください。確かに古い方法ですが、変更を反映させたいなら、再起動が効果的です。再起動したら、ブラウザでテストを実行するか、Webサーバーの場合はSSL Labsのテストを実行して、アプリケーションがTLS 1.2を使用してSSL/TLS通信しているかどうかを確認してください。すべて正常に動作していれば、成功です。
確実に動作させるためのヒント
- いじくり回す前にレジストリをバックアップしてください。とても簡単です。
- サーバーの OS が最新であることを確認してください。古い OS では、TLS 1.2 のサポートに追加のパッチが必要になる場合があります。
- サーバー上の SSL 関連サービスが TLS 1.2 を使用するように構成されており、古いバージョンにデフォルト設定されていないことを確認します。
- その後も何かが壊れているように思われる場合は、レジストリ キーにタイプミスがないか再度確認してください。1 文字でも見落とせば、すべてが壊れてしまう可能性があります。
- サーバーのハードウェアと OS が TLS 1.3 をサポートしている場合は、これを有効にすることを検討してください。これは新しいものであり、さらに安全です。
よくある質問
TLS とは何でしょうか?
トランスポート層セキュリティ(TLS)は、クライアントとサーバー間のデータのプライバシーを保護する暗号化プロトコルです。基本的に、盗聴者による覗き見を阻止するものであり、パスワードやクレジットカード情報の漏洩を防ぎたい場合には*ある程度*重要です。
なぜ今 TLS 1.2 を有効にする必要があるのでしょうか?
新しい標準の方が安全ですが、多くの古いシステムやソフトウェアは依然としてTLS 1.2に依存しているためです。TLS 1.2がないと、特にサーバーが機密データを扱う場合、接続エラーやセキュリティ上の問題が発生する可能性があります。
レジストリを編集するのは安全ですか?
手順を注意深く実行すれば大丈夫です。ただし、「まずバックアップを取る」ことを忘れないでください。間違った入力をすると、Windowsがクラッシュする可能性があります。最初はうまくいかないこともありますが、その場合は再起動すると解決できる場合があります。
古い Windows サーバーはどうですか?
お使いのOSがサポートされ、アップデートされている限り、TLS 1.2の有効化は問題なく動作するはずです。ただし、Windows Server 2008などの古いOSをご利用の場合は、最新のアップデートとパッチがインストールされていることを確認してください。そうでないと、スムーズに動作しない可能性があります。
エラーが発生しましたか?どうすればいいですか?
レジストリエントリに誤字脱字がないか再確認し、Enabled DWORD を忘れていないか確認し、サーバーとアプリケーションが TLS 1.2 を明示的に使用するように設定されていることを確認してください。サードパーティのセキュリティツールやポリシーによって、これらの設定がブロックまたは上書きされる場合もあります。
まとめ
- でレジストリ エディターを開きWin + R、 と入力します
regedit
。 - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schannel\Protocolsに移動します。
- TLS 1.2キーがない場合は作成します。
- 内部で、クライアントキーとサーバーキーを追加し、Enabled DWORD を に設定します
1
。 - 再起動して、サービスが TLS 1.2 をサポートしていることを確認します。
まとめ
Windows Server で TLS 1.2 を有効にするのは、毎日行う作業ではありませんが、セキュリティ上は重要なステップです。レジストリキーの操作は面倒ですが、一度完了すれば、より安全な設定が実現できるでしょう。場合によっては、そのまま押し込んで再起動するだけで問題が解決することもあります。ほとんどの問題はシステムを再起動すれば解決する傾向があります。このアイデアが、最終的に TLS サポートの実現につながるようであれば、それは素晴らしいことです。私がこれまで経験したような面倒な問題を、誰かが回避できるようになることを願っています。