皆さんこんにちは
本稿では秘密鍵をクライアント側にのみ設定する形でのSPSを利用した接続方法・設定をご紹介します。
本ブログではSPSを踏み台サーバーとして構成しています。
SPSとはOneIdentity社のSafeguard製品の1モジュール(Safeguard for Priviledged Session)であり、特権セッションを監視・制御するアプライアンス製品です。
(詳しくは:こちらのブログを参照してください。)
今回この設定が必要になる背景として、踏み台サーバーを経由して接続するサーバーが複数あり、かつそれに公開鍵設定がある場合、踏み台サーバーへの登録作業がかなり手間になってしまいます。
そこで、今回は秘密鍵をクライアントPCにのみ設定し、踏み台サーバーへの登録作業が必要ない設定を説明します。
下図が今回の構成です。すでに公開鍵が接続先サーバーに設定してあることが前提となり、公開鍵と秘密鍵の生成手順は省きます。
設定が必要な個所については3つあります。
1.
サーバー設定:サーバーに踏み台サーバー経由でのアクセス許可設定(agent
forwarding)をします。
2.
SPS設定:SPSにクライアントでの秘密鍵の使用を許可する設定をします。
3.
クライアント設定:クライアントPCで接続するためにクライアントソフトを導入後、踏み台サーバーの設定(agent forwarding)とpageantに秘密鍵の登録を行います。
1.サーバー設定
最初にサーバーについて説明します。
今回使用しているのはCent OS 7の接続先サーバーで、公開鍵が登録済みであることが前提です。
まず、sshdの設定を行います。
サーバーログイン後にetc>sshとディレクトリを移動し、sshdの設定ファイルを編集します。
次に「agent forwarding」を有効にします。
デフォルトではオフになっていますので、「AllowAgentForwarding」を編集して「#」を外します。
これでサーバー側の設定は完了です。
SPS側の設定について説明します。
SPSでは認証ポリシーである、Authentication
Policiesの設定を行います。
SPSのwebインターフェースにて、SSH Control > Authentication
Policiesを選択します。
新規のポリシーを作成し、「Relayed authentication methods」下の「public key」にチェックを入れて、「Agent」を選択します。
設定が終わったらcommitボタンを押して保存します。
次に、現在接続している設定に反映させます。
SSH Control > Connection に移動して現在接続先サーバーに接続予定のポリシーを選択して「Authentication Policies」の欄を先ほど作成したポリシーに変更します。
設定が終わったらcommitボタンを押して保存します。
3.クライアント設定
最後にクライアントPCで使用するクライアントソフトの設定を説明します。
まずpageantのインストールを行います。
Puttyに付属しているソフトですが、単独でのインストールも可能です。
Webからインストール可能です。
インストールが完了しましたら、起動してキーの登録を行います。Add Keyボタンより秘密鍵の登録を行うことができます。
キーの登録が完了しましたらクライアントソフトにagent forwardingの設定を行います。
Teratermを起動して最初の接続画面を右上の×ボタンでキャンセルします。
上のメニューから設定>SSH認証を選択して画面を開いて「pageantを使う」を選択します。
OKボタンを押して新しく接続を開始します。
ホストの欄にSPSのIPアドレスを入力します。
OKボタンを押すと下のような画面になりますのでpageantを使うが選択されていることを確認し、ユーザー名を入力してください(接続先サーバーのユーザー名です)。
「エージェント転送する」のチェックボックスにチェックを入れて、OKを押します。
すると踏み台サーバー経由でサーバーに接続する設定となり下のように接続先サーバーにつながります。
以上です。
今回はSPSを踏み台サーバーとして設定している際、秘密鍵登録をクライアントPCにのみ設定させる方法について説明しました。
このように設定することで、SPSにすべての鍵を登録する手間とコストを省いて運用することが可能になります。