Tenemos algunos servidores tomcat y acabamos de descubrir que algunos archivos que no queremos que sean públicos tienen acceso a esos archivos. Para ejemplificar:
Digamos que tenemos una carpeta / var / www / html / que estamos publicando a través de tomcat, pero no queremos exponer /var/www/html/conf/dbinfo.txt. En este momento, las personas pueden visitar www.thissite.com/conf/dbinfo.txt y pueden ver cosas. Me gustaría poder bloquearlo para que no lo muestre, pero permite que sea leído por Tomcat.
Cualquier ayuda es apreciada.
Respuestas:
El acceso a los archivos de Tomcat está controlado por la sección de restricciones de seguridad de WEB-INF / web.xml.
Puedes bloquear de
conf
esta manera:Si está utilizando apache para servir contenido estático, esto no funcionará ya que apache servirá los archivos conf antes de que tomcat obtenga la URL. En esos casos, necesitaría resolver esto a través de los archivos de configuración http de apache.
fuente
¿Por qué no almacenarlo fuera de la estructura de su directorio web? Nunca colocamos nada en / var / www / html / que no quisiéramos que un usuario descubriera.
fuente
Hola a todos los trabajadores de SysAdmin y TI en esta publicación. Gracias por sus respuestas Muchas de las respuestas a mis preguntas fueron aceptables, pero esta fue la más adecuada para nuestro entorno de producción.
Okay. Para bloquear un directorio o un archivo dentro de un host virtual en server.xml solo tiene que agregar el siguiente código a server.xml en el directorio tomcat / conf.
Antes de:
Después:
Entonces, la respuesta a la pregunta es agregar las siguientes líneas:
fuente
Palabra de consejo. Después de arreglar los permisos. Cambie todas las contraseñas y ASEGÚRESE de que no hay un caché de Google.
fuente
Normalmente, la información de configuración (como la información de conexión de la base de datos, ...) se almacena en archivos en la carpeta WEB-INF del archivo WAR implementado en Tomcat. Los archivos bajo WEB-INF no son accesibles para los clientes.
fuente
Al tener el mismo problema, pero no puedo ver cómo la respuesta aceptada realmente puede funcionar. La válvula invocada aquí se aplica a toda la aplicación web. No es parte de eso. Así que supongo que, en este caso, una vez que no puede reconocer el contexto como una aplicación web, simplemente ignora la directiva y arroja algunos comentarios en el archivo de registro.
fuente
Puede bloquear el directorio en acceso público a través del archivo server.xml
Agregue estas líneas a ese archivo server.xml
luego acceda a ese http: // localhost: 8080 / examples luego se muestra como un error de página 404, es decir) significa bloqueado
fuente