web-dev-qa-db-ja.com

Web GUIにPerlベースのbackuppcグラフをホストしているApacheセキュリティ、どれが最良の解決策ですか?

システム:新しく更新されたubuntu Xenial Xerus16.04.2。 opensshのみがインストールされたクリーンな最小限のシステムから開始しました。 backuppc 3.3.2をインストールするために、私は次のことを行いました。

apt-get install backuppc rsync libfile-rsyncp-Perl par2 smbfs

残りはAptが行い、Apache2やPerlなどの依存関係をインストールしました。重要だと思われる場合は、質問を編集して、aptログから関連する行を貼り付けます。

その後、最初のホストのバックアップに必要なすべての構成を行い、数日後にテストラボに戻って、ホストの動作を確認しました。 backuppcは美しいソフトウェアであり、私が期待していたものとまったく同じか、それよりも優れていたと言わざるを得ません。

ホーム画面にプールのグラフが表示されないことに気づきました。トラブルシューティングにより、Apacheログから1つの情報が返されました。

ERROR: opening '/var/lib/backuppc/log/pool.rrd': Permission denied

間違いなく権限の問題:Apacheがwww-dataアカウントで実行されている間、/ var/lib/backuppcはbackuppc:backuppcによって所有されます。

エラーをグーグルで検索すると、次のような修正が返されました。

Resource | Actual perms | Solution's perms
/var/lib/backuppc | 2750 | 2751
/var/lib/backuppc/log | 750 | 751
/var/lib/backuppc/log/pool.rrd | 640 | 754

これらの権限の変更により問題が修正され、グラフが表示されるようになりました。とにかく、権限が変更された後も、公開されたサービスのセキュリティについて心配しています。この場合、私は安全で隔離された環境での実装を計画していますが、顧客がサービスを公開するように要求した場合、または彼が自分でサービスを公開した場合はどうなりますか?実稼働環境で問題が発生した場合に回復のために行く可能性のあるセキュリティホールをそのまま残したくありません。

別の解決策は、backuppcのユーザーをwww-dataグループに追加することかもしれませんが、それはセキュリティの観点からさらに悪いかもしれません。

別の解決策は、backuppcによって実行されるコードにパッチを適用して、そのような問題(および、おそらくsudoersファイルの一部の行)を処理することですが、プログラミングスキルがなく、bashスクリプト以外は何も読むことができません。

だから私の質問は:グラフ表示を実現するために最も安全なソリューションはどれですか?

1
Marco

そのファイルだけが頭痛の種である場合は、ログフォルダをwww-dataユーザーが読み取ることができ、backuppcユーザーが書き込むことができる場所に移動することをお勧めします。次に、それをシンボリックリンクします。

mv /var/lib/backuppc/log/ /var/log/backuppc/
chown backuppc:www-data /var/log/backuppc/
chmod 750 /var/log/backuppc/
ln -s /var/log/backuppc/ /var/lib/backuppc/log/

特に、そのフォルダの下のサブディレクトリとファイルが、backuppc:backuppcのみに制限されているメインフォルダのセキュリティに依存している場合は、システム上のすべてのユーザーに/ var/lib/backuppc /を完全に開くよりも優れています。

Www-dataグループへのbackuppcの追加に関して、backuppcが所有するファイルにwww-dataがアクセスすることを許可しません。逆の意味ですか?いずれにせよ、すべての機密データがグループではなくbackuppcユーザーのみが読み取れる場合を除いて、それは悪い考えであることに同意します。

あなたが従ったガイドが/var/lib/backuppc/log/pool.rrdを640-> 754(所有者とグループによって実行可能)から変更することを提案した理由は、640-> 644ではありません。

注: BackupPCを使用してから数年が経ちました。そのため、/ var/lib/backuppcフォルダーにアクセス許可がどのようにあったか、またはその他の機密情報がログディレクトリにあるかどうかはよく覚えていません。が含まれています。

お役に立てれば!

1
Alexander K