Mas se você proteger o wp-login.php, como um hacker pode entrar no painel de qualquer maneira?
Um invasor pode tentar seqüestrar ou forjar um cookie de autenticação válido. Recentemente houve uma possível vulnerabilidade que tornou mais fácil forjar um cookie: CVE-2014-0166 Foi corrigido com a versão 3.7.3 / 3.8.3
Como o "Código A" se compara ao "Código B"? Você usaria um ou outro, ou ambos ao mesmo tempo?
Se você colocar whitelist wp-admin/admin-ajax.php
(como em »Code B«), este script ainda pode atuar como ponto de contato para um invasor verificar sua falsificação de cookie e, com sucesso, como um ponto de entrada para manipular dados para cada ajax ação que não é garantida por um nonce adicional. Mas mesmo estes poderiam, teoricamente, ser adivinhados.
No entanto, se você não precisar da funcionalidade do AJAX para o público e tiver a possibilidade de colocar na lista de permissões todos os IPs de todas as suas contas, a proteção do diretório wp-admin/
reduziria possíveis vetores de ataque, como descrito acima.
Mas esse método não protege seu site contra ataques do tipo "homem do meio" ou ataques de computadores clientes infectados, porque eles passam na verificação da lista de permissões.
Por fim, forneço uma classificação pessoal para sua primeira consulta:
Qual a importância de proteger a "pasta wp-admin"?
Na minha opinião, é mais importante usar senhas seguras (talvez autenticação de dois fatores), chaves secretas seguras (sais em wp-config.php
) e, se possível, sempre uma conexão https quando você administra seu WordPress, desde o primeiro pedido on (solicitação https://…/wp-login.php
). Além disso, mantenha todos os componentes atualizados e remova os componentes não utilizados (Plugin / Theme) do servidor. Depois disso, você ainda pode considerar proteger o diretório wp-admin
.