Você está na página 1de 32

Consejos de seguridad con Alfresco

Toni de la Fuente Senior Solutions Engineer


twitter: @ToniBlyx - blog: blyx.com

Contenidos

Introduccin Ciclo del proyecto y seguridad


o o o o o

Planificacin Instalacin Configuracin y fortificacin Mantenimento Monitorizacin y auditora

Otras tareas relacionadas con la


seguridad Conclusiones

* No los vamos a cubrir en esta sesin

Introduccin

Introduccin

Por qu es importante la seguridad en Alfresco?


o

Es importante si tus contenidos lo son.

Si la cada de Alfresco te supone un problema econmico para tu organizacin, la seguridad del mismo es importante. La seguridad es un proceso no un producto. Continuidad de las operaciones, proteccin, integridad, privacidad. Llevar al mximo el MTBF, garantizar el mnimo MTTR posible, contemplados en el Plan de Seguridad de la organizacin, Plan de contingencias y Plan de recuperacin de desastres.

Ciclo del Proyecto y Seguridad

Planificacin y anlisis previo


Qu debo securizar? Depende
o o o o o

Necesidades del proyecto Interfaces Usuarios, aplicaciones o ambos Personalizacin Arquitectura, alta disponibilidad y escalabilidad
Document Management Collaboration Web Content Management Records Management Email Archive

Interfaces?

Nmero de?

Personalizacin?

Depende de la arquitectura de red


B A
Share Alfresco App Srv

DataBase

Content Store

Index

Instalacin

Buenas prcticas y recomendaciones 1/2


Usar un usuario no root
o

Configura todos los puertos por encima del 1024

Evitar contraseas por defecto (admin, db). Cambiar certificados y claves por defecto de SOLR.
o o

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

Permisos de los ficheros de configuracin, contentstore, ndices y logs. Nadie salvo el usuario de la aplicacin debe poder acceder.
o o

chown R alfresco:alfresco installRoot/ chmod R 600 installRoot/

Buenas prcticas y recomendaciones 2/2

Antes de realizar la instalacin usa Alfresco Environment Validation Tool para evitar servicios y/o puertos conflictivos. Activa SSL siempre que sea posible:
o o

No uses certificados autofirmados para produccin. 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 suplantacin.

Configuracin post instalacin

Qu puertos debo abrir y conocer? IN

Qu puertos debo abrir y conocer? OUT

* Habra que permitir el trfico a XAM y a servicios remotos deFacebook,Twitter,LinkedIn,Slideshare,Youtube,FlickroBlogs, en caso de usar elPublishing Framework.

Control y revisin
Controla los procesos y los puertos que usa el sistema (Linux):
# netstat -tulpn|grep -i java! ! tcp 0 0 0.0.0.0:50500 tcp 0 0 127.0.0.1:8005 tcp 0 0 0.0.0.0:8009 tcp 0 0 0.0.0.0:139 tcp 0 0 0.0.0.0:8080 tcp 0 0 0.0.0.0:21 tcp 0 0 0.0.0.0:8443 tcp 0 0 0.0.0.0:445 tcp 0 0 0.0.0.0:7070 udp 0 0 0.0.0.0:137

0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:*

LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN

8591/java 8591/java 8591/java 8591/java 8591/java 8591/java 8591/java 8591/java 8591/java 8591/java

Activacin de SSL para los servicios


HTTP HTTPS
o o o o o o

Appliance con soporte SSL offloading Activar HTTPS en el frontal Apache Activar HTTPS en Servidor de Aplicaciones Ver documentacin oficial As evitars problemas de los usuarios (MS Office) Ver documentacin oficial

FTP FTPS SharePoint (jetty) SSL SMTP SMTPS: tanto IN como OUT IMAP y JGroups (workarounds)

Configuracin post instalacin


Configuracin de IPtables para redireccionar puertos inferiores a 1024:
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
o

Cambia las credenciales de JMX


o

http://blyx.com/2011/12/20/persistencia-en-lascredenciales-jmx-de-alfresco/

Asegrate que los logs estn donde tu quieres


o

http://blyx.com/2011/06/02/consejos-sobre-los-logs-enalfresco/

Configuracin post instalacin


Vas a usar autenticacin externa?
o

Cifra la comunicacin entre Alfresco y el LDAP/AD o Sistema de SSO (usa el puerto 636 TCP para LDAPS)

Desactiva los servicios que no necesites:


ftp.enabled=false cifs.enabled=false imap.server.enabled=false nfs.enabled=false webdav: se desactiva comentando las opciones correspondientes en tomcat/webapps/alfresco/WEB-INF/ web.xml o SharePoint: no instales el mdulo si no lo necesitas.
o o o o o

Configuracin post instalacin


Configuracin de las copias de seguridad
o

o o

Backup Lucene 2 AM installRoot/alf_data/backup-lucene-indexes Backup SOLR 2AM Alfresco core y 4AM Archive core. installRoot/workspace-SpacesStore installRoot/archive-SpacesStore Backup SQL. 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 recuperacin como medida preventiva de forma asidua y planificada. Incorpora el procedimiento comprobado de recuperacin de Alfresco a tu plan de contingencia. Contempla usar Replication Service en el plan de recuperacin de desastres.

Configuracin post instalacin


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)

Configuracin post instalacin


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>!

Mantenimiento

Mantenimiento
Revisin diaria de los log y registro de auditora. Revisin diaria del backup. Borrado de los ficheros hurfanos, rotacin de los logs, limpiado de temporales.
o

Script en cron ms info aqu: http://www.fegor.com/2011/08/mantenimientodiario-de-alfresco.html

Monitorizacin y Auditora

Monitorizacin y Auditora
JMX
o o o

Jconsole VisualVM http://blyx.com/2009/11/19/monitoring-alfresconagiosicinga-hyperic-auditsurf-jmx-rocks/ http://blyx.com/2009/11/19/monitoring-alfresconagiosicinga-hyperic-auditsurf-jmx-rocks/ http://blyx.com/2010/09/13/monitoring-alfresco-conjavamelody/

Hyperic Nagios/Icinga
o

Javamelody
o

AuditSurf

Monitorizacin y Auditora
Auditora 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"! } } !

Otras tareas relacionadas con la seguridad

Otras tareas o herramientas relacionadas


Evitar fugas de informacin mediante metadatos. Considera usar el nuevo tipo d:encrypted Aadir checksum a los contenidos Bloqueo de usuario tras fallos de autenticacin Cambiar la ruta de visibilidad de webdav Timeout de sesin de Explorer y Webdav Timeout de sesin en Share Timeout de sesin en CIFS Poner CIFS y FTP en solo lectura. Ms 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 tamao de ficheros a subir o interceptar contenidos. Filtra qu aplicaciones acceden a los servicios/API remotos

Conclusiones

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 o o o o o o

Seguridad y desarrollo. Auditora. Usuarios, roles y permisos. Acegi. Creacin de subsistemas de Autenticacin (webinar realizado) SSO con CAS, Siteminder, OpenSSO, JoSSO, ForgeRock, Oracle Identity Manager, etc. Integracin con PKI, firma digital, portafirmas, cifrado, etc.

Alguna idea?

Preguntas?

Toni de la Fuente toni.delafuente@alfresco.com Foro en espaol: http://forums.alfresco.com/es

Contacta con el equipo de Alfresco en Espaa


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

toni.delafuente@alfresco.com http://blyx.com Twitter: @ToniBlyx

The open platform for social content management.

Você também pode gostar