autenticação no Wordpress

“Keys” e “Salts” de autenticação no WordPress

Segurança tem sido um tema recorrente em relação a websites, ainda mais com as novas normas de privacidade em vigor. Sites WordPress, ao contrário do que dizem muitos, são seguros – mas é preciso configurá-los. A autenticação no WordPress, em várias frentes, é realizada por meio de chaves que são armazenadas no ficheiro wp-config.php. Contudo, muitos web designers não atentam para tal.

Originalmente, a instalação do WordPress acompanha lacunas em suas configurações para que sejam incluídas essas chaves, como mostraremos a seguir. Alguns serviços de host oferecem sistemas de instalação rápida que geram essas chaves de modo automático – mas isso também não é regra.

Como verificar se a autenticação no WordPress está configurada?

É preciso verificar, via FTP ou no cPanel do seu alojamento, o conteúdo do ficheiro wp-config.php, que encontra-se no diretório raiz do website. Dentro do ficheiro, haverá muitas instruções, mas basta encontrar as seguintes linhas:

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

Caso as linhas estejam desse modo, com a mensagem “put your unique phrase here”, isso significa que as chaves não foram geradas. Assim sendo, seu WordPress não efetua autenticações. O problema disso é que toda sorte de plugins e sistemas no WordPress lança mão de estruturas de validação que dependerão sempre dessas chaves para ocorrer de forma segura. Na inexistência dessas chaves, os riscos são muito maiores. Por outro lado, caso as chaves já tenham sido geradas de forma automática, encontrará algo parecido com isto nessas linhas:

define('AUTH_KEY', '1XSU7#93Y6<-NPsW&TK/+4m^t4_h>^m$+-njzZis0<SY(6<wZ^$~[X:^vshr-Bi9');
define('SECURE_AUTH_KEY', '%91[t;ZFQN_RKZWMY}ypH@1GO;0t%y$|R}_2~=)NicqrJeLJ(z!A+HkpK/pP-nt6');
define('LOGGED_IN_KEY', '>gG.F+(B-uyiSJ1^5K-_hQzX>Z-=.R].Pk[JBc/eF+4EgISKz=MSjF`_4D(-n--~');
define('NONCE_KEY', '?Qi#->zmjea1!<0MMUMOs5d >vy[Cco%l@~WCqMAv_R8+Cs /YL_Af5j-o+p3S?D');
define('AUTH_SALT', 'XBWxR1gHy&,cv!%mjR;#oxz~wX=-7
define('SECURE_AUTH_SALT', '>/jT5Y(?xj=+s|ECIyoJ][(6]*(^iGK(,ll6meP]Si;xdZX>X&D&nAR-VY<3W![X');
define('LOGGED_IN_SALT', '2x{[n+v6;w* bh3, ]V`&6hXVg_8/K<RPgdmA%m$s6v5k%,@PE]ItM7Pv%(*d+d]');
define('NONCE_SALT', '([QG#PeUs$3?EGB6yxk +T-$Y+o,;Gx+{iO,D67Yohg#KG<=vC!={2XNA5=PyPw]');

A boa notícia é que a própria API do WordPress.org possui um URL capaz de gerar chaves randômicas, neste link. Cada vez que o link é visitado, chaves únicas são geradas, de modo que basta copiá-las todas e substituir pelas linhas originais, sem as chaves, dentro do ficheiro wp-config.php.

Quando substituir as chaves?

As chaves podem ser substituídas a qualquer momento sem prejuízos ao website em si. Por exemplo, caso suspeite de que sessões ou usuários em seu website tenham sido “sequestrados” por hackers, é possível fazer com que os cookies de sessão usados para tal façanha deixei de conceder acesso ao hacker que os utilizou, simplesmente trocando as chaves no ficheiro novamente. O processo é simples e rápido e oferece, sem trabalho ou custos, mais uma camada de segurança para o website e todos os seus usuários ou clientes.