Je procède ainsi :
Nous mettons l'utilisateur tomcat comme propriétaire du dossier de tomcat :
# chown -R tomcat:tomcat /opt/tomcat
Les utilisateurs ne peuvent pas modifier la configuration de tomcat :
# chmod -R g+r /opt/tomcat/conf
Les utilisateurs peuvent modifier les autres dossiers :
# 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
Activez le sticky-bit pour les nouveaux fichiers en gardant les autorisations définies :
# 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
Enfin, nous ajoutons le groupe tomcat dont nous voulons que les utilisateurs puissent utiliser le tomcat :
# usermod -a -G tomcat MYUSER
Le Non-Tomcat settings
La section du guide de sécurité de Tomcat fournit des informations utiles sur ce sujet. Voir ici :
- 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
Tomcat ne doit pas être exécuté sous l'utilisateur root. Créez un utilisateur dédié pour le processus Tomcat et fournissez à cet utilisateur les autorisations minimales nécessaires pour le système d'exploitation. Par exemple, il ne devrait pas être possible de se connecter à distance à l'aide de l'utilisateur Tomcat.
Les autorisations de fichiers doivent également être restreintes de manière appropriée. En prenant les instances Tomcat à l'ASF comme exemple (où le déploiement automatique est désactivé et les applications Web sont déployées sous forme de répertoires éclatés), la configuration standard consiste à avoir tous les fichiers Tomcat appartenant à root avec le groupe Tomcat et tandis que le propriétaire a lu / privilèges d'écriture, le groupe n'a que la lecture et le monde n'a aucune autorisation. Les exceptions sont les journaux, le répertoire temporaire et le répertoire de travail qui appartiennent à l'utilisateur Tomcat plutôt qu'à root . Cela signifie que même si un attaquant compromet le processus Tomcat, il ne peut pas modifier la configuration de Tomcat, déployer de nouvelles applications Web ou modifier des applications Web existantes. Le processus Tomcat s'exécute avec un umask de 007 pour conserver ces autorisations.