差分
このページの2つのバージョン間の差分を表示します。
ja:quickguides:secure_communication_with_tentacle [2021/06/26 02:15] junichi [Pandora FMS エージェント] |
ja:quickguides:secure_communication_with_tentacle [2021/12/22 08:19] |
||
---|---|---|---|
行 4: | 行 4: | ||
===== ドキュメント ===== | ===== ドキュメント ===== | ||
- | | + | 各ドキュメントへのリンク: |
- | * [[:pandora:documentation_ja:tentacle:windowsguide|Tentacle Windows ガイド]] | + | |
- | * [[:pandora:documentation_ja:tentacle:protocol|Tentacle プロトコル定義]] | + | |
- | * [[:pandora:documentation_ja:tentacle:opensslcertificates|OpenSSL 証明書クイックガイド]] | + | * [[:ja:documentation:08_technical_reference:09_tentacle# |
- | * **tentacle での暗号化通信** | + | * [[:ja:documentation:08_technical_reference:09_tentacle# |
- | * [[:pandora:documentation_ja:tentacle:crosscompoling|Linux | + | * [[:ja:documentation:08_technical_reference:09_tentacle# |
+ | * [[:ja:documentation:08_technical_reference:09_tentacle# | ||
===== Tentacle のセキュリティオプション設定 ===== | ===== Tentacle のセキュリティオプション設定 ===== | ||
- | このガイドでは、安全な暗号化通信を確保するためのエージェントと Tentacle サーバそれぞれの設定方法を段階的に説明します。 | + | このガイドでは、安全な暗号化通信を確保するための**エージェントソフトウエア**と **Tentacle サーバ**それぞれの設定方法を段階的に説明します。 |
まずは、デバイスから手動テストを実行して、設定、パラメータ、証明書が正しいことを確認することをお勧めします。 | まずは、デバイスから手動テストを実行して、設定、パラメータ、証明書が正しいことを確認することをお勧めします。 | ||
行 43: | 行 44: | ||
==== 通信の暗号化 ==== | ==== 通信の暗号化 ==== | ||
- | クライアントと Tentacle サーバ間の通信を暗号化するには、SSL 証明書とキーが必要です。 このガイドでは、設定可能なすべての構成オプションを示します。証明書は有効な CA による署名が可能ですし、自己署名もできます。 | ||
- | 誤解を避けるために、ここでは証明書と各関連する鍵を次のように定義します。 | + | Tentacleサーバーとソフトウェアエージェントの両方が、証明書とパスワードを使用した安全な通信を使用できます。両方の間で直接通信するか、Tentacle プロキシサーバを介して通信します。 |
- | | + | <WRAP center round info 60%>**常に**証明書がある場所は絶対パスで指定する必要があります。例: ''/ |
- | | + | </ |
- | * **tentacle_cert**: | + | |
- | * **tentacle_client_key**: Tentacle クライアント用に生成された鍵。 | + | |
- | * **tentacle_client_cert**: | + | |
- | <WRAP center round important 60%> | + | <WRAP center round important 60%>Tentacle の暗号化オプションを利用するには、システムに '' |
- | **常に** パラメータでは証明書が配置されている絶対パスを示します。例えば、**'/ | + | |
</ | </ | ||
- | <WRAP center round important 60%> | + | 前の章では、さまざまな組み合わせについて詳しく説明しました。 この章では、パスワードオプション、Tentacle プロキシサーバ、および設定を追加するための '' |
- | Tentacle 暗号化オプションを使用するには、**perl(IO::Socket::SSL)** パッケージがシステムにインストールされていることを確認してください。 | + | |
- | </WRAP> | + | **パスワード認証での単純な転送: |
+ | |||
+ | パスワード認証のためのサーバのパラメータ: | ||
+ | |||
+ | < | ||
+ | |||
+ | -x password | ||
+ | |||
+ | </ | ||
+ | |||
+ | パスワード認証のためのクライアントのパラメータ( '' | ||
+ | |||
+ | < | ||
+ | -x password | ||
+ | |||
+ | </ | ||
+ | |||
+ | **クライアント証明無しでの暗号化転送:** | ||
+ | |||
+ | サーバのパラメータ: | ||
+ | |||
+ | < | ||
+ | -e tentacle_cert -k tentacle_key | ||
+ | |||
+ | </ | ||
+ | |||
+ | **クライアント証明有りでの暗号化転送:** | ||
+ | |||
+ | サーバのパラメータ: | ||
+ | |||
+ | < | ||
+ | -e tentacle_cert -k tentacle_key -f ca_cert | ||
+ | |||
+ | </ | ||
+ | |||
+ | クライアントのパラメータ ( '' | ||
+ | |||
+ | < | ||
+ | -e tentacle_client_cert -k tentacle_client_key | ||
+ | |||
+ | </ | ||
+ | |||
+ | **クライアント証明書およびパスワード認証での暗号化転送: | ||
+ | |||
+ | サーバのパラメータ: | ||
+ | |||
+ | < | ||
+ | -x password -e tentacle_cert -k tentacle_key -f ca_cert | ||
+ | |||
+ | </file> | ||
+ | |||
+ | クライアントのパラメータ ( '' | ||
+ | |||
+ | < | ||
+ | -x password -e tentacle_client_cert -k tentacle_client_key | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== 証明書を用いて Tentacle サーバが任意のクライアントからの暗号化接続を受け付ける設定 ==== | ||
- | ==== Tentacle サーバが任意のクライアント接続を受け付ける設定 ==== | ||
この設定では、Tentacle サーバの設定で暗号化に使用する証明書とキーを入力するだけです。 | この設定では、Tentacle サーバの設定で暗号化に使用する証明書とキーを入力するだけです。 | ||
- | 手動でサーバを起動する際に、**-e** および | + | 手動で |
- | <code> | + | <file> |
- | # su - pandora -s /bin/bash | + | $ su - pandora -s /bin/bash |
# tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp | # tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp | ||
- | </ | ||
- | クライアントを手動で起動する際には、**-c** パラメータを指定します。 | + | </ |
- | <code> | + | **クライアント** を手動で起動する際には、'' |
- | # echo test > file.txt | + | |
- | # tentacle_client -v -c -a 192.168.70.125 file.txt | + | <file> |
- | </code> | + | $ echo test> file.txt |
+ | $ tentacle_client -v -c -a 192.168.70.125 file.txt | ||
+ | |||
+ | </file> | ||
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | 手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | ||
- | * Tentacle サーバでは、**/ | + | |
- | <code> | + | <file> |
- | | + | ssl_cert tentacle_cert |
- | | + | ssl_key tentacle_key |
- | </ | + | |
- | * Pandora FMS エージェントでは、(OS によって) **/etc/ | + | </file> |
- | | + | |
- | * Pandora FMS サテライトサーバでは、**/ | + | < |
+ | server_opts -c | ||
- | server_opts -c | + | </ |
- | ==== Tentacle | + | * **サテライトサーバ** の場合: |
- | この構成では、Tentacle | + | |
- | サーバを手動で起動する際に、**-e** および | + | < |
+ | server_opts -c | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Tentacle | ||
+ | |||
+ | この設定では、Tentacle サーバの暗号化設定とクライアントに使用される証明書とキーを指定します。 | ||
+ | |||
+ | **サーバ**を手動で起動する際に、'' | ||
+ | |||
+ | < | ||
- | < | ||
# su - pandora -s /bin/bash | # su - pandora -s /bin/bash | ||
# tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp | # tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp | ||
- | </ | ||
- | クライアントを手動で起動する際は、**-e** および **-f** パラメータを指定します。 | + | </ |
- | <code> | + | **クライアント**を手動で起動する際は、'' |
- | # echo test > file.txt | + | |
+ | <file> | ||
+ | # echo test> file.txt | ||
# tentacle_client -v -e tentacle_client_cert -f ca_cert -a 192.168.70.125 file.txt | # tentacle_client -v -e tentacle_client_cert -f ca_cert -a 192.168.70.125 file.txt | ||
- | </code> | + | |
+ | </file> | ||
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | 手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | ||
- | * Tentacle サーバでは、**/ | + | |
- | <code> | + | <file> |
| | ||
| | ||
- | </ | ||
- | * Pandora FMS エージェントでは、(OS によって) **/etc/ | + | </file> |
- | | + | |
- | * Pandora FMS サテライトサーバでは、**/ | + | < |
+ | server_opts -e tentacle_client_cert -f ca_cert | ||
- | | + | </ |
+ | |||
+ | * Pandora FMS **サテライトサーバ** の場合: | ||
+ | |||
+ | < | ||
+ | server_opts -e tentacle_client_cert -f ca_cert | ||
+ | |||
+ | </ | ||
==== 特定の CA の署名をされた Tentacle サーバへクライアントが検証し接続する設定 ==== | ==== 特定の CA の署名をされた Tentacle サーバへクライアントが検証し接続する設定 ==== | ||
+ | |||
この設定では、Tentacle サーバとクライアントの設定で暗号化に使用される証明書とキーを設定します。 | この設定では、Tentacle サーバとクライアントの設定で暗号化に使用される証明書とキーを設定します。 | ||
- | サーバを手動で起動する際に、**-e**、**-k**、**-f** パラメータを指定します。 | + | **サーバ**を手動で起動する際に、'' |
- | <code> | + | <file> |
# su - pandora -s /bin/bash | # su - pandora -s /bin/bash | ||
# tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp | # tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp | ||
- | </ | ||
- | クライアントを手動で起動する際は、**-e** および **-k** パラメータを指定します。 | + | </ |
- | <code> | + | **ライアント**を手動で起動する際は、'' |
- | # echo test > file.txt | + | |
- | # tentacle_client -v -e tentacle_client_cert -k tentacle_client_key -a 192.168.70.125 file.txt | + | <file> |
- | </code> | + | # echo test> file.txt |
+ | # tentacle_client -v \ | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | </file> | ||
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | 手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | ||
- | * Tentacle サーバでは、**/ | + | |
- | <code> | + | <file> |
| | ||
| | ||
| | ||
- | </ | ||
- | * Pandora FMS エージェントでは、(OS によって) **/etc/ | + | </file> |
- | | + | |
- | * Pandora FMS サテライトサーバでは、**/ | + | < |
+ | server_opts -e tentacle_client_cert -k tentacle_client_key | ||
- | | + | </ |
+ | |||
+ | * Pandora FMS **サテライトサーバ** の場合: | ||
+ | |||
+ | < | ||
+ | server_opts -e tentacle_client_cert -k tentacle_client_key | ||
+ | |||
+ | </ | ||
==== Tentacle サーバおよびクライアントの双方が特定の CA の署名を検証する接続設定 ==== | ==== Tentacle サーバおよびクライアントの双方が特定の CA の署名を検証する接続設定 ==== | ||
+ | |||
この設定では、Tentacle サーバとクライアントの双方で暗号化に使用される証明書と鍵を設定します。 | この設定では、Tentacle サーバとクライアントの双方で暗号化に使用される証明書と鍵を設定します。 | ||
- | サーバを手動で起動する際に、**-e**、**-k**、**-f** パラメータを指定します。 | + | サーバを手動で起動する際に、'' |
- | <code> | + | <file> |
# su - pandora -s /bin/bash | # su - pandora -s /bin/bash | ||
# tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp | # tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp | ||
- | </ | ||
- | クライアントを手動で起動する際は、**-e**、**-k**、**-f** パラメータを指定します。 | + | </ |
- | <code> | + | クライアントを手動で起動する際は、'' |
- | # echo test > file.txt | + | |
+ | <file> | ||
+ | # echo test> file.txt | ||
# tentacle_client -v -e tentacle_client_cert -k tentacle_client_key -f ca_cert -a 192.168.70.125 file.txt | # tentacle_client -v -e tentacle_client_cert -k tentacle_client_key -f ca_cert -a 192.168.70.125 file.txt | ||
- | </code> | + | |
+ | </file> | ||
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | 手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。 | ||
- | * Tentacle サーバでは、**/ | + | |
- | <code> | + | <file> |
| | ||
| | ||
| | ||
- | </ | ||
- | * Pandora FMS エージェントでは、(OS によって) **/etc/ | + | </file> |
- | | + | |
- | * Pandora FMS サテライトサーバでは、**/ | + | < |
+ | server_opts -e tentacle_client_cert -k tentacle_client_key -f ca_cert | ||
- | | + | </ |
+ | |||
+ | * Pandora FMS **サテライトサーバ** の場合: | ||
+ | |||
+ | < | ||
+ | server_opts -e tentacle_client_cert -k tentacle_client_key -f ca_cert | ||
+ | |||
+ | </ | ||
==== Tentacle 暗号化設定 ==== | ==== Tentacle 暗号化設定 ==== | ||
行 208: | 行 304: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | Tentacle 暗号化オプションを使用するには、パッケージ '' | + | Tentacle 暗号化オプションを使用するには、システムにパッケージ '' |
</ | </ | ||
- | 前の章では、さまざまな組み合わせについて詳しく説明しました。 この章では、パスワード、Tentacle プロキシサーバ、オプション設定をするための '' | + | 前の章では、さまざまな組み合わせについて詳しく説明しました。 この章では、パスワードオプション、Tentacle プロキシサーバ、および設定を追加するための '' |
- | **パスワードベースの認証によるシンプルな通信** | + | **パスワード認証での単純な転送:** |
- | パスワード用のサーバの追加パラメータ: | + | パスワード認証のためのサーバのパラメータ: |
- | | + | < |
+ | -x password | ||
- | パスワード用のクライアントの追加パラメータ('' | + | </ |
- | -x password | + | パスワード認証のためのクライアントのパラメータ( '' |
- | **クライアント証明無しの暗号化通信** | + | < |
+ | -x password | ||
- | サーバの追加パラメータ: | + | </ |
- | -e tentacle_cert -k tentacle_key | + | **クライアント証明無しでの暗号化転送: |
- | **クライアント証明ありの暗号化通信** | + | サーバのパラメータ: |
- | サーバの追加パラメータ: | + | < |
+ | -e tentacle_cert -k tentacle_key | ||
- | -e tentacle_cert -k tentacle_key -f ca_cert | + | </ |
- | クライアントの追加パラメータ('' | + | **クライアント証明有りでの暗号化転送:** |
- | -e tentacle_client_cert -k tentacle_client_key | + | サーバのパラメータ: |
- | **クライアント証明および追加のパスワード認証での暗号化通信** | + | < |
+ | -e tentacle_cert -k tentacle_key -f ca_cert | ||
- | サーバの追加パラメータ: | + | </ |
- | -x password -e tentacle_cert -k tentacle_key -f ca_cert | + | クライアントのパラメータ( '' |
- | クライアントの追加パラメータ('' | + | < |
+ | -e tentacle_client_cert -k tentacle_client_key | ||
- | | + | </ |
+ | |||
+ | **クライアント証明書およびパスワード認証での暗号化転送: | ||
+ | |||
+ | サーバのパラメータ: | ||
+ | |||
+ | < | ||
+ | -x password -e tentacle_cert -k tentacle_key -f ca_cert | ||
+ | |||
+ | </ | ||
+ | |||
+ | クライアントのパラメータ( '' | ||
+ | |||
+ | < | ||
+ | -x password -e tentacle_client_cert -k tentacle_client_key | ||
+ | |||
+ | </ | ||
=== Tentacle プロキシを使った暗号化設定例 === | === Tentacle プロキシを使った暗号化設定例 === | ||
- | Tentacle プロキシサーバを利用して、安全な通信のためにソフトウェアエージェントと Tentacle サーバの両方を設定する方法を段階的に説明します。 | + | Tentacle プロキシサーバを利用した暗号化通信のためのソフトウェアエージェントと Tentacle サーバ両方の設定方法を段階的に説明します。 前の章で述べた証明書の名前と鍵を確認してください。パラメータに関しても確認してください。 |
**手動テスト: | **手動テスト: | ||
行 257: | 行 374: | ||
1. tentacle_server を手動起動します: | 1. tentacle_server を手動起動します: | ||
- | <code> | + | <file> |
sudo -u user tentacle_server \ | sudo -u user tentacle_server \ | ||
-x password \ | -x password \ | ||
行 263: | 行 380: | ||
-k tentacle_key \ | -k tentacle_key \ | ||
-f ca_cert -s /tmp -v | -f ca_cert -s /tmp -v | ||
- | </code> | + | |
+ | </file> | ||
2. プロキシを手動起動します: | 2. プロキシを手動起動します: | ||
- | | + | < |
+ | sudo -u user tentacle_server -b ip_server -g 41124 | ||
+ | |||
+ | </ | ||
3. tentacle_client を手動で起動します: | 3. tentacle_client を手動で起動します: | ||
- | <code> | + | <file> |
sudo -u user tentacle_client \ | sudo -u user tentacle_client \ | ||
-a ip_proxy/ | -a ip_proxy/ | ||
行 278: | 行 399: | ||
-k tentaclekey.pem \ | -k tentaclekey.pem \ | ||
-v file | -v file | ||
- | </code> | + | |
+ | </file> | ||
ファイルが正常に送信されたことを確認したら、tentacle_server とクライアントの永続的な設定に進みます。 | ファイルが正常に送信されたことを確認したら、tentacle_server とクライアントの永続的な設定に進みます。 | ||
行 288: | 行 410: | ||
1. SSL つきでサーバを開始します。起動スクリプト ''/ | 1. SSL つきでサーバを開始します。起動スクリプト ''/ | ||
- | | + | {{ :wiki:pfms-etc-tentacle-tentacle_server_dot_conf.png |
- | + | ||
- | 行全体は次のようになります。 | + | |
- | TENTACLE_EXT_OPTS ="-i.*\.conf: | + | <WRAP center round tip 75%> |
+ | </ | ||
2. プロキシを開始します。1. ど同様に、プロキシとして動作させるマシンで起動スクリプト ''/ | 2. プロキシを開始します。1. ど同様に、プロキシとして動作させるマシンで起動スクリプト ''/ | ||
- | | + | {{ :wiki:pfms-etc-tentacle-tentacle_server_dot_conf_proxy.png |
- | 行全体は次のようになります。 | + | <WRAP center round tip 75%> |
- | + | </ | |
- | TENTACLE_EXT_OPTS =" | + | |
3. 対応するオプションをつけてソフトウエアエージェントを開始します。'' | 3. 対応するオプションをつけてソフトウエアエージェントを開始します。'' | ||
- | | + | < |
+ | -x password -e tentacle_client_cert -k tentacle_client_key | ||
+ | |||
+ | </ | ||
**server_ip** で指定するアドレスは、監視サーバではなくプロキシサーバの IP にすることに注意してください。server_ops の行全体は次のようになります。 | **server_ip** で指定するアドレスは、監視サーバではなくプロキシサーバの IP にすることに注意してください。server_ops の行全体は次のようになります。 | ||
- | | + | < |
+ | server_opts -x password -e tentacle_client_cert -k tentacle_client_key | ||
+ | |||
+ | </ | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
行 316: | 行 442: | ||
==== Tentacle データ圧縮 ==== | ==== Tentacle データ圧縮 ==== | ||
- | <WRAP center round tip 60%> | + | <WRAP center round tip 60%>\\ |
- | バージョン NG 725 以上 | + | バージョン NG 725 以上\\ |
- | </ | + | </ |
Tentacle では、コマンドラインのオプション '' | Tentacle では、コマンドラインのオプション '' | ||
行 332: | 行 458: | ||
''/ | ''/ | ||
- | | + | < |
+ | server_opts -z | ||
+ | |||
+ | </ | ||
| | ||
[[: | [[: |