Seguridad corriendo JavaBridge

Estimados, les comento una cuestión que detectamos luego de una auditoría de seguridad, nos pareció bastante grave y lo queremos reportar a la comunidad.

La cuestión es que corriendo el servlet como se indica en la wiki: https://repositorio.siu.edu.ar/trac/Portal-G3/wiki/NotasTecnicas/InstEntornoDesa el servicio termina escuchando para todas las direcciones IP del servidor.

Si este servidor tiene alguna IP de acceso externo puede significar acceso a parte o todo el filesystem, dependiendo de como se ejecute.

Nuestra primer opción fue utilizar iptables para cerrar el acceso al puerto 8081 con origen distinto a loopback. No siendo lo ideal buscamos un poco y encontramos que una opción no documentada es especificar “SERVLET_LOCAL” en lugar de “SERVLET”. Eso hace que el servicio corra solamente sobre la interfaz loopback.

Finalmente así quedo:

cd $guarani_dir\lib\toba\php\3ros\JavaBridge\WEB-INF\lib\ ; sudo -u nginx java -jar JavaBridge.jar SERVLET_LOCAL:8081 &

Nota: La parte ‘-u nginx’ es para correr el servicio con el usuario del server http, en nuestro caso “nginx”, en el de la mayoría supongo será “apache”.

Sugiero cambiar la documentación de la wiki respecto a este punto.

Saludos,

Ramiro

Excelente Ramiro!!!

Muchisimas gracias por tu aporte.

Saludos,

Gonzalo