tomcat8に含まれているWebアプリケーションJavaを実行できるようにするalpine(rootfs)で保護されたコンテナドッカーを作成しようとしています。特にtomcatデーモンはどのユーザーとして実行する必要がありますか?
私はこれを言及するApache Tomcat 8に関するドキュメントを読んでいますが、混乱があります。 Tomcat 8ドキュメントから:
Tomcatはrootユーザーとして実行してはいけません。。 Tomcatプロセス専用のユーザーを作成し、このユーザーにオペレーティングシステムに必要な最小限の権限を与えます。たとえば、Tomcatユーザーを使用してリモートでログインしないでください。
しかし、彼はこう言いました。
ASFのTomcatインスタンスを例にとる(自動展開が無効になり、Webアプリケーションが拡張ディレクトリに展開されます)標準的な構成は、TomcatグループのルートがすべてのTomcatファイルを所有し、所有者が読み取り/書き込み権限を持ち、グループが読み取り権限のみを持ち、全体が権限を持たないようにすることです。ルートではなく、Tomcatユーザーが所有するログ、一時ディレクトリ、および作業ディレクトリは例外です。つまり、攻撃者が Tomcat プロセスを破壊しても、Tomcat 構成を変更したり、新しい Web アプリケーションをデプロイしたり、既存の Web アプリケーションを変更したりすることはできません。 Tomcatプロセスは、これらの権限を維持するためにumask 007として実行されます。
したがって、どのユーザーtomcatを実行する必要があるのかわかりません。 CATALINA_HOME/bin/startup.sh の所有者が tomcat グループの root ユーザーで、tomcat デーモンを実行するための別のユーザー (tomcat グループがあるアプリなど) を作成する場合は、CATALINA_HOME/bin/startup.sh を実行して所有者ユーザーはルートであり、グループには読み取り権限しかないため開始されません。
root以外のユーザーとしてtar.gzバイナリを使用してtomcatデーモンを実行した経験がある人はいますか?
よろしくお願いします。
答え1
ユーザーアカウントを作成しますtomcat
。このグループのメンバーであることを確認してくださいtomcat
。
文書に「読み取り」グループ権限が記載されている場合は、それを所有者と同じにしてください。書き込み権限がない場合。したがって、ユーザーにスクリプトに対する読み取り、書き込み、および実行権限がある場合は、グループにも読み取りおよび実行権限が必要です。
ドキュメントのセキュリティ推奨事項の目的は、ユーザーがtomcat
Tomcatアプリケーションを実行できますがファイルを変更できないようにすることです。