SSL および TLS 証明書に関して、私はほとんど何も知りません。申し訳ありません。
私の会社から次のような質問を受けました。
- 全国の人々が VPN 経由でアクセスできるように、ローカル ネットワーク上にサーバーを設置する必要があります。
- このサーバーが HTTPS を使用して通信することを望んでいます。
- サーバーには、認定された CA によって作成された TLS 証明書が必要です。
- サーバーは Microsoft IIS サーバーだと言われました。
これまでに発見したこと:
server.mydomain.local
アドレスがインターネットからアクセスできないイントラネット サーバーに対して、認定 CA によって SSL 証明書を作成することは不可能です。- そのサーバーの SSL 証明書を取得する唯一の方法は自己署名証明書ですが、これらの証明書は iOS などで信頼できるものとしては有名ではありません。iOS は自己署名証明書を嫌い、iOS は基本的に iOS デバイスがローカル サーバーにアクセスするものです。
私が必要としているのは、自分が正しいかどうかの確認、あるいは、もし正しくないなら、このチェックメイトをどうやって解決するかということです。
ありがとう
答え1
パブリック CA はパブリック ドメイン名に対してのみ証明書を発行するというのは正しいです (パブリック CA が検証できるのはパブリック ドメイン名だけであるため)。ただし、これは必ずしもサーバーがパブリックにアクセス可能かどうかとは関係がなく、パブリック IP アドレスがあるかどうかとも関係がないことに気づいていません。サーバーはなれパブリックドメイン名を取得するには、public である必要があります。
CA は、URL に含まれる名前の所有権の検証のみに関与します。いくつかのLet's Encrypt などの CA は、通常、HTTP 経由でサーバーに接続してこれを実行します (ただし、これが唯一のオプションではありません)。ただし、他の多くの CA では、ドメイン全体の所有権のみを検証し (Whois レコードを介して)、Web サーバーがないサブドメイン、パブリックにアクセス可能なものが何もないサブドメイン、またはまったく存在しないサブドメインに対しても、自由に証明書を発行できます。
したがって、会社はすでに Web サイトを持っており、パブリック ドメイン名を持っていると想定します。会社の都合に応じて、いくつかの方法があります。
サーバーに通常のパブリック IP アドレスを使用させ、いつものように DNS にそれを配置し、たとえば Windows ファイアウォールや IIS 固有の設定を使用して、VPN 経由ではないすべての接続をサーバーが拒否するようにすることもできます。
(ほとんどの VPN システムは、IP アドレスが「パブリック」か「プライベート」かに関係なく、任意の IP アドレス範囲を安全なトンネル経由でルーティングするように構成できます。会社のパブリック IP 範囲を企業 VPN 経由でルーティングすることは、通常のことです。)
内部 IP アドレスを指すサブドメインを作成できます。たとえば、
server.corp.mydomain.com
VPN 経由でのみアクセス可能なプライベート IP アドレス 192.168.7.1 を指すパブリック サブドメインを作成できます。その場合でも、公的に有効な HTTPS 証明書の発行を妨げることはありません。(DNS 設定に関しては特別なことは何も必要ありません。文字通り、任意のアドレスにドメインを指定するだけです。)
実際の Web サーバーをプライベート IP アドレスに配置しながら、パブリック IP アドレスの「リバース プロキシ」フロントエンド サーバーを使用することもできます。リバース プロキシは、IP ベースのアクセスだけでなく、SSO やパスワード認証も処理できます。実際のプライベート サーバーに代わって、Let's Encrypt HTTP ベースの証明書の発行も処理できます。
(この方法を使用して、古くて錆びついた Web アプリケーションに安全な HTTPS アクセスを提供します。そのうちの 1 つはまだ Server 2003 で実行されており、最新のブラウザーをまったく処理できません。代わりに、リバース プロキシが必要な TLS 1.2 サポートと SAML 認証を提供します。)
(他のオプションもあります。パブリック CA に加えて、誰でも独自の CA を作成できます。Microsoft AD を実行しているほとんどの企業ネットワークには、実際に 1 つの CA があります。唯一の問題は、デバイスがその CA を信頼できるようにすることですが、企業から支給された iPhone の場合は、会社が使用している「モバイル デバイス管理」システムを通じて簡単に実行できるはずです。ただし、個人のシステムに会社の CA をインストールするようには指示しないでください...)