数日前 Googleが発表 ブログ投稿を通じてのニュース HIBAプロジェクトのソースコードのリリース (ホストIDベースの承認)。これは、ホストに関連してSSHを介したユーザーアクセスを整理するための追加の承認メカニズムの実装を提案します(公開鍵を使用して認証を実行するときに特定のリソースへのアクセスが許可されるかどうかを確認します)。
OpenSSHとの統合 HIBAドライバーを指定することで提供されます AuthorizedPrincipalsCommandディレクティブ内 / etc / ssh / sshd_config内。 プロジェクトコードはCで記述されており、BSDライセンスの下で配布されています。
HIBAについて
障害 OpenSSH証明書に基づく標準の認証メカニズムを使用します ホストに関連するユーザー認証を柔軟かつ一元的に管理しますが、接続先のホスト側のauthorized_keysファイルとauthorized_usersファイルを定期的に変更する必要はありません。
キーのリストを保存する代わりに 許可されたファイル(パスワード|ユーザー)の有効な公開条件とアクセス条件、 HIBAは、ホストバインディング情報を証明書自体に直接統合します。 特に、ユーザーアクセスを許可するためのホストパラメータと条件を格納するホスト証明書とユーザー証明書の拡張機能が提案されています。
OpenSSHは、単純なパスワードから証明書の使用まで、多くの方法を提供しますが、それぞれがそれ自体で課題を提示します。
認証と承認の違いを明確にすることから始めましょう。 XNUMXつ目は、自分が自分であると主張するエンティティであることを示す方法です。 これは通常、アカウントに関連付けられた秘密パスワードを提供するか、公開鍵に対応する秘密鍵を持っていることを示すチャレンジに署名することによって実現されます。 承認は、エンティティがリソースにアクセスする権限を持っているかどうかを判断する方法であり、通常、認証が行われた後に行われます。
ホスト側の検証は、hiba-chkドライバーを呼び出すことによって開始されます AuthorizedPrincipalsCommandディレクティブで指定されます。 このハンドラー 証明書に組み込まれている拡張機能をデコードします そして、それらに基づいて、 アクセスを許可するかブロックするかを決定します。 アクセスルールは、認証局(CA)のレベルで一元的に定義され、生成の段階で証明書に統合されます。
認証センター側では、 利用可能な権限の一般的なリストがあります (接続できるホスト)およびこれらのアクセス許可を使用できるユーザーのリスト。 hiba-genユーティリティは、組み込みのアクセス許可情報を使用して証明書を生成するために提案されており、認証局の作成に必要な機能はhiba-ca.shスクリプトに移動されました。
ユーザー接続中に、証明書で指定された資格情報は、認証局のデジタル署名によって確認されます。 宛先ホスト側ですべての検証を完全に実行できるようにします 外部サービスに連絡せずに接続が確立されます。 SSH証明書を証明するCA公開鍵のリストは、TrustedUserCAKeysディレクティブによって指定されます。
HIBAは、SSH証明書のXNUMXつの拡張機能を定義しています。
ホスト証明書に添付されているHIBAIDには、このホストを定義するプロパティが一覧表示されます。 これらは、アクセスを許可するための基準として使用されます。
ユーザー証明書に添付されているHIBA許可には、アクセスを許可するためにホストが満たさなければならない制限がリストされています。
ユーザーのホストへの直接リンクに加えて、HIBAを使用すると、より柔軟なアクセスルールを定義できます。 たとえば、ホストを場所やサービスの種類などの情報に関連付けることができ、ユーザーアクセスルールを定義することで、特定の種類のサービスを持つすべてのホストまたは特定の場所にあるホストへの接続を許可できます。
最後に あなたがそれについてもっと知りたいのなら メモについては、詳細を確認できます 次のリンクで。