SSH および FTP でのデータ転送設定

概要

Pandora FMS で標準の転送方法(tentacle)を使用できない場合があります。これは、Perl が無い Unix システム(ESX システムなど)を使用している場合で、古いシェルスクリプトのエージェントを使用する場合です。 この場合は、FTP または SSH を使用してファイルを転送することができます。

Pandora FMS は、SSH プロトコルを使用して、ソフトウエアエージェントによって生成された XML データパッケージをサーバにコピーできます。

Pandora FMS へのデータ取り込みのための SSH 設定

常に、Pandora FMS の セキュリティアーキテクチャ に注意してください。

Pandora FMS サーバを サーバ と見なし、ソフトウェアエージェントを実行している各デバイスを クライアント と見なします。 whoami コマンドを使用して、作業しているユーザをいつでも確認できます。

サーバでのユーザ作成

ステップ 1: Pandora FMS サーバがインストールされているホストに pandora ユーザを作成します。このユーザーは SSH を介してデータを受信します。 Pandora FMS サーバがすでにインストールされている場合は、このユーザはすでに作成済です。 次のコマンドを使用して、このユーザに強力なパスワードを設定します。

passwd pandora

サーバのユーザ設定

ステップ 2: サーバ内で、パーミッション 750 およびユーザ pandora:root/home/pandora/.ssh ディレクトリを作成します。

クライアントでの鍵作成

ステップ 3: SSH を使用する必要があるエージェントの各システムで、鍵のペア(秘密鍵と公開鍵)を作成します。 これを行うには、Pandora FMS エージェントの実行に使用されるユーザで次のコマンドを実行します。

ssh-keygen

いくつかの質問が表示されます。Enter キーを押すだけで回答できます。 このユーザの公開/秘密鍵がシステムに作成されます。 次に、データの送信先である Pandora FMS サーバであるターゲットシステムにコピーします。

公開鍵のサーバへのコピー

ステップ 4: 公開鍵を Pandora FMS サーバにコピーします。 作成された公開鍵をコピーするには、2つの方法があります。

手動コピー

クライアント で生成された公開鍵は以下にあります。

/home/<user>/.ssh/id_rsa.pub

ここで、<user> は、クライアントで Pandora FMS ソフトウエアエージェントを実行するユーザ名です。鍵のペアを root ユーザで生成した場合は、以下にあります。

/root/.ssh/id_rsa.pub

このファイルには次のようなものが含まれます。

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzqyZwhAge5LvRgC8uSm3tWaFV9O6fHQek7PjxmbBUxTWfvNbbswbFsF0esD3COavziQAUl3rP8DC28vtdWHFRHq+RS8fmJbU/VpFpN597hGeLPCbDzr2WlMvctZwia7pP4tX9tJI7oyCvDxZ7ubUUi/bvY7tfgi7b1hJHYyWPa8ik3kGhPbcffbEX/PaWbZ6TM8aOxwcHSi/4mtjCdowRwdOJ4dQPkZp+aok3Wubm5dlZCNLOZJzd9+9haGtqNoAY/hkgSe2BKs+IcrOAf6A16yiOZE/GXuk2zsaQv1iL28rOxvJuY7S4/JUvAxySI7V6ySJSljg5iDesuWoRSRdGw== root@dragoon

この内容を、サーバauthorized_keys ファイルの最後に追加する必要があります。パスは次の通りです。

/home/pandora/.ssh/authorized_keys

サーバの authorized_keys ファイルの所有者とグループは pandora:root で、パーミッションは 600 である必要があります。

自動コピー

クライアント にて次のコマンドを利用します。

ssh-copy-id pandora@<Server-address>

ここで、<Server-address> は、サーバ の IP アドレスまたは URL です。

pandora ユーザのパスワード(ステップ 1 で設定)を要求します。これが確認されると、次のようなメッセージが表示されます。

Now try logging into the machine, with "ssh '<Server-address>'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

クライアント (のソフトウエアエージェント実行ユーザ)から、Pandora FMS サーバpandora ユーザへ自動接続が可能であることを確認します。

ssh pandora@<Server-address>

上記のように サーバ に接続できるようになると、クライアントのソフトウェアエージェントは監視データの送信を開始できるようになります。

クライアント設定

SSH を介した接続を確認できたら、これがソフトウェアエージェントがデータを Pandora FMS サーバディレクトリにコピーするために使用される方法になります。 このディレクトリは次の場所にあります。

/var/spool/pandora/data_in

また、/var/spool/pandora/data_in ディレクトリが存在し、ユーザ pandora に書き込み権限があることを確認してください。そうでない場合は機能しません。

最後に、クライアントの ソフトウエアエージェント設定を変更して、コピー方法を tentacle ではなく ssh に設定します。 これは /etc/pandora/pandora_agent.confファイルの transfer_mode 設定トークンで行います。この変更後は、クライアントのソフトウエアエージェントサービスを再起動することを忘れないでください。

SSH サーバのセキュリティ強化

Absolutely no one is safe from security attacks

Pandora FMS は、特に sftp/ssh2(scp) を使用して、エージェントからサーバにデータファイルをコピーします。 このため、pandora ユーザを待ち受ける SSH2 サーバを備えた少なくとも 1つのデータサーバが必要です。 これは、厳密にセキュリティ保護する必要があるネットワークにとって重大なリスクになる可能性があります。 Open SSH2 は 非常に 安全ですが、コンピュータのセキュリティに関しては、絶対に安全なものはないため、“より安全” にするための対策を講じてください。

常に、Pandora FMS の セキュリティアーキテクチャ に注意してください。

FTP を介したアクセスに制限を設定するのと同じように、SSH を介した特定のユーザのアクセスを禁止することも可能です。

それを行うするには、サーバpandora ユーザの設定を変更します。 このユーザには強力なパスワードが必要です。 他のフォルダーへのアクセスを回避するために、ログインシェルを変更しホームディレクトリを変更します。

usermod -s /sbin/nologin -d /var/spool/pandora/data_in pandora

サーバpandora ユーザに対するこの変更で、該当ユーザが SSH でログインした際にはターミナルでコマンドを実行できなくなります。

(Pandora FMS の 推奨 OS を確認してください。) Debian システムでは、シェルは /usr/sbin/nologin です。

FTP にてサーバがデータを受け取る設定

FTP 経由でデータを送信するクライアント設定は、送信するユーザとパスワードの指定で可能です。tentacle の代わりに FTP を介してコピーを実装するのは非常に簡単です。

What is File Transfer Protocol (FTP)?

FTP を使用してデータを送信するように Pandora FMS エージェントを設定するほか、Pandora FMS サーバに FTP サーバを設定し、ユーザ pandora (Pandora FMS エージェントで使用する)のパスワードを設定し、pandora ユーザに /var/spool/pandora/data_in 以下の書き込みアクセスを許可します。

ニーズに合わせて FTP サーバを設定します。このガイドでは vsFTPd を使用します。

Vsftpd でのセキュリティ強化

Tentacle の代わりに FTP を使用することの短所は、FTP を介したデータ送信は安全ではないため、Pandora FMS サーバで FTP サーバを実行することが脆弱になります。 以下のセクションでは、サーバーの安全性を最小限にする方法について説明します。

安全上の理由で pandora ユーザの SSH 経由のログインを無効にするのと同様に、FTP 経由の安全なアクセス方法を設定する必要があります。簡単で安全な方法は、vsftpd の PAM ルールを作成することです。 次の内容の /etc/pam.d/ftp ファイルを作成します。

auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth    required    pam_succeed_if.so quiet user ingroup pandora
auth    required    pam_succeed_if.so quiet shell = /sbin/nologin

(Pandora FMS の 推奨 OS を確認してください。) Debian システムでは、シェルは /usr/sbin/nologin です。

vsftpd の設定ファイル(/etc/vsftpd.conf) で、pam_service_name トークンを探し、作成したファイル名を入力します。

pam_service_name=ftp

この設定により、pandora グループに属し、nologin のシェルを持つユーザのみが FTP 経由でPandora FMS にアクセスできます。 そのため、pandora ユーザを含むグループ pandora を作成する必要があります(存在しない場合)。

/etc/vsftpd.conf ファイルにて、いくつかの設定を調整するだけで、FTP 経由でログインするユーザの root へのアクセスを制限できます。 パラメータは次のとおりです。

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.nochroot_list

一部のユーザを除外し、Chroot に制限することを避ける必要がある場合は、vsftpd.nochroot_list ファイルにそのユーザを含めます(1行に1ユーザー)。

セキュリティを強化するための他のオプションは次のとおりです。

dirlist_enable=NO
download_enable=NO
deny_file=authorized_keys
deny_file=.ssh
chroot_local_user=YES

設定を変更した際は、それを反映するために vsftpd サービスを再起動する必要があります。

これらの設定により、ユーザはそのルートディレクトリ (pandora ユーザの場合は /var/spool/pandora/data_in に限定されます)。 ユーザは FTP 転送を実行してファイルを送信できますが、ファイルの一覧は見ることができません

FTP でユーザ pandora を使用してログインし、ディレクトリの移動とファイル一覧の取得を試してみてください。できない場合は、正しくセットアップができています。

Pandora FMS ドキュメント一覧に戻る