Como determinar o uso de cookies seguros no WordPress?

Já falamos sobre ataques de sequestro de sessão e sobre como o atributo HttpOnly pode ajudar a reduzir esse risco. O WordPress é um CMS que utiliza alguns cookies de sessão, especialmente em sites que permitem o login por parte dos usuários. Por definição, os cookies configurados pelo WordPress não necessariamente possuem tal atributo, mas é possível estabelecer tal norma com relativa facilidade.

plugins a fazê-lo, porém para aqueles que têm algum conhecimento de como funciona a estrutura do WordPress, o jeito mais fácil e rápido é inserir algumas simples linhas de código no ficheiro wp-config.php, no diretório raiz do website. É bom lembrar que, antes de realizar qualquer alteração nesse ficheiro de sistema, é sempre bom guarda uma cópia de segurança do mesmo.

Após realizar uma cópia de segurança, basta abrir o ficheiro num editor de texto qualquer e inserir as seguintes linhas de código ao final:

@ini_set('session.cookie_httponly', true);
@ini_set('session.cookie_secure', true);
@ini_set('session.use_only_cookies', true);

Como dissemos anteriormente, é possível realizar tais alterações por meio de plugins de segurança, como o Shield Security for WordPress, por exemplo. Porém, a grande maioria dos plugins que realiza esse trabalho possui imensas outras funcionalidades, algumas delas dispensáveis e que podem causar problemas de desempenho num website.

O que é HttpOnly?

O chamado HttpOnly é um atributo utilizado por programadores no momento de definir um cookie de sessão. Os cookies de sessão geralmente são essenciais para que o usuário possa aceder a uma página da internet e é configurado pelo próprio servidor no qual o website está alojado. No momento em que acedemos a um endereço web, há uma comunicação do browser com o servidor que mantém o site que está ligado a esse endereço – o servidor envia então um cabeçalho com uma série de informações, entre elas uma identificação da sessão, que é guardada em um cookie.

Esses cookies geralmente expiram assim que o usuário encerra sua sessão, deixando o website. Entretanto, é possível que ocorram ataques XSS, os ataques de “sequestro de sessão” ou Cross-Site Scripting. Nesses ataques, o hacker utiliza-se dos cookies de sessão, rodando um código Javascript que interage com esse cookie. É possível, por exemplo, que hackers emulem uma tela de login dessa forma, gravando os dados ali digitados e enviando-os a outro destino.

O atributo HttpOnly lida com a permissividade, desta forma, caso esteja habilitado em determinado cookie, este não poderá ser manipulado por códigos client-side como JavaScript, VBscript, etc. Atribuir o parâmetro HttpOnly a um determinado cookie visa dificultar ataques de Cross-Site Scripting.