Professional Documents
Culture Documents
www.autentia.com
ndice
Conceptos fundamentales de Maven
Qu es? Cmo funciona?
www.autentia.com
www.autentia.com
clean
defaultt
site
Goals
site deploy-site deploy pre-clean clean post-clean validate test package test-integration verify install compile
Fases
post-site
pre-site
www.autentia.com
www.autentia.com
Dos estructuras dependiendo de la versin del repositorio: Maven 1.x Maven 2.x
www.autentia.com
www.autentia.com
www.autentia.com
Introduccin a Archiva
Archiva es una aplicacin web que permite gestionar repositorios Maven y mucho ms. Resuelve los problemas que pueden aparecer en organizaciones: consumo de ancho de banda resude el tiempo de construccin mayor control de los artefactos descargados. Caractersticas: Autenticacin/Autorizacin (roles) en Archiva y repositorios gestionados. Gestin de usuarios. Proxy de repositorios remotos (cacheo de los artefactos descargados). Gestin de repositorios internos. Bsqueda de artefacto en los repositorios definidos. Navegacin sobre los artefactos. Identificacin de los artefactos annimos. Repositorios Virtual. RSS
www.autentia.com
Instalacin de Archiva
Jakarta distribuye dos alternativas de instalacin: Instalando Archiva como una aplicacin web desplegada sobre un servidor de aplicaciones. Instalacin con una aplicacin standalone. Instalando Archiva como aplicacin standalone: Jetty: como Servidor Web. Apache Derby: base de datos relacional. o Dos esquemas: usuarios (informacin sobre los usuarios) archiva (informacin sobre los repositorios) Requerimientos mnimos: o JDK 1.4 o superior. o Espacio mnimos alrededor de 20 MB. o SSOO: Windows, Linux, Solaris y Mac OS X.
www.autentia.com
Configuracin
Archiva utiliza Redback para incorporar las funcionalidades de autenticacin, autorizacin (roles) y gestin de usuarios. Redback es framework que incorpora a las aplicaciones web funcionalidades de seguridad habituales en cualquier aplicacin de manera simple y sencilla . Cualquier aplicacin que incluya este framework es configurada de la misma forma (Continuum, herramienta de integracin continua). La configuracin de Redback se centraliza en un fichero de propiedades (security.properties) situado en el directorio de configuracin de archiva o en el directorio .m2 del directorio home del usuario. Se puede dividir en varios grupos:
JDBC Setup: propiedades para acceder al gestor de base de datos. Email Settings: propiedades para el correcto envo de email. Auto Login Settings: propiedades para el recordatorio de acceso. Default Usernames Values: propiedades sobre los usuarios administradores y invitados. Security Policies: propiedades para definir la poltica de seguridad de las contraseas. Password Rules: propiedades para definir el formato de las contraseas. LDAP Settings: propiedades para la autenticacin contra LDAP.
www.autentia.com
JDBC Setup
Archiva utiliza por defecto Derby como sistema gestor de base de datos. Archiva trabaja con dos modelos: uno para los datos de los usuarios y otro para los datos de los repositorios. Entre las propiedades que podemos personalizar se encuentra: jdbc.driver.name (org.apache.derby.jdbc.EmbeddedDriver): driver de acceso a la base de datos de usuario y repositorios. jdbc.url (jdbc:derby:${plexus.home}/database;create=true): direccin de acceso a la base de datos. jdbc.username (sa): nombre del usuario que se utiliza para conectarse a la base de datos jdbc.password: contrasea que se utiliza para conectarse a la base de datos.
www.autentia.com
Email Settings
Archiva utiliza un servidor de correo como parte del proceso de validacin y reactivacin de las cuentas creadas. Su configuracin es fundamental para el correcto funcionamiento de la aplicacin, aunque puede desactivarse aadiendo la propiedad email.validation.required=false en el fichero security.properties.
email.smtp.host (localhost): maquina donde se encuentra situado el servidor de correo. email.smtp.port (25): puerto donde se encuentra escuchando nuestro servidor de correo. email.smtp.ssl.enabled (false): propiedad para activar el acceso a servidores de correos utilizando el protocolo SSL. email.smtp.tls.enabled (false): propiedad para activar el acceso a servidores de correos utilizando el protocolo TLS. email.smtp.username: nombre de usuario utilizado para enviar los correos. email.smtp.password: contrasea del usuario utilizado para enviar los correos. email.from.address (${user.name}@localhost): direccin de correo que se establecer en el campo "from" de los correos. email.from.name: nombre del usuario que se adjuntar a la direccin de correo del campo "from". email.validation.required (true): propiedad que permite activar/desactivar la confirmacin del alta de los usuarios. email.validation.timeout (2880): periodo de tiempo en minutos que el usuario tiene para poder confirmacin el correo de activacin. email.validation.subject (Welcome): valor utilizado en el campo "Asunto" en los correo de activacin de los usuarios. email.feedback.path (/feedback.action): valor utilizado como enlace de acceso a la aplicacin desde los correos. Si empieza por "/" se aade al final del valor de la variable application.url o puede incluirse valores como mailto:xxx@yyy.com.
www.autentia.com
www.autentia.com
Security Policies
Existen ciertas propiedades que nos permiten cambiar comportamientos en la poltica de seguridad de las contraseas. Archiva por defecto viene configurado con una poltica que puede ser demasiado restrictiva en entornos de desarrollos y puede ser susceptible de modificarse. security.policy.password.previous.count (6): nmero de contrasea previas que no podemos repetir. security.policy.password.expiration.enabled (true): permite activar/desactivar la expiracin de la contrasea. security.policy.password.expiration.days (90): nmero de das que la contrasea ser validad desde el ltimo cambio. security.policy.password.expiration.notify.days (10): nmero de das que Archiva notifica al usuario de estar prximo la expiracin de contrasea. security.policy.allowed.login.attempt (10): nmero de acceso errneos a Archiva antes de bloquear la cuenta. security.policy.strict.force.password.change.enabled (true): permite activar/desactivar el proceso de cambio de contrasea cuanto esta ha caducado.
www.autentia.com
Password Rules
Tambin se nos permite modificar el formato que deseamos admitir en las contraseas.
security.policy.password.rule.alphanumeric.enabled (false): permite activar/desactivar la obligacin de que la contrasea contenga caracteres alfanmericos. security.policy.password.rule.alphacount.enabled (true): permite activar/desactivar la obligacin de que la contrasea contenga un nmero de caracteres alfanumricos como mnimo. security.policy.password.rule.alphacount.minimum (1): nmero mnimo de caracteres alfanumrico permitidos. security.policy.password.rule.characterlength.enabled (true): permite activar/desactivar la obligacin de que la contrasea contenga un nmero mnimo/mximo de caracteres. security.policy.password.rule.characterlength.minimum (1): nmero mnimo de caracteres. security.policy.password.rule.characterlength.maximum (24): nmero mximo de caracteres. security.policy.password.rule.musthave.enabled (true): permite activar/desactivar la obligatoriedad de rellenar la contrasea. security.policy.password.rule.numericalcount.enabled (true): permite activar/desactivar la obligacin de que la contrasea contenga nmeros. security.policy.password.rule.numericalcount.minimum (1): nmero mnimo de nmeros. security.policy.password.rule.reuse.enabled (true): permite activar/desactivar la comprobacin que hace Archiva para saber si la contrasea nueva coincide con algunas de las anteriores (relacionada con la propieadad security.policy.password.previous.count). security.policy.password.rule.nowhitespace.enabled (true): permite activar/desactivar que la contrasea contenga o no espacios.
www.autentia.com
LDAP Settings
Archiva tambin nos permite activar la autenticacin contra LDAP.
ldap.bind.authenticator.enabled (false): propiedad que activa el proceso de autenticacin "bind authenticator". ldap.config.hostname: nombre de la mquina donde se encuentra situado el LDAP. ldap.config.port: puerto donde se encuentra escuchando el LDAP. ldap.config.base.dn: DN raz del LDAP. ldap.config.context.factory: factora utilizada para conectarse al LDAP. ldap.config.bind.dn: usuario con el que se conectar Archiva al LDAP, debe tener al menos permisos de lectura sobre la rama de usuarios. ldap.config.password: contrasea del usuario para conectarse al LDAP. user.manager.impl (cached): implementacin utilizada para la gestin de usuarios. Puede tener dos posibles valores "cached", gestin de usuarios local, o "ldap", gestin de usuarios situados en un LDAP. ldap.config.mapper.attribute.email: nombre del campo LDAP con el que se mapear el campo email del usuario. ldap.config.mapper.attribute.fullname: nombre del campo LDAP con el que se mapear el campo nombre completo del usuario. ldap.config.mapper.attribute.password: nombre del campo LDAP con el que se mapear el campo contrasea del usuario. ldap.config.mapper.attribute.user.id: nombre del campo LDAP con el que se mapear el campo login del usuario. ldap.config.mapper.attribute.user.base.dn: nombre de la rama donde encontrar la lista de usuarios. Recomendamos encarecidamente que solo se configure esta propiedad en el fichero application.xml y no se defina en el fichero security.properties ya que Archiva contiene un bug que no se ha solucionado. ldap.config.mapper.attribute.user.object.class: nombre del objetoClass que tienen los usuarios en el LDAP. ldap.config.mapper.attribute.user.filter: filtro que permite restringir la lista de usuarios que puede acceder a Archiva.
www.autentia.com
Administracin
Con Archiva podremos administrar/gestionar: Usuarios:
Roles de administracin de Archiva: Roles de acceso a repositorios
Global Repository Observer Global Repository Manager Repository Observer Repository Manager Administrador de usuarios Administrador de la aplicacin
o Aadir, modificar y eliminar usuarios (en sistema de autenticacin sin LDAP). o Asignar roles.
Informes Apariencia Subida de artefactos Grupo de Repositorios (Repositorio Virtual) Repositorios internos y remotos Proxy Connectors Legacy Support Network Proxies Repository Scanning Database
www.autentia.com
Ejemplo practico
www.autentia.com
Particularizacin de la autenticacin
Archiva (Redback) permite que la autenticacin se realice contra un LDAP. Al activar la autenticacin contra el LDAP perdemos la mayora de la funcionalidades de la gestin de usuarios (crear, modificar y eliminar) ya que slo disponemos de acceso de solo lectura al LDAP. La asignacin de roles es local a la aplicacin. Existen dos formas de autenticacin contra el LDAP: bind authenticator comprobacin manual de la contrasea. Los pasos necesarios para configuracin son: Aadir varios elementos al fichero application.xml (Plexus). o se aade la configuracin para la factora de la conexin LDAP o se aade la configuracin del mapeo de los campos LDAP con atributos del usuario. o se aade la configuracin del cacheo de los usuarios o si se utiliza la autenticacin manual se aade la poltica de seguridad entre las que est el algoritmo de cifrado de la contrasea. Configuracin del fichero security.properties. Modificacin de la librera redback-common-ldap (bug).
www.autentia.com
Nuestra experiencia
Archiva es una aplicacin bastante completa con muchas funcionalidades. El LDAP es joven, tiene todava bugs y su acceso es de solo lectura. Es recomendable modificar/eliminar ciertas funcionalidades establecidas por defecto. Tener siempre sincronizada la contrasea con nuestro fichero settings.xml.
www.autentia.com
Ronda de preguntas
www.autentia.com