miércoles, 6 de abril de 2011

Publicar el contenido de logs a través de tomcat

Se crea en $TOMCAT_HOME/conf/Catalina/localhost/ un xml para el nuevo contexto que se va a utilizar para acceder a los logs:

logs.xml:
<Context path="/logs" docBase="/ruta/de/logs" crossContext="false" debug="1" reloadable="true" >
</Context>


El docBase debe ser la ruta absoluta donde estén los logs que se quieran publicar.

Y en el direcotorio de los logs, creamos un direcotorio WEB-INF, y dentro un web.xml con el siguiente contenido:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

<servlet>
<servlet-name>logs</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>logs</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

<security-constraint>
<web-resource-collection>
<web-resource-name>
Logs
</web-resource-name>
<url-pattern>/</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>manager</role-name>
</auth-constraint>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Logs</realm-name>
</login-config>
</web-app>



Se ha añadido autenticación básica con los usuarios pertencientes al rol manager.

Si no se quiere hacer esta configuración particular para el contexto logs, se puede hacer de forma genérica para todo el tomcat cambiando en el $TOMCAT_HOME/conf/web.xml la línea correpondiente al parámetro listings, en vez de false, pondríamos true:

   <servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

No hay comentarios:

Publicar un comentario

Obtener informacion de repositorios a través de los metadatos .git publicados por error

 A raiz de CTF realizado recientemente, me ha parecido interesante publicar este post sobre los errores de seguridad que se encuentran en mu...