Secure Wordpress with X-Frame-Options & HTTPOnly Cookie

Protect WordPress website from XSS, Clickjacking and some other attacks

Securing your site is essential for your online business presence. Over the weekend, I did a security scan on my WordPress website through Acunetix and Netsparker and found the following vulnerabilities.

If you are on dedicated, Cloud or VPS hosting, then you can directly inject these headers in Apache or Nginx to mitigate it. However, to do this directly in WordPress – you can do the following.

Note: post-implementation, you can use the Secure Headers Test tool to verify the results.

X-Frame-Options Header in Wordpress

Having this injected in the Header will prevent Clickjacking attacks. Below was discovered by Netsparker.

missing-x-frame-wordpress

Solution:

header('X-Frame-Options: SAMEORIGIN');

Cookie with HTTPOnly and Secure flag in Wordpress

Having Cookie with HTTPOnly instructs the browser to trust the cookie only by the server, which adds a layer of protection against XSS attacks.

httponly-cookie-wordpress

The secure flag in cookie instructs the browser that cookie is accessible over secure SSL channels, which add a layer of protection for the session cookie.

cookie-secure-flag

Note: This would work on the HTTPS website. If you are still on HTTP, then you may consider switching to HTTPS for better security.

Solution:

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

If you don’t like to hack the code, then alternatively, you can use Shield plugin, which will help you to block iFrames & and protect from XSS attacks.

Once you install the plugin, go to HTTP headers and enable them.

shield-http-headers

I hope the above helps you in mitigating WordPress vulnerabilities.

Wait before you go…

Are you looking to implement more secure headers?

There are 10 OWASP recommended secure headers, and if using VPS or Cloud, then check out this implementation guide for Apache and Nginx. However, if on shared hosting or want to do it within WordPress, then try this plugin.

Conclusion

Securing a site is challenging, and it requires on-going efforts. If you are looking to offload the security headache to the expert, then you may try SUCURI WAF, who looks after complete website protection and performance for you.

Enjoyed reading the article? How about sharing with the world?