私はこのようにしています:
tomcat ユーザーを tomcat のフォルダーの所有者にします:
# chown -R tomcat:tomcat /opt/tomcat
ユーザーはできません tomcat の構成を変更します:
# chmod -R g+r /opt/tomcat/conf
ユーザーは他のフォルダーを変更できます:
# chmod -R g+w /opt/tomcat/logs
# chmod -R g+w /opt/tomcat/temp
# chmod -R g+w /opt/tomcat/webapps
# chmod -R g+w /opt/tomcat/work
新しいファイルのスティッキー ビットを有効にして、権限を定義しておきます:
# chmod -R g+s /opt/tomcat/conf
# chmod -R g+s /opt/tomcat/logs
# chmod -R g+s /opt/tomcat/temp
# chmod -R g+s /opt/tomcat/webapps
# chmod -R g+s /opt/tomcat/work
最後に、Tomcat を使用できるユーザーが必要な Tomcat グループを追加します。
# usermod -a -G tomcat MYUSER
Non-Tomcat settings
Tomcat のセキュリティ ハウツーのセクションに、このトピックに関する有用な情報が記載されています。こちらをご覧ください:
- Tomcat 7:https://tomcat.apache.org/tomcat-7.0-doc/security-howto.html
- Tomcat 8:https://tomcat.apache.org/tomcat-8.0-doc/security-howto.html
- Tomcat 9:https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html
root ユーザーで Tomcat を実行しないでください。 Tomcat プロセス専用のユーザーを作成し、そのユーザーにオペレーティング システムに最低限必要なアクセス許可を付与します。たとえば、Tomcat ユーザーを使用してリモートでログオンすることはできません。
ファイルのパーミッションも適切に制限する必要があります。 ASF の Tomcat インスタンスを例にとると (自動展開が無効になっていて、Web アプリケーションが展開されたディレクトリとして展開されている場合)、標準的な構成では、すべての Tomcat ファイルは、グループ Tomcat を持つ root によって所有され、所有者は読み取ります。 /書き込み権限、グループには読み取りのみがあり、世界には権限がありません。例外は、root ではなく Tomcat ユーザーが所有するログ、一時、および作業ディレクトリです .つまり、攻撃者が Tomcat プロセスを侵害したとしても、Tomcat の構成を変更したり、新しい Web アプリケーションをデプロイしたり、既存の Web アプリケーションを変更したりすることはできません。これらの権限を維持するために、Tomcat プロセスは umask 007 で実行されます。