Archive for the 'Seguridad' Category

Alfresco: configuración de Single Sign On (SSO) con NTLM vía Active Directory. Parte 2 de 3

Toni January 2nd, 2010

En esta segunda parte veremos como “Activar el SSO en Alfresco Share con Active Directory (NTLM)“:

Hasta aquí, hemos conseguido acceder autenticados automáticamente a Alfresco Explorer y Alfresco Webdav, pero ¿qué pasa con Alfresco Share? Si probáis acceder en este momento tras la configuración anterior , veréis que os pide usuario y contraseña para poder acceder de forma normal, por lo que no está el SSO activado, vamos a ver como se configura.

Ficheros que intervienen:

  • web.xml -> dentro de WEB-INF de share.war (ya desplegado)
  • webscript-framework-config-custom.xml -> dentro de web-extension en el shared

En web.xml descomentar las dos secciones filter y filter-mapping que hacen referencia a NTLM.

En el fichero webscript-framework-config-custom.xml añadir dentro de la etiqueta alfresco-config la siguiente configuración:

<config evaluator=”string-compare” condition=”Remote”>
<remote>

<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>http://yourserver:8080/alfresco/wcs</endpoint-url>
<identity>user</identity>
<external-auth>true</external-auth>
</endpoint>

</remote>
</config>


Donde vemos yourserver debemos especificar localhost que es desde donde Share ve a Alfresco (esto es importante, si no sabes qué poner deja localhost). Reiniciamos Alfresco y listo.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Monitoring Alfresco: Nagios/Icinga, Hyperic, AuditSurf… JMX rocks!

Toni November 19th, 2009

Si tenemos Alfresco en producción (versión Enterprise), posiblemente queramos tener la aplicación controlada de la mejor forma posible y sobre todo que ese control nos aporte una visión real de lo que está pasando en el servidor y en la aplicación. Una monitorización efectiva nos permite controlar los problemas con el servicio, atisbar problemas futuros de rendimiento, detectar cuellos de botella, anomalías, etc.

Basic RGBnagios hypericauditsurf

La necesidad estaba ahí, necesitamos una solución de monitorización potente para Alfresco. Las versiones 3.X de Alfresco Enterprise permite ver y modificar muchos propiedades de la aplicación en tiempo real, por ejemplo:

  • Cambiar el nivel de log
  • Activar o desactivar FTP, CIFS o NFS
  • Poner el repositorio en solo lectura.
  • Poner el servidor en mono-usuario.
  • Limitar el número máximo de usurios o evitar accesos adicionales.
  • Ver número de sesiones y tickets de usuarios.
  • Ver número de sesiones y tickets no válidos.
  • Y muchos parámetros más.

Todo esto es gracias al soporte de JSR-160 vía JMX.

Vamos a ver qué opciones existen y cómo podemos implementarlas. Haremos un repaso a Hyperic, AuditSurf, cómo conectar a Alfresco con Jconsole y por último cómo implementar este tipo de monitorización con Nagios o Icinga (nuevo fork de Nagios).

Actualización: No olvides ver este y este post.

Continue Reading »

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

10 consejos básicos de seguridad en Alfresco

Toni November 9th, 2009

¡¡Actualizado el punto 5!!

Si estás empezando a usar Alfresco, en cuanto a seguridad y protección, es recomendable que tengas en cuenta los siguientes consejos básicos:

1. No uses la contraseña de administrador por defecto (admin/admin), debe ser lo primero que cambies al acceder por primera vez a Alfresco. Incluso puedes crear un usuario super administrador diferente a admin. A partir de la versión 3.1 puedes añadir tantos administradores como quieras en el grupo ALFRESCO_ADMINISTRATORS (vía Alfresco Explorer).

2. No uses el usuario y contraseña de base de datos por defecto. Como sabes, se usa usuario alfresco, contraseña alfresco y base de datos alfresco, para tenerlo en local está bien, pero no lo uses en un servidor, la salud de tu Alfresco depende de ello.

3. Nunca ejecutes Alfresco con un super usuario (root). Crea un usuario específico para levantar la aplicación. También recuerda que al repositorio físico (alf_data), índices y a la base de datos sólo debe acceder el usuario que levante la aplicación alfresco o el usuario que conecta a la base de datos, restringe acceso a cualquier otro usuario para evitar inconsistencias en BBDD y/o repositorio.

4. Usa un firewall como IPtables en la máquina donde está instalado Alfresco para hacer portforward de los puertos inferiores al 1024.

5. Usa un Apache y ProxyPass para proteger tu servidor de aplicaciones, no expongas tu servidor de aplicaciones. Esta configuración de Apache te puede servir de ejemplo, yo uso un fichero llamado alfresco.conf en /etc/httpd/conf.d/ (RedHat, CentOS y derivados):

ProxyPreserveHost On
ProxyPass /alfresco http://127.0.0.1:8080/alfresco
ProxyPassReverse /alfresco http://127.0.0.1:8080/alfresco

ProxyPass /share http://127.0.0.1:8080/share
ProxyPassReverse /share http://127.0.0.1:8080/share

ProxyPass /mobile http://127.0.0.1:8080/mobile
ProxyPassReverse /mobile http://127.0.0.1:8080/mobile

ProxyPass /studio http://127.0.0.1:8080/studio
ProxyPassReverse /studio http://127.0.0.1:8080/studio

También podríamos configurarlo con mod_proxy_ajp en lugar de mod_proxy, para más info sobre las virtudes de mod_proxy_ajp leer este artículo.

RewriteEngine on
RewriteRule ^/alfresco(.*) ajp://127.0.0.1:8009/alfresco$1 [P,L]
RewriteRule ^/share(.*) ajp://127.0.0.1:8009/share$1 [P,L]
RewriteRule ^/mobile(.*) ajp://127.0.0.1:8009/mobile$1 [P,L]

Recuerda activar en el server.xml del tomcat la siguiente línea y reiniciar Alfresco:

<Connector port=”8009″ enableLookups=”false” protocol=”AJP/1.3″ redirectPort=”8443″ />

6. Revisa los logs de Apache y del servidor de aplicaciones continuamente (en Apache el access_log y el error_log así como sus variantes SSL). En cuanto a Alfresco, recuerda que existe el log4j.properties y te permite investigar cualquier evento que ocurra en Alfresco.

7. Protege los accesos y autenticaciones con SSL. Esto se consigue, por ejemplo, instalando el módulo de Apache mod_ssl, de esa forma las conexiones serán seguras (independientemente si se accede desde Internet o Intranet). Además también aseguras las conexiones vía Webdav. Recuerda que accediendo por FTP las contraseñas viajan en claro.

8. Cuidado con los permisos y roles heredados en Alfresco, pueden ser un problema. Recuerda que en Alfresco el protagonista es el contenido, es en él donde hay que aplicar los permisos.

9. Aprovecha el encadenamiento (chaining) que soporta Alfresco en la autenticación y deja siempre para el final la autenticación con la BBDD local, sobre todo si no puedes acceder al LDAP de turno y quieres usar el usuario admin.

10. Realiza backup del repositorio y la base de datos todos los días, ya sea en frío (parando Alfresco) o en caliente, haciendo backup de la base de datos e inmediatamente del repositorio (en este orden). También puedes usar la aplicación de copia de seguridad de Intecna (ver repositorio de software libre de la Junta de Andalucía).

Seguro que se puede ampliar esta lista, ¿que consejos recomiendas tu?

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Conferencia: Infraestructura de clave pública con Software Libre

Toni February 16th, 2009

Aquí la otra sobre PKI y herramientas para implementarla.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Conferencia: Gestión de la seguridad con Software Libre

Toni February 16th, 2009

Lo prometido es deuda. Aquí tenéis la presentación sobre la conferencia que di en La Habana la semana pasada. Saludos a todos los que asistieron.

Más presentaciones mias aqui.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark