証明書を取り消さずに一台のOpenVPNクライアントを停止する
一時的な遮断はサーバー側に置くもので、CAの台帳に書き込むものではありません。クライアント固有のdisableディレクティブを使い、稼働中のセッションを終了し、漏えい時だけ証明書を取り消してください。
ノートパソコンが一週間修理台に載るからといって、その証明書をCAから削除するのはよくある反射です。その記録は発行者の台帳であり、一時的な接続許可スイッチではありません。OpenVPNにはクライアント単位で接続を拒否する仕組みがすでにあり、それを使えばCAの履歴はそのまま残ります。二つの制御は別の問いに答えるもので、混同すると機器が戻ったときに手間が増えます。
二つの記録、二つの異なる役割
CAのデータベースは、発行者が何に署名し、後で何を取り消したかを記録します。失効処理やCRL、あるいは台帳の自前の複製を読むものは、このデータベースを参照します。接続許可の規則はサーバー側にあり、そのサーバーが受け入れる接続に適用されます。
発行記録を削除しても証明書が確実に失効するわけではなく、後日の失効処理や監査が頼る履歴を損ないます。サーバー側の制御は範囲が狭く、元に戻せます。変更メモに違いを書き残し、次の担当者が存在しなかった失効を探さないようにしてください。
無効化ディレクティブは正しいファイルに置く
クライアント固有の設定を使うコミュニティサーバーでは、文書化されているdisableディレクティブが選択した一台のクライアントを拒否します。これは有効なclient-config-dir配下のそのクライアントのファイルに置くもので、サーバーの主設定ではありません。実行中のデーモンが実際に使うディレクトリを確認し、そのうえでファイルを選ぶ識別子を確認します。誤ったコモンネームで名付けたファイルは正しく見え、決して読まれません。
disable
ここではマッピングの選択が効きます。username-as-common-nameのようなオプションは検索に使う識別子を変えるため、証明書のサブジェクトで名付けたファイルが適用されるとは限りません。インストール済みのバージョンのOpenVPNリファレンスを読み、どの文脈でも有効だと決めつけないでください。
新しい接続許可と稼働中のセッションを分ける
次のハンドシェイクを拒否しても、すでに確立したトンネルは終わりません。機器を今すぐ切断する必要があるなら、そのセッションに限り、サーバーの認可されたセッション管理経路も使います。そうしなければクライアントは自力で再接続するまで動き続け、ノートパソコンのふたを閉じたりクライアントを終了したりするのはサーバーについて何も語らないクライアント側の操作です。
両方の結果、つまり稼働中のセッションが意図した時点で止まることと、新しいハンドシェイクが拒否されることを確認します。クライアントの画面を閉じても、サーバーの方針は何も証明できません。
配備に稼働中セッションを終える正式な手段がない場合は、でっち上げずにその欠落を記録してください。クライアント側でポートを塞ぐことは、サーバー側の方針と同じではありません。
一時停止と漏えいは別の出来事
鍵の紛失や盗難は失効の事象であり、ローカルな接続停止では代用できません。同じCAを信頼する他のサーバーは、このサーバーのクライアント固有ルールを共有しません。発行者の失効と交換の手順に従い、CAのデータベースを権威ある記録として保ちます。一方、一時的な停止には文書化された理由と復旧手順が必要です。
アクセスを復旧するときは、制御を持つコンポーネントを通じて制限を外し、新しい接続が成功することを確認します。disable行のパスも、後日の設定同期が静かに元へ戻すことがあるため記録してください。停止、その所有者、日付を配備メモに残し、次の管理者が数か月後に説明のないdisable行を見つけないようにします。