Tentacle プロトコル仕様
Tentacle について
Tentacle is a client/server file transfer protocol that is:
Tentacle は、以下を意識したクライアント/サーバのファイル転送プロトコルです。
- 安全な設計
- 使いやすい
- 汎用性とクロスプラットフォーム
Tentacle was created to replace more complex tools like SCP / SSH and FTP for simple file transfer/retrieval, and switch from less safe authentication systems like .netrc, as well as automated interactive logins with expect, and SSH keys, to start using a certification based on the standard X.509, using certificates.
Tentacle は、SCP / SSH および FTP のようなより複雑なツールの置き換えとして、認証の仕組みも .netrc のようなものや、expect を使ったインタラクティブなログインおよび SSH キーなど、X.509 を使ったものから、簡単にファイルを転送できるツールとして作成されました。
The client and server are designed to be run from the command line or called from a shellscript. Since 2008, Tentacle is the default file transfer method for Pandora FMS, replacing SCP.
クライアントとサーバは、コマンドラインやシェルスクリプトから呼び出されて動くように設計されています。2008年以降、Tentacle は SCP に代わって Pandora FMS のデフォルトのファイル転送方式です。
Tentacle is implemented in Perl and ANSI C (MS Windows® platforms included).
Tentacle は、Perl および ANSI C (Windows プラットフォームも含む)で実装されています。
You can download it and find more information at the official Sourceforge project website.
ダウンロードおよび詳細情報の確認は、Sourceforge 上の公式のウェブサイト でできます。
Quick access:
目次:
GNU Linux Tentacle ユーザガイド
PERL 版のインストール
SourceForge からのインストール
To install Tentacle server you must have rights equivalent to root user, after having installed it you can run it as a standard user.
Tentacle サーバをインストールするには、root ユーザ権限が必要です。インストール後は標準ユーザとして実行できます。
Get the file tentacle_server-762.tar.gz
from Source Forge Net:
https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/
For example (you must have wget installed):
wget https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/tentacle_server-762.tar.gz
SourceForge から tentacle_server-762.tar.gz
というファイルを取得します。
https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/
例 (wget がインストールされている必要があります):
wget https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/tentacle_server-762.tar.gz
Installing on Rocky Linux 8
Rocky Linux 8 でのインストール
- Unzip the downloaded file with
tar xzvf tentacle_server-762.tar.gz
. - Install the Perl language with
dnf install perl
. - Enter the directory with
cd tentacle
. - Install with
./tentacle_server_installer –install
.
tar xzvf tentacle_server-762.tar.gz
にてダウンロードしたファイルを展開します。dnf install perl
で perl をインストールします。cd tentacle
でディレクトリに入ります。./tentacle_server_installer –install
にてインストールします。
Installing on CentOS 7
CentOS 7 でのインストール
- Unzip the downloaded file with
tar xzvf tentacle_server-762.tar.gz
. - Install the Perl language
yum install perl perl-IO-Compress zlib
. - Enter the directory with
cd tentacle
. - Install with
./tentacle_server_installer –install
.
tar xzvf tentacle_server-762.tar.gz
にてダウンロードしたファイルを展開します。yum install perl perl-IO-Compress zlib
で perl をインストールします。cd tentacle
でディレクトリに入ります。./tentacle_server_installer –install
にてインストールします。
SVN からのインストール
The process consists on downloading the source code through Apache® Subversion® (svn) and compile it. To that end, you will need to have admin or root rights (in this documentation they are the lines that start with the numeral character #
). You are the sole responsible for said key.
この処理は、Apache® Subversion®(svn)を用いてソースコードをダウンロードしコンパイルすることで行います。そのためには、admin または root 権限が必要です(このドキュメントでは、#
で始まる行です)。
To install both the client and the server version run:
クライアントとサーバの *両方* をインストールするには次のようにします。
$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/perl/ tentacle $ cd tentacle $ perl Makefile.PL $ make # make install
To install just the client, run:
クライアントのみインストールする場合は以下の通りです。
$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/perl/client $ cd client $ perl Makefile.PL $ make # make install
To install just the server, run:
サーバのみインストールする場合は以下の通りです。
$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/trunk/perl/server $ cd server $ perl Makefile.PL $ make # make install
If you want to install to a custom location, replace:
特定の場所にインストールしたい場合は、以下の代わりに
$ perl Makefile.PL
by:
次のようにします。
$ perl Makefile.PL PREFIX=/ubication
手動インストール
If make is not available in your system, you can manually copy the files tentacle_client
and tentacle_server
to the appropriate place (for example, /usr/local/bin
).
システムに make が無い場合は、tentacle_client
と tentacle_server
を手動で適切な場所(例えば /usr/local/bin
)にコピーすることもできます。
In this case, if the Perl binary is not located at /usr/bin/perl
edit both files and change the first line so that it points to the right path where the Perl binary is. So, for instance, replace ubication
by the Perl location in the system to be installed.
このとき、Perl のバイナリが /usr/bin/perl
にない場合は、双方のファイルの 1行目を Perl バイナリが置かれている適切なパスに修正します。例えば、Perl がインストールされている場所に ubication
を変更します。
#!/ubication/perl
C言語版のインストール
SVN からのインストール
Bearing in mind the prior section, to install the Tentacle client, run:
Tentacle クライアントをインストールするには、次のようにします。
$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/c/ tentacle $ cd tentacle $ ./configure $ make # make install
Make sure to check the configure output for errors, missing headers etc.
configure の出力エラー、ヘッダーファイルの不足などを確認します。
To disable OpenSSL support, enabled by default, replace:
OpenSSL 開発ライブラリがあるとデフォルトで OpenSSL 対応が有効化されますが、無効化したい場合は、以下を
$ ./configure
by:
次のようにします。
$ ./configure –disable-ssl
Tentacle 利用例
To see the available options, execute -h
parameter, both in the client and server version:
存在する全オプションを表示するには、クライアント、サーバ共に -h
パラメータを付けて実行します。
$ tentacle_client -h Usage: tentacle_client [options] [file] [file] ... Tentacle client v0.4.0. Options: -a address Server address (default 127.0.0.1). -b localaddress Local address to bind. -c Enable SSL without a client certificate. -e cert OpenSSL certificate file. Enables SSL. -f ca Verify that the peer certificate is signed by a ca. -g Get files from the server. -h Show help. -k key OpenSSL private key file. -p port Server port (default 41121). -q Quiet. Do now print error messages. -r number Number of retries for network operations (default 3). -t time Time-out for network operations in seconds (default 1s). -v Be verbose. -w Prompt for OpenSSL private key password. -x pwd Server password. -y proxy Proxy server string (user:password@address:port).
$ tentacle_server -h Usage: /usr/local/bin/tentacle_server -s <storage directory> [options] Tentacle server v0.6.2. See https://pandorafms.com/docs/ for protocol description. Options: -a ip_addresses IP addresses to listen on (default 0,0.0.0.0). (Multiple addresses separated by comma can be defined.) -c number Maximum number of simultaneous connections (default 10). -d Run as daemon. -e cert OpenSSL certificate file. Enables SSL. -f ca_cert Verify that the peer certificate is signed by a ca. -F config_file Configuration file full path. -h Show help. -I Enable insecure operations (file listing and moving). -i Filters. -k key OpenSSL private key file. -l log_file File to write logs. -m size Maximum file size in bytes (default 2000000b). -o Enable file overwrite. -p port Port to listen on (default 41121). -q Quiet. Do now print error messages. -r number Number of retries for network opertions (default 3). -s Storage directory -S (install|uninstall|run) Manage the win32 service. -t time Time-out for network operations in seconds (default 1s). -v Be verbose (display errors). -V Be verbose on hard way (display errors and other info). -w Prompt for OpenSSL private key password. -x pwd Server password. -b ip_address Proxy requests to the given address. -g port Proxy requests to the given port. -T Enable tcpwrappers support. (To use this option, 'Authen::Libwrap' should be installed.)
Predefined values for all options will also be shown in the help section.
すべてのオプションで事前定義された値もヘルプに表示されます。
For all of the following examples. the server is located at the address 192.168.1.1 and the client private key is not protected by pasword.
以降の例では、サーバアドレスは 192.168.1.1 で、クライアントの秘密鍵はパスワードで保護されていません。
- Simple transfer of a file limited to a maximum of 1 megabyte and placed in
/tmp
:
- 最大 1MB で
/tmp
にあるファイルの単純な転送:
$ tentacle_server -m 1048576 -s /tmp -v $ tentacle_client -a 192.168.1.1 -v /home/user/myfile.dat
- Simple transfer on port 65000 with overwrite mode enabled:
- 上書きモード有効にして 65000 番ポートでの単純な転送:
$ tentacle_server -o -p 65000 -s /tmp -v $ tentacle_client -a 192.168.1.1 -p 65000 -v /home/user/myfile.dat
- Simple transfer with authentication based on password:
- パスワード認証による単純な転送:
$ tentacle_server -x password -s /tmp -v $ tentacle_client -a 192.168.1.1 -x password -v /home/user/myfile.dat
- Safe transfer, with no client certificate:
- クライアント証明書無しの暗号化転送:
$ tentacle_server -e cert.pem -k key.pem -w -s /tmp -v $ tentacle_client -a 192.168.1.1 -c -v /home/user/myfile.dat
- Safe transfer with client certificate:
- クライアント証明書有りの暗号化転送:
$ tentacle_server -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v $ tentacle_client -a 192.168.1.1 -e cert.pem -k key.pem -v /home/user/myfile.dat
- Safe transfer with client certificate and additional authentication with password (notice the use of the connector
\
to make parameter writing easier):
- クライアント証明書有りでパスワード認証を付けた暗号化転送 (パラメータをわかりやすくするために、
\
を利用して改行していることに注意してください)
$ tentacle_server -x password -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v $ tentacle_client \ -a 192.168.1.1 \ -x password \ -e cert.pem \ -k key.pem \ -v /home/user/myfile.dat
The Tentacle server allows its configuration through a plain text file. All command line options are available through said file. If the same configuration option is specified both in the file and the command line, the value indicated in the latter will have preference. The full path to the configuration file is indicated with the option -F
Tentacle サーバでは、プレーンテキストファイルで設定できます。 すべてのコマンドラインオプションは設定ファイルでも指定できます。ファイルとコマンドラインの両方で同じ設定オプションが指定されている場合、後から設定された値が優先されます。設定ファイルへのフルパスは、オプション -F
で指定します。
$ tentacle_server -F /etc/tentacle/tentacle_server.conf
Tentacle プロキシ
The Tentacle server can act as a proxy, communicating many Tentacle clients to an inaccessible Tentacle server.
Tentacle サーバは、多くの tentacle クライアントが直接通信できない tentacle サーバとの通信を中継するプロキシとしても動かすことができます。
The following diagram shows how the Tentacle proxy server works:
以下は、どのように tentacle プロキシが動作するかを示した図です。
The proxy does not have any information, but only sends the information from the clients to the Tentacle server. For example, to launch the Tentacle server in proxy mode use the following parameters:
プロキシは情報を持たず、データをクライアントから tentacle サーバへ転送するだけです。例えば、tentacle サーバをプロキシモードで起動するには、次のようなパラメータを利用します。
$ tentacle_server -b 192.168.200.200 -g 65000
These parameters are IP address (-b
) and port (-g
) of the unreachable tentacle server. Also add the normal parameters on a single line:
これらのパラメータは、クライアントから直接アクセスできない tentacle サーバの IP アドレス (-b) および ポート (-g) です。通常のパラメータも一緒に指定できます。
$ tentacle_server -a 192.168.100.100 -p 45000 -b 192.168.200.200 -g 65000
The tentacle in proxy mode also supports authentication and encryption parameters.
Tentacle プロキシも、認証 および 暗号化 に対応しています。
Windows 版 PERL のインストール
This brief guide is conceived to help configure and execute Tentacle client and server on MS Windows®.
この簡易ガイドは、MS Windows® で Tentacle クライアントとサーバを設定および実行するためのものです。
Perl 版のインストール
Perl 環境のインストール
Through ActiveState® download ActivePerl 5.8 through the following link https://www.activestate.com/products/downloads/ and execute the installer with the default options.
ActiveState® の https://www.activestate.com/products/downloads/ から、ActivePerl 5.8 をダウンロードし、デフォルトオプションでインストーラを実行します。
モジュール IO-Socket-SSL のインストール
Download and install OpenSSL from:
OpenSSL を以下からダウンロードします。
http://gnuwin32.sourceforge.net/packages/openssl.htm
Download the following perl modules:
以下の perl モジュールをダウンロードします。
http://archive.apache.org/dist/perl/win32-bin/ppms/Net_SSLeay.pm.ppd http://archive.apache.org/dist/perl/win32-bin/ppms/IO-Socket-SSL.ppd
And run from the command prompt in the directory where the .ppd
files are located:
.ppd
ファイルがあるディレクトリでコマンドプロンプトから以下を実行します。
ppm install Net_SSLeay.pm.ppd ppm install IO-Socket-SSL.ppd
Tentacle クライアントとサーバの実行
The execution is similar to that of systems Unix/Linux, just enter the Perl command at the beginning, followed by the whole syntax, for instance:
実行は、Unix/Linux システムと似ており、最初に perl コマンド、その後に実行プログラムを指定します。例:
> perl tentacle_client -v c:\file> perl tentacle_server -q -s c:\tmp
Tentacle プロトコル定義
The Tentacle protocol itself is very simple and straightforward. Some important characteristics are:
Tentacle プロトコル自体は非常に簡単です。いくつかの重要な特徴は次の通りです。
- Communication is always initiated from the client side.
- Commands are always terminated by a newline character.
- The following characters can not be part of a file name:
- 通信は、常にクライアント側から開始します。
- コマンドは、常に改行コードで終了します。
- 次の文字はファイル名には利用できません:
'?[]/\=+<>:;',*~'
ASCII sequence diagrams will be used to illustrate use cases. Commands are enclosed in single quotes.
ASCII 文字でのシーケンス図でユースケースを説明します。コマンドはシングルクォートでくくります。
ファイル送信
A successful file transfer is shown first.
まず最初に、正しくファイル転送できた場合を示します。
To allow multiple file transfers within the same session, a new SEND command may be sent after a successful file transfer and before a QUIT.
一つのセッションで複数のファイル転送ができるように、一つのファイル転送が完了したあと、QUIT の前に新たな SEND コマンドを送ることができます。
If the server refuses to accept a file, a generic error message is sent back to the client. For security reasons, no details are provided. This happens if the file:
もし、サーバがファイルの受け取りを拒否する場合は、クライアントにエラーメッセージが返されます。セキュリティ上の理由により詳細は示しませんが、ファイルが以下の場合に発生します。
- Has an invalid file name, or a path is specified.
- Is empty or exceeds the server's maximum allowed size.
- Already exists on the server and file overwrite is not enabled.
- 不正なファイル名やパスが指定された。
- 空もしくはサーバが受け取れる最大サイズを超過した。
- すでにサーバ上にファイルがあり、ファイルの上書きが許可されていない。
ファイル受信
Single files can be requested from the server.
単一のファイルをサーバから要求できます。
The client has the chance to reject the file after the server reports its size.
クライアントは、サーバがサイズを報告してきた後にファイル受け取り拒否が可能です。
As with SEND, a new RECV command may be sent after a successful file retrieval (even if the file was rejected by the client) and before a QUIT command. A generic error message is sent if the server refuses to send the file. The latter happens if the file:
SEND と同様に、一つのファイルの受け取りが完了した後に、QUIT の前に(クライアントがファイル受信を拒否した場合でも)新たな RECV コマンドを送信することができます。サーバがファイル送信を拒否した場合は、エラーメッセージが送られます。ファイルが次のような場合に発生します。
- Has an invalid file name, or a path is specified.
- Does not exist on the server.
- 不正なファイル名やパスが指定された。
- サーバにファイルが存在しない。
パスワード認証
If the server requires a password, the client must authenticate before sending any other command.
サーバがパスワードを要求した場合、クライアントはコマンド送信前に認証を行う必要があります。
A double MD5 of the password is sent to hide the actual password, but bear in mind that this does NOT add any extra security under an unencrypted connection. If you need secure file transfers always enable SSL-encrypted connections.
パスワードを隠蔽するためにパスワードの 2段階の md5 が送信されます。しかし、非暗号化接続では、それ以上のセキュリティは ない ことに注意してください。セキュアなファイル転送が必要な場合には、常に SSL を有効化してください。
エラー処理
Under any error condition the server will shut down the connection without giving any explanation. Be it because of a bad command, a bad password, more data than that reported being sent, etc.
エラー状態になると、サーバは何らかの説明を行うことなく接続を切ります。不正なコマンド、不正なパスワード、送信すると通知したものよりも多くのデータ送信などの場合です。
By default, the Tentacle log is configured at /dev/null
.
デフォルトでは、Tentacle のログ出力先は /dev/null
になっています。
OpenSSL 証明書クイックガイド
This is just a quick guide that will get you started with OpenSSL certificates. See http://www.openssl.org/docs/ for documentation.
これは、OpenSSL 証明書を使う場合のクイックガイドです。http://www.openssl.org/docs/ もあわせて参照してください。
証明書の作成
Preparing the environment:
環境の準備をします。
$ mkdir demoCA $ mkdir demoCA/newcerts $ mkdir demoCA/private
Remember to set in place, for safety reasons, writing and reading permissions of the different users in your system in the recently created folders.
セキュリティ上の理由から、作成したフォルダに必要なユーザの書き込みと読み取りのアクセス権限を設定することを忘れないでください。
The following step is make a self-signed CA certificate and move it to the created directories:
次の手順では、自己署名 CA 証明書を作成し、作成したディレクトリに移動します。
$ openssl req -new -x509 -keyout cakey.pem -out cacert.pem $ mv cakey.pem demoCA/private/ $ mv cacert.pem demoCA/
Fill in the requested fields for the certificate and remember them because you will need them again later on, exactly the same ones. Now create a certificate request:
証明書の要求されたフィールドに入力し、後で同じ情報を使うため、それを記録しておいてください。 次に、証明書署名要求を作成します。
$ openssl req -new -keyout tentaclekey.pem -out tentaclereq.pem -days 360
Sign the certificate request, setting in addition a consecutive serial as a control and aduting system:
証明書署名要求に署名し、連続したシリアルを設定して制御および監査システムに設定します。
$ cat tentaclereq.pem tentaclekey.pem> tentaclenew.pem $ touch demoCA/index.txt $ echo "01">> demoCA/serial $ openssl ca -out tentaclecert.pem -in tentaclenew.pem
Bear on mind that if the random load file presents some inconvenient, you may delete it with root user rights: sudo rm ~/.rnd
. That way it may be created again with your own writing and reading permissions. You are the sole responsible for said root key.
ランダムファイル に不便な点がある場合は、root ユーザで削除できます: sudo rm ~/.rnd
そうすれば、書き込みおよび読み取り権限のあるユーザで再度作成できます。 あなたが、上記の root キーの唯一の責任者です。
自己証明書の作成
$ openssl req -new -x509 -keyout tentaclekey.pem -out tentaclecert.pem -days 360
RSA 秘密鍵の作成
This is very useful to avoid having to enter a password on the client side using Tentacle.
これは、クライアント側で Tentacle 利用の際にパスワードの入力をする必要が無く便利です。
Generate the key:
鍵生成:
$ openssl genrsa -out tentaclekey.pem
And replace -keyout
with -key
on the previous steps.
上記の手順で -keyout
を -key
に置き換えます。
証明書の他のフォーマットへのエクスポート
Certificates can be required in DER format instead of PEM for some operative systems (such as Ubuntu® or Windows®). If that is the case, you may obatin the certificate of said format through the generated PEM:
一部のオペレーティングシステム(Ubuntu® や Windows® など)では、PEM ではなく DER 形式の証明書が必要になる場合があります。 その場合は、生成された PEM を介して上記の形式の証明書を取得できます。
openssl x509 -outform der -in tentaclecert.pem -out tentaclecert.der
セキュリティオプション付での Tentacle 設定ガイド
This guide will explain step by step how to configure both Agent Software and Tentacle server to ensure safe communication.
このガイドでは、安全な通信を確保するために エージェントソフトウェア と Tentacle サーバ の両方を設定する方法を段階的に説明します。
First, it is recommended to carry out manual tests from the devices to make sure configuration, parameters and certificates are correct.
まず、デバイスから手動テストを実行して、設定、パラメータ、および証明書が正しいことを確認することをお勧めします。
Then configure permanently the according configuration files:
次に、それに応じた次の設定ファイルを永続的に設定します。
Tentacle servers
Tentacle サーバ
/etc/tentacle/tentacle_server.conf
Unix/Linux software agents
Unix/Linux ソフトウエアエージェント
/etc/pandora/pandora_agent.conf
MS Windows® software agents
MS Windows® ソフトウエアエージェント
%ProgramFiles%\pandora_agent\pandora_agent.conf
Satellite servers
サテライトサーバ
ect/pandora/satellite_server.conf
Tentacle Proxy servers
Tentacle プロキシサーバ
/etc/tentacle/tentacle_server.conf
Remember to restart the according services after any modification. In the case of Unix/Linux, you may also use the option TENTACLE_EXT_OPTS
located at /etc/init.d/tentacle_serverd
(you may check the rest of the options for said daemon in this link ).
変更後は関連するサービスを再起動するこを忘れないようにしてください。Unix/Linux の場合は /etc/init.d/tentacle_serverd
の TENTACLE_EXT_OPTS
オプションを使うこともできます。(その他のオプションについては こちらのリンク を確認してください。)
通信の暗号化
Both the Tentacle server and the Software Agents can use a secure communication with certificates and password, either direct communication between both, or through a Tentacle Proxy server.
Tentacleサーバーとソフトウェアエージェントの両方が、証明書とパスワードを使用した安全な通信を使用できます。両方の間で直接通信するか、Tentacle プロキシサーバを介して通信します。
It is ALWAYS necessary to indicate in the parameters the absolute paths where the certificates are located, e.g. /etc/ssl/tentaclecert.pem
常に証明書がある場所は絶対パスで指定する必要があります。例: /etc/ssl/tentaclecert.pem
To use Tentacle's secure options, please verify that the package perl(IO::Socket::SSL)
is installed on your system.
Tentacle の暗号化オプションを利用するには、システムに perl(IO::Socket::SSL)
パッケージがインストールされていることを確認してください。
In the previous sections the various combinations are explained in detail; in this section the password options, Tentacle Proxy server and the use of TENTACLE_EXT_OPTS
para fijar configuraciones. to set configurations are added. Also review in this earlier section the certificate names and keys on each side. A simplified syntax is used for didactic purposes only:
前の章では、さまざまな組み合わせについて詳しく説明しました。 この章では、パスワードオプション、Tentacle プロキシサーバ、および設定を追加するための TENTACLE_EXT_OPTS
パラメータについて説明します。また、前述の、証明書名とキーを確認してください。説明の目的で簡略化した表現をしています。
Simple transfer with password-based authentication:
パスワード認証での単純な転送:
Extra parameter in the server for password:
パスワード認証のためのサーバのパラメータ:
-x password
Extra parameter in the client for password ( TENTACLE_EXT_OPTS
):
パスワード認証のためのクライアントのパラメータ( TENTACLE_EXT_OPTS
):
-x password
Secure transfer, without client certificate:
クライアント証明無しでの暗号化転送:
Extra parameters on the server:
サーバのパラメータ:
-e tentacle_cert -k tentacle_key
Secure transfer with customer certificate
クライアント証明有りでの暗号化転送:
Extra parameters on the server:
サーバのパラメータ:
-e tentacle_cert -k tentacle_key -f ca_cert
Extra parameters in the client ( TENTACLE_EXT_OPTS
):
クライアントのパラメータ ( TENTACLE_EXT_OPTS
):
-e tentacle_client_cert -k tentacle_client_key
Secure transfer with client certificate and additional password authentication:
クライアント証明書およびパスワード認証での暗号化転送:
Extra parameters on the server:
サーバのパラメータ:
-x password -e tentacle_cert -k tentacle_key -f ca_cert
Extra parameters in the client ( TENTACLE_EXT_OPTS
):
クライアントのパラメータ ( TENTACLE_EXT_OPTS
):
-x password -e tentacle_client_cert -k tentacle_client_key
証明書を用いて Tentacle サーバが任意のクライアントからの暗号化接続を受け付ける設定
For this configuration, just enter the certificate and key used for encryption in Tentacle server configuration.
この設定では、Tentacle サーバの設定で暗号化に使用する証明書とキーを入力するだけです。
When laucnhing the server manually, include the parameters -e
and -k
:
手動で サーバ を起動する際に、-e
および -k
パラメータを指定します。
$ su - pandora -s /bin/bash # tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp
Launch in the client manually, include the -c
parameter:
クライアント を手動で起動する際には、-c
パラメータを指定します。
$ echo test> file.txt $ tentacle_client -v -c -a 192.168.70.125 file.txt
If this manual execution works properly, you may continue with the permanent configuration in the appropriate file:
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。
- For Tentacle servers:
- Tentacle サーバ の場合:
ssl_cert tentacle_cert ssl_key tentacle_key
- For Software Agents:
- ソフトウエアエージェント の場合:
server_opts -c
- For Satellite servers:
- サテライトサーバ の場合:
server_opts -c
Tentacle サーバが特定の CA の署名がされたクライアントの検証をして接続を受け付ける設定
For this configuration, indicate de certificate and key used for encryption in Tentacle server configuration and client encryption certificates.
この設定では、Tentacle サーバの暗号化設定とクライアントに使用される証明書とキーを指定します。
When launching the server manually, include the -e
and -k
parameters:
サーバを手動で起動する際に、-e
および -k
パラメータを指定します。
# su - pandora -s /bin/bash # tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp
When launching the client manually, include the -e
and -f
parameters:
クライアントを手動で起動する際は、-e
および -f
パラメータを指定します。
# echo test> file.txt # tentacle_client -v -e tentacle_client_cert -f ca_cert -a 192.168.70.125 file.txt
If this manual execution works properly, permanent configuration will be possible in the appropriate file.
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。
- For Tentacle servers:
- Tentacle サーバ の場合:
ssl_cert tentacle_cert ssl_key tentacle_key
- For Pandora FMS Software Agents:
- Pandora FMS ソフトウエアエージェント の場合:
server_opts -e tentacle_client_cert -f ca_cert
- For Pandora FMS Satellite servers:
- Pandora FMS サテライトサーバ の場合:
server_opts -e tentacle_client_cert -f ca_cert
特定の CA の署名をされた Tentacle サーバへクライアントが検証し接続する設定
For this configuration, indicate the certificates and keys used for encryption in Tentacle server and client configuration.
この設定では、Tentacle サーバとクライアントの設定で暗号化に使用される証明書とキーを設定します。
When launching the server manually, include the -e
, -k
and -f
parameters:
サーバを手動で起動する際に、-e
、-k
、-f
パラメータを指定します。
# su - pandora -s /bin/bash # tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp
When launching the client manually, include the -e
and -k
parameters (notice the use of the line connector \
:
ライアントを手動で起動する際は、-e
および -k
パラメータを指定します。(改行のため \
を使っています)
# echo test> file.txt # tentacle_client -v \ -e tentacle_client_cert \ -k tentacle_client_key \ -a 192.168.70.125 file.txt
If this manual execution works properly, permanent configuration will be possible in the appropriate file.
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。
- For Tentacle servers:
- Tentacle サーバ の場合:
ssl_cert tentacle_cert ssl_ca ca_cert ssl_key tentacle_key
- For Pandora FMS Software Agents:
- Pandora FMS ソフトウエアエージェント の場合:
server_opts -e tentacle_client_cert -k tentacle_client_key
- For Pandora FMS Satellite servers:
- Pandora FMS サテライトサーバ の場合:
server_opts -e tentacle_client_cert -k tentacle_client_key
Tentacle サーバおよびクライアントの双方が特定の CA の署名を検証する接続設定
For this configuration, indicate the certificates and keys used for encryption in Tentacle server and client configuration.
この設定では、Tentacle サーバとクライアントの双方で暗号化に使用される証明書と鍵を設定します。
When launching the server manually, include the -e
, -k
and -f
parameters:
サーバを手動で起動する際に、-e
、-k
、-f
パラメータを指定します。
# su - pandora -s /bin/bash # tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp
When launching the client manually, include the -e
, -k
and -f
parameters:
クライアントを手動で起動する際は、-e
、-k
、-f
パラメータを指定します。
# 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
If this manual execution works properly, permanent configuration will be possible.
手動実行で正しく動作することが確認できたら、それで動作するように設定を行います。
- For Tentacle servers:
- Tentacle サーバ の場合:
ssl_cert tentacle_cert ssl_ca ca_cert ssl_key tentacle_key
- For Pandora FMS Software Agents:
- Pandora FMS ソフトウエアエージェント の場合:
server_opts -e tentacle_client_cert -k tentacle_client_key -f ca_cert
- For Pandora FMS Satellite servers:
- Pandora FMS サテライトサーバ の場合:
server_opts -e tentacle_client_cert -k tentacle_client_key -f ca_cert
Tentacle 暗号化設定
Both the Tentacle server and the software agents can use safe communication through certificates and password, either directly between them or through a Tentacle Proxy.
Tentacle サーバとソフトウェアエージェントの両方が、証明書とパスワードを介して、直接または Tentacle プロキシを介して安全な通信を使用できます。
ALWAYS indicate in the parameters the absolute paths where the certificates are found, for example /etc/ssl/tentaclecert.pem
常に、証明書の絶対パスをパラメーターに指定します。例えば、 /etc/ssl/tentaclecert.pem
です。
To use Tentacle safe options, please verify the package perl(IO::Socket::SSL)
is installed on your system.
Tentacle 暗号化オプションを使用するには、システムにパッケージ perl(IO::Socket::SSL)
がインストールされていることを確認してください。
In previous sections, the different combinations are explained in detail; in this section we add options such as password, Tentacle Proxy server and the use of TENTACLE_EXT_OPTS
Check in the previous section the names of the certificates and the keys on each side. A simplified syntax is used just for learning purposes:
前の章では、さまざまな組み合わせについて詳しく説明しました。 この章では、パスワードオプション、Tentacle プロキシサーバ、および設定を追加するための TENTACLE_EXT_OPTS
パラメータについて説明します。また、前述の、証明書名とキーを確認してください。説明の目的で簡略化した表現をしています。
Simple transfer with password-based authentication:
パスワード認証での単純な転送:
Extra parameter in the server for password:
パスワード認証のためのサーバのパラメータ:
-x password
Extra parameter in the client for password ( TENTACLE_EXT_OPTS
):
パスワード認証のためのクライアントのパラメータ( TENTACLE_EXT_OPTS
):
-x password
Safe transfer, with no client certificate:
クライアント証明無しでの暗号化転送:
Extra server parameters:
サーバのパラメータ:
-e tentacle_cert -k tentacle_key
Safe transfer with client certificate
クライアント証明有りでの暗号化転送:
Extra server parameters:
サーバのパラメータ:
-e tentacle_cert -k tentacle_key -f ca_cert
Extra client parameters ( TENTACLE_EXT_OPTS
):
クライアントのパラメータ( TENTACLE_EXT_OPTS
):
-e tentacle_client_cert -k tentacle_client_key
Safe transfer with client certificate and additional authentication with password:
クライアント証明書およびパスワード認証での暗号化転送:
Extra server parameters:
サーバのパラメータ:
-x password -e tentacle_cert -k tentacle_key -f ca_cert
Extra client parameters ( TENTACLE_EXT_OPTS
):
クライアントのパラメータ( TENTACLE_EXT_OPTS
):
-x password -e tentacle_client_cert -k tentacle_client_key
Tentacle プロキシを使った暗号化設定例
You are explained step by step how to configure both software agents as well as the Tentacle server for safe communication, using the Tentacle Proxy server too. Check out in the previous section the names of the certificates and the keys on each side. Check the available parameters in this section.
Tentacle プロキシサーバを利用した暗号化通信のためのソフトウェアエージェントと Tentacle サーバ両方の設定方法を段階的に説明します。 前の章で述べた証明書の名前と鍵を確認してください。パラメータに関しても確認してください。
Manual tests:
手動テスト:
1. Start tentacle_server manually:
1. tentacle_server を手動起動します:
sudo -u user tentacle_server \ -x password \ -e tentacle_cert \ -k tentacle_key \ -f ca_cert -s /tmp -v
2. Start the proxy manually:
2. プロキシを手動起動します:
sudo -u user tentacle_server -b ip_server -g 41124
3. Start tentacle_client manually:
3. tentacle_client を手動で起動します:
sudo -u user tentacle_client \ -a ip_proxy/ip_server \ -x password \ -e tentaclecert.pem \ -k tentaclekey.pem \ -v file
Once you have checked that the file was sent successfully, proceed to configure tentacle_server permanently as well as the clients.
ファイルが正常に送信されたことを確認したら、tentacle_server とクライアントの永続的な設定に進みます。
To configure tentacle_server with the certificate options, edite the starting script of the service tentacle_serverd, usually located at /etc/init.d/tentacle_serverd
. An intermidate point should be configured similarly to work as a proxy. To configure software agents to use Tentacle safe communication, edit the configuration files pandora_agent.conf, usually located at /etc/pandora/pandora_agent.conf
.
暗号化オプション付きで tentacle_server を設定するには、通常 /etc/init.d/tentacle_serverd
にあるサービス tentacle_serverd の起動スクリプトを編集します。 中間点は、プロキシとして機能するように設定する必要があります。Tentacle 暗号化通信を使用するようにソフトウェアエージェントを設定するには、通常は /etc/pandora/pandora_agent.conf
にある設定ファイル pandora_agent.conf を編集します。
Permanent configuration:
永続的な設定
1. Start the server with SSL. Modify the booting script /etc/tentacle/tentacle_server.conf
and uncomment and complete the lines password
, ssl_cert
, ssl_key
, ssl_ca
with the valid values or paths for your certificate:
1. SSL つきでサーバを開始します。起動スクリプト /etc/init.d/tentacle_serverd
を編集します。TENTACLE_EXT_OPTS
の行を探し、以下を追加します。
Remember that each time you make changes to the tentacle configuration file, it is necessary to restart the service for the changes to take effect: /etc/init.d/tentacle_serverd start
.
Tentacle 設定ファイルに変更を加えた際は、それを有効にするためにサービスを再起動する必要があることに注意してください: /etc/init.d/tentacle_serverd start
2. Start the proxy. As in the previous point number 1, modify the configuration file /etc/tentacle/tentacle_server.conf
of the machine that is going to act as proxy. Also, uncomment and complete the lines proxy_ip
y proxy_port
with the configuration valid in your environment:
2. プロキシを開始します。1. ど同様に、プロキシとして動作させるマシンで起動スクリプト /etc/init.d/tentacle_serverd
を編集します。同様に TENTACLE_EXT_OPTS
の行を探し、以下を追加します。
Remember that each time you make changes to the tentacle configuration file, it is necessary to restart the service for the changes to take effect: /etc/init.d/tentacle_serverd start
.
Tentacle 設定ファイルに変更を加えた際は、それを有効にするためにサービスを再起動する必要があることに注意してください: /etc/init.d/tentacle_serverd start
3. Start the Software Agent with the corresponding options. Modify the file pandora_agent.conf
, find the line server_opts
and add:
3. 対応するオプションをつけてソフトウエアエージェントを開始します。pandora_agent.conf
を編集し、server_opts
という行を探し、以下を追加します。
-x password -e tentacle_client_cert -k tentacle_client_key
Remember that the token server_ip must be configurated pointing to Proxy's IP direction instead main server's IP direction:
server_ip で指定するアドレスは、監視サーバではなくプロキシサーバの IP にすることに注意してください。server_ops の行全体は次のようになります。
server_opts -x password -e tentacle_client_cert -k tentacle_client_key
If you do not want to use any of the options, such as the password, simply do not use the corresponding parameter.
パスワードなどの一部のオプションを使用したくない場合は、対応するパラメーターを使用しないでください。
Tentacle データ圧縮
Version NG 725 or superior.
バージョン NG 725 以上
Tentacle allows enabling data compression with the option -z
of the command line, reducing the size of the transferred data at the expense of the CPU load.
Tentacle では、コマンドラインのオプション -z
を使用してデータ圧縮を有効にすると、CPU 負荷は上がりますが、転送されるデータのサイズを削減できます。
Pandora FMS エージェント
Edit the file /etc/pandora/pandora_agent.conf
and add -z
to server_opts
:
/etc/pandora/pandora_agent.conf
を編集し、server_opts
に -z
を追加します。
server_opts -z
サテライトサーバ
Edit the file /etc/pandora/satellite_server.conf
and add -z
to server_opts
:
/etc/pandora/satellite_server.conf
を編集し、server_opts
に -z
を追加します。
server_opts -z
設定ファイル要素
By default the Tentacle configuration file is located at /etc/tentacle/tentacle_server.conf
.
デフォルトでは、tentacle の設定ファイルは、/etc/tentacle/tentacle_server.conf
にあります。
Remember that each time you make changes to the Tentacle configuration file, it is necessary to restart the service for the changes to take effect:
/etc/init.d/tentacle_serverd start
.
Tentacle の設定ファイルに変更を加えるたびに、変更を有効にするためにはサービスを再起動する必要があることに注意してください。
/etc/init.d/tentacle_serverd start
addresses
# [-a] IPv4 address to listen on. Several IP address can be selected separating it by comma. addresses 0.0.0.0
- IPv4 address where Tentacle server listens. Multiple IP addresses can be separated by commas.
- Equivalent command line parameter:
-a
.
- tentacle サーバが待ち受ける IPv4 アドレスです。複数の IP アドレスをカンマ区切りで設定できます。
- 同等のコマンドラインパラメータ:
-a
port
# [-p] Port to listen on port 41121
- Port number where the Tentacle server will listen.
- Equivalent command line parameter:
-p
.
- tentacle サーバが待ち受けるポート番号です。
- 同等のコマンドラインパラメータ:
-p
max_connections
# [-c] Maximum number of simultaneous connections max_connections 10
- Maximum number of simultaneous connections.
- Equivalent parameter by command line:
-c
.
- 同時接続の最大数です。
- 同等のコマンドラインパラメータ:
-c
daemon
# [-d] Run as daemon. 1 true, 0 false daemon 1
- Equivalent parameter by command line:
-d
.
- 同等のコマンドラインパラメータ:
-d
insecure
# [-I] Enable insecure mode insecure 0
- Enable insecure mode
1
, otherwise0
(refers to operations such as listing files, etc.). - Equivalent parameter by command line:
-I
.
- 安全でないモードを有効化
1
、無効化0
(ファイルの一覧表示などの操作を指します) - 同等のコマンドラインパラメータ:
-I
filters
# Filters (regexp:dir;regexp:dir...) filters .*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.lock:trans;.*\.rcmd:commands;.*\.agent_setup\.exe:agent;.*\.agent_setup\.tar\.gz:agent
- It allows you to set filters for file types in specific directories. Enter a regular expression (filter as such) separated by
:
and the corresponding directory. To add another filter separate with;
. - Command line equivalent parameter:
-i
.
- 特定のディレクトリ内のファイルタイプごとにフィルタを設定できます。
:
で区切られた正規表現(フィルター自体)と対応するディレクトリを追加します。 別のフィルターを追加するには、;
で区切ります。 - 同等のコマンドラインパラメータ:
-i
When upgrading to version 777, the Tentacle server must be restarted to take all the new filters installed.
バージョン 777 にアップグレードする場合、インストールされたすべての新しいフィルターを有効にするために、Tentacle サーバを再起動する必要があります。
max_size
# [-m] Maximum file size allowed by the server in bytes max_size 2000000
- Maximum file size allowed (in bytes).
- Equivalent parameter by command line:
-m
.
- 最大のファイルサイズ(バイト単位)です。
- 同等のコマンドラインパラメータ:
-m
overwrite
# [-o] Accept files with a repeated name. 1 true, 0 false. overwrite 0
- It allows to overwrite if the received file has the same name and already exists, disabled by default (
0
), to activate it, enter1
. - Equivalent parameter by command line:
-o
.
- 受信したファイルが同じ名前ですでに存在する場合に上書きするかどうかです。デフォルトで無効(
0
)、有効化するには、1
を設定します。 - 同等のコマンドラインパラメータ:
-o
quiet
# [-q] Do not output error messages. quiet 0
- Avoid to show error messages; enabled
1
, disabled0
. - Equivalent parameter by command line:
-q
.
- エラーメッセージの表示を抑制します。有効化
1
、無効化0
- 同等のコマンドラインオプション:
-q
retries
# [-r] Number of retries for socket read/write operations retries 3
- Number of retries for reading and writing operations.
- Equivalent parameter by command line:
–r
.
- 読み書き処理のリトライ回数です。
- 同等のコマンドラインパラメータ:
-r
directory
# [-s] Storage directory directory /var/spool/pandora/data_in
- Il allows to set the storage directory.
- Equivalent parameter by command line:
-s
.
- 保存先ディレクトリの設定です。
- 同等のコマンドラインパラメータ:
-s
proxy_ip
# [-b] IP address to proxy client requests to proxy_ip 127.0.0.1
- It allows to set the IP address for an intermediary device (proxy client).
- Equivalent parameter by command line:
-b
.
- 中間のデバイス(プロキシクライアント)の IP アドレスを設定できます。
- 同等のコマンドラインパラメータ:
-b
proxy_port
# [-g] Port number to proxy client requests to proxy_port 41121
- It allows to set the port number for an intermediate device (proxy client).
- Equivalent parameter by command line:
-g
.
- 中間デバイス(プロキシクライアント)のポート番号を設定できます。
- 同等のコマンドラインパラメータ:
-g
timeout
# [-t] Timeout for socket read/write operations in seconds timeout 1
- Expiration time in seconds dor reading and writing operations.
- Equivalent parameter by command line:
-t
.
- 読み書き処理のタイムアウトを秒単位で指定します。
- 同等のコマンドラインパラメータ:
-t
verbose
# [-v and -V] Verbose level # 0: Do not display any informative messages # 1: Display only important messages [-v] # 2: Display all messages [-V] verbose 0
- It sets the amount of information to be shown with debugging purposes.
-v 0
: No informative messages.-v 1
o-v
: It only shows important messages.-v 2
o-V
: It shows all messages.
- デバッグ目的で表示する情報量を設定します。
-v 0
: 情報を表示しません。-v 1
または-v
: 重要なメッセージのみ表示します。-v 2
または-V
: すべてのメッセージを表示します。
log_file
# [-l] Log file log_file /dev/null
- It allows to set an event log.
- Equivalent parameter by command line:
-l
.
- ログファイルを設定します。
- 同等のコマンドラインパラメータ:
-l
password
# [-x] Server password # password PASSWORD
- It sets the password fot the Tentacle server.
- Equivalent parameter by command line:
-x
.
- Tentacle サーバのパスワードを設定します。
- 同等のコマンドラインパラメータ:
-x
ssl_cert
# [-e] SSL certificate file full path # ssl_cert /path/to/ssl/cert
- It allows to set the full path to the file that contains the SSL certificate.
- Equivalent parameter by command line:
-e
.
- SSL 証明書ファイルのフルパスを設定できます。
- 同等のコマンドラインパラメータ:
-e
ssl_ca
# [-f] SSL CA file full path # ssl_ca /path/to/ssl/ca
- It allows to set the full path to the file that contains the Cetifying Authority (CA) of the SSL certificate.
- Equivalent parameter by command line:
-f
.
- SSL 証明書 の認証局(CA)ファイルのフルパスを設定できます。
- 同等のコマンドラインパラメータ:
-f
ssl_key
# [-k] SSL private key file # ssl_key /path/to/private/key/file
- Location of the file with the private key of the SSL certificate.
- Equivalent parameter by command line:
-k
.
- SSL 証明書の秘密鍵ファイルの場所です。
- 同等のコマンドラインパラメータ:
-k
ssl_password
# [-w] SSL password. Set to 1 to ask for password by command line # ssl_password 0
- If the SSL certificate contains a password, it allows to request it (
1
) in the command line. - Equivalent parameter by command line:
-w
.
- SSL 証明書にパスワードが含まれる場合、コマンドラインからそれを求める(
1
)ことができます。 - 同等のコマンドラインパラメータ:
-w
use_libwrap
# [-T] Use libwrap library (Authen::Libwrap perl module). 1 true, 0 false # use_libwrap 0
- For Perl language, it allows to use the module
Authen::Libwrap
. Enabled1
, disabled0
. - Equivalent parameter by command line:
-T
.
- perl の
Authen::Libwrap
モジュールを使うことができます。有効化1
、無効化0
- 同等のコマンドラインパラメータ:
-T