Вы находитесь на странице: 1из 8

Groupe LINAGORA

Bonnes pratiques de sécurité Tomcat
Sommaire

 Tomcat doit être lancé avec son utilisateur aux droits restreints
­ Lecture/Écriture sur $TOMCAT_HOME seulement

 Garder des droits restreints sur le server.xml
­ chown tomcat:tomcat server.xml
­ chmod 600 server.xml

 Supprimer les applications par défaut
­ servlet­examples, jsp­examples
­ tomcat­docs, balancer, webdav

Page  2
Sommaire

 Anonymiser Tomcat
­ Dans le server.xml
­ Nom du serveur :
<Connector … server="unknown" … >
­ Requête HTTP TRACE (false par défaut) :
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" allowTrace="false" />

­ Dans le web.xml
­ En­tête HTTP (false par défaut)
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>

Page  3
Sommaire

 Page d'erreur 404 par défaut
­ Contient les informations suivantes :
­ server.info=Apache Tomcat/6.0.24
­ server.number=6.0.0.0
­ server.built=January 19 2010 1439

­ Pour les nettoyer, éditer
­ TC5.5 $TOMCAT_HOME/server/lib/catalina.jar
­ TC6 $TOMCAT_HOME/lib/catalina.jar

Changer : /org/apache/catalina/util/ServerInfo.properties

Page  4
Sommaire

 Interdire le listage du contenu des répertoires (server.xml)
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
 Désactiver le déploiement automatique (server.xml)
<Host [...] autoDeploy="false" [...]>
 Restreindre la connexion au manager
Dans $TOMCAT_HOME/conf/Catalina/localhost/manager.xml
­ <Context …
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="128.117.140.62"/>

­ allow="128.117.140.62, 128.117.140.63, 128.117.140.99"


­ allow="128.117.140.*"
Page  5
Sommaire

 Extinction manuelle d'un Tomcat local
­ telnet localhost 8005
SHUTDOWN
­ Dans server.xml : <Server port="8005" shutdown="SHUTDOWN">
­ Solutions (nécessitent les bons droits sur server.xml) :
­ Changer de port
­ Changer de clef « SHUTDOWN »

 Security Manager
­ Extinction Tomcat avec "<% System.exit(1); %>"
­ Solution : rajouter des policies
grant { …
permission java.lang.RuntimePermission
"accessClassInPackage.sun.beans.*" ;
… }
Page  6
Sommaire

 Paramétrer les options des utilisateurs Tomcat
­ Mots de passes différents pour le manager et l'admin
­ Mots de passes cryptés
­ cd $TOMCAT_HOME/bin
./digest.sh -a SHA <PASSWORD>
<PASSWORD>:aa01ea2afaae56c2b7da5e25ec18c505e58f12d7
­ Dans tomcat­users.xml :
<user username="sysadmin"
password="aa01ea2afaae56c2b7da5e25ec18c505e58f12d7"
roles="admin"/>
­ Dans server.xml :
<Host ...
<Realm className="org.apache.catalina.realm.MemoryRealm"
digest="SHA" />

Page  7
Merci de votre attention

Вам также может понравиться