5.2. 最小構成での導入手順¶
注意
セットアップする際は下記の点にご注意ください。
- sudo可能な一般ユーザでインストールを実施する(rootユーザでのインストールも可能 ※1)
- 「ericom」という名称のユーザ以外でインストールを実施する ※2
- sudoは付けないでスクリプトを実行する
- インストール後は、インストールユーザで運用する
※1 rootになる際、"sudo su -" での実行は可能です。"sudo -s" での実行は、一般ユーザのカレントディレクトリや環境変数が引き継がれてしまうため不可となります。
※2 「ericom」という名称のユーザは、セットアップ処理内で作成し内部処理で利用されるため不可となります。
上位ネットワーク機器でSSL復号化(SSLデコード)やURLフィルタリング、アンチウィルスを実施している環境の場合、Shieldインストール処理にてインターネット上より必要なデータをダウンロードして処理を行う関係で、通信エラーによりインストールが失敗する場合があります。Shieldインストール処理が失敗する場合には、上位ネットワーク機器の設定を確認ください。具体的にShieldインストール時や運用利用時に許可する必要がある通信ドメインを確認されたい場合には、サポートセンターへお問い合わせください。
下位ネットワーク機器でShield通信をSSL復号化(SSLデコード)して利用する環境の場合には、以下のShield内部通信のために利用しているドメインをフィルタリング除外対象に登録する必要があります。
- Ver 21.11以前
- icap-server.service.consules-proxyless.farm-services.svc
- Ver 22.08以降
- icap-server.service.consules-proxyless.farm-services.svc.cluster.local
Ericom Shieldは機能ごとにコンポーネントを分離してインストールすることが可能です。 この章では必要最小限の構成でインストールし、評価する手順をご紹介します。
構成としては上記のように、クラスタマネージメントとシステムコンポーネント、ファームサービスが1台、ブラウザーファームが1台という構成になります。
5.2.1. セットアップスクリプトの実行¶
下記コマンドによりshield-setup.shをダウンロードし、実行します。 これはRancherを配置するノードでのみ実施します。
$ curl -O https://ericom-tec.ashisuto.co.jp/shield/shield-setup.sh
$ chmod +x shield-setup.sh
$ ./shield-setup.sh
実行時点で日本国内で提供されているバージョンの一覧が表示されるので、利用するバージョンの番号を選択してください。(最新版を推奨します。)
<表示例>
###### START ###########################################################
==================================================================
現在インストールされているバージョン: N/A
==================================================================
どのバージョンをセットアップしますか?
1: Rel-20.07_Build:667
2: Rel-20.05_Build:649
3: Rel-20.03_Build:639
4: Rel-20.01.2_Build:622
5: Rel-19.12.1_Build:606
6: Rel-19.11_Build:590
7: Rel-19.09.5_Build:579
8: Rel-19.09.1_Build:570
番号で指定してください:1
Rel-20.07.667 をセットアップします。
BRANCH: Rel-20.07
~略~
以下のメッセージが表示された場合には、構築されているBrowserサーバのリソース要件を確認の上、必要に応じて、高解像度_8Kディスプレイ対応版の選択をお願いします。
- 通常版Browserコンテナを利用する場合:
- 通常版インストール
- 高解像度_8Kディスプレイ対応版Browserコンテナを利用する場合:
- 高解像度_8Kディスプレイ対応版インストール
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
Rel-21.11.816.2以降、高解像度_8Kディスプレイに対応したブラウザコンテナを選択するオプションが追加されています。
構築されているBrowserサーバのリソース要件を確認の上、必要に応じて高解像度_8Kディスプレイ対応版を選択してください。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
1) 通常版インストール
2) 高解像度_8Kディスプレイ対応版インストール
番号で選んでください:
初めてのインストール時は、実行ユーザをdockerグループに参加させるため、一度ログオフを行う必要があります。 下記メッセージが表示されたら一度ログオフを行い、再度shield-setup.shを実行してください。
[start] check group
=================================================================================
実行ユーザをdockerグループに追加する必要があります。
追加後、セットアップスクリプトは中断します。
一度ログオフした後、ログインをしなおして、スクリプトを再度実行してください。
=================================================================================
[start] add group
[end] add group
###### DONE ############################################################
- 続いて、下記のメッセージが表示され、スクリプトを実行しているノードに、どの役割をインストールするかを選択します。
- ここでは、「1」を選択してください。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
※この選択の後、複数台構成にする場合に他のノードで実行するコマンドが画面に表示されます。
※必要に応じてコピーの上、他ノードで実行してください。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
このノードに何をセットアップしますか?
1) 全て (Rancher, Cluster Management および Ericom Shield)
2) Rancher and Cluster Management (Ericom Shield を除く)
3) Rancher のみ
番号で選んでください:1
下記のように他のノードで実行すべきコマンドが表示されますので、コピーして実行してください。 表示される内容は毎回異なります。必ず表示されたものを利用してください。 今回の例では3ブロック目を別に用意したブラウザファーム用ノードで実行します。
<実行例>
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
下記のコマンドがこのノードで実行されます。(確認用。実行の必要はありません。)
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --etcd --controlplane --worker
------------------------------------------------------------
そして、
(【必要に応じて】 下記コマンドを他の(Cluster Management + Worker)ノードで実行してください。)
curl -s -O https://ericom-tec.ashisuto.co.jp/shield/clean-rancher-agent.sh
chmod +x clean-rancher-agent.sh
curl -s -OL https://ericom-tec.ashisuto.co.jp/shield/delete-all.sh
chmod +x delete-all.sh
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --etcd --controlplane --worker
------------------------------------------------------------
または、
(【必要に応じて】 下記コマンドを他の Cluster Management単体 ノードで実行してください。)
curl -s -O https://ericom-tec.ashisuto.co.jp/shield/clean-rancher-agent.sh
chmod +x clean-rancher-agent.sh
curl -s -OL https://ericom-tec.ashisuto.co.jp/shield/delete-all.sh
chmod +x delete-all.sh
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --etcd --controlplane
------------------------------------------------------------
または、
(【必要に応じて】 下記コマンドを他の Worker単体 ノードで実行してください。)
curl -s -O https://ericom-tec.ashisuto.co.jp/shield/clean-rancher-agent.sh
chmod +x clean-rancher-agent.sh
curl -s -OL https://ericom-tec.ashisuto.co.jp/shield/delete-all.sh
chmod +x delete-all.sh
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --worker
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
他ノードでのコマンド実行が完了したら、続けて「y」を入力して処理を進めます。
<実行例>
=================================================================================
それぞれのノードでコマンドの実行は完了しましたか?
先に進んでもよろしいですか? [y/N]:y
クラスタのステータスがActiveになるまで待ってください。
[waiting] Cluster to active
Waiting for state to become active.: provisioning
Waiting for state to become active.: provisioning
Waiting for state to become active.: provisioning
Waiting for state to become active.: waiting
Waiting for state to become active.: waiting
Waiting for state to become active.: active
暫くすると、確認のメッセージが表示されるので、メッセージに従い、ステータスの確認を行い、処理を進めてください。Rancher UI https://IPアドレス:8443のIDとパスワードはID:admin / パスワード:ericomshield です。
<実行例>
=================================================================================
【※確認※】 Rancher UI https://IPアドレス:8443 をブラウザで開き、
追加したノードが全てActiveになっていることを確認してください。
先に進んでもよろしいですか? [y/N]:y
つづいて、それぞれのノードににShiledのどのコンポーネントを配置するか選択します。今回の例ではスクリプトを実行しているサーバと、別途用意したブラウザファーム用ノード2台分が表示されます。
表示される ホスト名 を確認し、それぞれで番号を選択してください。
- システムコンポーネントを稼働させる側のノードでは 2 を選択してください。
- ブラウザファームを稼働させる側のノードでは 3 を選択してください。
<実行例>
=================================================================================
*** {ホスト名} ***
上記ノードにどのShieldコンポーネントを配置しますか?
0) Cluster Management のみ
---------------------------------------------------------
【System ComponentとBrowserを分ける場合】
---------------------------------------------------------
2) System Component + Farm-service (management, proxy, elk, farm-services)
3) Browser のみ (remort-browsers)
---------------------------------------------------------
99) Advanced Option
番号で選択してください:
このあと、実際にShieldの展開が開始されます。完了するまで暫くお待ち下さい。
<実行例>
[start] deploy shield
[start] deploieng shield
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Successfully got an update from the "shield-repo" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete.
Latest Version : 20.05.649
Current Version:
*************** Deploying Ericom Shield 20.05.649 ...
*************** Deploying Shield Farm Services *******************************
~略~
[end] deploieng shield
[end] deploy shield
[start] get Default project id
DEFPROJECTID: c-fj49p:p-qw4xg
[end] get Default project id
[start] Move namespases to Default project
move namespases to Default project/ management
move namespases to Default project/ proxy
move namespases to Default project/ elk
move namespases to Default project/ farm-services
[end] Move namespases to Default project
【※確認※】 Rancher UI https://IPアドレス:8443 をブラウザで開くか、
/home/ubuntu/ericomshield/shield-status.sh 実行し、
全てのワークロードが Acriveになることをご確認ください。
###### DONE ############################################################
5.2.2. Docker関連パッケージのAPTホールド¶
最新Dockerバージョンにバージョンアップしてしまった場合に、正常にShieldが稼働しなくなる問題が発生する可能性がありますので、以下コマンドを全Shieldサーバにて実行することで、Docker関連パッケージのAPTホールドを行ってください。
$ sudo apt-mark hold $(dpkg -l | grep -e docker -e containerd | awk '{print $2}')
※ APTホールドされている一覧は以下コマンドで確認することができます。
$ sudo apt-mark showhold
5.2.3. HPA無効化を実施¶
最小構成で、デフォルト設定のHPA機能が有効である場合、1台のサーバで複数のサービスPODが起動されます。
結果としてメモリ消費が多くなりますので、この機能を無効化することでメモリ消費を抑えることができますので、最小構成の場合には、以下の手順でHPA機能の無効化を実施ください。
- ManagementサーバのSSH接続でログインします。
→ Shieldのセットアップを実施したユーザで接続してください。
以下のコマンドにて編集前にバックアップを取得します。
$ cp ~/ericomshield/custom-farm.yaml ~/ericomshield/custom-farm_bak.yaml $ cp ~/ericomshield/custom-management.yaml ~/ericomshield/custom-management_bak.yaml $ cp ~/ericomshield/custom-proxy.yaml ~/ericomshield/custom-proxy_bak.yamlバックアップファイルが生成されていることを確認します。
以下のように表示されれば、バックアップファイルが生成されています。
$ ls ~/ericomshield/*bak.yaml ~/ericomshield/custom-farm_bak.yaml ~/ericomshield/custom-management_bak.yaml ~/ericomshield/custom-proxy_bak.yaml以下、HPA無効化の設定に変更するコマンド一式を実行します。
$ sed -z -i 's/# hascale: 1/ hascale: 1/g' ~/ericomshield/custom-farm.yaml $ sed -z -i 's/doNotDelete: true\n/doNotDelete: true\n HPA:\n apiGateway:\n enabled: false\n cdrDispatcher:\n enabled: false\n farmApi:\n enabled: false\n farmSync:\n enabled: false\n icap:\n enabled: false\n idpConnector:\n enabled: false\n policyManager:\n enabled: false\n proxyExternal:\n enabled: false\n proxyExternalNoadblock:\n enabled: false\n/g' ~/ericomshield/custom-farm.yaml $ sed -z -i 's/# hascale: 1/ hascale: 1/g' ~/ericomshield/custom-management.yaml $ sed -z -i 's/# hascale: 1/ hascale: 1/g' ~/ericomshield/custom-proxy.yaml $ sed -z -i 's/doNotDelete: true\n/doNotDelete: true\n HPA:\n proxyEgress:\n enabled: false\n icapServer:\n enabled: false\n ldapProxy:\n enabled: false\n policyManager:\n enabled: false\n/g' ~/ericomshield/custom-proxy.yamlHPA無効化の設定を反映するためにShieldを再起動します。
$ ~/ericomshield/shield-stop.sh -f $ ~/ericomshield/shield-start.sh以下のコマンドにて全てのworkloadがActiveとなることを確認します。
$ ~/ericomshield/shield-status.shHPA機能が無効化されていることを確認します。
$ kubectl get hpa -A以下のように「No resources found」表示の場合には、HPAが無効化されています。
------------- kkauser@sh01:~$ kubectl get hpa -A No resources found -------------
5.2.4. Rancherからの起動確認¶
最後の表示された Rancher UI
のアドレスをブラウザに入力し、Rancherの管理画面にアクセスしてください。
IDとパスワードを入力し、ログインしてください。(ID:admin / パスワード:ericomshield)
作成したクラスタを上部から選択し、Workload を開きます。全てのワークロードが Active
となるまで待って下さい。
5.2.5. ライセンスのアクティベーション¶
ブラウザを起動し、Shieldの管理コンソールにアクセスします。( https://***.***.***.***:30181/
)
今回の例ではRancherサーバと別に用意したShieldサーバのアドレスを指定します。
デフォルトのIDとパスワードを入力し、ログインしてください。(ID:admin
/ パスワード:ericomshield
)
ライセンスアクティベーション については 展開ガイド - 管理コンソール - ライセンス をご参照ください。
5.2.6. Shield管理コンソールの設定¶
Shield管理コンソールにて次の設定を実施してください。
DNSの設定¶
展開ガイド - 管理コンソール - 設定 - DNS をご確認いただき、内部DNSおよび外部DNSのアドレスを設定してください。内部DNSでインターネットの名前解決が行える場合、両方で同じDNSサーバを指定していただいても問題ありません。
プロキシ&インテグレーションの設定¶
展開ガイド - 管理コンソール - 設定 - プロキシ & インテグレーション をご確認いただき、Shieldの上位プロキシとなるサーバの情報を設定してください。
基本的にはいずれも同じプロキシサーバのアドレスを指定します。
上位プロキシがない環境の場合には設定は不要です。
外部上位プロキシの設定
内部上位プロキシの設定
セッション管理の設定¶
「最小待機リモートブラウザセッション」設定を、デフォルト値(10)から変更をお願いします。
推奨値としては、ダッシュボード上に表示されている「最大 ***」の約3分の1となります。
実運用にて朝や夕方の利用者が多いタイミングで待機ブラウザ数が枯渇する場合には、必要に応じて、こちらの設定値の値を増やしてください。
例:「最大90」の場合:「30」に設定変更。
ファイル&サニタイズの設定¶
Shieldで利用可能なCDRソリューションとして、VotiroとSasa GateScannerとOpswat MetaDefenderをサポートしています。
現在のオンプレミス版Ericom Shieldで利用を推奨しているCDRソリューションは、Sasa GateScanner(クラウドサービス)となります。
Sasa GateScanner(クラウドサービス)の利用設定については、以下のページのガイドを参考に設定をお願いします。
「 VotiroとSasa GateScanner 」ガイドページ
ネイティブアプリケーションの設定¶
デフォルト設定では、Ericom Shield経由のアプリケーション通信は、「認証:No」「アクション:許可」となっています。こちらの設定の場合には、アプリケーションからの通信は全て許可される動きとなります。アプリケーションからの通信を「拒否」としたい場合には、以下の画像のように、デフォルト設定にて「アクション:拒否」に変更をお願いします。
5.2.7. クライアントからのアクセス¶
アクティベーションが完了すると、デフォルトの設定状態ですぐにShieldをご利用いただけます。ご利用にあたってはクライアントPCで下記2点(Internet Explorerをクライアントとして利用している場合は3点)の設定が必要となります。
ルート証明書のインストール¶
HTTPS通信をシールドするためにクライアントPCにルート証明書をインストールする必要があります。証明書は企業独自の証明書を利用することも可能ですし、配布の方法も様々ありますが、 ここではビルドインのEricom社の自己署名の証明書を各ブラウザに導入する手順をご案内します。
展開ガイド - インストール後の手順 - 証明書の設定 を参照し、クライアントPCに証明書を導入してください。
プロキシ設定の変更¶
実際にクライアントのWebアクセスをShield経由にするために、プロキシサーバとしてShieldのアドレスを指定します。 指定の方法は様々ありますが、ここではブラウザ毎に直接設定を行う方法をご案内します。
展開ガイド - インストール後の手順 - プロキシの構成 を参照し、設定を行ってください。
(IEのみ) WebSocket接続の上限数変更¶
Internet Explorerをクライアントとして利用した場合、WebSocket接続の上限数が少ないことでSSLエラーが発生することがあります。下記を参照し、接続数の上限を変更してください。
- [ファイル名を指定して実行] より、
gpedit.msc
と入力します。

- [コンピュータの構成] - [管理用テンプレート] - [Windowsコンポーネント] - [Internet Explorer] - [セキュリティの機能] - [AJAX] を開きます。

- [サーバーあたりの最大WebSocket接続数を設定する] を選択します。

- [有効]にチェックを入れ、最大接続数を変更します。

参考
WebSocketの接続数につきましては、レジストリの値を変更することにより上限数を上げることも可能です。 参考までにご確認ください。
ブラウザのPDFドキュメントを開く際の挙動について設定を変更¶
EricomShieldでの印刷動作の仕様として、Shield(仮想)ブラウザ上でWebページをPDF化した後に、クライアントPC側ブラウザで受信して印刷を行う動きとなっている関係で、ブラウザ側の設定で「PDFをダウンロードする」設定となっている場合に、印刷プレビューが表示されずに印刷ができない問題が発生します。
ご利用のブラウザ設定にてPDFドキュメントを「ブラウザで開く」設定となっているか確認を行い必要に応じて変更を行ってください。
Chromeでの該当設定
chrome://settings/content/pdfDocuments
Edgeでの該当設定
edge://settings/content/pdfDocuments
以上で最低限の設定は完了です。