Back-End

29 nov, 2013

Porque a maior parte das histórias sobre segurança no WordPress estão erradas

Publicidade

Eu normalmente ouço a frase “WordPress não é seguro!”. A minha resposta é “onde você ouviu isso e quando você ouviu isso?”. O WordPress é o CMS mais seguro do planeta!

Minha primeira pergunta, “ONDE você ouviu isso?” é uma questão muito importante. Enquanto escrevo, o WordPress movimenta próximo de 18% dos principais 10 milhões de sites do planeta, o que faz dele o CMS mais utilizado no planeta. O segundo CMS é o Joomla, com 3% dos primeiros 10 milhões de sites e seguido pelo Drupal com 2%. São muitos sites rodando WordPress e essa popularidade e abrangência de uso significa que o WordPress possui uma visibilidade muito maior do que os outros sistemas gerenciadores de conteúdo (CMS, na sigla em inglês). Uma maior base instalada, significa um alvo maior para invasores.

A popularidade do WordPress vem acompanhada de desinformação e mal-entendidos ditos por jornalistas e blogueiros. Muitos daqueles que falam de tecnologia não são especialistas em segurança e frequentemente compreendem mal as questões. Um jornalista dizendo que o “WordPress é muito fácil de hackear” em referência a um ataque de “brute force” contra uma senha fraca não o torna fraco.

O fato do WordPress ser muito visado, chama a atenção de empresas de segurança que podem se interessar em atrair novos usuários para um produto que elas oferecem. Ao distribuir white papers de segurança com conteúdo vago para a imprensa, essas empresas demonstram que elas estão mais interessadas em publicidade grátis do quem em beneficiar a comunidade WordPress.

E da mesma forma que os debates “Mac versus PC” e “Ford versus GM”, quase sempre há uma preferência pessoal envolvida. Um desenvolvedor pode prefirir o Drupal ou o SharePoint em relação ao WordPress. Ele pode realmente acreditar que seu CMS preferido tem um modelo de segurança melhor. Mas sem ser capaz de citar especificidades, ele talvez recaia no boato do “WordPress é inseguro!” tanto quanto os entusiastas do Macintosh talvez digam (incorretamente) que o “Windows pega vírus e Macs não”.

O WordPress é seguro, mas você não

O core do WordPress é, de fato, muito seguro. Tão seguro quanto qualquer gerenciador de conteúdos, ou tão seguro quanto qualquer outro software ou sistema operacional. Questões de segurança frequentemente acontecem por conta de administradores ou usuários. Em outras palavras, você é a parte mais fraca. Uma senha fraca e/ou uma mesma senha em diversos serviços, junto com um nome de usuário facilmente adivinhavél, é normalmente o vetor de ataque contra qualquer website. Uma senha fraca significa que um ataque de força bruta pode facilmente “bater” no seu site até encontrar a combinação certa, abrir uma porta, incluir o seu site numa botnet, bloquear o seu acesso a seu site e potencialmente infectar os visitantes da sua página.

Esta não é uma questão exclusiva do WordPress, está é uma questão de usuário. Se você administrar um website, você é um profissional de TI, possui um computador ou tem usado um computador nos últimos 20 anos, então, você já deve estar ciente dos riscos de senhas ruins. A estratégia para previnir este ataque é simples: não reuse senhas e não utilize nomes de usuário facilmente adivinháveis (como “admin”).

O próximo ataque provável é um ataque no sistema de arquivos de um servidor de hospedagem compartilhada. Uma hospedagem compartilhada pode estar executando centenas de website em um único servidor. Uma falha pode vir não diretamente de um ataque ao seu site, mas ele pode ser comprometido por um ataque bem-sucedido a um outro site no mesmo servidor. A solução simples para isso é usar um servidor dedicado ou um servidor virtual e evitar hospedagem compartilhada.

Para script kiddies, crackers e operadores de botnets, a crescente base de instalação de WordPress significa que há mais sites para checar por vulnerabilidades fáceis de serem exploradas. Versões antigas do software podem ser comprometidas por conta de falhas conhecidas. As pessoas mal intencionadas executam scripts automatizados que checam a versão que o CMS possui e se encontrarem uma versão com uma vulnerabilidade conhecida, executam a falha e comprometem o site. Este não é um problema específico do WordPress; isso acontece com toda plataforma largamente utilizada. A solução é manter seu software e todos os plugins associados atualizados. Com o WordPress, é necessário apenas um simples clique para atualizar a sua instalação.

Apesar de ser verdade que o core do WordPress é bastante estável e seguro, questões de segurança podem ser introduzidas por softwares de terceiros. Por exemplo, há alguns anos, houve um ataque que se alastrou contra sites que implementavam o script de processamento de imagem TimThumb. Apesar do script TimThumb não ser parte do core do WordPress, alguns plugins e temas estavam utilizando-o como um processador de imagens. Como resultado, um incrível número de sites (estimados em milhões) foram comprometidos, o que incluiu inclusive sites que não eram WordPress, mas que tinham o TimThumb instalado. Novamente, não se trata de uma questão de segurança no núcleo do WordPress. Trata-se de uma questão com softwares de terceiros: plugins e temas. A solução para evitar esse vetor de ataques é utilizar temas e plugins listados no WordPress.org. Não use temas e plugins de fontes não confiáveis.

Legado histórico e o atual estado da segurança no núcleo do WordPress

Minha próxima pergunta, “QUANDO você ouviu isso?” é igualmente importante na resposta para esta preocupação.

Por volta de 2007-2008, o WordPress colecionou alguma atenção indesejada (apesar de devida) por algumas questões de segurança (em particular, injeção SQL e execução de vulnerabilidades de execução de código) quando o core do WordPress foi exposto. É claro que essas falhas de segurança foram corrigidas pelos desenvolvedores do WordPress assim que descobertas. Eram vulnerabilidades que se aplicavam a versões legadas do WordPress e que não estão presentes na versão mais recente do WordPress 3.7. Contudo, o barulho feito por essas vulnerabilidades causou a sensação de que o WordPress foi, é e será sempre inseguro. Isso não é verdade e trata-se de uma avaliação inválida quando o assunto é segurança.

Baseado em alguns critérios, eu diria que o seu sistema operacional, sua suíte de software e seu CMS foram, são e irão sempre ser inseguros. Violações de segurança e vulnerabilidades têm sido descobertas, exploradas e corrigidas em qualquer software. Todo software é terrivelmente complexo, seja ele um sistema operacional, um CMS ou o seu editor de texto favorito. Devido a complexidade, todo software sofre de algumas vulnerabilidades (conhecidas e desconhecidas) de algum tipo. Todos os fabricantes e desenvolvedores de software responsáveis investigam ativamente qualquer vulnerabilidade como parte de seu ciclo de desenvolvimento. WordPress, Joomla, Drupal, SharePoint ou qualquer outro grande CMS não é diferente.

A verdadeira indicação do quão seguro é um CMS é determinada pela resposta dos desenvolvedores e fabricantes a problemas de segurança. Para o WordPress, a resposta foi implementada com uma funcionalidade “clique para atualizar” bem fácil dentro do painel de administração do WordPress, com um ciclo regular e contínuo de correções e melhorias em seu núcleo e um time de segurança em tempo integral para continuamente resolver problemas de segurança.

Atualizar o WordPress é tão fácil que é uma marca muito própria dele. Quando um administrador com os direitos adequados acessa o painel do WordPress e uma atualização está disponível, uma simples “WordPress x.x está disponível! Por favor, atualize agora.” é exibido no topo da tela. “Atualize agora” é um link para iniciar um processo de atualização. Além disso, um botão “Atualize para a versão x.x” é exibido na caixa “Agora”. Clicar no botão também inicia o processo de atualização. O próprio processo de atualização consiste em clicar num botão, esperar alguns minutos e pronto. Isso torna fácil para um administrador manter uma instalação atualizada com as últimas correções de segurança. Essa simplicidade é semelhante ao processo simplificado de atualização que os principais fabricantes de sistemas operacionais implementaram. Tornar as atualizações simples, significa que os usuários têm mais probabilidade de manterem seus softwares atualizados. É claro que manter software seguro significa aplicar correções de segurança continuamente.

Um ciclo regular e constante de lançamento do WordPress resolve problemas de segurança conforme eles são descobertos e reportados. O ciclo de desenvolvimento consiste de atualizações de versões para acrescentar recursos ao WordPress e de atualizações menores, conforme necessário, para corrigir vulnerabilidades de segurança e bugs críticos. Se uma vulnerabilidade crítica de segurança é identificada no core, uma atualização de segurança que resolve esta vulnerabilidade será lançada o mais rápido possível (normalmente dentro de alguns dias; as vezes mais rápido do que isso). O número de falhas críticas ou severas descobertas no WordPress vem caindo significativamente desde 2007/2008, em parte devido ao ciclo de lançamentos regulares, a simplicidade da atualização e é claro, ao time de segurança.

O WordPress tem um time de segurança que investiga ativamente e corrige problemas relativos à segurança. Esse time acompanha todos os problemas de segurança e demanda procedimentos de segurança no core. Eles possuem um processo padronizado para resolver problemas relatados:

  1. Receber e tomar ciência do relato;
  2. Trabalhar para confirmar o relatado e sua severidade;
  3. Planejar e desenvolver uma correção inicial para a falha relatada;
  4.  Tudo isso ocorre normalmente dentro de 48 a 72 horas após a falha ser relatada.

“O time de segurança do WordPress é composto de 25 especialistas, incluindo líderes de desenvolvimento e pesquisadores de segurança – aproximadamente metade são funcionários da Automattic e alguns trabalham no campo da segurança web. Nós contratamos a consultoria de pesquisadores e empresas de hospedagem reconhecidas”. – Andrew Nacin, líder de desenvolvimento  do WordPress, em uma apresentação intitulada “WordPress.org & Optimizing Security for you WordPress sites”, de junho de 2013.

Como conclusão, a vasta maioria dos temores relativos à “insegurança do WordPress” são infundados, e na maior parte das vezes, completamente desvinculados do próprio núcleo do WordPress. O WordPress é seguro. O que você faz com ele, como instala, administra e personaliza é onde os reais problemas de segurança podem estar.

Algumas dicas úteis para manter o seu site WordPress seguro (para orientações mais aprofundadas sobre segurança, visite a página Hardening WordPress pages no Codex):

  • Use um servidor virtual ou dedicado e evite hospedagem compartilhada;
  • Faça backup do seu site (arquivos e base de dados) regularmente (considere um serviço como o VaultPress);
  • Mantenha sua instalação do WordPress, plugins e temas atualizados;
  • Desinstale (não apenas desabilite) plugins e temas não utilizados;
  • Evite plugins e temas de fontes não confiáveis;
  • Não utilize admin (ou outros nomes de usuário facilmente adivinháveis);
  • Use uma senha forte;
  • Assegure-se de que o seu PC é livre de malwares (para evitar que keyloggers e malwares roubem os seus dados);
  • Monitore o seu servidor e as estatísticas de usuários;
  • Restrinja o WP-Admin a sua VPN ou proxy;
  • Restrinja o WP-Admin usando HTTP Basix Auth;
  • Restrinja o WP-Admin a seu endereço IP;
  • Proíba o acesso aos diretórios wp-content;
  • Remova a versão do WordPress do meta;
  • Proteja o WP-Admin com autenticação;
  • Force SSL;
  • Contrate auditoria de segurança;
  • Reporte potenciais vulnerabilidades no core;
  • Reporte potenciais vulnerabilidade nos plugins.

Se estiver interessado em usuários WordPress notáveis, já existe uma lista em constante crescimento, de governos, instituições educacionais, grandes marcas, celebridades, e músicos que confiam no WordPress como um gerenciador de conteúdos para seus websites e blogs. Visite o WordPress Showcase para ver alguns dos noves que confiam na segurança do WordPress.

***

Artigo traduzido pela Redação iMasters com autorização do autor. Artigo original disponível em: http://blog.nerdery.com/2013/09/why-wordpress-security-stories-are-wrong/