Securizar Hudson de una manera sencilla

1
6632

Securizar Hudson de una manera sencilla

Índice de contenidos

  1. Introducción
  2. Entorno
  3. Problema
  4. Solución sencilla
  5. Conclusiones

En esta web ya tenemos varios tutoriales publicados al respecto de esta fantástica herramienta y sus integraciones para implementar integración continua y tener un mayor control del desarrollo de un proyecto:

El tutorial está escrito usando el siguiente entorno:
  • Hardware: Portátil MacBook Pro 17′ 2.66 GHz I7 8 Gb RAM
  • Nvidia GeForce GT 330M
  • Sistema operativo: Mac OS X Snow Leopard 10.6.1
  • JDK 1.6.0_14
  • Maven 2.2.1
  • Hudson 1.367

Hoy en día las empresas de desarrollo cada vez más están apostando por la ubicuidad, permitiendo que sus desarrolladores puedan hacer su trabajo desde lugares fuera de la empresa. Esto entraña un riesgo evidente de seguridad ya que cualquiera no autorizado podría ver o incluso manipular nuestros trabajos publicados en Hudson.
La solución inmediata que se le ocurre a los clientes es instalar Hudson en un Apache Tomcat y utilizar el fichero tomcat-user.xml para que al acceder a esta URL te pida usuario y contraseña. 
Para empresas con pocos trabajadores está puede ser una solución válida, pero desde luego esto no es lo más seguro del mundo y el mantenimiento de este fichero no es nada «amigable», además cada vez que lo modificamos tenemos que reiniciar el Apache Tomcat para que los cambios surtan efecto.
La propia herramienta proporciona varias soluciones para el tema de la seguridad en este tutorial vamos ver una de las más sencillas pero a la vez más potente que es la de utilizar su propio gestor de autorización y autentificación. 

Para securizar Hudson tenemos que ir a «Administrar Hudson» – «Configurar el sistema» y habilitar la casilla «Activar seguridad» con lo que se despliegan las distintas opciones de seguridad que la herramienta trae por defecto:
Para este caso vamos a seleccionar la opción de Seguridad «Usar base de datos de Hudson» sin chequear la opción que permite que los usuarios se puedan registrar, ya que queremos que sólo el usuario administrador pueda registrar nuevos usuarios y la opción de Autorización «Configuración de la seguridad» como se muestra en la imagen: 

Hecho esto pulsamos en «Save» y automáticamente se nos mostrará una pantalla solicitando la información del primer usuario que va a actuar de administrador.
Pulsando en «Crear la primera cuenta de administrador» veremos el siguiente mensaje si todo ha sido correcto.
Y ya estaremos logados con el usuario administrador. Ahora si salimos de la sesión y volvemos a entrar veremos que ya no podemos hacer nada como usuarios anónimos salvo ver la siguiente pantalla donde se solicita el usuario y la password.
Ahora para dar de alta el resto de usuarios nos logamos con el usuario administrador antes creado y vamos a «Administrar Hudson» — «Gestión de usuarios» con lo que se nos muestra una pantalla como esta donde podemos gestionar todos los usuarios que vayan a tener acceso a hudson.
Como vemos el usuario administrador no lo podemos eliminar porque necesitamos al menos uno para poder seguir configurando hudson. Pinchamos en «Crear un usuario» y se nos muestra el siguiente formulario:
Pulsando en «Crear un usuario» vemos que el usuario se muestra en la tabla de usuarios y que además este si que lo podemos borrar.
Dentro de la configuración de cada uno de ellos podemos editar sus características y modificar las passwords. Ahora si nos logamos con este usuario nos llevaremos una sorpresa al encontrar el siguiente error:
Pero, ¿cómo le establezco los permisos a este usuario? Para ello con el usuario administrador tenemos que ir a  »Administrar Hudson» — «Configuración del sistema» y en el cuadro de «Configuración de la seguridad» añadimos al «usuario1» y pulsamos en «Añadir» si el usuario ya existe nos saldrá el mismo símbolo que al administrador y si no existe nos saldrá un prohibido indicando que no entiende ese usuario. 
De este modo ahora si podremos logarnos con el usuario «usuario1» teniendo permisos sólo de lectura.
Cada vez más las empresas apuestan por la ubicuidad de los empleados y la seguridad ya no se limita a estar dentro de una red si no que estos herramientas se publican en el ancho, y a veces peligroso mundo de Internet, por lo que los sistemas de seguridad se hacen imprescindibles y es una suerte contar con herramientas que ya traen mecanismos para solventar este problema, además de una manera bastante «amigable».
Esta solución es adecuada para empresas con pocos desarrolladores, para empresas de mediano o gran tamaño nosotros aconsejamos tener un repositorio de usuarios como ActiveDirectory o LDAP. En posteriores tutoriales veremos como implementar la seguridad contra uno de estos repositorios.
Desde Autentia (www.autentia.com) os recomendamos este tipo de herramientas y os invitamos a que las probéis en vuestro día a día en el mundo del desarrollo, veréis como el control de vuestros proyectos mejora exponencialmente.

1 Comentario

  1. muy bueno este blog.
    Tengo un problema en la autentificacion de usuario me muestra el mismo error de aceso denegado usuario is missing the Read permission. Tengo todos los privelegios asignados lo raro es que a la primera si entre despues de un tiempo acceso denega despues volvi a entrar y nunca mas volvi a entrar siempre muestra el mensaje acceso denegado, mis otros colegas me observan en la configuracion con todos los privilegios .Por favor agradecere su ayuda. La configuracion es identica a la del tutorial mostrado gracias.

Dejar respuesta

Please enter your comment!
Please enter your name here