CURSO DE ADMINISTRACIÓN AVANZADA E 
DESENVOLVEMENTO DE DRUPAL 
TEMA 3: RENDEMENTO E SEGURIDADE DRUPAL 
8 - 12 setembro 2014 – Santiago de Compostela
Usted es libre de: 
Copiar, distribuir y comunicar públicamente la obra 
Hacer obras derivadas 
Bajo las condiciones siguientes: 
Reconocimiento - Debe reconocer los créditos de la obra de la manera especificada por 
el autor o licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el 
uso que hace de su obra). 
Compartir bajo la misma licencia - Si altera o transforma esta obra, o genera una obra 
derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. 
© 2014 - CIXUG 
Esta obra fue creada por Alberto Permuy Leal, y está disponible bajo una licencia Reconocimiento-CompartirIgual 
3.0 http://creativecommons.org/licenses/by-sa/3.0/deed.es_ES
CURSO DRUPAL 7 AVANZADO 
SABIAS QUE... 
● 0,1s de retraso en Amazon implican -1% ingresos. 
● 1s de retraso en Facebook reduce un 6% visitas. 
● Netflix activa gzip = + 13-25% velocidad carga 
● Google Maps: +30% aumento velocidad = +30% usuarios 
Beneficio Amazon en 2013: 274 M € || Facebook 2 semestre 2014 : 1,3B visitas/mes 
http://www.statista.com/statistics/264810/number-of-monthly-active-facebook-users-worldwide/ 
http://www.expansion.com/2014/01/31/empresas/tmt/1391126796.html
CURSO DRUPAL 7 AVANZADO 
FACTORES QUE INFLUEN NO RENDEMENTO 
● Humano: Saber e recoñecer que temos un problema. Habilidades. 
● Software: Drupal, SSOO, arquitectura de rede... 
● Hardware: AMDK6-II 350Mhz 
● Económicos: tempo = €
CURSO DRUPAL 7 AVANZADO 
caché, 
caché, 
caché
CURSO DRUPAL 7 AVANZADO 
Caché : a clave en Drupal 
● Caché OpCode PHP 
● Caché de proxy inverso 
● Caché de bases de datos 
● Cachés de Drupal
CURSO DRUPAL 7 AVANZADO 
Caché OpCode 
● Fundamental en Drupal 
● Non temos(ou non deberiamos) ter motivos para non implementar. 
● APC, Xcache, eAcceleator => APC 
● http://www.drupal.org/project/apc
CURSO DRUPAL 7 AVANZADO 
Caché de proxy inverso 
● Alivia considerablemente a carga dos servidores web. 
● Nginx + Apache 
● Varnish é o preferido pola comunidade Drupal 
● Boost 
https://github.com/perusio/drupal-with-nginx 
https://www.drupal.org/project/varnish 
https://www.drupal.org/project/boost
CURSO DRUPAL 7 AVANZADO 
Caché de base de datos 
● MySQL dispón das súas propias cachés. Let's go! 
● Consultas: query_cache_size 
● Operacións I/O do sistema arquivos : innodb_buffer_pool_size 
● https://www.drupal.org/node/85768
CURSO DRUPAL 7 AVANZADO 
memcached 
● Sistema de caché baseado en memoria 
● Funcionamento táboa hash distribuida 
● Array asociativo clave => valor . Clave hasta 250 bytes e valores ata 
1 MB. 
● Integración “awesómica” en Drupal 
● Podemos “cachear” bloques, views.... 
● https://www.drupal.org/project/memcache
Curso CDA: Seguridade e rendemento en Drupal
CURSO DRUPAL 7 AVANZADO 
RENDEMENTO DRUPAL 7 
ab siege
CURSO DRUPAL 7 AVANZADO 
Consellos rendemento Drupal 
● Planificación da estratexia de rendemento 
● ssoo + www + bbdd + core + code 
● Manter actualizado Drupal, sempre! 
● Desactivar módulos non necesarios 
● Drupal caché: 
● Bloques 
● views → views_caché 
● memcache + OpCode(APC p.e) 
● Minimizar CSS e JS (Advag) 
● Monitorizar + profiling para identificar erros: Yslow(p.e)
CURSO DRUPAL 7 AVANZADO 
Tip: Reducir o número de peticións HTTP 
● HTTP protocolo cliente/servidor 
● A maior número de peticións, maior tempo de espera 
Solución: 
● Combinar CSS nun único arquivo 
● Combinar JS nun único arquivo 
Tools 
● Drupal core 
● AdvAgg
CURSO DRUPAL 7 AVANZADO 
Tip: Engadir Expires Header 
● Expires Header fixa o tempo que debe pasar ata que un 
cliente debe descargar de novo os compoñentes do 
noso sitio web, por exemplo imaxes. 
Solución 
● Activar mod_expires. No arquivo .htaccess dunha instalación de 
Drupal, a configuración de mod_expires é xenérica. Debemos tunear a 
configuración 
Tools 
● Apache2 mod_expires 
● Módulo advagg e expires
CURSO DRUPAL 7 AVANZADO 
Tip: Comprimir componentes con GZIP 
● Comprimir HTML, CSS y JS reduce considerablemente el 
peso de nuestro sitio web 
● Todos los navegadores* soportan compresión GZIP 
Solución 
● Activar mod_deflate 
Tools 
● Activado por defecto nunha instalación Apache2 en Debian 
GNU/Linux 7.x 
● mod_deflate.conf => DeflateCompressionLevel
CURSO DRUPAL 7 AVANZADO 
Tip: Engadir Expires Header 
● Expires Header fixa o tempo que debe pasar ata que un 
cliente debe descargar de novo o contido. 
Solución 
● Activar e configurar mod_expires en Apache2 
Tools 
● Módulo expires o advagg
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL IV - CONSELLOS e MÓDULOS 
● Manter tódolos compoñentes actualizados: ssoo + drupal 
● Copias de seguridade controladas e verificadas 
● https://www.drupal.org/security/secure-configuration 
● Auditar sitio : https://www.drupal.org/project/seckit 
● Sempre que sexa posible usar HTTPS 
● Controlar a entrada de texto 
● https://www.drupal.org/project/wysiwyg_filter 
● https://www.drupal.org/project/better_formats 
● check_plain en .module :) 
● Non mostrar erros = drush variable-set error_level 0
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL 
● Todo o software ten ou pode ter erros. 
● Drupal é unha gran comunidade que aporta día a día melloras a nivel de 
seguridade. 
● A política de actualizacións de seguridade de Drupal é seria: 
Drupal Security Team 
● Releases do tipo BugFix libéranse o primeiro mércores de cada mes. 
● Releases con correcións de vulnerabilidades son liberadas o terceiro 
mércores de cada mes.
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL II - SECURITY TEAM 
● Resolver os problemas de seguridade reportados polos Security Advisory 
● Asistencia aos mantenedores de módulos en materias de seguridade 
● Documentar cómo escribir código seguro 
● Documentar cómo securizar os sitios web feitos con Drupal 
● Axudar a manter segura a infraestrutura de Drupal.org 
https://www.drupal.org/security-team 
https://www.drupal.org/security/secure-configuration 
https://www.drupal.org/writing-secure-code
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL III - REPORTE DE BUGS 
● Metódo 1: Directamente a security.drupal.org (recomendado) 
● Localizar o proxecto en Drupal.org 
● Columna dereita "Report a security issue" 
● A ligazón remite o reporte ao Issue Tracker de Security Team para análise 
● Método 2: email security@drupal.org 
● Enviar como mínimo 
● Versión do core ou módulo afectada 
● Pasos para reproducir o erro 
● Patch para solucionalo 
https://www.drupal.org/node/101494
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL IV - CONSELLOS e MÓDULOS 
● Manter tódolos compoñentes actualizados: ssoo + drupal 
● Copias de seguridade controladas e verificadas 
● https://www.drupal.org/security/secure-configuration 
● Auditar sitio : https://www.drupal.org/project/seckit 
● Sempre que sexa posible usar HTTPS 
● Controlar a entrada de texto 
● https://www.drupal.org/project/wysiwyg_filter 
● https://www.drupal.org/project/better_formats 
● check_plain en .module :) 
● Non mostrar erros = drush variable-set error_level 0
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL V - CONSELLOS e MÓDULOS 
Seguridade nas comunicacións 
● Secure by role(secrole) 
● Permite servir páxinas por HTTPS configurados por roles 
● Secure pages(securepages) 
● Redirecciona a HTTPS 
● Secure login(securelogin) 
● Redirecciona a HTTPS o datos enviados polo formulario de inicio de sesión 
● Encrypted Files(encrypted_files) 
● Cifra os arquivos aportados polos usuarios vía “wrapper” 
https://www.drupal.org/node/597728
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL VI - CONSELLOS e MÓDULOS 
Seguridade nas sesións 
● No anonymous sesion(non_anon) 
● Deshabilita as sesións para usuarios anónimos 
● Sesion limit(sesion_limit) 
● Permite limitar o número de sesións simultáneas por usuario 
● Auto log out(autologout) 
● Pecha as sesións dos usuarios/as despois dun tempo de inactividade 
https://www.drupal.org/node/597706
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL VII - CONSELLOS e MÓDULOS 
Xestión de contrasinais 
● Login security (login_security) 
● Implementa opcións de seguridade nas operacións cotidianas de login nun 
sitio web Drupal. 
● Password policy (password_policy) 
● Permite especificar a política de complexidade dos contrasinais 
● Restrict password change (restrict_password_change) 
● Engade novo permisos change other users passwords” 
https://www.drupal.org/node/597706
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL VIII - CONSELLOS e MÓDULOS 
Seguridade nas sesións 
● Certificate login(certificatelogin) 
● Permite a usuarios iniciar sesión usando un certificado dixital 
● OAuth(oauth) 
● Permite usar o API de autenticación de OAuth, fundamental se desexas 
integrar Drupal con sitios como Google, Flickr, Twitter ou Yahoo! 
● Duo Two Factor Authenticatión( duo ) 
● Permite usar DUO con Drupal => www.duosecurity.com 
https://www.drupal.org/node/597706
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL IX - CONSELLOS e MÓDULOS 
● Captcha( captcha ) 
● Protexe os formularios con proba para demostrar que eres humano”(Turing) 
● Recaptcha( recaptcha ) 
● Implementación de Google Recaptcha 
https://www.google.com/recaptcha/intro/index.html 
● Mollom( mollom ) 
● Protexe os formularios permitindo identificar se o contido e ou non spam 
baseandose non so no contido. 
https://www.drupal.org/node/597706 
SPAM
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL X - CONSELLOS e MÓDULOS 
● IP Anonymize( ip_anon ) 
● Permite ocultar Ips de usuarios na bitácora de Drupal 
● Invisimail( invisimail ) 
● Oculta emails a bots vía Javascript => mailto 
● Encrypted text( encrypted_text ) 
● Crear un campo cuxos datos almacénanse cifrados na base de datos 
https://www.drupal.org/node/597706 
Privacidade
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL XI - CONSELLOS e MÓDULOS 
Detectión e prevención 
● MD5 Check( md5check ) 
● Xenerar sumas MD5 de módulos e comproba alteracións. Os reportes envíanse 
como security error á bitácora do sistema 
● Hacked ( hacked ) 
● Escanea a instalación de Drupal na busca de cambios en módulos e temas. 
● Security( security ) 
● Security Information Report do sitio. 
● Coder( coder ) 
● Módulo para desenvolvedores que axuda a atopar e depurar erros. 
https://www.drupal.org/node/597706
CURSO DRUPAL 7 AVANZADO 
SEGURIDADE EN DRUPAL XII - CONSELLOS e MÓDULOS 
Aspectos legais 
● Legal( legal ) 
● Mostra termos e condicións do rexistro no sitio 
● Terms of use( terms_of_use ) 
● Similar ao módulo Legal pero a información almacénase nun módulo 
https://www.drupal.org/node/597706

Más contenido relacionado

PDF
Curso CDA: Drush CLI Drupal
PDF
Drupal - Introducción
PDF
Drupal 7: mucho más que una nueva versión (para desarrolladores)
ODP
Introduccion drupal
PDF
Introducción a Drupal
PPT
Drupal 7 (2)
PDF
El universo JavaScript en Drupal 8
ODP
Taller de Drupal 7
Curso CDA: Drush CLI Drupal
Drupal - Introducción
Drupal 7: mucho más que una nueva versión (para desarrolladores)
Introduccion drupal
Introducción a Drupal
Drupal 7 (2)
El universo JavaScript en Drupal 8
Taller de Drupal 7

La actualidad más candente (20)

PDF
Entonamiento y perfilado de Drupal
PDF
Arquitectura de proyectos Drupal
PDF
Desarrollo y arquitectura de proyectos con Features
PDF
Todo lo que necesitas saber sobre Drupal 8
PDF
Taller de Drupal - Sesión 2
PPTX
Taller de introducción a drupal 7 1ª parte
PDF
Presentacion Drupal Ccrtv
ODP
Presentación Drupal
PDF
El universo JavaScript en Drupal 7
PDF
Taller de Drupal - Sesion 1
PDF
Semana 2 Arquitectura web y HTML 5
PDF
Introduccion técnica a Drupal
PDF
Curso básico de drupal 8
PDF
Taller Drupal Php Conference
PDF
Drupal 8 WorkShop - e-Ghost 2015
PDF
Drupal 8, presente y futuro
PDF
Semana 7 Despliegue a producción ORACLE OCI
PDF
Taller de Drupal - Sesión 4
PDF
Drush Make & Feature Server - Drupal Camp Spain 2010
Entonamiento y perfilado de Drupal
Arquitectura de proyectos Drupal
Desarrollo y arquitectura de proyectos con Features
Todo lo que necesitas saber sobre Drupal 8
Taller de Drupal - Sesión 2
Taller de introducción a drupal 7 1ª parte
Presentacion Drupal Ccrtv
Presentación Drupal
El universo JavaScript en Drupal 7
Taller de Drupal - Sesion 1
Semana 2 Arquitectura web y HTML 5
Introduccion técnica a Drupal
Curso básico de drupal 8
Taller Drupal Php Conference
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8, presente y futuro
Semana 7 Despliegue a producción ORACLE OCI
Taller de Drupal - Sesión 4
Drush Make & Feature Server - Drupal Camp Spain 2010
Publicidad

Similar a Curso CDA: Seguridade e rendemento en Drupal (20)

PDF
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
PDF
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
PDF
Inciación a Drupal 8
PDF
Presentando drupal en xalapa
PDF
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
PDF
[Drupal camp] herramientas que no deberían de faltar en el desarrollo de dr...
PDF
[DrupalCampSpain2018] CircleCI
PDF
[Phpdayperu] drupal 8 console
PDF
Los mejores trucos y prácticas para configurar drupal
PPTX
Cw15 conoce drupal_v28
PDF
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
PDF
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
PDF
Por qué Drupal es un potente gestor de contenidos
PPTX
Google Cloud Platform y Python
PDF
Introduccion a Drupal 6 e-ghost
PDF
Alta disponibilidad con Pacemaker
PPTX
Creación de proyectos web con Drupal
ODP
Scrum y la gestión de proyecto Web
PDF
PDF
Drupal 8 WorkShop
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
Inciación a Drupal 8
Presentando drupal en xalapa
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[Drupal camp] herramientas que no deberían de faltar en el desarrollo de dr...
[DrupalCampSpain2018] CircleCI
[Phpdayperu] drupal 8 console
Los mejores trucos y prácticas para configurar drupal
Cw15 conoce drupal_v28
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
Por qué Drupal es un potente gestor de contenidos
Google Cloud Platform y Python
Introduccion a Drupal 6 e-ghost
Alta disponibilidad con Pacemaker
Creación de proyectos web con Drupal
Scrum y la gestión de proyecto Web
Drupal 8 WorkShop
Publicidad

Más de Alberto Permuy Leal (20)

PDF
Patrimonio (in)visibel - CIRS Cervás - Ares - Coruña
PDF
Rest en tiempos de Drupal
PDF
PATRIMONIO CULTURA Y DRUPAL - DRUPAL DAY ZARAGOZA 2019
PDF
Presentación proxecto obaixoulla.gal | patromino + territorio + paisaxes
PDF
Introducción a redes TOR
PDF
Cultural Heritage and Drupal - Drupal Day Aveiro 2017
PDF
Drupal8 : novedades y nuevas funcionalidades
PDF
A Cultura da Auga no proxecto Abeancos.gal
PDF
Obradoiro Drupal de 0 a 100 - Vigo 2015
PDF
A CULTURA DA AUGA
PDF
Curso CDA: Drupal API
PDF
Curso CDA: Arquitectura Drupal
PDF
Mellorando o sitio web
PDF
Xestión básica usuarios e módulo Drupal6
PDF
Nodos e taxonomia en Drupal
ODP
CDIETS - 01
ODP
Introdución ao software libre - O Grove 2011
PDF
Obradoiro Drupal
ODP
Presentacion I Noite Drupal GNU Linux
PDF
Servidores Linux Compostela 2010
Patrimonio (in)visibel - CIRS Cervás - Ares - Coruña
Rest en tiempos de Drupal
PATRIMONIO CULTURA Y DRUPAL - DRUPAL DAY ZARAGOZA 2019
Presentación proxecto obaixoulla.gal | patromino + territorio + paisaxes
Introducción a redes TOR
Cultural Heritage and Drupal - Drupal Day Aveiro 2017
Drupal8 : novedades y nuevas funcionalidades
A Cultura da Auga no proxecto Abeancos.gal
Obradoiro Drupal de 0 a 100 - Vigo 2015
A CULTURA DA AUGA
Curso CDA: Drupal API
Curso CDA: Arquitectura Drupal
Mellorando o sitio web
Xestión básica usuarios e módulo Drupal6
Nodos e taxonomia en Drupal
CDIETS - 01
Introdución ao software libre - O Grove 2011
Obradoiro Drupal
Presentacion I Noite Drupal GNU Linux
Servidores Linux Compostela 2010

Último (20)

DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
DOCX
Fisiopatologia bdjdbd resumen de cierta parte
PDF
Ficha de Atencion a Estudiantes RE Ccesa007.pdf
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PDF
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
PDF
E1 Guía_Matemática_5°_grado.pdf paraguay
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Uso de la Inteligencia Artificial en la IE.pdf
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
PDF
Estadística Aplicada a la Psicología y Ciencias de la Salud Ccesa.pdf
PPTX
PRESENTACIÓN SOBRE LA RELIGIÓN MUSULMANA Y LA FORMACIÓN DEL IMPERIO MUSULMAN
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
KOF-2022-espanol-mar-27-11-36 coke.pdf tv
PDF
Didáctica de las literaturas infantiles.
PDF
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
PPTX
Juicios Celestiales de Jesus Manuel Locio Lopez..pptx
Programa_Sintetico_Fase_4.docx 3° Y 4°..
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
Manual del Gobierno Escolar -MINEDUC.pdf
Fisiopatologia bdjdbd resumen de cierta parte
Ficha de Atencion a Estudiantes RE Ccesa007.pdf
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
E1 Guía_Matemática_5°_grado.pdf paraguay
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Uso de la Inteligencia Artificial en la IE.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
Estadística Aplicada a la Psicología y Ciencias de la Salud Ccesa.pdf
PRESENTACIÓN SOBRE LA RELIGIÓN MUSULMANA Y LA FORMACIÓN DEL IMPERIO MUSULMAN
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
KOF-2022-espanol-mar-27-11-36 coke.pdf tv
Didáctica de las literaturas infantiles.
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
Juicios Celestiales de Jesus Manuel Locio Lopez..pptx

Curso CDA: Seguridade e rendemento en Drupal

  • 1. CURSO DE ADMINISTRACIÓN AVANZADA E DESENVOLVEMENTO DE DRUPAL TEMA 3: RENDEMENTO E SEGURIDADE DRUPAL 8 - 12 setembro 2014 – Santiago de Compostela
  • 2. Usted es libre de: Copiar, distribuir y comunicar públicamente la obra Hacer obras derivadas Bajo las condiciones siguientes: Reconocimiento - Debe reconocer los créditos de la obra de la manera especificada por el autor o licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra). Compartir bajo la misma licencia - Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. © 2014 - CIXUG Esta obra fue creada por Alberto Permuy Leal, y está disponible bajo una licencia Reconocimiento-CompartirIgual 3.0 http://creativecommons.org/licenses/by-sa/3.0/deed.es_ES
  • 3. CURSO DRUPAL 7 AVANZADO SABIAS QUE... ● 0,1s de retraso en Amazon implican -1% ingresos. ● 1s de retraso en Facebook reduce un 6% visitas. ● Netflix activa gzip = + 13-25% velocidad carga ● Google Maps: +30% aumento velocidad = +30% usuarios Beneficio Amazon en 2013: 274 M € || Facebook 2 semestre 2014 : 1,3B visitas/mes http://www.statista.com/statistics/264810/number-of-monthly-active-facebook-users-worldwide/ http://www.expansion.com/2014/01/31/empresas/tmt/1391126796.html
  • 4. CURSO DRUPAL 7 AVANZADO FACTORES QUE INFLUEN NO RENDEMENTO ● Humano: Saber e recoñecer que temos un problema. Habilidades. ● Software: Drupal, SSOO, arquitectura de rede... ● Hardware: AMDK6-II 350Mhz ● Económicos: tempo = €
  • 5. CURSO DRUPAL 7 AVANZADO caché, caché, caché
  • 6. CURSO DRUPAL 7 AVANZADO Caché : a clave en Drupal ● Caché OpCode PHP ● Caché de proxy inverso ● Caché de bases de datos ● Cachés de Drupal
  • 7. CURSO DRUPAL 7 AVANZADO Caché OpCode ● Fundamental en Drupal ● Non temos(ou non deberiamos) ter motivos para non implementar. ● APC, Xcache, eAcceleator => APC ● http://www.drupal.org/project/apc
  • 8. CURSO DRUPAL 7 AVANZADO Caché de proxy inverso ● Alivia considerablemente a carga dos servidores web. ● Nginx + Apache ● Varnish é o preferido pola comunidade Drupal ● Boost https://github.com/perusio/drupal-with-nginx https://www.drupal.org/project/varnish https://www.drupal.org/project/boost
  • 9. CURSO DRUPAL 7 AVANZADO Caché de base de datos ● MySQL dispón das súas propias cachés. Let's go! ● Consultas: query_cache_size ● Operacións I/O do sistema arquivos : innodb_buffer_pool_size ● https://www.drupal.org/node/85768
  • 10. CURSO DRUPAL 7 AVANZADO memcached ● Sistema de caché baseado en memoria ● Funcionamento táboa hash distribuida ● Array asociativo clave => valor . Clave hasta 250 bytes e valores ata 1 MB. ● Integración “awesómica” en Drupal ● Podemos “cachear” bloques, views.... ● https://www.drupal.org/project/memcache
  • 12. CURSO DRUPAL 7 AVANZADO RENDEMENTO DRUPAL 7 ab siege
  • 13. CURSO DRUPAL 7 AVANZADO Consellos rendemento Drupal ● Planificación da estratexia de rendemento ● ssoo + www + bbdd + core + code ● Manter actualizado Drupal, sempre! ● Desactivar módulos non necesarios ● Drupal caché: ● Bloques ● views → views_caché ● memcache + OpCode(APC p.e) ● Minimizar CSS e JS (Advag) ● Monitorizar + profiling para identificar erros: Yslow(p.e)
  • 14. CURSO DRUPAL 7 AVANZADO Tip: Reducir o número de peticións HTTP ● HTTP protocolo cliente/servidor ● A maior número de peticións, maior tempo de espera Solución: ● Combinar CSS nun único arquivo ● Combinar JS nun único arquivo Tools ● Drupal core ● AdvAgg
  • 15. CURSO DRUPAL 7 AVANZADO Tip: Engadir Expires Header ● Expires Header fixa o tempo que debe pasar ata que un cliente debe descargar de novo os compoñentes do noso sitio web, por exemplo imaxes. Solución ● Activar mod_expires. No arquivo .htaccess dunha instalación de Drupal, a configuración de mod_expires é xenérica. Debemos tunear a configuración Tools ● Apache2 mod_expires ● Módulo advagg e expires
  • 16. CURSO DRUPAL 7 AVANZADO Tip: Comprimir componentes con GZIP ● Comprimir HTML, CSS y JS reduce considerablemente el peso de nuestro sitio web ● Todos los navegadores* soportan compresión GZIP Solución ● Activar mod_deflate Tools ● Activado por defecto nunha instalación Apache2 en Debian GNU/Linux 7.x ● mod_deflate.conf => DeflateCompressionLevel
  • 17. CURSO DRUPAL 7 AVANZADO Tip: Engadir Expires Header ● Expires Header fixa o tempo que debe pasar ata que un cliente debe descargar de novo o contido. Solución ● Activar e configurar mod_expires en Apache2 Tools ● Módulo expires o advagg
  • 18. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL IV - CONSELLOS e MÓDULOS ● Manter tódolos compoñentes actualizados: ssoo + drupal ● Copias de seguridade controladas e verificadas ● https://www.drupal.org/security/secure-configuration ● Auditar sitio : https://www.drupal.org/project/seckit ● Sempre que sexa posible usar HTTPS ● Controlar a entrada de texto ● https://www.drupal.org/project/wysiwyg_filter ● https://www.drupal.org/project/better_formats ● check_plain en .module :) ● Non mostrar erros = drush variable-set error_level 0
  • 19. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL ● Todo o software ten ou pode ter erros. ● Drupal é unha gran comunidade que aporta día a día melloras a nivel de seguridade. ● A política de actualizacións de seguridade de Drupal é seria: Drupal Security Team ● Releases do tipo BugFix libéranse o primeiro mércores de cada mes. ● Releases con correcións de vulnerabilidades son liberadas o terceiro mércores de cada mes.
  • 20. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL II - SECURITY TEAM ● Resolver os problemas de seguridade reportados polos Security Advisory ● Asistencia aos mantenedores de módulos en materias de seguridade ● Documentar cómo escribir código seguro ● Documentar cómo securizar os sitios web feitos con Drupal ● Axudar a manter segura a infraestrutura de Drupal.org https://www.drupal.org/security-team https://www.drupal.org/security/secure-configuration https://www.drupal.org/writing-secure-code
  • 21. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL III - REPORTE DE BUGS ● Metódo 1: Directamente a security.drupal.org (recomendado) ● Localizar o proxecto en Drupal.org ● Columna dereita "Report a security issue" ● A ligazón remite o reporte ao Issue Tracker de Security Team para análise ● Método 2: email security@drupal.org ● Enviar como mínimo ● Versión do core ou módulo afectada ● Pasos para reproducir o erro ● Patch para solucionalo https://www.drupal.org/node/101494
  • 22. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL IV - CONSELLOS e MÓDULOS ● Manter tódolos compoñentes actualizados: ssoo + drupal ● Copias de seguridade controladas e verificadas ● https://www.drupal.org/security/secure-configuration ● Auditar sitio : https://www.drupal.org/project/seckit ● Sempre que sexa posible usar HTTPS ● Controlar a entrada de texto ● https://www.drupal.org/project/wysiwyg_filter ● https://www.drupal.org/project/better_formats ● check_plain en .module :) ● Non mostrar erros = drush variable-set error_level 0
  • 23. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL V - CONSELLOS e MÓDULOS Seguridade nas comunicacións ● Secure by role(secrole) ● Permite servir páxinas por HTTPS configurados por roles ● Secure pages(securepages) ● Redirecciona a HTTPS ● Secure login(securelogin) ● Redirecciona a HTTPS o datos enviados polo formulario de inicio de sesión ● Encrypted Files(encrypted_files) ● Cifra os arquivos aportados polos usuarios vía “wrapper” https://www.drupal.org/node/597728
  • 24. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL VI - CONSELLOS e MÓDULOS Seguridade nas sesións ● No anonymous sesion(non_anon) ● Deshabilita as sesións para usuarios anónimos ● Sesion limit(sesion_limit) ● Permite limitar o número de sesións simultáneas por usuario ● Auto log out(autologout) ● Pecha as sesións dos usuarios/as despois dun tempo de inactividade https://www.drupal.org/node/597706
  • 25. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL VII - CONSELLOS e MÓDULOS Xestión de contrasinais ● Login security (login_security) ● Implementa opcións de seguridade nas operacións cotidianas de login nun sitio web Drupal. ● Password policy (password_policy) ● Permite especificar a política de complexidade dos contrasinais ● Restrict password change (restrict_password_change) ● Engade novo permisos change other users passwords” https://www.drupal.org/node/597706
  • 26. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL VIII - CONSELLOS e MÓDULOS Seguridade nas sesións ● Certificate login(certificatelogin) ● Permite a usuarios iniciar sesión usando un certificado dixital ● OAuth(oauth) ● Permite usar o API de autenticación de OAuth, fundamental se desexas integrar Drupal con sitios como Google, Flickr, Twitter ou Yahoo! ● Duo Two Factor Authenticatión( duo ) ● Permite usar DUO con Drupal => www.duosecurity.com https://www.drupal.org/node/597706
  • 27. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL IX - CONSELLOS e MÓDULOS ● Captcha( captcha ) ● Protexe os formularios con proba para demostrar que eres humano”(Turing) ● Recaptcha( recaptcha ) ● Implementación de Google Recaptcha https://www.google.com/recaptcha/intro/index.html ● Mollom( mollom ) ● Protexe os formularios permitindo identificar se o contido e ou non spam baseandose non so no contido. https://www.drupal.org/node/597706 SPAM
  • 28. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL X - CONSELLOS e MÓDULOS ● IP Anonymize( ip_anon ) ● Permite ocultar Ips de usuarios na bitácora de Drupal ● Invisimail( invisimail ) ● Oculta emails a bots vía Javascript => mailto ● Encrypted text( encrypted_text ) ● Crear un campo cuxos datos almacénanse cifrados na base de datos https://www.drupal.org/node/597706 Privacidade
  • 29. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL XI - CONSELLOS e MÓDULOS Detectión e prevención ● MD5 Check( md5check ) ● Xenerar sumas MD5 de módulos e comproba alteracións. Os reportes envíanse como security error á bitácora do sistema ● Hacked ( hacked ) ● Escanea a instalación de Drupal na busca de cambios en módulos e temas. ● Security( security ) ● Security Information Report do sitio. ● Coder( coder ) ● Módulo para desenvolvedores que axuda a atopar e depurar erros. https://www.drupal.org/node/597706
  • 30. CURSO DRUPAL 7 AVANZADO SEGURIDADE EN DRUPAL XII - CONSELLOS e MÓDULOS Aspectos legais ● Legal( legal ) ● Mostra termos e condicións do rexistro no sitio ● Terms of use( terms_of_use ) ● Similar ao módulo Legal pero a información almacénase nun módulo https://www.drupal.org/node/597706