32
Consejos de seguridad con Alfresco Toni de la Fuente Senior Solutions Engineer twitter: @ToniBlyx - blog: blyx.com

Consejos de seguridad con Alfresco

Embed Size (px)

DESCRIPTION

Cuanta más información almacenamos en Alfresco, más necesidades de protegerla tenemos. En este webinar haremos un repaso sobre los consejos de seguridad más importantes a tener en cuenta en Alfresco, tanto a nivel de aplicación como a nivel de servidor, red e intrusiones.

Citation preview

Page 1: Consejos de seguridad con Alfresco

Consejos de seguridad con Alfresco Toni de la Fuente Senior Solutions Engineer

twitter: @ToniBlyx - blog: blyx.com

Page 2: Consejos de seguridad con Alfresco

Contenidos

•  Introducción •  Ciclo del proyecto y seguridad

o  Planificación o  Instalación o  Configuración y fortificación o  Mantenimento o  Monitorización y auditoría

•  Otras tareas relacionadas con la seguridad

•  Conclusiones

* No los vamos a cubrir en esta sesión

Page 3: Consejos de seguridad con Alfresco

Introducción

Page 4: Consejos de seguridad con Alfresco

Introducción

•  ¿Por qué es importante la seguridad en Alfresco? o  Es importante si tus contenidos lo son.

•  Si la caída de Alfresco te supone un problema económico para tu organización, la seguridad del mismo es importante.

•  La seguridad es un proceso no un producto. •  Continuidad de las operaciones, protección,

integridad, privacidad. •  Llevar al máximo el MTBF, garantizar el mínimo MTTR

posible, contemplados en el Plan de Seguridad de la organización, Plan de contingencias y Plan de recuperación de desastres.

Page 5: Consejos de seguridad con Alfresco

Ciclo del Proyecto y Seguridad

Page 6: Consejos de seguridad con Alfresco

Planificación y análisis previo

•  ¿Qué debo securizar? Depende… o  Necesidades del proyecto o  Interfaces o  Usuarios, aplicaciones o ambos o  Personalización o  Arquitectura, alta disponibilidad y escalabilidad

Document Management

Records Management

Collaboration Web Content Management

Email Archive

¿Interfaces? Personalización? Número de…?

Page 7: Consejos de seguridad con Alfresco

Depende de la arquitectura de red

Share

App Srv

Alfresco

Con

tent

S

tore

Inde

x

Dat

aBas

e

A

B

Page 8: Consejos de seguridad con Alfresco

Instalación

Page 9: Consejos de seguridad con Alfresco

Buenas prácticas y recomendaciones 1/2

•  Usar un usuario no “root” o  Configura todos los puertos por encima del 1024

•  Evitar contraseñas por defecto (admin, db). •  Cambiar certificados y claves por defecto

de SOLR. o  Usa keytool o tus propios certificados. o  installRoot/alf_data/solr/CreateSSLKeystores.txt

•  Permisos de los ficheros de configuración, contentstore, índices y logs. Nadie salvo el usuario de la aplicación debe poder acceder. o  chown –R alfresco:alfresco installRoot/ o  chmod –R 600 installRoot/

Page 10: Consejos de seguridad con Alfresco

Buenas prácticas y recomendaciones 2/2

•  Antes de realizar la instalación usa Alfresco Environment Validation Tool para evitar servicios y/o puertos conflictivos.

•  Activa SSL siempre que sea posible: o  No uses certificados autofirmados para producción. o  Comprueba la fortaleza del certificado en:

•  https://www.ssllabs.com/ssldb/analyze.html

•  Usa Apache (u otro) para proteger el servidor de aplicaciones y los servicios.

•  En Linux puedes usar SELinux •  Cuando sea posible, usar el bundle para tener los

binarios externos controlados y evitar una posible suplantación.

Page 11: Consejos de seguridad con Alfresco

Configuración post instalación

Page 12: Consejos de seguridad con Alfresco

¿Qué puertos debo abrir y conocer? IN

Page 13: Consejos de seguridad con Alfresco

¿Qué puertos debo abrir y conocer? OUT

* Habría que permitir el tráfico a XAM y a servicios remotos de Facebook, Twitter,LinkedIn, Slideshare, Youtube, Flickr o Blogs, en caso de usar el Publishing Framework.

Page 14: Consejos de seguridad con Alfresco

Control y revisión

•  Controla los procesos y los puertos que usa el sistema (Linux):

# netstat -tulpn|grep -i java!!tcp 0 0 0.0.0.0:50500 0.0.0.0:* LISTEN 8591/java !tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 8591/java !tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 8591/java !

tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 8591/java !tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 8591/java !tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 8591/java !tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 8591/java !tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 8591/java !tcp 0 0 0.0.0.0:7070 0.0.0.0:* LISTEN 8591/java !udp 0 0 0.0.0.0:137 0.0.0.0:* 8591/java !

Page 15: Consejos de seguridad con Alfresco

Activación de SSL para los servicios

•  HTTP – HTTPS o  Appliance con soporte SSL offloading o  Activar HTTPS en el frontal Apache o  Activar HTTPS en Servidor de Aplicaciones

•  FTP – FTPS o  Ver documentación oficial

•  SharePoint (jetty) SSL o  Así evitarás problemas de los usuarios (MS Office) o  Ver documentación oficial

•  SMTP – SMTPS: tanto IN como OUT •  IMAP y JGroups (workarounds)

Page 16: Consejos de seguridad con Alfresco

Configuración post instalación

•  Configuración de IPtables para redireccionar puertos inferiores a 1024: o  Ejemplo para FTP:

•  iptables -t nat -A PREROUTING -p tcp --dport 21-j REDIRECT --to-ports 2121

o  http://wiki.alfresco.com/wiki/File_Server_Configuration

•  Cambia las credenciales de JMX o  http://blyx.com/2011/12/20/persistencia-en-las-

credenciales-jmx-de-alfresco/

•  Asegúrate que los logs están donde tu quieres o  http://blyx.com/2011/06/02/consejos-sobre-los-logs-en-

alfresco/

Page 17: Consejos de seguridad con Alfresco

Configuración post instalación

•  ¿Vas a usar autenticación externa? o  Cifra la comunicación entre Alfresco y el LDAP/AD o

Sistema de SSO (usa el puerto 636 TCP para LDAPS)

•  Desactiva los servicios que no necesites: o  ftp.enabled=false o  cifs.enabled=false o  imap.server.enabled=false o  nfs.enabled=false o  webdav: se desactiva comentando las opciones

correspondientes en tomcat/webapps/alfresco/WEB-INF/web.xml

o  SharePoint: no instales el módulo si no lo necesitas.

Page 18: Consejos de seguridad con Alfresco

Configuración post instalación

•  Configuración de las copias de seguridad o  Backup Lucene 2 AM

•  installRoot/alf_data/backup-lucene-indexes o  Backup SOLR 2AM Alfresco core y 4AM Archive core.

•  installRoot/workspace-SpacesStore •  installRoot/archive-SpacesStore

o  Backup SQL. o  Backup contentStore.

•  Considera el uso de snapshots de LVM •  Recuerda que se pueden hacer backup de sitios con:

o  http://code.google.com/p/share-import-export/

•  Prueba la recuperación como medida preventiva de forma asidua y planificada.

•  Incorpora el procedimiento comprobado de recuperación de Alfresco a tu plan de contingencia.

•  Contempla usar Replication Service en el plan de recuperación de desastres.

Page 19: Consejos de seguridad con Alfresco

Configuración post instalación

•  Desactivar usuario invitado (Guest): o  Para NTLM-Default:

•  alfresco.authentication.allowGuestLogin=false (true por defecto)

o  Para pass-through: •  passthru.authentication.guestAccess=false (false por

defecto) o  Para LDAP/AD:

•  ldap.authentication.allowGuestLogin=false (true por defecto)

•  Limitar el uso por usuarios y estado del repositorio: o  server.maxusers=-1 (-1 no limit) o  server.allowedusers=admin,toni,bill (vacio para todos) o  server.transaction.allow-writes=true (false para poner todo

el sistema en solo lectura)

Page 20: Consejos de seguridad con Alfresco

Configuración post instalación

•  Desactivar papelera de reciclaje: o  Crear un fichero *-context.xml con el siguiente contenido:

<bean id="storeArchiveMap" class="org.alfresco.repo.node.StoreArchiveMap">! <property name="archiveMap">! <map>!! ! </map>!

</property>! <property name="tenantService">! <ref bean="tenantService" />!

</property>! </bean>!

Page 21: Consejos de seguridad con Alfresco

Mantenimiento

Page 22: Consejos de seguridad con Alfresco

Mantenimiento

•  Revisión diaria de los log y registro de auditoría.

•  Revisión diaria del backup. •  Borrado de los ficheros huérfanos,

rotación de los logs, limpiado de temporales. o  Script en cron más info aquí:

•  http://www.fegor.com/2011/08/mantenimiento-diario-de-alfresco.html

Page 23: Consejos de seguridad con Alfresco

Monitorización y Auditoría

Page 24: Consejos de seguridad con Alfresco

Monitorización y Auditoría

•  JMX o  Jconsole o  VisualVM

•  Hyperic o  http://blyx.com/2009/11/19/monitoring-alfresco-

nagiosicinga-hyperic-auditsurf-jmx-rocks/

•  Nagios/Icinga o  http://blyx.com/2009/11/19/monitoring-alfresco-

nagiosicinga-hyperic-auditsurf-jmx-rocks/

•  Javamelody o  http://blyx.com/2010/09/13/monitoring-alfresco-con-

javamelody/

•  AuditSurf

Page 25: Consejos de seguridad con Alfresco

Monitorización y Auditoría

• Auditoría de logins fallidos: audit.enabled=true audit.tagging.enabled=true !audit.alfresco-access.enabled=true!audit.alfresco-access.sub-events.enabled=true !audit.cmischangelog.enabled=true

Saber que se está auditando:

$ curl -u admin:admin http://localhost:8080/alfresco/service/api/audit/control

Renombrar: tomcat/shared/classes/alfresco/extension/audit/alfresco-audit-example-login.xml.sample

$ curl -u admin:admin "http://localhost:8080/alfresco/service/api/audit/query/AuditExampleLogin1/auditexamplelogin1/login/error/user?verbose=true"!{! "count":5,! "entries": ! [ { "id":7,! "application":"AuditExampleLogin1",! "user":null,! "time":"2012-03-05T19:20:48.994+01:00",! "values":! { "\/auditexamplelogin1\/login\/error\/user":"toni"! } } !

Page 26: Consejos de seguridad con Alfresco

Otras tareas relacionadas con la seguridad

Page 27: Consejos de seguridad con Alfresco

Otras tareas o herramientas relacionadas •  Evitar fugas de información mediante metadatos. •  Considera usar el nuevo tipo “d:encrypted” •  Añadir checksum a los contenidos •  Bloqueo de usuario tras fallos de autenticación •  Cambiar la ruta de visibilidad de webdav •  Timeout de sesión de Explorer y Webdav •  Timeout de sesión en Share •  Timeout de sesión en CIFS •  Poner CIFS y FTP en solo lectura. •  Más herramientas en “Alfresco Security Toolkit” en Google

Code. •  Considerar usar un escaner de red para evitar

almacenamiento de virus y troyanos. •  Mod_security para limitar el tamaño de ficheros a subir o

interceptar contenidos. •  Filtra qué aplicaciones acceden a los servicios/API remotos

Page 28: Consejos de seguridad con Alfresco

Conclusiones

Page 29: Consejos de seguridad con Alfresco

Conclusiones

•  Actualmente disponemos de herramientas para hacer de nuestra plataforma un sistema seguro.

•  No debemos tomar estos consejos como una tarea aislada.

•  Recuerda que la seguridad es un proceso continuo. •  Temas a tratar en futuros webinars:

o  Seguridad y desarrollo. o  Auditoría. o  Usuarios, roles y permisos. o  Acegi. o  Creación de subsistemas de Autenticación (webinar realizado) o  SSO con CAS, Siteminder, OpenSSO, JoSSO, ForgeRock, Oracle Identity

Manager, etc. o  Integración con PKI, firma digital, portafirmas, cifrado, etc.

•  ¿Alguna idea?

Page 30: Consejos de seguridad con Alfresco

¿Preguntas?

Toni de la Fuente [email protected] Foro en español: http://forums.alfresco.com/es

Page 31: Consejos de seguridad con Alfresco

Contacta con el equipo de Alfresco en España

http://www.alfresco.com/es/about/contact/

[email protected]

http://blyx.com Twitter: @ToniBlyx

Page 32: Consejos de seguridad con Alfresco

The open platform for social content management.