Upload
erick-bonnemasou-jaccoud
View
99
Download
0
Embed Size (px)
Citation preview
Auditando performance, conteúdo e boas práticas em sites Drupal
André BoscattoArquiteto de SoftwareCI&T
Erick JaccoudArquiteto de SoftwareCI&T
CréditosJon Peck (Arquiteto de Software @Four Kitchens)
Palestra originalhttps://events.drupal.org/neworleans2016/sessions/how-audit-drupal-sites-performance-content-and-best-practices
Auditoria - o que é?● Inspeção e verificação● Valida o que está certo● Sugere o que pode ser melhorado
Por que auditar sites?● Performance● Compreender o conteúdo e a estrutura● Garantir uma configuração ótima● Extrair métricas de performance /
segurança / qualidade● Conhecer aspectos que podem ser
melhorados
Todo site é único, mas...● São construídos sobre o mesmo
framework● Possuem requisitos arquiteturais
semelhantes● Podem conter customizações
que poderiam ser implementadas de forma padronizada
Auditoria efetiva é● Consistente● Quantificável● Ciente de contexto● Fácil de entender
Deve conter recomendações / plano de ação
Ferramentas de análise e auditoria
● Site audit○ Cache audit○ Security review○ Outras extensões (detalhadas adiante)
● XHProf● XDebug
Site Audit
● https://www.drupal.org/project/site_audit● Para sites Drupal 7 e 8● Integrado ao drush (não é um módulo
tradicional)● Fornece suporte a auditoria de diversos
aspectos do site e é extensível
O que o Site Audit verifica?
● Boas práticas● Blocks● Cache● Código● Banco de dados● Conteúdo● Cron
● Extensões● Front-end● Segurança● Status do sistema● Usuários● Views● Watchdog
O que ele não verifica?
● Usabilidade e experiência do usuário
● Aspectos estéticos● Conteúdo semântico
Ferramentas que estendem o site_audit● Unused Modules● Security Review● Hacked!● Sensitive Data● Drupalgeddon● Cache Audit● PHP_CodeSniffer / Coder● PAReview.sh
Unused Modules● https://www.drupal.
org/project/unused_modules
● Lista com módulos que não estão sendo usados e podem ser removidos com segurança
● Ignora módulos "filhos" desabilitados
Certifique-se de que não tenha o módulo instalado como comando do drush e no site ao mesmo tempo (bug)
Security Review● Integração será portada na versão 8 (https://www.drupal.
org/node/2279283)● https://www.drupal.org/project/security_review ● Verifica configurações do site e do host● Conteúdo do site
Hacked!
● https://www.drupal.org/project/hacked
● Faz uma varredura, comparando módulos da comunidade contra suas versões "oficiais" procurando por mudanças realizadas.
Sensitive Data
● https://www.drupal.org/project/sensitive_data
● Buscar por conteúdos com informação sensível ao usuário (Número de cartão de crédito, IDs, etc)
Drupalgeddon
Drupalgeddon (with an "L") checks for backdoors and other traces of known Drupal exploits of "Drupageddon" (no "L"), aka SA-CORE-2014-005 SQL injection. Drupalgeddon is not a module; it's a Drush command.
Procura por exploits que podem ter sido instalados devido à falha de segurança presente até a versão Drupal 7.32.
Cache Audit
● https://www.drupal.org/project/cacheaudit
● Configurações de cache do core do Drupal, Block, Views e Panels
PHP_CodeSniffer / Coder● https://github.
com/squizlabs/PHP_CodeSniffer● https://www.drupal.org/project/coder
○ Utilize sempre a versão Drupal 8, independente se for para D7 ou D8
● Conjuto de regras: Drupal e DrupalPractice
● Detecta violações dos padrões Drupal Coding Standards
● phpcbf pode corrigir algumas violações automaticamente
*Não tente resolver tudo de uma vez só!
PAReview.sh● http://pareview.sh ● Ferramenta hospedada que verifica
contrib módulos● Se tornou parte do processo de
publicação de módulos○ É extremamente recomendado
colocar sua sandbox!● Fornece reviews automaticos
Outras ferramentas para PHP
● XDebug - a powerful debugger for PHP○ Server para debugging,
tracing e profiling de aplicações PHP
○ Profiling pode ser visualizado com o Webgrind
○ Netbeans oferece suporte a breakpoints, watches etc.
Outras ferramentas para PHP
● XHProf “is a hierarchical profiler for PHP. It reports function-level call counts and inclusive and exclusive metrics such as wall (elapsed) time, CPU time and memory usage.”
● Extensão do PHP● Desenvolvido e utilizado pelo Facebook
(mais info)● Módulo Drupal: https://www.drupal.
org/project/xhprof