SeciossLinkでWindowsサーバーの特権ID管理

schedule 2023/10/02  refresh 2023/11/15

 

 

SeciossLinkでは、クラウドサービスの特権IDだけでなく、Windwos、Linux、データベース等のサーバーの特権IDも管理することができます。

 

社内や学内に特権ID管理用のゲートウェイサーバーを導入することで、SeciossLinkのIDaaS機能により、サーバーの特権IDに対して様々な多要素認証や高度なアクセス制御を設定することができます。

 

今回はWindowsサーバーの特権ID管理を行う方法を説明したいと思います。

 

特権IDゲートウェイサーバーの構築

事前準備

特権IDゲートウェイが必要とするパッケージは、基本的に付属のインストーラより自動でインストールされます。
特権IDゲートウェイのパッケージに含まれていない依存関係にあるソフトウェアについては、別途導入する必要があります。
以下に手順を示します。

 

epelリポジトリ追加を追加します。

 

# dnf install epel-release
# dnf config-manager --set-enabled powertools
# dnf module install php:7.4

 

 

特権IDゲートウェイサーバのSELinuxを無効化して下さい。

# setenforce 0 
# vi /etc/sysconfig/selinux
SELINUX=enforcing から
SELINUX=disabled に変更して下さい。

 

 

特権IDゲートウェイ は 通信ポート TCP 443(https)を使用します。必要に応じて、ファイアウォールの設定を行って下さい。

# firewall-cmd --add-port=443/tcp --zone=public –permanent
# firewall-cmd –reload

インストール

特権IDゲートウェイパッケージのインストール

特権IDゲートウェイのパッケージファイルsecioss-gatewayを展開し、インストールスクリプト(install.sh)をrootユーザで実行して下さい。

 

# tar -zxvf secioss-gateway-*.x86_64.tar.gz
# cd secioss-gateway-*.x86_64
# ./install.sh install

 

インストールを実行すると、「ソフトウェア使用許諾」が表示されます。内容を確認の上、「yes」を入力し同意して下さい。

 

株式会社セシオス(以下「セシオス」)は、このソフトウェア使用許諾契約書(以下「本契約」)
…….
ソフトウェア使用許諾契約書に同意しますか? [yes/no]
yes

 

必要なパッケージが不足している場合、必要とする依存ソフトウェアの一覧が表示され、インストールの同意が求められます。「yes」を入力し、インストールを開始して下さい。

 

httpd が必要です。
mod_ssl が必要です。
……
yum リポジトリから必須パッケージをインストールします。よろしいですか? [yes]
yes
……
secioss-gatewayをインストールしました。
引き続き初期設定ツールを起動します。よろしいですか? [yes]
no

※インストールの実行ログについては /tmp/install.log を参照して下さい。

 

 

インストール後、sshの特権IDの認証用に/etc/pam.d/sshdに以下の設定を追加して下さい。

session required pam_script.so onerr=success dir=/opt/secioss-gateway/bastion

 

初期設定を行う前にmemcached を起動する必要がありますので、memcachedを起動しておいて下さい。

# systemctl start memcached

 

Guacamoleのインストール

Guacamoleは、https://guacamole.apache.org/releases/1.5.3/ から、guacaole-1.5.3.war、guacamole-server-1.5.3.tar.gzをダウンロードして下さい。
guacamole-auth-json-1.5.3は、認証に問題があるため https://guacamole.apache.org/releases/1.5.2/ からguacamole-auth-json-1.5.2をダウンロードして下さい。

 

# cp guacamole-1.5.3.war /var/lib/tomcat/webapps/guacamole.war

# tar zxvf guacamole-auth-json-1.5.2.tar.gz
# cp guacamole-auth-json-1.5.2/guacamole-auth-json-1.5.2.jar /etc/guacamole/extensions

 

# tar zxvf guacamole-server-1.5.3.tar.gz
# cd guacamole-server-1.5.3
# ./configure --with-init-dir=/etc/init.d
# make
# make install

 

 

Ratchetのインストール

Rachetは、composer を使ってインストールするため、事前に一般ユーザーを作成して、インストールします。

[rootユーザー操作]
# useradd -m composer
# su composer
[一般ユーザー操作]
$ cd /tmp/
$ cp /opt/secioss-gateway/www/server/composer.json .
$ composer install
...(待機)
$ exit
[rootユーザー操作]
# cp -r /tmp/vendor /opt/secioss-gateway/www/server/

 

xtermのインストール

xtermをインストールします。


# cd /opt/secioss-gateway/www/pidgw
# npm install xterm

 


セットアップツールによる初期設定

インストールが正常に完了した後、パッケージを展開したフォルダへ移動し、セットアップツールを起動して、製品の初期セットアップを行います。

# cd secioss-gateway-*.x86_64
# ./setup.pl

“Enter”をクリックし、※次へ進みます。各設定項目は以下のようになります。

 

設定する項目を選んでください。
-------------------------------
[*] FQDNの設定
[ ] SeciossLink連携設定
[ ] Gatewayサーバー設定
[ ] SAML SPの証明書の設定
[ ] memcachedサーバーへの接続設定
[ ] サービスの再起動
[ ] サービスの停止
[ ] websocketサーバーの起動
[ ] websocketサーバーの停止
[ ] Gatewayサーバーの連携設定確認
[ ] IDPのメタデータ取得
[ ] 接続ターゲットの取得
[ ] 終了

※SELinux が有効になっていた場合、警告が表示されます。
その場合は「Ctrl + C」を押下してセットアップを中止し、SELinux を無効化してから、再度setup.pl を実行して下さい。

 

 

FQDNの設定

ユーザがアクセスするサーバーのホスト名を入力して下さい。

FQDNの設定を行います。
FQDNを入力してください。(default: …)
pidgw.secioss.com

FQDNの設定が終了しました。

※ホスト名にハイフン(-)を含めることはできません。

 

 

SeciossLink連携設定

Gatewayと連携する為にSeciossLinkの情報を入力します。
テナントID、管理者ユーザーID、パスワードを入力します。

 

SeciossLinkとの連携設定を行います。
SeciossLinkのURLを入力してください。(default: https://slink.secioss.com)
[enter]
テナントIDを入力してください。(default: )
test.com
特権管理者のユーザID(ドメインより前)を入力してください。(default: )
admin
パスワードを入力してください。
Password

 

SeciossLink連携設定が終了しました。

 

 

Gatewayサーバー設定

クライアントの設定を行います。
ゲートウェイサーバのIDはSeciossLink登録に使用します。SeciossLinkのゲートウェイサーバとして登録されていない一意なIDを設定して下さい。

 

クライアントの設定を行います。
GatewayサーバーのID(SeciossLinkとの同期に使用)を入力してください。(default: )
pidgw
GatewayサーバーへのブラウザアクセスURLを入力してください。(default: https://)
https://pidgw.secioss.com
GatewayサーバーのAPI URLを入力してください。(default: http://localhost:8080)
[enter]

Gatewayサーバー設定が終了しました。

 

 

SAML SPの証明書の設定

SeciossLink とSAML 通信する際に使用する証明書を作成します。
※初回セットアップ時は必ず実施して下さい。

 

サービスプロバイダの証明書(自己署名)を作成します。
すでに存在する場合は上書きします。よろしいですか? [yes/no]
yes
国名を入力してください。(default: JP)
JP
都道府県名を入力してください。(default: )
Tokyo
市区町村名を入力してください。(default: )
Toshimaku
組織名を入力してください。(default: )
SECIOSS
部門名を入力してください。(default: )
System
コモンネームを入力してください。(default: )
pidgw.secioss.com
証明書の有効期限(日)を入力してください。(default: 365)
365
秘密鍵の鍵長を入力してください。[1024/2048](default: 2048)
2048

SAML SPの証明書の設定が終了しました。

 

 

memcachedサーバーへの接続設定

ユーザーのセッション情報などを保存するキャッシュサーバの設定を行います。
※初回セットアップ時は必ず実施して下さい。

 

memcachedサーバーの設定をします。
memcachedサーバーを入力してください。カンマ区切りで複数指定できます。(default: localhost:11211)
[enter]

memcachedサーバーへの接続設定が終了しました。

 

 

サービスの再起動

特権IDゲートウェイが利用するサービス(プロセス)の再起動を行うことができます。
※初回セットアップ時は必ず実施して下さい。

 

サービスの再起動を行います。
httpdを再起動しますか? [yes/no](default: yes)
[enter]
tomcatを再起動しますか? [yes/no](default: yes)
[enter]
guacdを再起動しますか? [yes/no](default: yes)
[enter]
memcachedを再起動しますか? [yes/no](default: yes)
[enter]

httpdを再起動しています。
httpdの自動起動を有効化しています。
tomcatを再起動しています。
tomcatの自動起動を有効化しています。
guacdを再起動しています。
guacdの自動起動を有効化しています。
memcachedを再起動しています。
memcachedの自動起動を有効化しています。

 

サービスの再起動が終了しました。

 

サービスの停止

特権IDゲートウェイが利用するデーモンサービス(プロセス)を停止します。
メンテナンスやサーバーの停止を伴う場合にご利用下さい。
※httpdサービス停止を行う場合、必ず「websocketサーバーの停止」を事前に実施して下さい。

サービスの停止を行います。
httpdを停止しますか? [yes/no](default: yes)
yes
tomcatを停止しますか? [yes/no](default: yes)
yes
guacdを停止しますか? [yes/no](default: yes)
yes

 

httpdの自動起動を無効化しています。
httpdを停止しています。
tomcatの自動起動を無効化しています。
tomcatを停止しています。
guacdの自動起動を無効化しています。
guacdを停止しています。

サービスの停止が終了しました。

 

Press Enter to continue.

 

 

websocketサーバーの起動

特権IDゲートウェイが利用するwebsocket 通信を行うサービス(プロセス)の起動を行います。
※初回セットアップ時または、サーバー起動時は必ず実施して下さい。


websocket サーバーの起動を行います。
websocketを起動しますか? [yes/no](default: yes)
yes

websocket サーバーを起動しています。

websocketサーバーの起動が終了しました。

 

 

websocketサーバーの停止

特権IDゲートウェイが利用するwebsocket 通信を行うサービス(プロセス)の停止を行います。
メンテナンスやサーバーの停止を伴う場合にご利用ください。

 

websocket サーバーの停止を行います。
websocketを停止しますか? [yes/no](default: yes)
yes

websocket サーバーを停止しています。

websocketサーバーの停止が終了しました。

 

 

Gatewayサーバの連携設定確認

SeciossLink と連携させるために必要な設定を確認します。
出力された情報をもとにSeciossLinkの特権IDメニューにあるゲートウェイサーバメニューより設定を行って下さい。

 

SeciossLinkのGatewayに以下を設定してください。

Gateway ID:pidgw
証明書:
-----BEGIN CERTIFICATE-----
MIID1zCC………….
-----END CERTIFICATE-----

Gatewayサーバの連携設定確認が終了しました。
Press Enter to continue.

 

Gateway ID: ゲートウェイサーバIDとして設定します。
SAML SPの証明書の設定 で作成した証明書を出力します。
-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- までをコピーし、
テキストファイルなどに貼り付けて下記の通り保存して下さい。

  • ファイル名:特権IDゲートウェイ.pem(任意)
  • 文字コード:UTF-8
  • 改行コード:LF

 

作成した証明書は、SeciossLinkの特権IDゲートウェイの設定で使用します。

 

 

IDPのメタデータ取得

SeciossLink連携設定で登録した情報をもとに、SeciossLinkのIDPメタデータを取得します。

 

[IDPメタデータ取得]
IDPのメタデータを取得します。
実行してよろしいですか? [yes/no]
yes

 

IDPのメタデータ取得が終了しました。

※Gatewayサーバのインストール後、定期的にSeciossLinkのIdPメタデータを取得します。
定期取得以外でメタデータを取得したい場合は、こちらのIDPメタデータ取得メニューより、実行して下さい。

 

 

ターゲット一覧取得

SeciossLinkで設定した、WindowsやLinuxへの接続に使用するホスト名やポートなどの設定を取り込むメニューです。

 

SeciossLinkでターゲット設定を行った後に本設定を実施します。
SeciossLinkの特権ID管理>ターゲット新規登録より、ターゲットを設定して下さい。
ターゲット登録後、「ターゲット一覧取得」を実施し、Gatewayにターゲット情報を同期します。

 

※ターゲット一覧取得は15分間隔で自動同期します。即同期させたい場合には、こちらのメニューより実施いただくことで、
即時同期します。


[ターゲット一覧取得]
接続するターゲットのデータを取得します。
実行してよろしいですか? [yes/no]
yes

接続ターゲットの取得が終了しました。

 

 

終了

初期設定ツールを終了します。ショートカットキー [ Ctrl + C ] による強制終了でも終了できます。

 

 

アンインストール

特権IDゲートウェイをアンインストールしたい場合は付属の インストーラ よりアンインストールします。

# cd secioss-gateway-*.x86_64
# ./install.sh uninstall

 

 

SeciossLinkの設定

SeciossLinkの管理コンソールから、特権IDに関する設定を行います。

 

OpenID Connectの設定

今回は説明しませんが、Linuxサーバーの特権IDにsshでログインする場合、OpenID Connectでユーザーの認証を行いますので、OpenID Connectの認証サーバーの設定を行います。

 

「シングルサインオン」-「OpenID Connect」の「登録」からOpenID Connectの設定を登録して下さい。
設定項目については、以下のように設定して下さい。

 

  • IDトークンタイプ:JWS
  • リダイクレトURI:http://localhost:10000
  • IDトークン署名アルゴリズム:RS256
  • Claimsの属性 sub:ユーザーID

 

 

 

特権IDゲートウェイの設定

構築した特権IDゲートウェイサーバーを登録します。

 

「特権ID」-「ゲートウェイ」の「登録」から設定を登録して下さい。
設定項目については、以下を設定して下さい。

 

  • ホスト名:構築した特権IDゲートウェイサーバーのホスト名
  • ゲートウェイ証明書:特権IDゲートウェイサーバー構築時に作成したSAML SPの証明書
  • SSH認証(OpenID Connect):先程設定したOpenID Connectを選択

 

 

 

サーバーグループの設定

特権IDでログインするWindowsサーバーをサーバーグループとして登録します。
サーバーグループには、同じ特権IDでログインするサーバーを複数設定できます。

「特権ID」-「サーバーグループ」の「登録」からサーバーグループとしてログインするWindowsサーバーを設定して下さい。
設定項目については、以下を設定して下さい。

  • ゲートウェイ:先程設定した特権IDゲートウェイ
  • 接続形式:RDP
  • セッション記録:Windowsサーバーの操作内容を保存する場合はチェック
  • 接続先:ログインするWindowsサーバーのホスト名とポート番号

 

 

 

特権IDの設定

Windowsサーバーにログインする特権IDを登録します。

 

「特権ID」-「特権ID」の「登録」から特権IDを設定して下さい。
設定項目については、以下を設定して下さい。

 

  • サービス:先程設定したサーバーグループ
  • ログインID:WindowsサーバーにログインするID
  • パスワード:Windowsサーバーにログインするパスワード

 

 

 

アクセス権限の設定

Windowsサーバーにアクセスする際の条件を設定します。
ネットワーク、国、時間帯によってアクセスを制限したり、ワンタイムパスワードや証明書など追加で認証を要求することもできます。

 

「アクセス権限」-「新規登録」から設定を行って下さい。
設定項目については、以下を設定して下さい。

 

  • アクセス先の特権ID:先程設定したサーバーグループ
  • 要求される認証方式:追加で認証を要求する場合は要求するに認証方式を設定して下さい。

 

 

ネットワーク、国、時間帯の条件を設定する場合は、それぞれ「許可するネットワーク」、「許可する国」、「許可する時間」のタブから設定して下さい。

 

 

Windowsサーバーへのアクセス

SeciossLinkにログインして、特権IDポータルを表示すると、アクセスが許可されているWindowsサーバーが表示されます。

 

アクセスするWindowsサーバーのアイコンをクリックすると、ブラウザにWindowsサーバーの画面が表示され、Windowsサーバーの操作を行うことができます。