第8章 スマートカードを使用した sudo のリモート認証
SSH エージェント転送を使用することで、ローカルのスマートカードを利用してリモートの sudo コマンドを認証できます。この設定により、物理的に接続されたトークンに保存されている認証情報をセキュアに利用することで、リモートホスト上でのパスワード入力が不要になります。
スマートカードを使用してリモートで sudo に認証できます。ssh-agent サービスがローカルで実行され、ssh-agent ソケットをリモートマシンに転送できるようになると、sudo PAM モジュールの SSH 認証プロトコルを使用してユーザーをリモートで認証できます。
スマートカードを使用してローカルにログインした後、SSH を使用してリモートマシンにログインし、スマートカード認証の SSH 転送を使用することで、パスワードの入力を求められることなく sudo コマンドを実行できます。
この例では、クライアントは SSH を使用して IPA サーバーに接続し、スマートカードに保存されている認証情報を使用して IPA サーバーで sudo コマンドを実行します。
8.1. IdM での sudo ルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
管理者は、リモートホスト上での sudo アクセスを許可するために、特定の IdM ポリシーを定義します。きめ細かな特権制御のために、/usr/bin/less などの制限されたコマンドを対象ユーザーとホストに紐付けるための具体的なルールを作成します。
IdM で sudo ルールを作成し、<idm_user> にリモートホスト上で sudo を実行する権限を付与します。この例では、手順をテストするために、less コマンドと whoami コマンドを sudo コマンドとして追加します。
前提条件
-
IdM ユーザーが作成されている。この例では、ユーザーは
<idm_user>です。 -
sudoをリモートで実行するシステムのホスト名を認識している。この例では、ホストはserver.ipa.testです。
手順
コマンドの実行をユーザーに許可するために、<sudorule_name> という名前の
sudoルールを作成します。<sudorule_name> は、作成する sudo ルールの実際の名前に置き換えます。# ipa sudorule-add <sudorule_name>sudoコマンドとしてlessおよびwhoamiを追加します。# ipa sudocmd-add /usr/bin/less# ipa sudocmd-add /usr/bin/whoamilessコマンドとwhoamiコマンドを <sudorule_name> に追加します。# ipa sudorule-add-allow-command <sudorule_name> --sudocmds /usr/bin/less# ipa sudorule-add-allow-command <sudorule_name> --sudocmds /usr/bin/whoami<idm_user>ユーザーを <sudorule_name> に追加します。# ipa sudorule-add-user <sudorule_name> --users <idm_user>sudoを実行するホストを <sudorule_name> に追加します。# ipa sudorule-add-host <sudorule_name> --hosts server.ipa.test