Running a self-hosted WordPress website is not as easy as advertised, yet it can be done with the right tools and knowledge. You need to take care of hosting tasks, like choosing a host and making sure your site loads smoothly. You then need to design the site, using themes and plugins in a way that ensures positive user experience.
You also need to create and add content on a regular basis. These are just a few basic tasks that many site owners, admins, and managers need to take care of. Despite the amount of work required, WordPress is a powerful CMS that powers 35% of websites across the globe.
WordPress provides many advantages, amongst these are its open source nature, the huge community of contributors, and the massive marketplace dedicated to WordPress services and products. The platform itself is offered free, and what you need to pay for is another infrastructure. This model enables businesses to grow at scale, add features as needed, and build affordable yet powerful websites for a wide range of purposes.
Like most websites and online systems, WordPress is vulnerable to attacks. While WordPress comes with many features and capabilities, it does not come with in-built security features. You need to install plugins, integrate with security tools, and monitor continually.
In this article, you will learn what security vulnerabilities are, and how attackers use these to hack into WordPress sites. You will also learn what the top WordPress security vulnerabilities are, and how to protect your WordPress site against them.
What Security Vulnerabilities are and Why You Should Care
Security vulnerabilities are unprotected areas of your site or site host that attackers can exploit to steal your data, modify your site, or otherwise cause damage. These vulnerabilities often exist due to insecure plugins that you may add to your site, lack of control over visitor interactions, or failure to regularly update plugins.
While you may think that attackers would have no interest in your site, attacks happen regularly to every type of site, regardless of size or traffic. In fact, Wordfence researchers have found that more than 90,000 attacks against WordPress sites occur every minute.
Attackers value user data that your site contains and the site’s access to visitors. For example, a successful attack may allow an attacker to plant a malicious script on your site. Then, when users visit your site, that script runs and enables attackers to steal user passwords or gain access to webcams.
Top WordPress Security Vulnerabilities and How to Overcome Them
To protect your site and your visitors, it helps to understand what type of vulnerabilities you may be exposed to. Below are some of the most common vulnerabilities that site owners face and some suggestions on how to manage these risks.
- Insecure WordPress logins
Your WordPress login is a valuable target for attackers because it provides access to your site administration dashboard. If attackers can gain access to your login credentials they will have full control over your site. An insecure or weak administrative password provides easy entry for attackers.
Weak passwords are passwords that can be easily guessed or uncovered through brute force attacks. Brute force attacks are attacks that keep trying different password and username combinations until access is gained. These attacks are possible because WordPress doesn’t limit the number of login attempts an attacker can make.
To prevent these attacks, it’s important to:
- Use a secure password and change it periodically. Secure passwords are typically passwords that are:
- eight or more characters and
- a combination of uppercase and lowercase letters, numbers, and special characters
The easiest way to ensure you have a secure password is to use a password generator such as the one provided in Google Chrome browsers.
- Enable two-factor authentication. Two-factor authentication requires you to correctly enter your username and password. Then a code is sent to your email or a personal device, such as a mobile phone. Once you provide this code you are allowed to finish logging into your account. Two-factor authentication can help ensure that even if an attacker steals your login information, they are not able to access your account.
2. Outdated themes and plugins
Any theme, plugin, or application that you add to your site may introduce vulnerabilities. If attackers discover these vulnerabilities they can exploit these weak spots to gain access to your site and users.
After plugins, themes, and applications are released, developers often continue working on these components. For example, adding new features, fixing bugs, or patching security issues. If you do not keep your various components up-to-date, you miss out on these improvements and may leave vulnerabilities exposed.
To avoid this, it is important that you:
- Keep track of current versions of your components and that you are aware when vulnerabilities have been reported. To remain up-to-date, you should periodically check for new versions or patches. If you can enable automatic updates for components you should. ResellerClub’s WordPress Hosting provides automatic WordPress updates, making it easier to stay up-to-date.
If automatic updates aren’t available, you need to use a different method of alerting yourself to possible threats. One way is to monitor a vulnerability database. Vulnerability databases are listings of known vulnerabilities and include information about what components are affected and how to fix the vulnerability. These databases can help you ensure that you are aware of any known vulnerabilities regardless of whether an update is currently available.
3. Incorrect WordPress permissions
When you create your WordPress site, you create an administrator account, and you may also create user accounts. For example, if you have a team of people who are working on your site or if you have a subscription service. Each of these accounts has a set of permissions assigned to them that determines what a user can do on your site.
When setting these permissions it is important that you only allow users as much ability as they need. For example, you don’t want your subscribers to be able to edit posts or your editors to be able to change site settings.
Roles in WordPress are as follows, from most to least permissions:
- Administrator—can fully control your site.
- Editor—can modify and publish site posts.
- Author— can modify and publish their own posts.
- Contributor—can create drafts of posts.
- Subscriber—can only modify their profile.
To ensure that you are assigning permissions correctly, make sure that you place users in the lowest possible role you can. You can always change their role later if you find that the current one isn’t high enough. However, it is hard to undo the damage caused by users with high level permissions.
4. Running your website on HTTPS
Hypertext Transport Protocol (HTTP) is the method used to connect your site to your user’s browser. If your full site address starts with http:// then you are using an HTTP connection. This connection is available to any user and does not require any sort of authentication to use.
Because HTTP connections are not protected in any way, attackers can intercept requests made by users visiting your site. For example, if a user clicks a link on your page, a request is sent to your web server for that page. If an attacker intercepts and modifies this request, they can send your user to a different page entirely.
To prevent attackers from manipulating user or server requests:
- Enable HTTPS. HTTPS is a modification of HTTP that includes security features for encrypting or hiding the information that is being sent in a request. This encryption prevents attackers from reading or modifying data and ensures that only your web server and the browser making the request have access.
HTTPS is especially important if you are running an eCommerce site. Many users are unwilling to make purchases from a site that is not using HTTPS because they don’t want to risk having their credit card or other payment information stolen.