2020年11月17日火曜日

SSHリモートアクセスユーザーごとに実行コマンドを制限する【Safeguard for Privileged Sessions(SPS)】

リモートワークでは、ネットワーク機器やサーバーのメンテナンスや設定作業でSSHアクセスする機会が多くなります。リモートユーザーは、管理者権限でターミナル操作を行う場合もありますが、すべてのコマンドを実行できてしまうとセキュリティ脅威になりかねません。

本ブログでは、特権IDセッション管理アプライアンス”Safeguard for Privileged Sessions(SPS)”を使用して、リモートアクセスユーザーごとにコマンドを制限する手順をご説明します。

SPSは、サーバー、仮想デスクトップやネットワーク機器にリモートアクセスするユーザーの全セッションを制御、監視および記録するゲートウェイ・アプライアンスです。
主な機能は、次の通りです。
  • 監視:特権ユーザーをリアルタイムに監視します。
  • 記録:特権ユーザーのセッション情報と操作画面ログを記録します。
  • 再生:監査証跡をブラウザーまたは専用プレーヤーで動画再生します。
  • 検索:様々なフィルターやテキストで検索できます。
  • レポート:コンプライアンス等に対応したカスタムレポートを自動作成します。
  • アラート:リアルタイムにアラートを通知、さらにはブロックもできます。
  • アクセス制御:特権ユーザーのセッションを詳細にアクセスコントロールします。
上記の中で、SPSのリアルタイムアラートについて注目してみます。

SPSはリアルタイムにネットワークトラフィックを監視し、画面にある特定のパターンを検知すると、ログの記録やアラートの通知など指定されたアクションを実行します。
さらに、例えば「削除」のような影響の大きいコマンドが実行される前に、SSH接続を遮断することも可能です。

リアルタイムアラートは、ユーザーごとに実行できるコマンドを制限することも可能です。
上図の例では、root権限のユーザーはすべてのコマンドを制限なしで実行できます。
user Aは、特権に昇格しても"show"コマンドは実行できるが、"copy"コマンドは実行できません。
admin Xは、"change"コマンドは実行できるが、"delete"コマンドは実行できません。
このように、SPSのリアルタイムアラートを利用することで、SSHリモートアクセスのセキュリティレベルを向上させることができます。

実際にSPSで、ユーザーごとにコマンドを制限する手順について説明します。

最初に、コマンドを制限するユーザー/ユーザーグループを設定します。
SPSのWebインターフェースで、[Policies > User Lists] メニューに移動します。
今回は、次の内容でユーザー/ユーザーグループを設定してみます。

 ①設定権限管理者
  ユーザーグループ:Set_UserGroup
  ユーザー:admin_X、admin_Y  

 ②閲覧権限管理者
  ユーザーグループ:View_UserGroup
  ユーザー:user_A、user_B、user_C 
  ※ユーザーは、ターゲットのローカルアカウント名を指定する必要があります。






次に、[Policies > Content Policies] メニューに移動して、新しいポリシーを作成します。 
 ①設定権限管理者
  ポリシー名:Risky_commands
  イベントタイプ:Commands (in SSH and TELNET)
  アクション:Terminate connection、Store in connection database
  制限コマンド:rm -rf directory
  ※ここでは、危険なコマンドを検知したら接続を強制終了する設定にします。

  ※コンテンツポリシーでは、Perl互換の正規表現(PCRF)を使用しています。

 ②閲覧権限管理者
  ポリシー名:ViewOnly_commands
  イベントタイプ:Commands (in SSH and TELNET)
  アクション:Terminate connection、Store in connection database
  制限コマンド:ip address show、ip route
  ※上図のように、指定コマンド以外は使用できないような例外設定もできます。
  
それでは、ターゲットにSSHアクセスをして、コマンドを実行してみます。
(今回は、CentOS 7をターゲットにしています。)

ローカルアカウント”admin_X”でログインして、”rm -rf directory”コマンドを実行します。

接続が強制終了されました。SPSのWebインターフェースで確認してみます。[Search] メニューに移動します。

中央左の’Verdict’覧に、”terminated”と赤く表示されています。詳細を見てみます。

イベント(Events)として、ログイン後に実行されたコマンドがリストで表示されています。

アラート(Alert)として、強制終了されたコマンドが表示されています。

次はローカルアカウント”user_A”でログインして、コマンドを実行します。
事前に定義している”ip address show”と”ip route”コマンドが実行されていることが確認できます。しかし、それ以外のコマンド(ここでは、”ls -l”)を実行前に、接続が強制終了されます。

中央左の’Verdict’覧に、”terminated”と赤く表示されています。詳細を見てみます。

イベント(Events)として、ログイン後に実行されたコマンドがリストで表示されています。

アラート(Alert)として、強制終了されたコマンドが表示されています。

このように、SPSではユーザーごとにコマンドが制限でき、アラートとして通知させたり、強制終了されたコマンドを確認することができます。

【注意】
コンテンツポリシーでアクションを強制終了(Terminate)に設定すると、指定コマンドを実行前に、ユーザーに通知されることなく即時に接続が切断されます。
あらかじめ、制限コマンドをユーザーに周知する必要があります。
★SPSでは、ログイン後に次のようなバナーメッセージを表示させることが可能です。

----------------------------------------------------------------------------------------------
SPS(Safeguard for Privileged Sessions)は、米国One Identity社の特権アクセス管理
(PAM)ソリューションの中核を担う、特権セッション管理アプライアンスです。
----------------------------------------------------------------------------------------------
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ ジュピターテクノロジーが、One Identity APJ Partner Awards 2020 で  Partner of★
★ the Year (Japan Region)に選ばれました。                     ★
★syslog-ng Store Box (SSB), syslog-ng PE (SPE), Safeguard製品 (SPS) の販売拡大★
★ に大きく貢献したことが高く評価されました。                   ★
★ 詳細はこちら(メーカーサイト)をご参照ください。                  ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

SPSでは、評価用のソフトウェアを用意しておりますので、SSHリモートアクセスユーザーごとのコマンド制限をご確認ください。

ダウンロード(評価版)
Safeguard for Privileged Sessions (SPS) には評価版ソフトウェア(30日間)を用意しています。ぜひお試しください。
★現在、SPS 6ヶ月間の評価ライセンス無料キャンペーンをご案内しております。

詳しくは製品紹介ページ・製品ガイドをご参照ください。



お問合せ
購入前のSafeguard for Privileged Sessions (SPS)についてのお問合せは以下から承っております。
ご不明な点やお気づきの点がございましたらお問い合せください。