サーバーキーとユーザー資格情報に別の所有者が必要な理由
ゲートウェイの身元とユーザーの許可は、影響範囲の異なる別々の秘密です。三つの問いが、それぞれの保管・発行・失効の方法を決めます。
ゲートウェイが自分自身であることを証明する鍵と、ある人物が参加してよいことを示す資格情報は、どちらも秘密であり、類似点はそこで終わります。一方はすべてのクライアントに対してサービスを識別し、他方はそのサービスに対して一人のユーザーを識別します。両者を混ぜると、それぞれの復旧が同じ操作ではないため、設営では一工程を節約でき、インシデントでは半日を費やします。分離は設営が退屈で、省略すると忘れられません。
二つの秘密、二つの異なる所有者
ゲートウェイは、ハンドシェイクの間に自身の身元を証明することだけを任務とする秘密鍵または証明書を保持します。クライアントはそれを検証するために対応する公開素材を必要とし、秘密の半分を必要とすることは決してありません。この非対称性が、すべてのユーザーにサーバーを装う能力を与えずにサーバー認証を可能にします。
ユーザーの素材は逆方向に進みます。クライアントの秘密鍵、クライアント証明書、またはパスワードは、まさにこの人物または端末にアクセスが発行されたことを示します。配布され、端末間でコピーされ、最終的に失効することが想定されています。
WireGuard では全参加者が鍵ペアを持つため分離は明白で、サーバーの秘密鍵はサーバーに残り、ユーザーに渡す設定ファイルにはそのユーザー自身の秘密鍵とサーバーの公開鍵が含まれます。サーバーの秘密鍵を含むプロファイルは近道ではなく、ファイル共有を待つ侵害です。
分離を決める三つの問い
その秘密を誰が読める必要があるか、露出によって攻撃者が何をできるか、修正は一度の失効かサービスの再構築か、を問います。
ユーザーが読めてゲートウェイの身元を証明するなら、クライアントがその身元を信頼するよう設計されているため、二つ目の問いの答えは攻撃者がすべてのクライアントに対してあなたのサーバーを装えるという最悪の結果になります。一人のユーザーだけを証明するなら、露出はそのユーザーの一つのピアへのアクセスを与え、失効は日常的な操作です。認証局の鍵なら、あらゆる端点が信頼する身元を攻撃者が作り出せるため、露出は双方より悪くなります。
この三つの答えから、CA 鍵はオフラインまたは金庫に、ゲートウェイ鍵はゲートウェイに、ユーザー鍵はユーザーの手元に置くという保管の規則が生まれます。便利だからと三つを一つのディレクトリに置く配置は、決定を事故に変えてしまっています。
クライアントが実際に必要とするもの
クライアントが必要とするのは、公開証明書またはピアの公開鍵、信頼すべき CA 素材または指紋、自分自身の秘密鍵、そして端点の詳細です。この一覧にゲートウェイの私的な身元に属するものはありません。
これが漏れるのは文書の場所です。サーバーディレクトリをコピーして不要なものを削除せよというガイドは、削除の手順の後に残るファイルを確認する人がほとんどいないため、すでに誤ったモデルを教えています。
ゲートウェイに触れずに一人のユーザーを失効させる
ユーザーの身元は別々に発行されるため、別々に取り消せます。証明書ベースの配備ではクライアント証明書を失効させ、更新された失効リストを公開し、WireGuard の配備ではサーバー設定からピアの項目を削除します。どちらの操作もゲートウェイ自身の鍵を変えません。
発行の記録を残さないと、どの身元を取り消すべきか分からなくなります。人物、端末、シリアル番号または公開鍵、日付を記載し、それを作った人が去った後も誰かが管理するなら、表計算で十分です。
以下はクライアント証明書を検査し、OpenSSL 形式の認証局を通じて失効させるコマンドで、easy-rsa が包んでいる流れです:
openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pem新しいリストをクライアントが確認する場所に公開しないと、失効は何も変えないファイル内のメモになってしまいます。ゲートウェイが失効リストを参照せずにクライアント証明書を受け入れるなら、失効が機能するかのように示唆せず、明示してください。
バックアップは秘密と同じくらい分けて保つ
再構築用のアーカイブには、それらがなければ復元がサービスを再現できないため、ゲートウェイ鍵と CA 素材が正当に含まれます。クライアント設定パッケージには含めてはならず、両方を一緒に保管してもいけません。各アーカイブは作成日ではなく、誰が保持できるかでラベル付けしてください。疲れた管理者が午前二時に読むのはそのラベルです。
この区別は、それぞれを誰が取り出せるかも定めます。ゲートウェイの管理、ユーザー身元の発行、バックアップの閲覧は三つの異なる権限であり、一つを必要とする人が自動的に他も必要とするわけではありません。ディレクトリの継承が方針の意図以上を静かに与えるため、その権限を書き留めて実際に保管場所が許す内容と照合してください。