consejos de seguridad con alfresco

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

Upload: toni-de-la-fuente

Post on 18-Dec-2014

12.726 views

Category:

Technology


1 download

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.

TRANSCRIPT

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.