Avançar para o conteúdo principal
BlogSegurançaComo tornar o WordPress seguro: Passos Avançados

Como tornar o WordPress seguro: Passos Avançados

Segurança WordPress avançada

A segurança do WordPress é levada muito a sério pela sua equipa de desenvolvimento. As correcções e actualizações de segurança são frequentemente lançadas para ajudar a garantir que o WordPress se mantenha a par de um ambiente on-line cada vez mais desafiante. Como parte destes esforços, o WordPress executa um programa de divulgação responsável de vulnerabilidades, para que estas questões não fiquem por resolver.

Para além dos esforços da equipa de desenvolvimento do WordPress, os utilizadores individuais devem também tomar medidas para minimizar os seus riscos de segurança - frequentemente referidos como "endurecimento do WordPress". Várias vitórias rápidas podem proteger o seu website WordPress, e cobrimos estas etapas fáceis de implementar num post recente, How to Keep WordPress Secure: O básico.

Para além dos passos básicos, existem também técnicas de segurança mais avançadas que podem ser empregadas para proteger ainda mais o seu sítio Web WordPress, bem como importantes medidas de segurança que podem e não podem ser utilizadas na gestão de um sítio Web WordPress.

Vamos mergulhar e dar uma vista de olhos a alguns deles.

SFTP - Ligação ao seu servidor

Primeiro, é crucial assegurar que quando se liga ao seu servidor web, o faça utilizando SFTP, que é semelhante ao FTP, excepto que a sua palavra-passe e outros dados são codificados à medida que viajam entre si e o seu servidor. FileZilla é uma excelente aplicação de transferência de ficheiros que suporta vários protocolos de transferência de ficheiros, incluindo SFTP. Pode descobrir como instalar e transferir ficheiros para o seu Linode utilizando FileZilla aqui.

Prevenção de Ataques com Força Bruta

Os ataques por força bruta ocorrem quando um atacante submete repetida e sistematicamente diferentes nomes de utilizador e palavras-passe para tentar obter acesso a um website. É importante notar que os ataques por força bruta não são endémicos ao WordPress. Todas as aplicações da web são susceptíveis.

A primeira defesa contra este tipo de ataques é certificar-se de que a sua palavra-passe está segura. O objectivo final de um ataque com força bruta é ganhar a entrada no seu website. A escolha de uma palavra-passe difícil de quebrar foi discutida no nosso artigo anterior sobre a segurança do WordPress, por isso não entraremos em mais detalhes. Basta dizer, certifique-se de que a sua palavra-passe é boa. Vale também a pena permitir a autenticação em duas etapas dentro da sua instância WordPress.

A seguir, utilize um plugin para limitar o número de tentativas de login sequencial ao seu site. Um plugin popular é o Limit Login Attempts Reloaded, que tem mais de 1 milhão de downloads. Limita o número de tentativas de login que são possíveis através do login normal, bem como do XMLRPC, WooCommerce, e páginas de login personalizadas.

Outra opção é alterar o local de início de sessão wp-admin. Por defeito, todos os sites WordPress têm as suas páginas de início de sessão localizadas em /wp-admin (por exemplo, www.examplesite.com/wp-admin.) Os robots que efectuam ataques de força bruta têm frequentemente como alvo imediato esta página. Use WPS Hide Login para ajudar.

Como sempre, antes de instalar plugins novos e não testados, vale sempre a pena fazer uma cópia de segurança do seu site. Embora a maioria dos plugins populares não prejudique o seu sítio web, existe sempre a possibilidade de uma incompatibilidade. Uma cópia de segurança dá-lhe paz de espírito de que qualquer dano causado por um plugin errante pode ser revertido rápida e facilmente.

Autenticação WordPress Admin HTTP

Pode bloquear ainda mais o seu WP Admin adicionando a Autenticação HTTP básica. Este processo exigirá que um utilizador introduza um nome de utilizador e palavra-passe antes mesmo de chegar à página de Login do WP, o que pode ajudar a parar os bots de força bruta no seu rasto.

Para o fazer, terá de criar um ficheiro .htpasswd. Tente usar um grande recurso gratuito do Hosting Canada para fazer isto. Terá de introduzir o nome de utilizador que gostaria de utilizar juntamente com uma palavra-passe, seleccionar um método de encriptação a partir da caixa pendente, e clicar em 'Gerar palavra-passe'. É gerada uma cadeia de texto longa. Copie e cole isto num novo ficheiro de texto. Guarde este ficheiro simplesmente como '.htpasswd'. 

A seguir, inicie sessão no seu servidor e dirija-se à sua pasta wp-admin do WordPress. Abra isto e em wp-admin crie uma nova pasta chamada 'htpasswd'. Depois carregue o seu ficheiro .htpasswd que criámos anteriormente para esta pasta. Deve transferir os seus ficheiros usando apenas o modo 'ASCII' e não o modo 'BINÁRIO'. 

A fase final consiste em criar um novo ficheiro que contenha o seguinte:

AuthName "Admins Only"
AuthUserFile /home/public_html/wp-admin/htpasswd/.htpasswd
AuthType basic
Require user yourusername

<Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any
</Files>

Terá de actualizar a localização do AuthUserFile com o URL completo do seu ficheiro .htpasswd, bem como o seu nome de utilizador com o nome de utilizador que utilizou para o ficheiro .htpasswd. Guarde este ficheiro como .htaccess e carregue este ficheiro .htaccess para a sua pasta wp-admin no seu servidor, e pronto. Da próxima vez que entrar no seu site em www.examplesite.com/wp-admin, ser-lhe-á pedido o seu nome de utilizador e palavra-passe antes do ecrã de início de sessão do WordPress Admin.

Dica útil: Se não conhece a url do directório completo do seu ficheiro .htpasswd, então um truque útil é usar um pequeno script PHP:

<?php
    echo "Absolute path: ", getcwd();
?>

Crie um ficheiro que contenha este script chamado testpath.php e carregue-o para o ficheiro htpasswd e depois visite esta url (por exemplo www.example.com/wp-admin/htpasswd/testpath.php) para obter o caminho completo do ficheiro para o seu ficheiro .passwd.

 A segurança wp-inclui

Existem scripts específicos incluídos na sua instalação do WordPress que não se destinam a ser acedidos. Oferecem, contudo, uma rota possível para o seu site por hackers. Devido a isto, pode valer a pena bloqueá-los. Pode bloquear o acesso a estes ficheiros com um mod_rewrite no ficheiro .htaccess. Para o fazer, adicione o seguinte código ao seu ficheiro .htaccess (normalmente localizado na raiz do documento do seu site WordPress) fora das etiquetas # BEGIN WordPress e # END WordPress; caso contrário, o WordPress poderá sobregravá-lo:

# Block the include-only files.
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^wp-admin/includes/ - [F,L]
    RewriteRule !^wp-includes/ - [S=3]
    RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
    RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
    RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
 
# BEGIN WordPress

Desactivar a edição de ficheiros

Muitos aspectos para assegurar um website WordPress giram em torno de tornar a vida mais difícil para um potencial hacker. Da mesma forma que um assaltante procurará uma casa numa rua sem luz de alarme ou de segurança, um hacker prefere visar um website que carece de características básicas de segurança em vez de um onde as janelas e portas metafóricas se fecharam firmemente.

Por defeito, o WordPress permite aos administradores editar ficheiros PHP tais como temas e plugins a partir do Painel de Controlo. Como esta característica permite a execução de código, é um alvo óbvio para um hacker. Para a maioria dos programadores web, as alterações ao código são feitas com um editor de texto como Sublime em vez de dentro do Painel de Controlo. Faz sentido 'fechar' esta janela específica do WordPress e, ao fazê-lo, remover outro ponto de acesso potencial para um hacker.

Para tal, coloque esta linha de código no ficheiro wp-config.php. Esta linha remove as capacidades 'edit_themes', 'edit_plugins', e 'edit_files' de todos os utilizadores:

define(‘DISALLOW_FILE_EDIT’, true);

Embora isto não impeça um hacker de carregar ficheiros maliciosos no seu site, ajudará a parar alguns ataques no seu rasto.

Usar uma Firewall

Uma firewall é uma excelente forma de ajudar a evitar que um atacante chegue ao seu sítio Web WordPress. Há um par de opções:

Um Plugin de Firewall

Vários bons plugins de firewall funcionam restringindo o acesso ao nível do servidor Apache antes de o WordPress o processar. Um bom exemplo é o All In One WP Security & Firewall ou WordFence. Ambos procurarão filtrar os pedidos recebidos para garantir que nenhum tráfego malicioso possa atingir a sua instalação do WordPress.

Firewalls Intermediários

Plugins como o WordFence filtram o tráfego ao nível do servidor. Uma abordagem alternativa é interceptar o tráfego a caminho do seu servidor antes de o rastrear e depois enviar a pedido para o seu servidor utilizando um produto como o Cloudflare. Esta abordagem é popular porque tudo o que precisa de fazer é alterar os seus registos DNS para enviar tráfego através de um intermediário, sem necessidade de alterações ao seu servidor. 

Próximos passos

A segurança WordPress continua a ser um tópico popular. Se tudo isto parecer trabalho árduo, então considere a utilização de um anfitrião WordPress Gerido como Pressidium, que pode fazer muito do trabalho pesado para si. E, por fim, faça backups regulares do seu site para que possa dormir bem à noite com o conhecimento de que pode sempre restaurar o seu site.


Comentários (2)

  1. Excellent tips. Strong password and using limit login attempts are the quick fix for any WP blog. Being in the same industry I would like to add one more tip – use only trusted and highly rated themes and plugins.

  2. A good password is great. Also, hiding or changing the wp-admin slug is really helps.

Deixe uma resposta

O seu endereço de correio electrónico não será publicado.