Академический Документы
Профессиональный Документы
Культура Документы
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
servletexamples, jspexamples
tomcatdocs, 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
Entê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"/>
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 tomcatusers.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