EDITS.WS

Tag: security

  • #61 – Robert Rowley on Securing Your WordPress Website

    Transcript

    [00:00:00] Nathan Wrigley: Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley.

    Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case security on the internet.

    If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or go to WPTavern.com forward slash feed forward slash podcast. And you can copy and paste that URL into most podcast players.

    If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you, and hopefully get you or your idea featured in the show. Head to WPTavern.com forward slash contact forward slash jukebox, and use the form there.

    So on the podcast today we have Robert Rowley. Robert is Patchedstack’s security advocate, where his time is spent interacting with open source communities to share the word about security best practices. Given his background, the podcast today is all about internet security.

    We start off with a topic which is very much in the news at the moment, the LastPass security breach.

    If you’re a user of LastPass then you’ll know what their service is. But if you’re not, here’s a quick introduction. LastPass is a password manager. It will lock up your passwords and any other data for that matter, in a secure vault which can only be read if you decrypt it with the correct password.

    Towards the end of 2022 LastPass announced in a series of blog posts that their customer vaults had been taken from their cloud storage. The way that this was communicated, left, many of their customers questioning their use of the service and whether they could now trust LastPass with their data.

    Robert’s explains how the incident occurred and if you should be concerned. The answer is, as you might expect, it depends. There are situations in which the settings that you had in your LastPass account might mean that you need to act sooner rather than later. The length and complexity of your master password is also a key factor.

    This then leads to a conversation about the broader issue of website security and the security of WordPress websites in particular. What are some of the considerations that you need to think about when protecting your website, and how can you communicate these considerations to your clients?

    Towards the end of the podcast, we chat about a project that Robert’s been involved in during 2022. He’s been patching plugins which are no longer being maintained, but are still being used, so that they present less of a security threat to their users.

    If you’re curious about website security, then this is a podcast for you.

    If you’re interested in finding out more, you can find all of the links in the show notes by heading to WPTavern.com forward slash podcast. And you’ll find all of the other episodes there as well.

    And so, without further delay, I bring you Robert Rowley.

    I am joined on the podcast today by Robert Rowley. Hello Robert.

    [00:03:54] Robert Rowley: Hello Nathan. How are you?

    [00:03:55] Nathan Wrigley: Good, thank you. Lovely to have you on. Robert and I have actually met in person. We’ve done a variety of different podcast episodes before and, he’s here today to talk to the wheelhouse that he’s in, which is internet security.

    Given that very brief introduction, Robert, I wonder if you wouldn’t mind just painting a picture for our audience of who you are, what company you currently work for, and what your background is in internet security. And if there’s a reference there to WordPress, include that as well.

    [00:04:24] Robert Rowley: No problem, yeah. So I’m Robert Rowley and I am currently working as the security advocate for Patchstack. Patchstack is a WordPress plugin security company. We have a plugin and we have a bunch of services offered for the WordPress and open source communities right now.

    I got started in the information security industry, I guess, in open source community, probably 20 years ago using Linux. I was using WordPress, one of the first releases. Not the first, but once it started to become popular in the early mid aughts, I guess is what they’re called. And yeah, I’ve worked professionally for hosting providers, securing and protecting the customer websites. That was my focus when I was working at hosting providers. I was doing a ton of hacked site cleanups.

    And, I’ve also worked in the opposite end, instead of defending and protecting, I’ve worked in the attack arena, where I’ve worked for pen testing companies, PCI auditing companies and things like that. Where we were validating, doing security tests, to validate that our customers had a reasonable amount of security for their websites and their businesses.

    So with Patchstack and my role as a security advocate, I like to blend the two. Patchstack is focused on protecting and securing the customer’s environment, and my role as an advocate, I really get to speak to people about how corporate or enterprise level security, a higher level security, really works. Which the WordPress ecosystem could really benefit from I would say. There’s a whole lot of security hygiene and best practices that are kind of skipped over or glossed over. Mostly because people aren’t asking for them. That’s basically the word that I try to spread.

    [00:05:54] Nathan Wrigley: Thank you so much. We’re going to start our conversation in a somewhat unexpected and slightly time-bound way. We are recording this at the beginning of 2023. It may well air a few weeks after the recording. But over the Christmas period some news came to light, which is going to begin our conversation, and then we’ll go off in all sorts =of different tangents.

    But the news is surrounding a, a very popular password manager called LastPass. And LastPass really holds whatever data you wish to throw at it. And the promise is that it will hold that data in an encrypted form, which is only readable by you. Now that’s great, except just prior to Christmas, just prior to the Christmas holidays, there was an announcement on the LastPass website, which indicated that their data had been breached.

    Now, that isn’t to say that the data had been decrypted, or at least we don’t know the status of that decryption. But the blob of data which holds your encrypted information has been taken, and there’s been a real ground swell of concern around this issue. And so the conversation that we’re going to have is going to be beginning all about password sanity checking, and hygiene and all of those kind of things.

    Do you just want to give us a bit of a backstory on what’s been going on over at LastPass? Obviously important to anybody managing passwords in LastPass, but it also might be interesting more broadly for audience members.

    [00:07:26] Robert Rowley: Yeah, I’ll try to hit it from multiple angles. So LastPass had this breach that they announced in December, but it wasn’t initially first announced in December. It started in the summer. They had announced the first indicators that they had signs of a breach had happened to their systems, back in August or earlier than that maybe. But, I think it was somewhere in the summer of 2022.

    Well, the big worry is with LastPass, what is it that they have that is of value or of risk to an individual who is a user? And the whole purpose of LastPass is that you have all your secrets, right? Your passwords, your credit card numbers, SSL certificates, all these really highly sensitive things. LastPass was offering a service that said, you can store those with us, we are a cloud service provider, and we will encrypt those using zero trust systems. Zero trust means is that they are not going to be able to decrypt it unless they know what your password is. And they’re going to store all of your stuff in an encrypted way that nobody there at LastPass should ever be able to decrypt it.

    However, as we are now aware since the story began in the summer and ended in the winter, to this day, or at least to this point. That there was a breach. They had access to the source code. At first, the attackers had access to the source code. Then we learned later the attackers had access to a developer’s machine and that developer’s machine had access to these cloud storage drives. But nothing, you know, no customer data yet.

    And it wasn’t until it was December 22nd, that is when LastPass updated. So just three days before Christmas, they said, oh, by the way, also all of our customers stored encrypted vaults were also exfiltrated by the attackers. I shouldn’t say all, they just said the customer vaults were exfiltrated by these attackers.

    Now that’s going to be a lot of data to move, and it’s not useful to the attackers until they can get people’s master passwords. But since the attackers have access to the source code and they have access to the encrypted vaults, it’s just a matter of brute forcing these passwords.

    So if you use LastPass and you have a very weak password, maybe your master password with something like the word password, uh, which is a terrible idea, that’s a really bad security hygiene. That would be brute forced in probably a matter of seconds.

    If you had a strong master password, which I’m sure LastPass encouraged users to do, then it may take years for that master password to be bruteforce, to unlock the encrypted vault that contains all of your passwords. Which puts everybody at a weird position. If you’re a LastPass user, you’re now aware as of December 22nd that the encrypted vault that stored your passwords, but really a lot of LastPass user’s passwords has been leaked and could be, at any point in time the attackers could be beginning to do the work to attempt to brute force these vaults.

    And as they become successful, they’ll have access. They’ll know the url, right? They’ll know your username very likely. They’ll know everything that was stored in your vault. So it puts people at a high risk. But there’s this big thing of a matter of time. And it’s going to take a good amount of time, depending on the strength of your password versus the strength of the computers the attackers can use to attempt to brute force these vaults.

    [00:10:30] Nathan Wrigley: I’m just going to add a little bit of context and forgive me, Robert, if I say something which is factually incorrect, please alert me and I will backtrack. But my understanding is that LastPass in effect rolls up all of your data into one giant blob. I’m imagining it in my mind as like a football.

    So all of the passwords, all of the credit card details are, if you like, poured into this football and the football is encrypted. But the point is everything is inside that one blob. And so if the attackers decrypt one thing they have decrypted all the things. So it’s not like there’s a password connected to this website over here and this credit card number over here.

    As soon as they’ve bruteforced it, and figured out way to get in, every single item inside that vault is now available in plain text. Is that, for a start, is that true? Once they’ve got something they’ve got everything?

    [00:11:29] Robert Rowley: I believe that’s true because that one thing that the attackers need to get is your master password. Your master password is the secret that LastPass is not aware of on their end, which they used to hold true for their marketing spiel which is zero knowledge, right? Like they can’t decrypt your passwords unless they have your master password.

    So that football or that blob of encrypted data, once the attackers are able to brute force, and that blob is unique to every user, because every blob is encrypted with each user’s master password. But the only secret that needs to be gotten, you know, brute forced is that master password.

    [00:12:02] Nathan Wrigley: I suppose it raises all sorts of really interesting concerns because the promise was that it was encrypted and there’s zero insight from LastPass. If you lose your master password, there’s no point in going to Lastpass support and saying, well I’ve lost my password. Can you please send it in an email, and I’ll be trouble free. If you lose that, that’s tough.

    But it’s the nature of what’s inside that vault. So, if it was just a handful of passwords. If you were a user of the internet fairly infrequently, and you were just logging onto a, couple of websites, your email and what have you. Then you could quickly go around and sweep up all of those websites and change the passwords and you know that you’re fine.

    But I think a lot of people using services like LastPass have gone all in. And so, as we said, credit card numbers, mortgage details, pension details, bank account details, credit card numbers, all of these things have gone in there. And so the worry now is that if that is retrieved, then all of that is available.

    And the problem is you can’t go to LastPass and simply change your password. All you are doing is changing the current blob’s password. The ship has already sailed there. The hackers who’ve got this, they have it, and if they figure out your password, no matter how many times you change it, what settings you fiddle within in LastPass. If they get through your password the day it was stolen, then everything is up for grabs.

    It’s just the wealth of things that must be in there. So in my case, I’m a LastPass user, I have a paid account. There’s an awful lot of things that I would really wish didn’t escape. So, financial things and so on and so forth. But imagine across the population of the, I don’t know how many users they had, let’s imagine it’s hundreds of thousands, possibly millions, I don’t know. There’s a trove of information. So there must be a giant incentive for the hackers to get to work and figure out these passwords, one at a time. Even if that’s what it takes.

    [00:14:07] Robert Rowley: You’re absolutely right There’s a difference in the data that was stored in LastPass. You made a great point there where, a password can be changed. A password can be updated and it’s no longer a threat if the old password is leaked, or compromised. But information like privately or personally identifying information, privacy things that were stored in LastPass, those are going to be a much harder thing, right?

    It’s hard to change your mortgage information, right? It’s hard to change your, your address. If your address is stored somewhere in there. But there will be certainly things that are extraordinarily difficult for people to get rotated or changed out. Here in the US, right a social security number, things like that. If that gets leaked, then it’s really a big pain to deal with identity theft the rest of your life.

    [00:14:47] Nathan Wrigley: Yeah, and I guess to be fair, we did realize, I mean the technology was explained. There is this blob, we don’t know the password. If the blob were to be stolen then the level of complexity that that password had will be crucial to whether it’s decrypted or not. As you say, if the password is the word password, a few seconds will pass.

    Do you have any insight from a technological point of view in terms of the power that computers can bring to bear trying to decrypt these? I’m guessing it’s brute force. It’s literally just trying a password. No, move on. Try another one. Trying it over and over and over again.

    Let’s imagine that we had a, let’s say it was a ten digit password of just pseudo random nonsense. You know, just some characters and some strange punctuation. It’s unintelligible, it’s not a dictionary word. Can we be fairly sanguine that we’re still talking decades, possibly hundreds of years for computers to be able to brute force this, or do we need to be concerned?

    [00:15:48] Robert Rowley: You should always be concerned, but not overly concerned. This isn’t an emergency. You know, unless your password was password, then it’s an emergency. But you shouldn’t be too concerned if you have a decent password hygiene, right? Do you choose decently strong passwords? They’re gibberish or they’re things that, you know, don’t use things like your name or a birth date that’s important to you, like the year numbers. Things like that.

    As long as you’re not using something that’s very common and you are using a properly gibberish one, it works. And part of this thing is, and I’ll steel man LastPass a bit, because they did the technology right, they did it to the best they could do.

    They tell people that your master password was hashed over 100,000 times, in newer versions after certain releases. Which means that a computer to try to guess that password would have to run this hashing algorithm over 100,000 times.

    It’s 100,100 times exactly. And that just takes time. That means they did something intentionally that slows down the process if you are randomly trying to guess the password. Which buys the user’s time to rotate out their passwords and take appropriate action in response to the incident.

    And as far as it goes for enter, even enterprise level security, that’s the best you can offer in relation to stored secrets that get leaked. You say you’ve provided sufficient time for the reaction to, uh, take place before the attackers are able to decrypt the vaults.

    [00:17:09] Nathan Wrigley: So given Moore’s law, I should probably explain. Moore’s Law basically says computers only ever get better, they never get worse, and they get better quite rapidly. If we were to look at a computer from 20 years ago and ask it to sort of hash passwords, or rather brute force passwords. It would be able to do that at a significantly slower rate than computers of today can.

    And my understanding is that things like GPUs have been repurposed, and essentially those pieces of hardware can do this work significantly quicker. So given Moore’s law, and the fact that this trove, this vault, this football is in somebody’s possession probably for the rest of time. Do you think that there is going to be concern enough that you should now be really, at breakneck speed, starting to change the passwords that you had in the LastPass vault?

    Because that’s really the only mitigation here. If your blob is accessed and the, the information leaks out, and the hackers get inside. If you’ve changed all the passwords, well it didn’t matter anyway. But from what you are saying the grade of security that was applied by LastPass, at the minute, still holds up. But do you have any insight into how long we can be quite so cavalier?

    [00:18:27] Robert Rowley: I’ll go back. I’ve been working in security and security related fields for, oh for about 20 years now, and I do remember 20 years ago they were talking about certain encryption algorithms being unbreakable. And they would do these mathematical calculations and they’d say if you encrypt it using this size key, using this algorithm, it will take you 20 or 50 or a hundred years, right, depending on the length of your password to decrypt the vault.

    This wasn’t specific to LastPass, but this was just like back then what we were talking about. And then five years later, well, it stops being 5, 10, 100 years. It starts being 1, 3, 10 years. And then five years after that, in 2010 or so, that same algorithm with the same size key is decryptable within one year. It’s always this thing, as computers get faster, and you’re right, GPUs change the game. GPUs are able to fire off multiple concurrent threads to attempt the same brute force in quick succession. And that basically changes the whole game in certain algorithms where it will reduce over time.

    So today’s numbers, and I’ve seen some posted around online, if you have like an eight character password that’s properly gibberish, it might take 20 or 30 years, but that’s just today’s numbers. And the tactics used, you mentioned GPUs. I have a GPU system at my house that I’ve turned on. Hashcat is the application. It works really quick to attack passwords, and break down passwords.

    What you need to know is again, yeah, knowing the time you have. The lead time you have is useful for that moment, and it really is helpful towards how fast you should respond. So a lot of that is, in the enterprise security world, it’s the time to response, right? How much time do you have to take action in response to a threat or a compromise?

    And what we’re talking about right now with LastPass, assuming you had a decent password as your master password, it’s a number of years, most likely. And also assuming that there are no, how to say, exotic computer systems that the attackers have access to that can crack these passwords much faster than what the current knowledge is.

    As long as they don’t have exotic systems and as long as your password was sufficiently strong, you probably have some time to rotate your passwords. But really we should be talking about, hygiene, general hygiene. You should be rotating your passwords anyways. LastPass, like again to steel man them a bit, even though I don’t use them anymore. They have a feature within the app that will rotate the passwords for you. And you can set it on a schedule and just say, hey, rotate the password for this web app every six months. And they’ll just handle that for you. Doing this rotation of passwords is very useful.

    [00:20:54] Nathan Wrigley: I’m confused by how that would work in the sense that, so let’s say for example Gmail or some sort of Google property. If it’s going to rotate the passwords for me, presumably it is mimicking my login. It goes to the website, it puts in the username and passwords, and they’ve got some mechanism for navigating to the page where the password is changed and they’ll substitute in the. How would that work, for example, if I’ve got 2FA, so let’s say I’ve got an authenticator app or something. Presumably at that point it’s going to be stifled and it won’t work.

    [00:21:25] Robert Rowley: Well, you’re thinking that it’s going to log in for you, but this was a feature of the browser extension, as I remember it. It was something you’d go into the browser extension and set to change passwords for certain web apps. And I’ve said enough nice things about LastPass that I should say something bad.

    This feature rarely worked correctly for me. It wouldn’t update very often. Sometimes it would update and then it would have the wrong information in LastPass. Like the password they updated in LastPass did not match what was on the website, so it would lock me out of it, and I’d have to go through my password history to find the correct one.

    But the idea is there is that they knew rotation of passwords is a, it’s a security best practice. It’s a hygiene thing. You should be doing it every so often any ways. Just like not reusing passwords is something that is also very much good security hygiene, and good security best practice.

    And again, the reason why, how it would work is it would basically, while your browser is currently logged into that web app, it just hijacks your browser and makes a request, to send the update password.

    [00:22:17] Nathan Wrigley: Got it, okay. Given everything that we’ve talked about, the bottom line with all of this is the password hygiene. And so we’re recording this, like I said, beginning of 2022. Caveat emptor, if you listen to this in six months time or a year’s time, everything that we’re talking about could have changed.

    Maybe the news has been updated. Maybe there’s been some miracle of hacking and they’ve managed to brute force all the passwords. Who knows? But given where we are now, could you just talk us through, so this is nothing to do with LastPass, this is just general website, internet password hygiene. What are your sort of recommendations in terms of how long they should be, how dictionary based they should be. Whether you’ve got a technique for coming up with passwords by appending things to the beginning or the end.

    In other words, making it more memorable to you. Just lay out what your best advice is for a typical user. Not somebody who’s really obsessing about all this, all the time.

    [00:23:13] Robert Rowley: I’ll try to step it up slowly. The average user, right? The person who doesn’t want to be bothered too much by security best practices, they find them annoying and difficult. I know this because I’ve interacted with a lot of these people in my career. For you, and I have somebody in my mind right now. Just use a unique password on every website that you visit. And ideally, if you’re repeating the same password like I love pancakes, right, every account you have. When one of those accounts gets compromised, then all of your accounts will end up getting compromised.

    It’s not a good thing. And it should be something strong. It should not be your last name. It shouldn’t be the year you were born. It shouldn’t it be anything that’s guessable or even your address of your business or your location, because that information is semi-public and an attacker could start guessing, right? They can feed in this information into a bot that’ll try to rebuild the dictionaries against you. So it should be unique for every website and strong.

    Now, if that’s a little bit too hard for you, this is what I used to say, then use a password generating tool like LastPass. That would create new passwords for you, you know, at least 12 or 16 characters long, and it’ll store the password for you. So you never need to really remember it yourself. Now, of course, LastPass is kind of confusing if we should recommend it anymore, but there are other options. There is 1Password. There is Bitwarden. There’s a bunch of options.

    [00:24:37] Nathan Wrigley: There’s one called Dashlane if memory serves.

    [00:24:39] Robert Rowley: Yes. Dashlane is another one. They vary in price. Some are free, some are open source. I believe Bitwarden is a great example of a free or very affordable option, which is really similar to LastPass, especially how LastPass used to be. You store your data in the cloud, so yes, the same risk is present. Whereas they could get their cloud services compromised, and then you’re going to have to go through the same, rotate all your passwords process.

    Or you could go a little bit more hardcore and start storing your passwords locally. This means it’s going to be stored on your laptop or your PC, maybe on a USB drive, but you’re going to have to choose a piece of software that does that. A good option for that would be KeyPass or KeyPass SX. They’ve got a few versions of it. They all use the same underlying technology. It’s mostly an interface to access this vault. But the vault always exists on systems you own and you control. That’s the only way you can get outside of that, the realm of risk. Or you can alleviate and reduce the risk of somebody breaking into a cloud service provider and stealing all the passwords.

    With all that said, that’s the basics, right? And if you’re a basics user and you’re a little, but you’re a little bit more than a basics user, right? And you got a more serious account, maybe it’s your banking account or your Amazon EC2 accounts. Well then you need to use something more like a two factor authentication, like a second factor. It could be your email or sms, like your cell phone number. Or it could be something stronger like a Fido key, which is like Yubikey. There’s a few other vendors that make these physical hardware keys that punch out random gibberish.

    Or it could be what we’re really familiar with is this Google Authenticator. This is a time-based token, and it’s a one-time token for this little 30 second period of time, and it’s about a six, sometimes eight character pin. And those things, those require you to have physical access to a phone, right? That you run the Google app on or the Google Authenticator app on, or there are alternatives.

    LastPass has an alternative for it. Authy is another very popular one. The big difference between, I’ll compare Authy to Google Authenticator, is that Google Authenticator, if your phone dies, there’s really no way to restore those secret tokens, right? Or if you upgrade your phone and delete, get rid of the old one. It’s really hard to upgrade and move it to the new phone. You have to do an intentional process where you do it an export first, and then you later import it.

    Authy on the on the other hand, does cloud-based storage, and one of those benefits of cloud-based storage is it’s easy to share between devices. So with Authy, you’re able to set up one device or one account. And then if you lose your phone or the phone gets destroyed, you can easily reset up and get all your old two-factor authentication tokens, working easily and quickly.

    [00:27:12] Nathan Wrigley: In the case of this breach that we’re talking about, the two factor authentication, if you have that enabled or quickly go and enable that, that really does put a bit of a roadblock in the hackers path. Because even if they get your password, username and all of that good stuff, they’re going to be hitting this barrier of being asked to perform another action.

    So they’ll be able to successfully partially log in, but then they’ll be required to, I don’t know, either push a button on a mobile phone or press a button on a Yubikey or a Fido key or whatever. And that’s going stop them in their tracks. And also commonly with that, you get an email alert, assuming they haven’t got into your email, which is probably the first thing to shore up. You’ll get an email saying, look, something peculiar is going on. You need to be looking at your whatever, I don’t know, Dropbox or whatever account it is. So that’s another layer of security, which really would help.

    [00:28:08] Robert Rowley: Yeah, absolutely, yeah. There’s a great point there on why two factor authentication may protect. And you should have two factor authentication on, even if you’re a basic user. You should have that set up for some of your more important accounts. If your password gets leaked, they’re still not going to be able to get into your, to your systems.

    [00:28:23] Nathan Wrigley: In the case of the listenership to this podcast, I would imagine there’s quite a lot of people who are using password managers, and they are using it for their client websites. So I don’t know, you’ve got a hundred client websites. And all of a sudden you are facing this jeopardy that your business, not just your personal details, but your business is in some kind of danger, because the last thing you want is for the hackers to gain access to one, two, a hundred of your client websites.

    Would you, if you were in the business of building WordPress websites for clients, would you rank that as a fairly good priority? Should people be going out and informing their clients that, look, I actually held this in a LastPass vault. That vault has been breached. Do you know if we have any obligations for our clients? And would you recommend that they, being circumspect essentially? Go out there and start changing these things pronto.

    [00:29:21] Robert Rowley: Yeah, oh absolutely. I believe they should definitely get ahead. The best way you can react to any sort of security incident is to get ahead of anything else bad happening. You have to say the bad news, right? That starts with it. You have to tell that your customer’s, I store, I was storing your website account passwords in LastPass and as you may know, LastPass had a breach. All you have to do, if the next sentence is, I have changed the password. That’s it, and then you can say very confidently that there is no longer any risk associated with the fact that I used to store the WordPress password, WordPress access website access passwords in LastPass.

    That’s how you get ahead of a security incident. And that’s a, that’s another great way to approach security as well as security hygiene thing. If you do experience a, let’s say LastPass aside, we’ll just put that as not the issue here at all, you experience a compromise on one of your customer’s websites. If you try to go in and manually clean it up yourself and you don’t know what you’re doing. And, you know, the hacks persists. If you inform the customer, hey, we saw this, it looks like it’s hacked, here’s what we did.

    And it gets hacked again, say, oh, we’re going to do more this second time, right? We’re going to do more. We’re going to hire an outside party now because obviously our services didn’t meet the needs. And that’s how you get ahead of the problem. Whereas if your customer’s site experienced a hack and you try to clean it up and you don’t tell the customer anything, you just hope they never notice, and then they get hacked again. What are you going to do that second time, right? Are you going to keep trying to clean it up? You’re going to keep going through this process? Or you’re probably going to create a little lie saying, oh, you got a hacked site and now we’re going to hire this third party.

    But, what I’ve seen in my experience, in my career, the sooner anybody’s ever transparent and upfront with the incident as it happens, and they are as clear as possible, including having a recourse, basically, here’s the next steps we’re going to take. That’s the clearest sign that somebody’s taking security responsibly, right?

    They have a mature security model. They understand that breaches happened. These things you know, they didn’t cause it, some hacker caused it somewhere. Some nefarious person is doing something nefarious. But here’s the things that we did to address the issue. We’re aware of the issues. Here’s what we do to fix the issues in the future. You look at it as a learning experience for everybody involved. We could reflect back on LastPass and say, well, why was it that they saw the compromise start in the summer, yet it wasn’t until the very dead of winter that they announced the worst part.

    The one thing that everybody was most concerned about. Had they done that at a different time, it may be different. The PR, right. How it would look to people would be different.

    [00:31:48] Nathan Wrigley: The recommendation, I’m guessing, that you would have is that, you said a moment ago that 2FA ,two factor authentication, really you should be using that where it’s available. And I know that in WordPress there’s a whole slew of different ways of doing that. For example, the company that you work for, Patchstack, they offer a 2FA option, as do a whole bunch of security vendors.

    But there’s also plugins which just simply do that one thing. Would you be recommending that for every username and password on any WordPress website, or are you kind of limiting this to the administrator roles and the other ones perhaps less of a concern? I’m just trying to get an idea of how judicious you think you would need to be if you were a website agency at this point informing your clients that there’s possibly a breach, and trying to guide them towards better solutions, more robust things like 2FA.

    [00:32:43] Robert Rowley: Yeah, it’s a good question. I would agree administrator users make the most sense for these stronger, or higher requirements for authentication. What you can think of it is, it’s not just the administrator user necessarily. It’s any user that can upload a plugin, upload a theme, edit PHP files. Any of those key roles or capabilities within the user are what are important. Those would directly connect to compromise the website, right. If a user is compromised and they have ability to upload a plugin, that plugin they upload could just be a backdoor.

    So you should start with that, understanding the capabilities, if you have unique capabilities and unique custom roles built into your WordPress website. If you don’t, then it’s easier. Yes, admin users are the ones that can upload plugins and such. So those are the ones that you need to make sure have stronger authentication requirements.

    As for the remainder of the users, that’s really up to the organization of the website owners. Their ability to understand risk, right? It may not be that bad if a, well, it’s not necessarily bad at all if a subscriber account gets compromised. It’s not good, but more concerning if an author account, right?

    They could start editing posts that were published by that author or things like that. But if you prevent the authors publishing new posts by having an editor role who needs to approve things, then you’ve got a good little safeguard there, right? An author getting compromised isn’t the worst thing either. However, they should have been using strong, unique passwords, because that’s the basics.

    Do they need 2FA? Maybe, maybe not. And then you kind of go up, as you go up the roles and capabilities of every user group in your WordPress website, maybe you’re thinking, yeah, this person can do this thing, and that would be horrible for our business, right? Maybe you have a role that’s specific for handling your shipping items, right? Or your coupons for your WooCommerce site, or something like that. Those roles, those custom roles, would be a very high effect if they were to be compromised. So maybe on those, those accounts, right?

    If they handle your customer data, shipping information, coupon codes, right? You don’t want somebody creating a 99% off coupon code. So you want to lock those accounts down too, with a higher level of requirement. And I’ll be honest, that after you get used to the process of 2FA or some of the other options, right?

    Instead of a password, a pass key, or IP address limitations. People can only log in from certain zones or certain areas. Once you start doing that and just becomes part of the process of logging into the website, it really becomes not a big issue. It’s that initial, that initial adoption period that you’ll have the most pushback and then people get used to it.

    And most people find that 2FA, well, it can be annoying if you can’t find your phone, or if you can’t find the physical key. Generally you remember to pack it. So you, you’d end up not ever going anywhere. You don’t take your laptop to go work on your WordPress website without also bringing your 2FA token with you, so it just becomes a habit.

    [00:35:25] Nathan Wrigley: I confess in my case, I began using 2FA, almost as soon as it was an option. And I remember really disliking it to the point where I disabled it and I did another six months, and then I thought, actually, do you know what, there’s a lot of sense in this. So I switched it back on. So this is going back quite a number of years. And it really has become part of the muscle memory of logging into a site. You know, I go there, I type in the username and the password, or in my case, the password manager handles that.

    And then I get this additional prompt. And all in all the whole thing is an additional possibly 10 seconds. And whilst it’s irritating, that 10 seconds probably could be better spent. On the grand scheme of things, it’s really not that amount of time. And I always thinking that if something is inconvenient, then it’s probably a good idea. With greater inconvenience, probably lies greater security.

    [00:36:20] Robert Rowley: I don’t know if I’d fully agree, cause I can think of some greatly inconvenient things, but you have the right idea. I remember, yeah, many years ago, I was working at DreamHost and we rolled out 2FA for access to the DreamHost panel. So this is access authentication where somebody could take over all your websites. They could migrate your domains elsewhere, right? Like it’s your whole business.

    And there was pushback. There was genuine pushback and it was an option too. It was quite funny. But, there was genuine pushback from our customers saying, I would never enable this because what a waste of time it takes to type in this code. But I think over the years people have simply adopted how to use it. I’m sure, I’m not this old yet, but I’m sure back when passwords were first created, right? The idea of having to log in with both your username and some sort of password caused some uproar at some university’s on old Unix systems. They’re like my login should be just my login. We should trust everybody. And then of course, you know, they learn that, yeah, you need to do a, some form of challenge response to verify authentication, who the user is, who they claim they are.

    [00:37:23] Nathan Wrigley: It’s not only something that you know, your password and username, but it’s also something that you have, a physical possession, in this case, a phone or a Fido key or whatever it may be. It really adds that extra layer.

    One of the things that we keep talking about, I guess it’s par for the course really, given the nature of the conversation, is passwords. The fact that we have to memorize a combined thing. There’s a username and a password. I don’t quite know how that came to be, the way that we logged onto more or less everything, but there’s these two fields. Username, typically an email or some kind of thing that you’ve decided to use. Might be a, a shortened version of your own name or something like that. And then there’s the password which sits alongside of it. Given that that system, should it be discovered, allows complete access to whatever is in that service, Google, Dropbox, whatever it may be.

    I’m . Wondering if that system is broken. I wonder if it’s time to get away from, or slowly start to move away from, the username and password combination, which allows access to everything once successfully done. Even though it can be married with 2FA, like we’ve described. And I’m wondering if any new and emergent technologies have passed your radar that may be replacements for things like usernames and passwords. I’m sure there must be some ingenious cryptographers out there somewhere trying to get rid of this devilish thing, the username and password, but I don’t really know much about them. So I’m just going to hand it to you and see if you do.

    [00:38:55] Robert Rowley: Well, I’m going to first start off saying I do not understand enough about cryptography. And so you’re absolutely right to call them genius cryptographers. They’re phenomenal at math. I’ve read their papers and I, my eyes still gloss over. But I understand their high concepts, which is why they’re truly geniuses, is that they’re able to understand the big concepts of this very convoluted math to more lay people.

    It is true. What we’re dealing with is a lot to do with cryptography. This is a matter of a secret which is known to an individual, which is then stored somewhere and then verified so that we can be decrypted in a way that we confirm that the individual is the only one who we assume has the knowledge of that secret to decrypt this vault or password cache or things like that.

    So what we’re dealing with is secrets and cryptography. Oh boy, I don’t even want to get into the whole cryptography thing, but like, public-private pairs. Where you can store them. How you can store a public key, and the public key is not a big deal if it’s been stored or shared publicly because it’s only your private key that can decrypt data that’s been encrypted using the public key.

    Basically this two key system. When you really kind of like, understand how it all works, you’re like, oh, okay, cool, this makes sense. But really in the end of the day a password is just a key. It’s something you know. A good analogy maybe is when you were using LastPass, you and I were both using LastPass, probably for a number of years. Did you have a knowledge of your passwords?

    [00:40:17] Nathan Wrigley: No. None whatsoever. I always go for a very long gibberish password. And even if you forced me to read it out, I wouldn’t be able to memorize even one of them. They were so ridiculously long, yeah.

    [00:40:30] Robert Rowley: Exactly, so that’s how I was using LastPass as well. LastPass, I knew my master password, which was being used to decrypt these gibberish long passwords, which were all stored in LastPass. And I was using LastPass as this storage device for these long gibberish passwords. But they’re not words, they’re not pass phrases, right?

    Let’s define a few terms. Passwords sound like a word, which is a secret word, like, open sesame, to enter a, get authentication to enter a system. Passphrase is another terminology that the security community pushed out there for a while. And this is more like, horse, battery, banana, stable. Something like that. You’re creating a phrase, a whole sentence, which makes a longer word. It’s not really a word anymore, it’s a phrase. They’re trying to encourage people to use sentences. I used an example earlier. I love pancakes, right? That’s something I encountered in my life, for bad pass phrases.

    But, now we can get into a new world where we can define this as a pass key. And now a pass key is kind of what that thing that we’re using LastPass to do. We’re storing this large gibberish, basically a little blob that we don’t know, we can’t even pronounce if we wanted to. And that is the secret that is being stored and saved with the server, or basically not saved with the server, but as a challenge in authentication step within the server.

    And we’ve extended what started as a password and as the common term would be password to passphrase. And now we have this new thing called a pass key. And how we were using it in LastPass is bastardized version of what a pass key should be. And there are new technologies now, being the thing that on the internet. Because web browsers make web applications accessible to the whole wide world, we’re starting to see that pass keys, this high level of entropy. This long amount of gibberish. This inability for an attacker to brute force the authentication step is what we’re needing in order to protect ourselves against attackers.

    And in that case, in that sense, pass keys are actually a real thing. You don’t have to implement them using LastPass, using long gibberish things that you can never remember yourself. But you can use them by storing them locally, or having a system that can unlock that key only when you basically, like we were using with LastPass. It could unlock the key, which then is being sent to the web server, web application to pass that challenge for authentication.

    There are plugins for WordPress, which are already available, and they will utilize a system that’s more of a pass key system. They’re not always how we were explaining with LastPass. Some of them will use your phone, it’ll scan a QR code, and when your phone can decrypt the QR code correctly, it will pass the challenge, the authentication challenge that the plugin, or the web application, has presented. So it verifies you as authenticated. I hope I’ve explained that right?

    [00:43:08] Nathan Wrigley: Yeah, let me just outline whether or not I’m confused about that. So with passwords and pass phrases, essentially both parties need to know what they are. So the website, let’s take the example of Google, Google needs to know what my password is. I need to know what my password is. And in order to keep that secure, I encrypt it inside my password vault and Google encrypt it on their servers with whatever technology they have available. Hopefully, Decent and strong.

    But the point is there’s two secrets held in two different locations. The same would be true for pass phrases because it’s just another, it’s just a really, it’s more or less exactly the same thing. But is a pass key in any way different to that? Is it being stored in both locations. Do I need to store a copy of the pass key and does the website need to store a copy of the pass key? Or is there something going on which is slightly different where only one of us knows? That’s the bit that I haven’t quite worked out.

    [00:44:05] Robert Rowley: What you were explaining is what’s called a two-way or symmetrical encryption. Both parties know a secret and they both use that same secret to confirm a identity, right.

    [00:44:15] Nathan Wrigley: Yeah, thank you.

    [00:44:16] Robert Rowley: If the bouncer on the other side of the door knows the secret password to enter the club is open sesame, then they wait for people to say it on the outside. Both parties need to know this. There’s another way with encryption. This is why cryptologists are geniuses, which is called one way encryption. One way says that the bouncer on the other side of the door actually does not know what the passphrase is.

    What they know though is for your user, some mathematical equation, right? I’m going to simplify this. That will embarrass myself, because I’m going to go to junior high level maths. And this is a terrible example, but like one plus x is equal to seven. Solve four x, right. It’s that sort of thing.

    But they’re doing mathematics, which are like multiplication charts, an elliptical curve. They go way out there. So it’s very hard to do this, you can’t do ’em in your head. But they do, and actually they’re using prime, I believe. They’re using prime numbers, which are hard to, it’s hard to calculate in the reverse direction.

    It’s that sort of idea is that the bouncer on the other side knows the maths to do, right? They know the algorithm, or not the algorithm, they know the equation. And on the other side, you just simply say the word six, and then the bouncer on the other side puts six into this math equation. They run this math equation, which depending on the speed of the bouncer’s CPU in his head, he has one plus six is equal to seven, is that true? And that’s how they work.

    So the bouncer does not know at any point in time what the secret is until you give it to him. And then that, basically then he uses the math behind the algorithm to verify that the secret is true. Does that make sense? That’s a one way.

    So you have a application, we’ll see this with GPG or PGP, which is a public-private key system, where your private key is what you need to keep secret. And then the public key is what’s shared publicly. So anybody could know your public key and then they can compare it. And then you would basically, they would use the public key to encrypt data to you, and then you would use your private key to decrypt the data or vice versa.

    [00:46:06] Nathan Wrigley: Yeah, I understand. I think I’m hoping for an era in which the knowledge that I have doesn’t need to be known at all by them. So I could display something to a website or a SaaS app or whatever it may be, and the mere fact that I possess it combined with something that they possess. But the two never need to collide, if you know what I mean.

    I can constantly keep my thing secret. They can keep their bits and pieces secret. And I believe there are endeavors to do things like that. I think in my case that the LastPass data breach has made me realize that having trust for all the things in a third party service, that’s been shaken a little bit for me, over the last few weeks. And I would like to hope that things, I don’t know, inside the browser or inside the Mac or inside the iPhone or whatever it may be, will make this easier over time.

    [00:46:59] Robert Rowley: Yeah, definitely. It’s a thing that’s always going to change, but we have to remember, we’re using computers and they’re reliant on math. And unfortunately it’s going to be up to some really, really, and this is why I’m so nice to cryptographers, I think they are all geniuses. It’s going to take some really smart guys and girls as cryptographers, to figure out the algorithms that are going to work and be resilient against attacks like bruteforce attacks.

    That’s what LastPass was doing, was hashing your password. So one over 100,000 times because if you hash, that makes it 100,000 times harder, or slower, for the process of hashing, right? So hashing it once might take a millisecond, but hashing it a hundred thousand times, now that takes a second or so. And that’s what they did based on the technology and the cryptography as we understand it today, the applied cryptography, I should say. That was their best option to slow things down.

    And doing that, choosing the algorithms they chose, choosing the bit sizes for the keys that they chose, choosing the number of iterations of hashing that they chose, all gave us some time. And that’s the time that we needed to update and rotate out our passwords and our secrets that unfortunately were lost.

    [00:48:08] Nathan Wrigley: Well that was a good segue. You mentioned time and time is slowly running out for us. But I just want to give you an opportunity to mention a couple of the things that you are doing in the WordPress space, which are nothing to do with LastPass, even though the name of it may be, with retrospect, may collide very closely.

    Tell us about Last Patch, which is a project that you’ve been involved in, don’t know for how long, but tell us what you’re doing over there. It’s wonderful actually. It’s such a nice, almost philanthropic thing.

    [00:48:37] Robert Rowley: Just a bit, yeah. Unrelated to LastPass, I’ve been writing a series of blog posts that I’ve been calling Last Patch. The concept here is that, I wanted to write about vulnerabilities and exploits on WordPress plugins for some time, but I’ve found it, it’s not very nice to talk accidents and mistakes other peoples have made, especially when they’re still writing actively to the project, right?

    Like, I don’t want to take a, somebody patch this bug, this security bug, which is a more sensitive bug than a normal one. And I don’t want to just put ’em on blast saying, hey everybody, here’s how you attack this bug in case nobody updated yet. So instead, what I did is I found out, and this happened last year, we were writing a white paper, which basically was explaining about a 2021’s, a year in WordPress security retrospective.

    And we found out that a good handful, I think it was seven or eight plugins were disabled and they had, out of 30 critical vulnerabilities that were reported in WordPress plugins in 2021, about seven or eight plugins received no patch. So a critical vulnerability received no patch, and sites were still simply running an insecure version of these plugins.

    And that’s not good either. So a solution oriented towards fixing things instead of just pointing out mistakes, was that I wanted to start writing patches for these abandoned plugins that had security bugs in them. So in quarter four of 2022, I was given some time and I wrote up a few blog posts about six in total explaining for six, each blog post is its own plugin that has its own vulnerability in it, and none of those plugins got patched in 2022. So what I went through and I went ahead and just wrote the patches. I explained how the vulnerabilities worked. The target audience for this could be really anybody.

    If you’re a site owner, and you’re running one of these plugins and you want to patch it yourself, I don’t recommend running my patches, because these are abandoned projects. If it’s an abandoned plugin, I recommend you find a new alternative. But if you absolutely need to run it, yeah, you can use the example that I’ve given you.

    But it’s even better for a developer. If you’re a WordPress developer or even a new developer, and you’re kind of curious how about how security bugs work and what to do when you encounter them, these series of blog posts will walk you through how these security bugs work and how to basically write a patch.

    Most security bug patches are pretty rudimentary. You’re going to be looking at writing an allow list, verifying authorization, or sanitizing or escaping data correctly. So that’s the series of blog posts that I’ve released, and they’re all available on the, LastPass, last sorry, Patchstack blog.

    [00:51:03] Nathan Wrigley: Too many patches and lasts in this episode. Pass, patch, last. There’s lots going on. Yeah. That’s amazing. What a nice endeavor. Do you intend, funding and time permitting, is this something that you would wish to continue? Are you going to try to do this through 2023?

    [00:51:20] Robert Rowley: I would hope so. I genuinely had fun writing these patches. Reviewing the code. I’m an awkward person in the head, I guess because I like looking at other people’s source code, figuring out what went wrong, and adding, because I, I’ve done that in my career for the past 15, 20 years.

    I’ve reported security vulnerabilities to developers. I’ve become empathetic enough to understand their position of not wanting to see the report, not enjoying that process. But I genuinely enjoyed this process and I like sharing with other people, especially developers. The idea that a mistake, mistakes can be made, right?

    Mistakes were made. It’s okay. It doesn’t matter what happened. What matters is how you respond to it. And you should be responding to security breaches like LastPass. Or you should be responding to security bugs, like open source developers. The majority of them, I’ll have to share here, the majority open source developers are very receptive to security bug reports.

    It should be considered a contribution to the project. It’s a way to make the project better, more secure. And as a developer for the developers, it’s a way to improve your skill sets. You know how to identify, like if you take it seriously, you’ll learn how to identify security bugs, how to program defensively so that security bugs don’t affect your application, and so on and so forth.

    [00:52:34] Nathan Wrigley: What a great endeavor, yeah. Thank you for doing that on everybody’s behalf. That’s really wonderful. Robert, because we’re close, closing in on an hour, I’m going to knock it on the head. But before that, I’m going to ask you to tell us where we can find you online. If anybody’s listened and wants to reach out. Do you have any publicly available Twitter handles or email addresses or contact forms that you want to mention?

    [00:52:57] Robert Rowley: Sure. A great way to follow me online nowadays is Mastodon. There’s been this wonderful guy who created a wpbuilds.social Mastodon account. I’m on that as well as rawrly, r a w r l y. I am apologizing for such a weird name, but that’s also my wordpress.org username.

    So if you follow me there, you can see what I’ve done on wordpress.org and you can find me on the wpbuilds.social Mastodon account. You can also, if you want to keep up to date and you don’t need to talk with me, but you just want to hear more about security topics and information, you can go to the Patchstack blog. I write articles there on occasion.

    And every week I do a Patchstack Weekly, I think it’s episode 53 right now. And for the beginning of this year, all I’m going to be talking about a security hygiene best practices. All those things that you maybe should be doing about once a year. That’s my New Year’s resolution, to get a handful of these things shared with the public so that they can take, especially the WordPress public, this community can take security more seriously. Just knowing what to do is really what most people need. So again, Patchstack.com, or wpbuilds.social.

    [00:53:59] Nathan Wrigley: Robert Rowley, thank you for chatting to us today on the podcast. I really appreciate it.

    [00:54:03] Robert Rowley: Thank you.

    On the podcast today we have Robert Rowley.

    Robert is Patchstack’s security advocate, where his time is spent interacting with open source communities to share the word about security best practices. Given his background, the podcast today is all about internet security.

    We start off with a topic which is very much in the news at the moment, the LastPass security breach.

    If you’re a LastPass user, then you’ll know what their service is, but if you’re not, here’s a quick introduction. LastPass is a password manager. It will lock up your passwords, and any other data for that matter, in a secure vault, which can only be read if you decrypt it with the correct password.

    Towards the end of 2022, LastPass announced in a series of blog posts that customer vaults had been taken from their cloud storage. The way that this was communicated left many of their customers questioning their use of the service, and whether they now could trust LastPass with their data.

    Robert explains how the incident occurred, and if you should be concerned. The answer is, as you might expect, it depends. There are situations in which the settings that you had in your LastPass account might mean that you need to act sooner rather than later. The length and complexity of your master password is also a key factor.

    This then leads to a conversation about the broader issue of website security and the security of WordPress websites in particular.

    What are some considerations that you need to think about when protecting your website and how can you communicate these considerations to your clients?

    Towards the end of the podcast, we chat about a project that Robert’s been involved in during 2022. He’s been patching plugins which are no longer being maintained, but are still being used, so that they present less of a security threat to their users.

    If you’re curious about website security, then this is a podcast for you.

    Useful links.

    Patchstack

    Hashcat

    LastPass

    1Password

    Bitwarden

    Dashlane

    KeePass

    KeePassXC

    FIDO Alliance

    Yubikey

    Google Authenticator

    Authy

    Last Patch

    Patchstanck blog

    Robert’s Mastodon account

    Robert’s WordPress.org account

    Patchstack Weekly podcast

  • VaultPress Backup: Your Agency’s Superhero Against Website Crashes

    If you build WordPress sites, you know the importance of keeping them up and running smoothly. But let’s face it, even the best-laid plans can go awry. That’s why having a reliable backup system in place is crucial — and that’s where Jetpack VaultPress Backup comes in. This powerful plugin is the ultimate solution for your client’s websites, providing peace of mind for everyone.

    Picture this: you’ve just finished building a stunning website for your client, and everything is going great. But then, a hacker strikes out of nowhere, and the site goes down. With traditional website backups, it could take all day to restore the site to its previous state. 

    You’ll have to work to find an uncompromised version that you can restore, which sometimes involves digging through files or working with the host’s support chat. Then, you’ll need to use a tool like FTP and phpMyAdmin to restore both the database and files. And if you don’t have an uncompromised backup on hand, then there’s even more work involved to get the site to its most recent version.

    But with VaultPress Backup, you can restore the site in minutes, even if it’s completely down and you’re not near a computer. With real-time backups, everything that happens on the site is saved, and you can reference the activity log to determine the exact point to which you want to restore. This enables you to protect the site’s assets, even if you recently made changes or a client is constantly adding new posts. 

    The benefits of VaultPress Backup don’t stop there. As an agency, you know that time is money. And with traditional website backups, you could be wasting a lot of both. Hosting providers often charge extra for backups, and backing up and then restoring a site can be a time-consuming process.

    With VaultPress Backup, you get top-of-the-line backup services at a fraction of the cost, and one-click restores mean you can get your client’s website back up and running in no time.

    And it’s not just your agency that benefits from Jetpack VaultPress Backup. Your clients will love the peace of mind that comes with knowing their website is protected and that their critical data — like orders from a WooCommerce website — is safe and sound.

    Frequently asked questions

    Now, let’s answer some FAQs about website backups and how Jetpack VaultPress Backup stacks up against traditional hosting provider backups.

    What is a website backup?

    A website backup is a copy of all the files and data on a website, including the database. This can be used to restore the website if something goes wrong, such as a hack or a coding error.

    What does a typical hosting provider back up, and how often?

    Many hosting providers only back up a website once a week or less frequently. Some only back up certain parts of a website, such as the database. This can mean that if something goes wrong, you’re unable to restore the site in full.

    What does VaultPress Backup back up, and how often?

    VaultPress Backup creates full copies of a website, including the database and all files, in real-time, so you always have the most recent version of the site. This means that every new comment, post, order, or other important change is secured safely as soon as it happens. 

    What amount of control do you have over host backups vs. backups from VaultPress Backup?

    With a traditional hosting provider backup, you often have limited control over when and how backups are created and restored. But with Jetpack VaultPress Backup, every change is saved in real-time, and you can choose which elements of the site you want to restore.

    What are the chances of lost or corrupted data for each type of backup?

    The chances of lost or corrupted data can be higher with traditional hosting provider backups, as they may not be created as often and may not include all parts of the website. With VaultPress Backup, real-time backups minimize the risk of lost or corrupted data. VaultPress Backup stores copies of your backups in the cloud, too, which means you’ll never lose any site or store data.

    Jetpack VaultPress Backup is built and maintained by Automattic, the people behind WordPress.com, so it’s designed with WordPress sites as the sole focus. With this level of expertise, you can rest assured that it’s a stable, reliable solution for every site.

    How long does a hosting provider usually keep backups vs. VaultPress Backup?

    It depends on the hosting provider, but many only keep backups for a few weeks or even less. Jetpack VaultPress Backup retains a history only limited by the generous amount of storage included with your plan.

    Become a partner agency today

    Jetpack VaultPress Backup is a must-have for any WordPress developer. The plugin provides top-notch backup services and peace of mind for you and your clients. And most importantly, it saves your agency time and money.

    The real-time backups and one-click restores make it a step above traditional hosting provider backups. And with available security scans, spam filtering, and malware protection provided by Jetpack’s suite of tools, Jetpack can become your all-in-one solution for website management.

    Don’t wait any longer! Install VaultPress Backup on your client’s websites and experience the benefits for yourself. And when your client’s site goes down, you’ll be the hero who saved the day, just like Batman saving Gotham. VaultPress Backup is your trusty sidekick in the fight against website crashes and data loss. Protect your client’s websites, your agency’s reputation, and your peace of mind by using VaultPress Backup.

    To get started today, join our Agency Program and unlock up to 60% off all our products: https://jetpack.com/for/agencies/

  • Fake plugin wave affecting WordPress sites

    Recently our colleague Joshua Goode escalated to the Security Research team an investigation he was performing on several websites that presented the same indicators of compromise. There were small variations in what the final payload was, but the attack timeline was always the same.

    Attack timeline

    As Joshua initially pointed out and subsequently confirmed by me, the chain starts with the installation of the core-stab plugin, followed by other additional items. The following timeline depicts one of the many compromised sites we reviewed:

    •  Jan 10, 2023 @ 17:29:49.587 UTC â€“ Core stab plugin upload – /wp-admin/update.php?action=upload-plugin
    • Jan 10, 2023 @ 17:29:52.270 – /wp-content/plugins/core-stab/index.php
    • Jan 11, 2023 @ 02:12:50.773 – /wp-admin/theme-install.php?tab=upload
    • Jan 11, 2023 @ 02:12:57.862 – Classic theme upload –  /wp-content/themes/classic/inc/index.php
    • Jan 11, 2023 @ 03:37:58.870 – Another core-stab install
    • Jan 11, 2023 @ 04:15:06.014 – Installation of a new plugin, task-controller, /wp-content/plugins/task-controller/index.php
    • Jan 11, 2023 @ 08:23:26.519 – Installation of WP File Manager (Unsure if by attacker but this plugin is typical with a lot of malware)

    The most common “coincidence” is that all users involved in this attack had their emails listed on at least one public password leak since 2019, which only corroborates the overall findings: the attacker(s) used compromised or leaked accounts to install the malware.

    You can find more details on how the core-stab malware works, as well as detailed detection and blocking information for WP security experts, via WPScan (TODO: link that last bit to the WPScan post).

    Testing and validating our Proof-of-Concept for the malicious code.

    What to do if my site was infected?

    If you find the core-stab plugin installed on your site, the first thing you should do is remove it and then follow these next steps:

    • Change all admin user’s passwords and make sure you’re using multi-factor authentication.
    • Review all WordPress users and remove the ones you don’t recognize (especially the admin ones).
    • Review for unused or unknown themes and plugins and remove anything unnecessary or unknown.
    • Reinstall all your plugins since they may have been compromised.
    • Review your theme for added or changed files that weren’t added or changed with your consent.
    • Reinstall WordPress core files.

    Finally, at Jetpack, we work hard to make sure your websites are protected from these types of vulnerabilities. We recommend that you have a security plan for your site that includes malicious file scanning and backups. The Jetpack Security bundle is one great WordPress security option to ensure your site and visitors are safe. This product includes real-time malware scanning, site backups, comment and form spam protection from Akismet, brute force attack protection, and more.

  • How to Access and Edit the Default WordPress .htaccess File

    Every WordPress installation has a selection of “core” files. These are the files behind critical functionality, and one of them is .htaccess. It includes configuration options for your web server. In other words, it’s extremely important.

    If you know how to find and edit .htaccess, you can change your site’s permalink structure, set up redirects, increase security for the dashboard, and make many more tweaks. You don’t even need to know how to code if you follow instructions carefully.

    In this article, we’ll talk about the .htaccess file and how it works. We’ll show you how to locate, access, and edit the file. Finally, we’ll wrap up with some frequently asked questions.

    What is an .htaccess file?

    .htaccess or Hypertext Access files aren’t unique to WordPress. Every Apache web server has an .htaccess file that contains configuration settings for the server. In the case of WordPress, the file also includes instructions for your website’s permalink structure. 

    Here’s how the file looks by default on most websites:

    sample .htaccess file

    We say “most websites” because some hosts customize their clients’ .htaccess files to include additional functionality. Still, the file is always located in the WordPress root directory.

    If you have access to the server, you can locate and edit .htaccess to make critical changes to your site’s functionality. Some of the changes you can implement include:

    • Adding redirects. Implement redirects at the server level.
    • Changing the permalink structure. When you change your website’s permalink structure, these changes are reflected in .htaccess. You can use the file to manually change the URL structure instead of doing so in the WordPress admin panel.
    • Preventing resource hotlinking. If you don’t want other websites to use images or other elements from your website, you can disable hotlinking by modifying the .htaccess file.
    • Configuring access to the website. .htaccess enables you to password-protect directories, whitelist IP addresses for access to the dashboard, and more.

    It’s important to understand that .htaccess is an incredibly delicate file. Since it lets you configure server-level rules, changing the file can break your website if you’re not careful.

    You don’t need to know a specific programming language to edit .htaccess, although PHP knowledge can help. If you follow instructions and copy the necessary code snippets, you can easily modify the file. 

    If you’re not comfortable using code, several plugins can edit .htaccess for you. Most security and redirect plugins work by editing the file without you having to open it. Depending on the changes you want to make, you may be able to use a plugin to edit .htaccess.

    Where is the .htaccess file located in WordPress?

    The .htaccess file is located in the WordPress root directory. This directory contains all of your WordPress core files (like wp-config.php), as well as everything that you upload to your website.

    You can’t access the root directory from the WordPress dashboard. To get access to .htaccess and other similar core files, you’ll need to connect to your server via File Transfer Protocol (FTP) or your hosting control panel.

    Since WordPress is open-source software, you can freely edit all the files in any way you want. In the next section, we’ll show you how to make changes to .htaccess safely (and the same advice applies to all other WordPress core files).

    How to edit your WordPress .htaccess file (3 methods)

    Editing the WordPress .htaccess file requires access to the root directory. But before making any changes, we highly recommend downloading a backup of your .htaccess file. Since .htaccess deals with server configuration settings, any errors in the file’s code can render your website inaccessible. If that happens, you’ll need to restore a previous version of .htaccess, remove the incorrect code, or create a new .htaccess file to reaccess your site. With that in mind, it’s best to play it safe and have a recent backup available.

    Thankfully, backing up the .htaccess file is a pretty simple process. Start by accessing your server’s files via either your host’s file manager or file transfer protocol (FTP) software like FileZilla. Navigate to your website’s root folder, typically called public_html, www, or your website name. Here, you’ll find the .htaccess file.

    If you don’t see that file, you may need to turn on a setting that enables you to view hidden files. This will depend on your host or FTP software. If you’re using cPanel, click the Settings button at the top right, followed by Show Hidden Files (dotfiles) and Save.

    choosing to show hidden files

    With FileZilla, you’ll need to toggle this setting before you connect to your server. All you have to do is go to Server → Force showing hidden files.

    choosing to show hidden files in FileZilla

    Once you’ve found the .htaccess file, download it to your computer and rename it to something you’ll remember, like .htaccess_before-changes. Then, if you do need to revert any changes that you’ve made, you can simply copy the code from this file and paste it into the live version on your server.

    1. Using an FTP client

    The best way to access the .htaccess file is with an FTP client. FTP clients tend to be easier to navigate than file managers in hosting control panels, and they provide more control for interacting with your site’s directories and files.

    It’s up to you which FTP client you use. But you might consider the open-source FileZilla option if you haven’t used FTP before. 

    To connect to WordPress, you’ll need your site’s FTP credentials. You should have received these when signing up for a hosting plan. If not, you can find them in your hosting control panel.

    Once you have the right credentials, connect to your website via FTP. Navigate to the folder that says www, public_html, public, or your site’s name. Those are the most common names for the WordPress root directory. 

    Open the directory, and you should see a collection of files and folders that looks like this:

    list of website files on a WordPress site

    The file we’re looking for, .htaccess, is located in this top-level directory. Once you find it, right-click on the file and select View/Edit (the name of this option may change depending on which FTP client you use). This will open the file using your default text editor.

    Again, before taking this step, make sure you download the file to a safe location so you can restore the code if you make a mistake.

    example of the default .htaccess file

    Any changes that you make to this file need to come before the “# END WordPress” line. To keep things organized, we recommend adding new snippets of code with a line of separation from others. 

    If possible, also add comments like this to identify what each snippet does:

    # This is a comment

    That way, if you return to the file to remove part of its code, you’ll know precisely what each snippet does. When you’re ready, save the changes to the file and close it.

    The FTP client will ask if you want to update the file on the server. Choose the option that says Yes, and that’s it. The changes that you made to .htaccess should be live now.

    2. Using your cPanel

    Editing a WordPress .htaccess file using cPanel is relatively simple since the software includes file manager functionality. But keep in mind the text editor included with the file manager is very bare bones. We recommend using an FTP client instead if you can. 

    If you prefer using cPanel, login to the hosting control panel and look for the File Manager option under the Files section.

    tools in cpanel

    On the next screen, look for a directory called www, public_html, public, or your website’s name. That is your WordPress root directory, and it contains the .htaccess file.

    Right-click on .htaccess and select the Edit option. This will open the file manager’s text editor and enable you to make changes to the file. Again, make sure you have a current version of your .htaccess file on hand that you can restore if needed.

    editing the .htaccess file in file manager

    We included instructions on how to edit .htaccess safely in the previous section. Make sure to review those instructions before adding code to the file to prevent any problems with your server.

    3. Using a WordPress plugin

    If you don’t want to use an FTP client or cPanel to access the .htaccess file, some plugins provide this functionality from the WordPress dashboard. One example is Htaccess File Editor by WebFactory.

    image of Htaccess File Editor in the WordPress repository

    This plugin adds a new WP Htaccess Editor tab to the dashboard. From here, you can use a basic text editor that works only with .htaccess.

    editing the .htaccess file with a plugin

    The advantage of using a plugin to edit .htaccess over a regular text editor is that you may get access to functionality like testing the file before saving. You might also be able to restore backups in case of an error. 

    Other plugins that let you edit .htaccess include Redirection and Htaccess File Editor. In most cases, we recommend using FTP over plugins. But a plugin might do the trick if you only plan on making minor changes to .htaccess.

    How to create a new WordPress .htaccess file

    Creating a new WordPress .htaccess file is relatively simple. Sometimes, you won’t see the .htaccess file if you go to the root folder of your WordPress website. This can happen because WordPress hasn’t generated the file yet.

    Sometimes, WordPress doesn’t generate an .htaccess file until you make changes to your site’s default permalink structure. To do this, go to Settings → Permalinks. The default permalink structure for WordPress is set to Plain. But you might want to change that structure to another, more user-friendly option, like Post name or Month and name.

    updating WordPress permalinks

    When you change the permalink structure from Plain, WordPress will generate a new .htaccess file. It will contain the instructions for the new structure that you choose.

    After saving the changes to your site’s permalink structure, return to the WordPress root folder. There should be a brand new .htaccess file inside, ready for you to start editing it.

    How to replace your current .htaccess file with a new one

    If you want to restore the .htaccess file to its original contents, you can either delete all custom code or replace it altogether. In many cases, replacing the file is the easier option. That applies particularly if you run into an error and are unsure which part of the code is causing it.

    Before moving forward, download a copy of your existing .htaccess file, just in case.

    First, you’ll need to make a new copy of a default .htaccess file. To do so, create a new file called .htaccess on your computer (including the period). 

    Then, open the new file using a text editor and paste the following code within:

    # BEGIN WordPress
    
    RewriteEngine On
    
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
    RewriteBase /
    
    RewriteRule ^index\.php$ - [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule . /index.php [L]
    
    # END WordPress

    That is the default code for the .htaccess file, and it should work with every website. The only exception is if you’re using a Multisite installation. In that case, the default .htaccess file should look like this, with a subdirectory setup:

    # BEGIN WordPress Multisite
    
    # Using subfolder network type: https://wordpress.org/support/article/htaccess/#multisite
    
    RewriteEngine On
    
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
    RewriteBase /
    
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    
    RewriteCond %{REQUEST_FILENAME} -d
    
    RewriteRule ^ - [L]
    
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    
    RewriteRule . index.php [L]
    
    # END WordPress Multisite

    Alternatively, if you’re using a subdomain setup for Multisite, the code will look like this:

    # BEGIN WordPress Multisite
    
    # Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite
    
    RewriteEngine On
    
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
    RewriteBase /
    
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    
    RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    
    RewriteCond %{REQUEST_FILENAME} -d
    
    RewriteRule ^ - [L]
    
    RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
    
    RewriteRule ^(.*\.php)$ $1 [L]
    
    RewriteRule . index.php [L]
    
    # END WordPress Multisite

    In any case, save the new .htaccess file and upload it to the WordPress root directory. You can follow our earlier instructions on accessing the directory using FTP or cPanel. Once you’re inside, delete the existing .htaccess file and upload the new one, or simply upload and overwrite it. 

    Five examples of rules you can add to your .htaccess file

    There are several ways to edit the .htaccess file and add new functionality to WordPress. Each code snippet is known as a “rule” because it tells the server what to do.

    In this section, we’ll introduce you to several rules you can implement in the WordPress .htaccess file and explain what they do!

    1. Redirect all traffic via HTTPS

    Once you add a Secure Sockets Layer (SSL) certificate to WordPress, you’ll want to configure the website to load over HTTPS. There are several plugins you can use to implement this change, but you can also do so by adding a new rule to the .htaccess file:

    RewriteEngine On
    
    RewriteCond %{HTTPS} off
    
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    This rule implements 301 redirects that will process every HTTP request over HTTPS. If you see security errors in the browser after implementing this rule, there might be an issue with your site’s SSL certificate.

    2. Add a password to a directory

    .htaccess enables you to password-protect specific parts of your website. The password prompt doesn’t appear as a login screen, but as a pop-up window directly through the browser. The server will block your access to the page if you don’t enter the correct password.

    In this example, we’re using code to password-protect the WordPress admin dashboard:

    <Files /wp-admin>
    
    AuthName "Prompt"
    
    AuthType Basic
    
    AuthUserFile /wp-admin
    
    Require valid-user
    
    </Files>

    You can change which page you want to add a password to by editing the part of the snippet that comes after the “/”. For example, you can add a password prompt to /wp-login.php to protect the login page further.

    Note: Requiring a password to access the homepage will break Jetpack’s connection. So, if you’re using any of Jetpack’s tools, you won’t want to implement this rule.

    3. Disable access to specific files

    On top of disabling access to parts of your website, you can block every user from being able to access specific files. This rule can come in handy for core files, since you don’t want anyone else to be able to download or edit them.

    For this rule, we’re using code that tells the server if a visitor tries to access a file that matches one of the names you specify, it should block that connection:

    <FilesMatch "^.*(error_log|wp-config\.php|\.[hH][tT][aApP].*)$">
    
    Order deny,allow
    
    Deny from all
    
    </FilesMatch>

    You can add more files to that list by separating them with a “|”. Keep in mind that there should be one final “|” symbol right before the slash in the first line within the rule.

    4. Blocklist an IP address

    One of the most useful functions in .htaccess is the ability to blocklist specific IP addresses. If you include an IP address using a blocklist rule, it won’t be able to access any of your site’s pages. Here’s what that rule looks like:

    order allow,deny
    
    deny from 192.168.1.1
    
    allow from

    That example uses the localhost IP, but you can replace it with any other address. To include multiple addresses, separate them using a comma.

    Note that blocklisting an IP means the user with that address won’t be able to load any of your site’s pages at all. They won’t see 404 errors or be redirected to login pages. Instead, they’ll get “access denied” errors.

    It’s also important to understand that blocking or allowing IP addresses in your .htaccess will not supersede any IP blocking or allowing that is done at the server level, or via a security plugin or service. That is why it is important to ensure that our IP addresses are allowed at the server level and in any security plugins you may use.

    5. Add a redirect

    You can use the .htaccess file to implement multiple types of redirects. Earlier, we showed you how to use redirects to force WordPress to load over HTTPS. But you can also implement more straightforward rules to redirect a single page to a second address. 

    Here’s how a basic 301 redirect looks in .htaccess:

    Redirect 301 /page.html 
    
    http://www.yoursite.com/page2.html

    The file also supports more complex redirects, like redirecting an entire website to a new URL. Here’s what that rule would look like in action:

    Options +FollowSymLinks
    
    RewriteEngine on
    
    RewriteRule (.*) http://www.newsite.com/$1 [R=301,L]

    This rule can be useful if you want to stop working on a website and redirect all of its traffic to a different property. 

    Keep in mind that 301 redirects are “permanent.” That means that search engines interpret them as “This page has moved permanently to a new address” and pass along some of its link equity.

    Frequently asked questions about the .htaccess file

    If you still have questions about the WordPress .htaccess file, this section will answer them. Let’s start by talking about what you can do with this file!

    What can you do with your .htaccess file on WordPress?

    The .htaccess file on WordPress is highly versatile. You can use it to implement redirects, update your site’s permalink structure, whitelist IP addresses, password-protect directories, force your site to load over HTTPS, and more.

    These changes require you to either use plugins or add code to the .htaccess file. You can do this even if you’re unfamiliar with coding since the snippets can be found online, including in this article!

    What if you can’t find your WordPress .htaccess file?

    You may not be able to find the .htaccess file in the WordPress root directory if it hasn’t been created yet. In some cases, WordPress doesn’t generate the file unless you change your website’s permalink structure from Plain to another option. Earlier in this article, we explain how to do this. 

    Do .htaccess changes take effect immediately?

    Any changes that you make to .htaccess should take place immediately. You don’t need to restart the server for changes to take effect.

    If you edit the file and you don’t see the changes reflected immediately, there might be an issue with your web host. In some cases, hosting providers might not provide the necessary permissions for your .htaccess file to override the server’s configuration. This is particularly common in shared hosting plans.

    Should I use a plugin to edit .htaccess?

    Many plugins can edit .htaccess, but some of these tools don’t give you access to the file itself. For example, if you use a redirect plugin, it likely implements redirects via .htaccess, but it doesn’t show you the changes in the file.

    Some tools enable you to edit .htaccess from the dashboard. But these plugins often offer limited editor functionality, making it harder to implement changes. Whenever possible, we recommend using FTP so you can use your favorite text editor to interact with .htaccess.

    Can your WordPress site’s .htaccess file be hacked?

    If attackers can gain access to your server, they can also access the .htaccess file and use it to break parts of your site, implement malicious redirects, and even lock you out of the website altogether.

    Backing up your website regularly is vital to protect user data and avoid downtime from attacks. With Jetpack Security, you can access real-time automatic backups and malware protection.

    Jetpack also adds a firewall to your website. This feature helps further prevent other attacks, like DDoS events or attempts to brute force the WordPress login page.

    How do I edit the .htaccess file in Nginx?

    .htaccess files are unique to Apache servers. They’re still very common because Apache is one of the most popular server software options on the market. But it’s not the only one.

    Many popular WordPress web hosts use Nginx since it offers several advantages over Apache. But Nginx servers don’t have .htaccess files. That means you may be unable to implement several of the customizations discussed in this article, or the process might be entirely different.

    What is an example of a default WordPress .htaccess file?

    By default, the .htaccess file should look the same on most WordPress websites. Here’s the code the file should contain if you’ve made no changes to it:

    # BEGIN WordPress
    
    RewriteEngine On
    
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
    RewriteBase /
    
    RewriteRule ^index\.php$ - [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule . /index.php [L]
    
    # END WordPress

    You can use this code to restore the .htaccess file to its original settings in case of any errors while customizing it. We include instructions on how to replace the file in one of the previous sections of this article.

    Change the WordPress .htaccess file

    Knowing how to access and edit the WordPress .htaccess file can help you change key functionality on your website and keep it safe. You can use this file for anything from implementing redirects to password-protecting directories if you know how to edit it.

    Since you’re dealing with a WordPress core file, we always recommend creating a backup ahead of time. Once you start working on the file, you can use the code snippets from this article to implement new features.

    Editing your .htaccess file is just one way to secure your WordPress website. Jetpack Scan constantly monitors your site for threats, notifies you about any problems, and helps you resolve any issues. Check out Jetpack Scan today!

  • How to Recover and Restore Your WordPress Site after a Crash

    WordPress is an excellent platform for your website. But that doesn’t mean that it’s invincible. If you’re working on your site and encounter a sudden glitch, freeze, or crash, it’s easy to enter panic mode.

    Fortunately, there are ways to recover and restore your WordPress site after a crash. Whether you installed a poorly-coded plugin or accidentally deleted a file, you can get your site up and running again by following the right steps.

    In this post, we’ll take a closer look at WordPress website crashes and some common causes. Then, we’ll guide you through five steps to recover and restore your site after a crash. Let’s get started!

    Does WordPress crash?

    WordPress, like any Content Management System (CMS), isn’t infallible. But, since it’s built through volunteer contributions by the world’s top developers and continuously peer-checked and improved upon, it’s truly a stable platform. Most issues arise from human error on an individual site level. 

    So, a WordPress site can crash, and one of the main causes is running outdated software, whether it’s WordPress core, plugins, or themes. Outdated software poses a risk to your site since known vulnerabilities are easily exploited. Therefore, your site may be less resistant to viruses, malware, and online attacks. And when things like plugins or themes are outdated, they can conflict with one another and cause errors and outages.

    Does WordPress have a crash log?

    When WordPress site crashes occur, you can use an error log to identify and resolve the issue as quickly as possible. To view PHP errors on your website, all you have to do is enable the WP_DEBUG function. 

    The easiest way to enable WordPress debugging is with a handy plugin like Query Monitor.

    Query Monitor installed on a WordPress website

    Query Monitor adds a developer tool panel to your WordPress admin area. Using this plugin, you can debug various parts of WordPress, including database queries, PHP errors, and CSS.

    Alternatively, you can always enable debug mode manually. If you prefer this option, it requires access to your site’s File Manager or a connection through Secure File Transfer Protocol (SFTP). 

    Locate your root folder (usually labeled public_html) and open your wp-config.php file.

    wp-config.php file highlighted inside of a file manager

    At this point, look for the line that reads: “That’s all, stop editing! Happy publishing”. Then, insert this line of code above it: 

    define ( ‘WP_DEBUG’, true );

    If there are errors on your site, a debug.log file will appear within your wp-content folder. You can download it to your computer to view the entire log and identify the errors. 

    Seven common causes of WordPress site crashes

    Now that you know a bit more about WordPress crashes, let’s look at some of the leading causes.

    1. Installing or updating a plugin or theme

    WordPress plugins extend the functionality of your site, but poorly-coded plugins can create errors. Not just that, but even a high-quality plugin can cause problems if it isn’t compatible with your version of WordPress or other software on your site.

    If your site crashed, think about whether you’ve recently installed a new plugin, updated an existing tool, or changed your theme. 

    In the future, it’s important to only choose reputable plugins and themes, like the ones in the WordPress plugin directory.

    WordPress plugin directory search box

    Alternatively, you could choose premium plugins and themes from trusted third-party marketplaces. Make sure that it has a number of positive customer reviews to verify that the plugin or theme is well-coded and functional.

    You’ll also want to pay attention to how frequently the tool is updated, whether the software is compatible with the latest WordPress version, and the level of support from the developer.

    2. Expired domain names

    If an expired domain causes your WordPress site to crash, the good news is that it’s one of the easier problems to resolve. Your domain name is the website address that visitors enter to find your site. It’s a crucial branding element that helps you establish a strong online identity.

    But once you’ve secured a unique domain name, it will typically only last for one year. Since you’re simply “renting” a domain for a set period, you’ll need to renew it before it expires.

    If you’ve forgotten to renew your domain name, you should contact the company you used to register your domain and see if it’s still possible to get it back. If you can get the domain back, then check that your contact and payment details are correct. Also, you might want to enable auto-renew so that you don’t have to worry about this happening again. 

    3. Server issues

    Some server errors can cause problems on your site. For instance, the HTTP 500 Internal Server Error and the Timed-Out Error are both caused by a slow or overwhelmed server. 

    The leading causes of WordPress server errors include browser caching problems, database server problems (like slow connection times), and corrupt databases (perhaps containing malicious files). 

    Typically, you can only resolve these issues by changing the server configuration. You can contact your hosting provider to sort this out for you.

    You can give your website a better chance of avoiding these issues by opting for a quality WordPress host. It’s a good idea to prioritize hosts that offer at least 99.99 percent uptime. You’ll also benefit from choosing a provider that offers plenty of extra security measures like Web Application Firewalls (WAFs) and automated updates. 

    Note: Some WAFs will block our IPs, which breaks the Jetpack connection. If you’re using any of the Jetpack plugins, be sure to ask your hosting provider to allow our IP addresses to access your site’s xmlrpc.php file. This will ensure your site has a continuous connection to WordPress.com.

    4. Updating the WordPress core software

    As we discussed earlier, it’s important to keep plugins and themes up-to-date. But it’s also essential to update your WordPress core software. This way, you can prevent compatibility issues resulting in WordPress crashes.

    What’s more, WordPress updates often contain security fixes for bugs found in the previous release. So, there’s less chance of hackers being able to exploit these known vulnerabilities on your site. 

    If you’re unsure which version of WordPress you’re running, head to Dashboard → Updates.

    WordPress updates available in the dashboard

    Here, you can confirm your version of WordPress, enable auto-updates, and upgrade your plugins and themes. When a new version of WordPress is available, you’ll receive an update message in your dashboard. 

    It’s also essential to back up your site before running an update in case anything goes wrong. Later, we’ll explain how you can do this with Jetpack VaultPress Backup!

    5. Editing the WordPress code

    Even when experts carry out routine website maintenance, human error can result in the accidental deletion of files and folders. Therefore, it’s possible to crash your site when adding or editing code in WordPress

    The best solution is to make sure that you regularly back up your website. That way, if anything goes wrong, it’s easy to restore your site to its original state. 

    One of the quickest ways to do this is with a plugin like Jetpack VaultPress Backup.

    Jetpack VaultPress Backup homepage with the text "The best real-time WordPress backup plugin."

    For extra peace of mind, Jetpack stores your backups on a different server from your website — using the industry-leading, secure infrastructure of WordPress.com. This means that if you’ve made a mistake on your server, your backups won’t be compromised. And you can restore them even if your website is completely down. 

    6. WordPress hacks

    While the previous causes are pretty harmless, WordPress can also crash if your site gets hacked or compromised.  

    Distributed Denial of Service (DDoS) is one of the most common types of online attacks. This occurs when hackers use multiple machines to overwhelm your server with millions of fake requests. 

    Additionally, you might face brute force attacks that target the WordPress login page. These attacks are when hackers try thousands of username/password combinations to try to break into your website. Eventually, attackers can gain unauthorized access to your account and take over your entire site.

    You’ll know if your website has been hacked because it may become slow, unresponsive, or inaccessible to users. Visitors may also be redirected to malicious sites. Sometimes, you can find these redirects placed in the footer of your pages. 

    Furthermore, an obvious sign that WordPress has been hacked is Google blocklisting your site. Search engines do this to prevent visitors from reaching your pages and becoming infected themselves. 

    You can use a tool like Safe Browsing Status to confirm this.

    Google's Safe Browsing tool with a site status search bar

    To prevent future WordPress hacks, consider upgrading to the Jetpack Security bundle on your site. The bundle includes malware scanning, spam protection, and regular backups. Additionally, you can strengthen your login credentials by using strong passwords and implementing two-factor authentication

    7. Updating your site’s PHP version

    PHP is an open-source scripting language that WordPress is built on. Like any other software on your site, updating PHP is vital since newer versions are better prepared to deal with security threats. 

    If you’re not sure which version of PHP you’re running, navigate to Tools → Site Health.

    Site Health page inside of the WordPress dashboard

    Switch to the Info tab. Then, scroll down to open the Server tab.

    server information inside of WordPress site health

    You’ll find your server setup information here, including the current PHP version.

    Updating your PHP is generally a safe process. But, if you have outdated code (like themes and plugins), you could crash your site. Therefore, it’s essential to check that all plugins and themes are compatible with the version of PHP you intend to use. 

    You can usually find this information by visiting the dedicated plugin/theme page and looking under PHP Version.

    information about a plugin, including the compatible PHP version

    Then, you can update your PHP version through your hosting account. The process will differ depending on your web host. 

    How to recover and restore your WordPress site after a crash (in 5 steps)

    Now that you know why your WordPress site can crash, let’s discuss what to do if you find yourself in this situation!

    Step 1: Restore a backup of your site

    The best and easiest way to restore a backup of your WordPress site is to use the Jetpack VaultPress Backup plugin. There are a couple of ways you can do this.

    Note: You’ll need to add server credentials to your Jetpack settings before you begin these steps.

    The first method is to restore your site to a specific event. Start by opening your activity log, which keeps track of all the actions that take place on your site. There, you can either scroll down to a specific event or filter by date range or type of activity.

    selecting a date range in the activity log

    This can be particularly helpful if you know what may have caused the crash, like a recent plugin update or code edit. Click the Actions button next to the event, then choose Restore to this point.

    green button with text "restore to this point"

    A window will appear asking what elements you want to restore. In most cases, you’ll want to leave all of them selected. Then, click Confirm restore.

    options for site elements to restore

    The restore process will start automatically. You can keep track of it using the progress bar that appears, but you’ll also receive an email when it’s done.

    The second method is to restore to a specific day. To do this, navigate to https://cloud.jetpack.com and click Backups. You’ll immediately see the most recent backup of your site, but you can also use the arrows to scroll through other options. You can also choose Select Date to find a specific day.

    scrolling through available backup dates

    Once you’ve chosen a day and time, click Restore to this point. Then, you’ll need to choose what elements you want to restore and wait for the process to finish.

    And that’s it! No messing with server settings, dealing with your database, or editing code. 

    Step 2: Retrace your last steps

    But what if you don’t have a backup on hand that you can restore? At this point, you’ll need to identify the cause of your WordPress crash to get your website back up and running. You may also need to do this if you restored a backup and aren’t exactly sure what caused the problem.  After all, you don’t want your site to just crash again! 

    This can also help you identify the point in time you want to restore your site to. In that case, you may want to take this step before the first one.

    It’s best to start with any recent changes you made and work your way back. For instance, have you installed a new plugin? Have you updated your theme? Did you edit your site’s code? Write down everything you can remember.

    Then, work your way through the list and revert any changes that you can. You might roll back WordPress, your theme, or a specific plugin to a previous version. Or you may replace the file that you edited with a fresh copy. You can do this through File Manager or FTP if you can’t access your WordPress dashboard. We’ll explain how to do this in the next section. 

    But this is where the WordPress Activity Log can be your best friend! There, you can get a list of all the actions that occurred on your site, along with who performed each one and when it occurred. So, if you know that your website went down at 3:05 PM, you can see what happened immediately beforehand. This can also alert you to any nefarious activity taken by an unauthorized user.

    Step 3: Deactivate or delete plugins

    If you think a plugin may have caused your WordPress crash, but aren’t sure which one, it’s best to deactivate all your plugins at once. You can do this from your WordPress dashboard as long as you still have access. 

    Simply head to Plugins → Installed Plugins. Check the box next to “Plugin” to select all of the plugins at once. Then, in the Bulk actions dropdown, choose Deactivate.

    deactivating plugins in WordPress

    If this fixes the problem you’re having with your site, then you know the root cause is a plugin. Reactivate them one by one until you identify the culprit. Now you can delete that plugin, find a replacement, roll back to a previous version, or reach out to the developer for support.

    But if you can’t access your WordPress admin area, you’ll have to revert the changes through the File Manager or by using FTP. No matter which one you choose, navigate to the root folder of your website, typically called public_html.

    Now, go to wp-content → plugins. Rename this folder to whatever you’d like — e.g. plugins.bak — to deactivate all of your plugins at once. Again, if this solves the problem, then you know it was caused by a plugin.

    plugins folder in a cpanel file manager

    Rename the folder to its original state. Then, deactivate each plugin one by one by renaming it until you find the culprit. Again, your next step is to delete the plugin, find a replacement, roll back to a previous version, or reach out to the developer for support.

    Step 4: Switch to a default theme

    It’s possible that a theme update might conflict with WordPress core, or that there was a problem with your theme code in general. You can determine this by switching to a default theme, like Twenty Twenty-Two.

    If you can access your WordPress dashboard, go to Appearance → Themes.

    the themes page inside of WordPress

    Find a default WordPress theme like Twenty Twenty-Two and hit Activate. If this solves the problem, then you may need to roll back your original theme, switch to a new theme, or reach out to the theme developer for help.

    If you can’t log in to your WordPress dashboard, you’ll need to use either your host’s file manager or FTP to access your site files. Again, you’ll need to locate your wp-content folder. 

    Open the themes folder inside of it. Rename the directory for your current, active theme. This will force WordPress to activate a default theme instead. If this fixes your problem, then you can attribute it to your theme!

    Pro tip: You can take care of steps 3 and 4 all at once using the Health Check & Troubleshooting plugin. This tool even enables you to troubleshoot in the backend while your site remains live and visible online! 

    Step 5: Install a fresh version of WordPress

    Since a wrong line of code or a missing file can cause WordPress to crash, uploading fresh WordPress core files can potentially fix the problem. Start by downloading a new WordPress version

    Open up the zip file on your computer and remove the wp-content folder and wp-config.php file. It’s critical that you don’t replace these because they contain settings, plugins, themes, and other valuable data that’s specific to your website. As always, it’s also important that you have a backup on hand before you make major changes.

    Now, connect to your site via FTP and replace the rest of the WordPress files. Once that process is finished, load your site and see if it’s working. If it is, great job! The problem is solved.

    What to do if WordPress keeps crashing

    You should now have a good idea of how to recover your site after a crash. If WordPress keeps crashing, here are some things to consider:

    Ensure regular backups are in place

    An easy-to-use WordPress backup and restoration system is the single best tool you can have on your side if your site’s experiencing issues. While it won’t solve the root cause of crashes (unless the issues can be solved by restoring a clean backup), it will make it easier to keep your site running and troubleshoot issues until there’s a fix. 

    Automated solutions like Jetpack VaultPress Backup are ideal in this situation, because even an experienced, careful developer can make mistakes when taking or restoring backups manually. 

    Some backup plugins offer weekly or daily backups. But if you’re experiencing frequent issues or just have lots of regular activity on your site (comments, sales, new posts, etc.), you’ll want to look for a real-time solution. This is once again where Jetpack VaultPress Backup shines — it saves every change on your site and keeps a detailed WordPress activity log so that you can restore to a specific point in time and never lose your work. 

    Backups are also an essential part of good WordPress site security — they allow you a way to recover from hacks and safeguard your files. But to make the most of this, backups should be stored off-site, on another server than where your site is hosted. This way, if the server is compromised, you can still access your backups and recover a clean version of your site. Jetpack VaultPress Backup stores files on a secure infrastructure used by WordPress.com and WordPress VIP clients. In other words, it’s fast, reliable, and secure. 

    Finally, backups are great, but if you can’t easily restore one, it’s not a complete solution. Make sure you test the restoration process of your chosen backup system. Jetpack VaultPress Backup can restore your site (even if it’s completely down), in just a click or two. 

    Update software in a staging environment

    It’s important to update WordPress core, along with your themes and plugins, whenever new versions are available. These updates often include patches for security issues, and also ensure compatibility with other pieces of software on your site.

    But the best and safest way to do this is using a staging environment. This is essentially a copy of your site that isn’t publicly accessible to your audience. You can test updates, code changes, and more without affecting your live site. Then, you can easily push those changes live when you know they’re safe.

    Some hosting providers, like Bluehost, offer staging as part of their plans. But if your host doesn’t do this, you can always use a plugin like WP Staging

    Restrict user privileges

    Be selective when it comes to granting access to your WordPress site, especially with user roles that allow people to make major changes. For example, Administrators have full permissions, and can do absolutely anything on your site. In general, it’s best to have just one administrator — you! — but if you decide to have more, make sure they’re trusted and experienced.

    After all, if someone has full access to your website, they can use it for nefarious purposes, perform actions you don’t want them to, and even take down the site entirely. 

    So take some time to understand the permissions that come with each type of WordPress user role. Then, only assign the minimum necessary permissions required for each person to do their job. And if they stop working with you, remove their account.

    You can edit user privileges in WordPress by going to Users → All Users.

    editing a user in WordPress

    Here, you can add new users, edit existing users, and change user roles by clicking on each individual account.

    Check your browser and computer

    If your site keeps going down just for you, it’s possible that there’s a problem with your computer or browser. In this case, your first step should be deleting your browser cache. This will ensure that you’re seeing the latest version of your site.

    The instructions for this will depend on the browser you’re using. But let’s take a look at how to do this in Google Chrome.

    In your browser, click on History → Show Full History. Then, choose Clear Browsing Data in the left-hand menu. Check the box next to Cached images and files, and click the Clear data button.

    clearing browser cache in Google Chrome

    If you’re still having problems, you may also need to update the version of your browser you have installed. Again, check with your specific provider for instructions.

    Talk to your hosting provider

    If your site regularly goes down, it’s worth seeking your host’s help. It’s possible that the cause could be a misconfigured server, lack of resources, or outdated software version (like PHP). They can help you identify and solve these types of problems.

    You may need to upgrade your plan if you’re using more resources than are allotted to your site or even switch hosting providers entirely. See our list of recommended WordPress hosts for guidance.

    Use an activity log

    We’ve talked about an activity log a few times throughout this post, and that’s because it’s incredibly helpful when it comes to identifying problems. With a good WordPress activity log, you can see what happens right before your site goes down each time.

    For example, perhaps you have WordPress auto-updates enabled, and your website crashes each time a specific plugin updates. This is a sign that you’ll need to switch plugins, turn off auto-updates for that specific tool, or reach out to its developer.

    Or maybe you start to notice activity that you didn’t authorize. Then, there could have been a security breach on your site that you’ll need to lock down.

    Jetpack’s activity log is the best option for WordPress because it integrates so seamlessly. It shows you all the information you need to know, including each action taken, its date and time, and the user who performed it. It also works with Jetpack VaultPress Backup, so you can restore a backup from right before a certain action took place.

    Recover and restore WordPress after a crash

    When working on your WordPress website, small mistakes can cause a crash. Fortunately, there are plenty of quick ways to recover. By identifying the cause of the issue, you can get your site back up and running in no time.

    To recap, here are five steps to recover and restore your WordPress site after a crash:

    1. Restore a backup of your site using a plugin like Jetpack VaultPress Backup.
    2. Retrace your last steps.
    3. Deactivate plugins. 
    4. Switch to a default theme.
    5. Install a fresh version of WordPress.

    With Jetpack VaultPress Backup, you don’t need to worry about website crashes since it’s easy to restore your site quickly. Better yet, you can back up all your site files, including customer data and database files in real-time. Get started with Jetpack today!

  • 6 Best WordPress Malware Removal Plugins (Paid & Free)

    Your WordPress website is the product of countless hours of hard work, so it’s important to keep it secure. One essential part of your security setup should be a robust and reliable malware scanner. An effective WordPress malware plugin will help you quickly identify any malicious software that makes its way onto your WordPress website, and provide guidance on removing it. 

    But, with lots of different WordPress malware scanner plugins available, it may be a challenge to determine which one is right for you. To help, we’ve reviewed six of the most popular options and set out some key things to consider when deciding on the best WordPress malware scanner for your website. 

    A review of the best malware removal plugins for WordPress

    Jetpack Protect homepage design with the tagline, "Stay one step ahead of security threats"

    1. Jetpack Protect

    Jetpack Protect is an impressive, free WordPress malware scanning plugin that helps you keep your site secure and clean. It enables you to stay one step ahead of security threats by automatically scanning your site against over 37,000 types of malware — and you can activate its powerful protection with just one click! 

    New malware is constantly being developed, but WordPress security experts update Jetpack Protect’s malware database as soon as new information becomes available — defending against the latest attacks and vulnerabilities. Jetpack Protect also alerts you to any security vulnerabilities within your plugins or themes, so you can take steps to secure your site. 

    The plugin will notify you if it finds any malware or other security vulnerabilities within your website, and its powerful technology can scan your entire site, including plugins and themes. If it detects an issue, it will provide straightforward guidance to help you secure your site and remove any malware. Jetpack Protect uses clever decentralized scanning technology, which enables it to scan your site using Jetpack’s servers. This means that its daily scans can detect even the most complex malware without slowing down your site. 

    Jetpack Protect is made by Automattic, the team behind WordPress.com, so it seamlessly integrates with your WordPress site. Automattic is also behind WPScan, allowing Jetpack Protect to scan against the same malware database used by some of the world’s leading brands, making Jetpack Protect one of the best WordPress malware plugins available.

    Key features of Jetpack Protect:

    • Powerful malware scanning against over 37,000 malware types 
    • Automatic scans of your plugins and themes for known vulnerabilities
    • A simple one-click setup
    • Daily scans that help keep your site secure 
    • Regular updates to the malware database by a team of dedicated WordPress security experts
    • Recommended actions if a security issue or malware is identified

    Pros of Jetpack Protect:

    • As the daily malware scans use Jetpack’s servers, Jetpack Protect can scan your site without slowing it down.
    • You can start protecting your site with just one click. It will automatically scan your site daily and notify you of any issues through your dashboard.
    • Jetpack Protect uses the same malware database as WPScan, which is constantly updated by experienced WordPress security experts as soon as new malware or security issues are discovered.

    Cons of Jetpack Protect:

    • While the plugin offers advice on how to resolve any security issues, it doesn’t provide automatic malware removal. However, one-click fixes for most types of known malware, alongside real-time email alerts, are available through an upgrade to Jetpack Scan. You can switch within the plugin for only $9 a month.

    Ease of use:

    It only takes one click to activate Jetpack Protect’s advanced malware scanning. The plugin then protects your site automatically in the background, meaning you don’t have to remember to run scans. There’s detailed documentation available, and if you need support, you can access Jetpack’s team of WordPress Happiness Engineers.

    Pricing:

    Jetpack Protect is available for free from the WordPress plugin directory. 

    Sucuri Security listing in the WordPress repository

    2. Sucuri

    Sucuri is a popular name in website security, and they offer a free WordPress plugin alongside premium services, such as a web application firewall and malware removal. Sucuri’s plugin scans your WordPress site and looks for any changes in the WordPress core files, and it also gives you access to Sucuri’s SiteCheck remote malware scanner.

    Key features of Sucuri:

    • File integrity scanning 
    • Security event logs 
    • Remote malware scanning 
    • Email notifications of any issues 
    • Blocklist monitoring
    • A web application firewall (premium)

    Pros of Sucuri:

    • Sucuri provides an activity log of key events on your site, which you can use to help identify the cause of a hack or malware infection. 
    • Sucuri’s premium plans include unlimited malware removal by a security expert.

    Cons of Sucuri:

    • Sucuri may not be able to spot all malware on your site. This is because the plugin’s malware scanners run remotely, so it can only check for malware in the source code of the public-facing pages on your site. Sucuri says that their WordPress malware scanner isn’t 100% accurate, as malware could be inserted into plugin files or other admin areas and, therefore, wouldn’t show up on your site’s front end.
    • In the free version of the plugin, Sucuri only provides general advice for securing your site after a malware infection. It encourages you to subscribe to its premium services to remove malware. 
    • Sucuri provides security services that can be used on any website, which means its malware scans are not tailored to WordPress. 
    • Sucuri has features that can block Jetpack’s connection to your site. If you use this plugin, be sure to allow our IP addresses access to your site’s xmlrpc.php file.

    Ease of use:

    Sucuri is easy to install and allows you to schedule website scans. Sucuri offers support for the plugin through the plugin’s support forum.

    Pricing:

    The plugin is free of charge. Premium subscriptions start at $199 a year and include a web application firewall and unlimited malware removal. 

    3. MalCare

    MalCare is a WordPress malware scanning and removal plugin developed by a team of WordPress security experts. The plugin includes automatic malware scanning and a web application firewall to help prevent hackers from accessing your site. The premium version of the plugin offers automatic malware removal. 

    Key features of MalCare:

    • A malware scanner, which automatically scans your site daily
    • A WordPress firewall
    • Vulnerability detection
    • Automated malware cleaning (premium)

    Pros of MalCare:

    • MalCare scans your entire site for malware daily. 
    • MalCare temporarily and securely copies your files to its servers to conduct the malware scan, meaning that scans won’t slow down your site. 
    • MalCare’s free version includes a web application firewall, which can help protect your site against hackers and brute force attacks
    • MalCare will alert you by email if a plugin you’ve installed has a known security vulnerability, so you can take action to secure your site. 

    Cons of MalCare:

    • The free version of the plugin only tells you if your site is infected with malware, not where it is. You must upgrade to a premium plan to locate and remove the malware.
    • Malcare can also block Jetpack from making requests to your site’s xmlrpc.php file, which is necessary for Jetpack’s connection to work. Make sure you allow our IP addresses to keep the connection working properly. 

    Ease of use:

    MalCare is easy to install and configure, and its automatic scans mean you don’t need to remember to scan your site. MalCare offers support for all users via email, alongside live chat support for premium users. 

    Pricing:

    MalCare offers a free plugin, which you can download from the WordPress plugin directory. Premium plans, which include malware removal, start at $69 a year. 

    Wordfence homepage design

    4. Wordfence

    Wordfence is a popular WordPress security plugin that includes a malware scanner and a web application firewall that identifies and blocks malicious traffic. The plugin’s WordPress malware scanner automatically scans your whole site, including code injections, malicious redirects and backdoors. The plugin will also check the integrity of your core files, themes, and plugins against the official versions from the WordPress.org repository, then report any changes to you.

    If Wordfence detects malware, it can help you replace any damaged core WordPress files with the official version and delete any files that have been added. Full malware removal is included at some of the higher, premium subscription levels.

    Key features of Wordfence:

    • An automated malware scanner
    • Basic repair and deletion settings for removing simple malware
    • A web application firewall, which helps prevent brute force attacks
    • Two-factor authentication and login protection
    • Access logs and real-time traffic monitoring
    • Manual malware removal by a WordPress expert (premium)

    Pros of Wordfence:

    • Wordfence automatically scans your site and sends you daily emails if it notices any issues. 
    • Alongside malware scanning, Wordfence includes additional features to help keep your WordPress site secure, including a firewall, access logs, and two-factor authentication. 

    Cons of Wordfence:

    • The free version of Wordfence only provides malware database updates every 30 days. Unfortunately, this means that the newest malware might not be detected. 
    • Wordfence conducts its scans on your server, meaning it can have an effect on your site’s performance.
    • The malware removal tools in the free version are limited to deleting and replacing files, which isn’t sufficient to remove more complex malware infections.
    • Wordfence also has features to block access to the xmlrpc.php file. Wordfence uses CIDR notation to allow IP addresses access. You can learn more about how to allow those in our support article.

    Ease of use:

    Wordfence requires configuration to ensure that it fully protects your site. The daily alert emails sent by Wordfence sometimes flag legitimate changes as a concern, which can cause confusion for those unfamiliar with WordPress. Wordfence has comprehensive documentation and a learning center. Free users can access support through the plugin’s support forum while premium subscribers also have access to support via email.

    Pricing:

    Wordfence offers a free plugin that includes malware scanning and a firewall. Wordfence Premium costs $99 a year and includes daily malware database updates. Wordfence Care costs $499 a year, which includes installation and optimization of the plugin as well malware removal by a WordPress security expert. 

    SecuPress listing in the WordPress repository

    5. SecuPress

    SecuPress is a WordPress security plugin that helps you analyze the security of your site. The plugin will give you a security grade and a list of recommended changes to help make your site safer, many of which it can take care of for you. In addition, the plugin’s premium version offers automatic malware scanning with daily malware database updates. 

    Key features of SecuPress:

    • Security audits that identify and automatically fix common security issues
    • Brute force login protection
    • A web application firewall
    • Login protection
    • Protection for your website security keys
    • Malware scanning (premium)

    Pros of SecuPress:

    • It scans 35 different elements that could negatively impact the security of your site, and enables you to fix them in one click.
    • SecuPress offers a wide range of security features in addition to malware scanning.

    Cons of SecuPress:

    • Malware scanning is not available in the free version, which is restricted to scanning for security vulnerabilities only.
    • Automatic security scanning is not available in the free version of the plugin, meaning you must remember to run a scan. 
    • Free security scans are limited to one per week. 
    • SecuPress also blocks the xmlrpc.php file. Be sure to make sure Jetpack’s IP addresses are still allowed to access it, so that the Jetpack connection keeps working.

    Ease of use:

    The plugin is easy to install and set up. However, the security scan must be manually run in the free version of the plugin. Comprehensive documentation is provided, alongside email support for the premium plugin. 

    Pricing:

    A limited, free version of the plugin is available, but to enable malware scanning, you need to use SecuPress Premium, which starts at $69.99 a year. 

    Titan Anti-spam listing in the WP respository

    6. Titan Anti-Spam and Security

    Titan Anti-Spam and Security is a security and malware scanner for WordPress that was created by a team of developers called Creativemotion. The plugin combines malware scanning with anti-spam protection. The free version includes automated malware checking against 1,000 kinds of malware and other security features, including file integrity scanning and brute force login protection. 

    Key features of Titan Anti-Spam and Security:

    • Malware scanning against 1,000 types of malware for free users
    • Malware scanning against 6,000 types of malware for premium users
    • File integrity scanning
    • Anti-spam tools
    • Brute force login prevention
    • Additional security features, including a full firewall and advanced anti-spam tools (premium)

    Pros of Titan Anti-Spam and Security:

    • Titan Anti-Spam and Security combines anti-spam with basic malware scanning. 

    Cons of Titan Anti-spam and Security:

    • The free version of the plugin can’t detect all malware, as it only checks your site against a small library of 1,000 types of malware.
    • The plugin runs its scans on your servers, so your site may slow down when a scan is running.
    • The premium version unlocks malware scanning against 6,000 types of malware, which is still considerably less than some of the other plugins in this list, such as Jetpack Protect. 
    • This tool conflicts with major plugins like Jetpack, which can hamper your ability to maximize site performance in other areas. 

    Ease of use:

    Several steps are required to set up this plugin, and it includes an intuitive wizard that helps you configure the plugin, so it works well on your site. The developer offers a support forum for all users, and email support for premium subscribers. 

    Pricing:

    The free version includes limited malware scanning against just 1,000 types of malware. Premium subscriptions start at $55 a year and unlock additional features, including malware scanning against 6,000 types of malware.

    A comparison of the top malware removal plugins on WordPress

    Jetpack Protect Sucuri MalCare Wordfence SecuPress Titan Anti-spam and Security
    Made specifically for WordPress Yes No Yes Yes Yes Yes
    Number of malware definitions your site is checked against. Over 37,000 Not stated Not stated Over 44,000 Not stated 1,000 in free version. 6,000 in premium version.
    Automated scans Yes Yes — site integrity only Yes Yes No Yes
    Scans full site including admin files Yes No — scans public facing files only Yes Yes Yes Yes
    Can scans impact website performance? No No No Yes Yes Yes
    Frequency of malware definition updates Daily Daily Daily Every 30 days (free version) Daily (pro version) Not stated Not stated
    Malware removal No (Jetpack Scan can remove malware for only $8 a month) Only in premium version. Only in premium version. Basic removal through deletion and re-instating files only.  Additional charge of $99 per removal on all plans.  No
    Any limitations in the free version? No — free version is fully featured. Yes. Only general advice on removing malware is provided.  Yes. Information is not provided on where any malware found is located. Yes. Malware definitions only updated every 30 days.  Yes. Malware scanning only available on premium plans.  Yes. Your site is only checked against a limited number of definitions. 
    Price Free with no limitations. Limited free version. Premium plans start at $199/year. Limited free version. Premium plans start at $69/year. Limited free version. Premium plans start at $99/year. Malware scanning is available on premium plans that start at $69.99/year. Limited free version. Premium plans start at $55/year.

    What’s the best WordPress malware removal plugin?

    The best WordPress malware removal plugin will depend on several factors, including your experience with WordPress and if you need other security features in addition to malware scanning. 

    But it’s clear from the comparison table above that Jetpack Protect is the best malware removal plugin for WordPress. Jetpack Protect is free and offers advanced malware scanning that doesn’t slow down your site. It’s simple to set up and works automatically to scan your website for malware against a comprehensive database that’s constantly updated by Automattic’s WordPress security experts. 

    And since it’s made by the people behind WordPress.com, it seamlessly integrates into your site. Jetpack Protect also works perfectly alongside the security features included in the Jetpack plugin and Jetpack’s other security packages, including Jetpack Security and Jetpack Scan.

    Factors to consider when choosing the best malware removal plugin

    How much does it cost?

    It’s important to consider how much a WordPress malware plugin costs and if it provides enough value for its price. Some free malware plugins, including Jetpack Protect, offer robust malware protection at no cost. Jetpack Protect checks for malware against an extensive database that’s larger than many of those used by some paid plugins. 

    Was it built for WordPress, specifically?

    Some WordPress malware scanning plugins, such as Sucuri, use malware scanning technology that works on all websites, which means it hasn’t been developed specifically with the needs of WordPress in mind. 

    However, Jetpack Protect is an excellent malware scanning plugin built by Automattic — the team behind WordPress.com and WooCommerce. This means Jetpack Protect was built specifically for WordPress and that its malware database is updated by WordPress security experts as soon as new information becomes available.

    Does it provide any additional security features?

    It’s important to consider if the WordPress malware plugin includes any additional security features, such as a firewall or anti-spam protection. And if it does, how robust are the features? You may find that using a dedicated malware scanner, such as Jetpack Protect, provides the highest level of malware protection for free, and works seamlessly with other security tools, including Akismet Anti-Spam, Jetpack, and Jetpack Security

    Is it easy to use?

    You should consider how easy the WordPress malware scanning plugin is to use. Some plugins, such as Jetpack Protect, are designed to be simple to use and can be set up with just one click. Then, it automatically scans your site for malware each day. 

    You should also think about how easy it is to interpret the malware scan results. For example, some plugins will only tell you that you have malware, not where it is or how to remove it. But others, including Jetpack Protect, will give you recommended fixes to banish the malware from your site. 

    Can it scan your entire WordPress site?

    Some WordPress malware scanners can only check the public-facing pages of your website for malware. This means that they cannot check your entire site for malware.

    Site-level malware scanners, such as Jetpack Protect, offer greater protection as they can scan your entire WordPress installation, including plugins, themes, and media files. But, if this detailed scanning happens on your server, it can temporarily slow down your website, so it’s important to check where the scan takes place. 

    Some WordPress malware plugins like Jetpack Protect can offer site-level scanning without impacting performance by using external servers to conduct the scan. 

    How robust is its malware database?

    A malware scanner is only as good as its malware database. Some plugins use a relatively small database or only update it every 30 days, which means they may not be able to identify the latest malware. Other plugins have a much more extensive database, which is updated daily. 

    Jetpack Protect utilizes the same database as the industry-leading WPScan, which is trusted by some of the globe’s largest brands to keep their site secure. Its database is updated by a dedicated team of WordPress security experts as soon as new malware or vulnerabilities are discovered. This means that Jetpack Protect can detect the newest malware and give you clear recommendations on how to deal with any infections. 

    Frequently asked questions about WordPress malware removal

    What is malware on WordPress?

    Malware is short for “malicious software” and it’s a general term for harmful software. Once malware is installed on your WordPress site, hackers can use it to damage it, take it offline, steal data, or gain access without consent. 

    It’s essential to ensure you regularly scan your site for malware using a free WordPress malware scanner plugin like Jetpack Protect.

    How do I know if I have malware on my WordPress site?

    If your site becomes infected with malware, you’ll often notice that it starts behaving strangely. Some signs of malware infection include:

    • A decrease in speed or performance
    • A security warning when visitors try to access your site 
    • Changes to your site content or new, malicious links 
    • Problems logging into your site
    • Odd behaviors, such as lots of popups 

    It’s important to take action as soon as you know your site has a malware infection. But not every malware infection is easy to spot, and the only way to know for sure if you have malware on your site is to scan it using a WordPress malware plugin like Jetpack Protect. Regular scans will help ensure you spot malware as soon as possible and receive helpful guidance on how to resolve any issues and get your site back to normal. 

    What makes a good WordPress malware removal plugin?

    A good malware removal plugin should be easy to use and scan for malware daily without you having to do anything. It should have an extensive malware database that’s updated as soon as a new piece of malware or security vulnerability is discovered. The plugin should also scan your site in a way that doesn’t impact your speed, and be able to scan the entirety of your site, including themes, plugins, and media files. 

    A good WordPress malware removal plugin should then give you clear information about the location of any malware it finds, along with easy-to-follow guidance about how to remove it. Jetpack Protect is one of the best malware plugins for WordPress as it offers all of these features for free. 

    How much does a malware scanning plugin cost on WordPress?

    WordPress malware scanners can be either paid or free, but the top plugin in our review, Jetpack Protect, is free. It was developed by Automattic, the team behind WordPress.com, and is perfect for WordPress site owners who want to have the most robust and reliable malware protection available, including automatic scanning and recommended fixes. 

    Is it easy to set up a malware scanning plugin on WordPress?

    This depends on the plugin. Some require you to make several changes to your website and to manually interpret scan results. But the top plugin in our review, Jetpack Protect, can be set up in just one click and doesn’t need any complicated configurations. Jetpack Protect also clearly tells you if it’s found malware and gives you recommended fixes, so you can get your site back to normal. 

  • Linux Backdoor Malware Targets WordPress Sites with Outdated, Vulnerable Themes and Plugins

    Security researchers at Doctor Web, a security company focused on threat detection and prevention, have discovered a malicious Linux program that targets WordPress sites running outdated and vulnerable plugins and themes.

    The malware targets 32-bit versions of Linux, but it is also capable of running on 64-bit versions. It exploits 30 theme and plugin vulnerabilities to inject malicious JavaScript into websites, redirecting visitors to the attacker’s selected website.

    The report states that Doctor Webs’ analysis of the application revealed that “it could be the malicious tool that cybercriminals have been using for more than three years to carry out such attacks and monetize the resale of traffic, or arbitrage.” During this time, the tool has been updated to target more exploitable vulnerabilities.

    There are two versions of the malware – Linux.BackDoor.WordPressExploit.1 and Linux.BackDoor.WordPressExploit.2. Version 1 seeks to exploit vulnerabilities in popular plugins like WP GDPR Compliance, Easysmtp, WP Live Chat, and a dozen other free and commercial extensions. A few of these have been known to have frequent vulnerabilities and one was closed due to guideline violations but may still be active on some sites.

    An updated Version 2 has a different server address for distributing the malicious JavaScript and an additional list of exploited vulnerabilities for a few more widely used plugins, including FV Flowplayer Video Player, Brizy Page Builder, WooCommerce, and more.

    Doctor Web’s report also speculates that attackers may have engineered a long game plan that will give them administrative access even after users update to newer (patched) versions of the compromised plugins:

    Both trojan variants have been found to contain unimplemented functionality for hacking the administrator accounts of targeted websites through a brute-force attack—by applying known logins and passwords, using special vocabularies. It is possible that this functionality was present in earlier modifications, or, conversely, that attackers plan to use it for future versions of this malware. If such an option is implemented in newer versions of the backdoor, cybercriminals will even be able to successfully attack some of those websites that use current plugin versions with patched vulnerabilities.

    Doctor Web published a document with indicators of compromise, detailing hashes, IPs, and domains that the Linux backdoor malware has been using to infect WordPress websites.

  • How to Password Protect a Page in WordPress

    Creating a WordPress website for your business or portfolio is an excellent way to start growing an audience for yourself. However, you may run into scenarios where you want to limit access to specific posts or pages. For example, you may be a filmmaker that wants to limit the viewership of a film on his website to prevent piracy or a photographer trying to safeguard assets. Regardless of your reason, configuring a password on a page allows you to restrict visitor access and permit only particular clients, colleagues, or partners. In this article, we’ll show you how easy it is to password-protect a page in WordPress and why you might need to.

    Why Password Protect a Page in WordPress?

    As previously stated, password-protecting a page is a useful feature when you want to limit access to something on your WordPress site. In this way, only users that have been given access to the password can access the pages you lock.

    There are a number of reasons why you would want to do this, which can span a page being under construction, gatekeeping users to get their email for marketing purposes or limiting access to photos, art, or other intellectual property for internal usage.

    There are a number of security plugins that may have password protection built-in. And there are plugins designed specifically for enhancing password protection in WordPress. But if you’re looking for basic functionality, WordPress has a default feature for password protection. In the following section, we’ll delve into how to password-protect pages natively.

    How To Password Protect a Page or Post Using The WordPress Editor

    If you aren’t already aware, you can easily password protect a page or post using the built-in feature of the WordPress editor. To do this, start from your admin dashboard and create a new page or post by navigating to Page or Post -> Add New.

    Start by clicking add post

    Once you are done editing your page, select the publish button and select Visibility.

    Select visibiltiy.

    From the Visibility panel, select Password protected, and create your password in the textbox below.

    Select password protected

    If you’re wondering if this still works within the Divi builder, good news! It does; the native password-protect functionality works the same in the WordPress editor and the Divi Builder.

    If a user visits your password-protected page, they will be met with something that looks like the page below.

    password protected page example

    Here’s what it looks like using Divi:

    Divi password protected

    It’s just that simple! But while this is the easiest method for password protection, it’s lacking when it comes to more advanced options. Features such as partial content restriction, password-protecting an entire website or unlocking different areas of a site with a single password aren’t possible natively, so this is where a password protect plugin can be helpful.

    How to Password Protect a Page in WordPress Using a Plugin

    If you are looking for more password protection features, there are some plugins that should give you what you need. For this example, we’ll be using Password Protect WordPress (PPWP). It’s almost as easy to set up as native WordPress password protection but comes with more features as well.

    To get started, let’s navigate to Plugins > Add New from your WordPress dashboard.

    Plugin page

    In the search box, type “PPWP” and install and activate the free plugin.

    PPWP install and activate

    Now, when you navigate to your post or page editor, there will be a new section in your sidebar where you can set user roles and corresponding passwords via PPWP.

    PPWP in the sidebar of WordPress editor

    Other Features of WordPress Password Protect Plugins

    You can also use shortcodes to lock parts of your content on a page. To do this, navigate to Partial Protection under the Password Protect WordPress section.

    Partial Protection section.

    From here, you can customize your shortcode and then simply embed your section into any page on your website.

    PPWP shortcode

    With PPWP, you can even password-protect your entire website from public view. To do this, navigate to the Sitewide Protection option under the Password Protect WordPress section from your dashboard.

    Sitewide Protection section

    From here, simply toggle the Password Protect Entire site option, set your password, and save the changes.

    Password Protect Entire site option

    And don’t worry, PPWP works with Divi, so you can password-protect your content regardless of what editor you’re using. If you’re interested in even more password protection features, you can get the pro version of PPWP.

    Password Protecting a Page in WordPress: FAQs

    What’s the difference between the default WordPress “Password Protected” feature and the plugin?

    The main difference between the two options is that the plugin has been designed specifically for password protection. Thus, it comes with more features available. Whether you want to password-protect a section of a page, your whole website, or a category of posts, the easiest way to do it is with a plugin.

    Will password-protecting a page effect SEO?

    Search engines aren’t able to index pages that are protected via passwords; this is where a partial section can be useful for SEO, as search engine bots can still crawl to your page, but the content that you want to protect remains hidden.

    Can I use multiple passwords to protect a page or post?

    Natively, this isn’t possible without some coding know-how, but different users can access pages with multiple passwords using features like the PPWP plugin’s password-protection feature that utilizes user roles.

    Final Thoughts On Password Protection With WordPress

    A good starting point with password protection is getting familiar with the default settings WordPress has to offer, but you can get as sophisticated as you want. If you want a simple on-off solution, you can use the built-in password protection functionality in the WordPress editor. But if you are looking for a simple solution with more features, a plugin like PPWP is the way to go. You can learn more about how to partially restrict content with a password. Or, if you are a Divi user, check out DiviPasswords to take your password protection to the next level.

    If you are looking for better password security for WordPress in general, consider using a Password Policy plugin.

    What do you password-protect on your website? Let us know in the comments!

    Article thumbnail image by Natty_Blissful / shutterstock.com

    The post How to Password Protect a Page in WordPress appeared first on Elegant Themes Blog.

  • How to Implement WordPress Password Security Guidelines

    Site security starts with your users. This post looks at how to implement the most effective WordPress password security guidelines!

    The post “How to Implement WordPress Password Security Guidelines” first appeared on WP Mayor.

  • How to Update Your WordPress Theme (Without Losing Anything)

    Although WordPress themes are typically well-coded, they need regular updates to patch security vulnerabilities and introduce new features. But if you’ve made a lot of customizations to your theme, you might worry that updating it will cause you to lose all of your hard work.

    Fortunately, there are a few easy ways to update your WordPress theme without losing anything. Backing up your site, using a child theme, and testing any changes in a staging environment can help you preserve your settings. Then, you can easily update the theme from your WordPress dashboard, cPanel, or using File Transfer Protocol (FTP).

    In today’s guide, we’ll explore the importance of updating your WordPress theme. Then, we’ll explain the best methods to do this while maintaining any theme customizations. Let’s get to work!

    Why you may need to update your WordPress theme

    Updating your WordPress theme is an essential task. It can enhance your site’s security, introduce new features, and help things run more smoothly. Let’s start by discussing WordPress security

    Security

    The most important reason to update your theme is for website safety. Updates may include security patches that reduce vulnerabilities on your site. If you stick with the older version, you could expose yourself to threats. Because WordPress themes are often open source, anyone could examine your theme’s code and search for possible weak points. 

    Any known security issues will generally be published in the theme’s support forums and changelogs. Therefore, hackers can use this information to identify problems and break into your site.

    In 2021, critical security vulnerabilities were identified in more than 50 WordPress themes. These vulnerabilities exposed users to various attacks, including Cross-Site Scripting (XSS), Remote Code Execution (RCE), and SQL injections. 

    That’s not to say that WordPress themes are inherently unsafe. Developers continually work on the software to improve and protect it. 

    Keeping your theme up-to-date can go a long way towards securing your site. It’s also important that you download themes from reputable sources, and only choose ones that have a number of positive reviews and are compatible with the latest version of WordPress core. The WordPress.org theme repository, for example, is chock full of excellent, free options that are heavily reviewed against WordPress’ coding best practices.

    New features

    From a design perspective, updating your theme can unlock new settings and built-in configuration options. For example, an update might include new blocks or block patterns that you can use across your site. 

    Taking advantage of built-in features means you won’t need to rely as much on third-party plugins and custom CSS. So, you can design the site you want with less time and expense.

    Compatibility

    Finally, themes are often updated for compatibility with WordPress core. Since new versions of core are typically released two or three times a year, theme developers will test their themes against WordPress and update them accordingly.

    This ensures that the software won’t cause bugs, slow down your site, or even break some features. As such, keeping your theme up to date is essential if you want your website to perform at its best. 

    What to do before updating your WordPress theme

    If done incorrectly, updating your theme can mean losing hours of hard work and design customizations. Fortunately, there are some precautionary steps you can take to safeguard your edits. 

    Back up your site

    Backing up your website is a general best practice. If something goes wrong during an update (or any other time), you can simply restore an older version of your site while you troubleshoot and resolve the issue. 

    Fortunately, it’s very easy to create copies of your site with Jetpack VaultPress Backup.

    Jetpack VaultPress Backup homepage with the tagline, "The best real-time WordPress backup plugin"

    Jetpack VaultPress Backup works in real-time, saving every change you make as it happens. The backup is stored off-site, so even if your site goes completely down, you can access and restore it right away. 

    Plus, Jetpack has a WordPress activity log that tracks every action taken, so you can quickly identify the point to which you want to restore.  

    To restore your WordPress website to an earlier version, simply navigate to Jetpack → Backup in your WordPress.com account. Then, you can click through the different days and select Restore to this point for the backup you’d like to use.

    restoring a backup with Jetpack VaultPress Backup

    Or, you can choose an event in your activity log — like a theme update — and restore to just before that occurred.

    restoring a backup from just before an action took place

    Make sure theme customizations are in a child theme

    If you want to edit and customize your WordPress theme, you’ll need to create a WordPress child theme first. The “child” inherits the configuration files, templates, and stylesheets of its “parent,” but WordPress will treat it as an independent theme.

    Any changes you make to the child won’t affect the parent. Plus, updating the parent theme will apply security patches and other upgrades to the child without overriding any custom code you’ve added. 

    If you’re not already working with a child theme, it’s worth making one now. You’ll first want to create a complete backup of your WordPress site

    Then, access your website via File Transfer Protocol (FTP) and head to the root directory (typically called public_html, public, or www). Open wp-content/themes and create a new folder for your child theme. Consider naming it after the parent theme, with “-child” at the end.

    creating a child theme folder

    Inside the folder, create a new text file and name it “style.css”. Next, add the following code to it, updating the information where relevant:

    /*
    
    Theme Name: The name of your theme goes here
    
    Theme URI: http://example.com/twenty-twenty-two-child/
    
    Description: The description of the child theme goes here
    
    Author: John Doe
    
    Author URI: http://example.com
    
    Template: twentytwentytwo
    
    Version: 1.0.0
    
    */

    When you’re ready, save and close the file. Then, create a new file and name it “functions.php”. Add this enqueuing script to it so that WordPress knows how to load the stylesheets in your child theme:

    <?php
    
    add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
    
    function enqueue_parent_styles() {
    
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    
    }
    
    ?>

    Finally, head to Appearance → Themes in your WordPress dashboard. Find your child theme and click on Activate. It’s now ready for you to use and customize. 

    Consider testing theme changes on a staging site

    A staging website is a copy of your site where you can safely test changes. Any edits you make to the staging environment won’t affect your live website. Then, once you’ve determined that it’s safe to proceed, you can ‘push’ any changes online, where they’ll be visible to anyone who visits your site. 

    Using a staging site is a practical choice from a User Experience (UX) point of view. Playing around with your website while it’s online can cause inconvenience and confuse visitors who may not be able to access particular features. 

    Additionally, utilizing a staging site can show you if a theme update will cause problems. Then, you can avoid pushing the changes live until you have a solution. 

    When running your tests in a staging environment, it’s worth following these steps:

    1. Check for theme compatibility. First, you’ll want to ensure that the theme update has been tested with the version of WordPress you’re running on your site. You may also need to update WordPress core first if you’re using an older version. 
    2. Put Jetpack into “safe mode.” If you’re using the Jetpack plugin, this helps ensure that your connection isn’t broken when setting up a staging site.
    3. Update the theme. You can check out the methods outlined later in this guide to see how to do this. 
    4. Test the site’s functionality. This is the most important part of the process. Consider testing your site’s menus, other navigational elements, forms, and online store. You can also scan your website for visual problems by viewing your posts, pages, and custom post types. 
    5. Verify issues in support forums. If you run into any problems, head to the official WordPress support forums for the theme. There might be known issues that developers are working to resolve. 
    6. Report problems to the theme developer. If no one else has the same issue, it’s a good idea to contact the theme developer. This way, they can fix it for you and all other users. 
    7. Push your changes live. Finally, if everything is looking good, it’s time to push the update live.

    Don’t worry if you don’t already have a staging environment in place. Let’s look at a few easy ways to create one:

    Create a staging site with your web host

    Depending on which WordPress hosting provider you choose, you may have access to a free or paid staging environment. 

    For instance, Bluehost offers staging functionality within your WordPress dashboard. If you have the host’s plugin enabled, head to Bluehost → Staging.

    staging options with the Bluehost plugin

    Now, select Create Staging Site.

    blue button with the words, "Create staging site."

    Bluehost will take a few minutes to create a staging website. It will be a complete copy of your existing site, but any changes you make won’t affect your live page. 

    You can access your staging site by clicking on the circle to the left of its name.

    URL of the new staging site

    Then, you can apply any edits to your live site by hitting Deploy All Changes on the right-hand side. 

    Make a staging site with a plugin

    The Jetpack plugin also enables you to make a staging environment. You’ll simply need to clone your site, import it into a local environment or subdomain, and then work on the website there. This documentation can walk you through the entire process. 

    Alternatively, you could opt for a staging plugin like WP Staging. This free plugin helps you clone your website and work on it safely.

    WP Staging plugin hero image

    Once you’ve installed and activated the plugin in your WordPress dashboard, head to WP Staging → Staging Sites → Create New Staging Site.

    WP Staging step 1, with the option to create a new staging site

    You can then select specific database tables and files or just click on Start Cloning to copy your entire site.

    Step 2, with options for choosing files and database tables

    WP Staging will take a few minutes to clone your website and create a staging environment. Then, it’s ready to go!

    How to update your theme in WordPress (3 methods)

    Now let’s get into the main part of this tutorial. Before running any updates, you should consider the best time of day for this process. 

    Although a theme update takes just a few moments, it could cause temporary glitches on your site that inconvenience visitors. Additionally, if a new software version causes major problems, you don’t want to be scrambling to fix them during an influx of traffic.

    Your first instinct might be to run a theme update in the middle of the night. But, this may not be the best approach if most of your visitors come from a different time zone. 

    You may want to consider using Google Analytics to see when most users come to your site. Then, simply run your theme updates during a quiet period. 

    1. Update your theme using the admin dashboard

    Updating a theme via the WordPress admin dashboard is a very straightforward process. Simply head to Dashboard → Updates and scroll down to the Themes section.

    list of themes with available updates

    Here, tick the checkbox next to your theme and click on Update Themes. The process should complete in a couple of seconds.

    Alternatively, you can find available theme updates under Appearance → Themes. Any outdated themes will have a banner message:

    updates available for three themes

    Simply click on Update now above the applicable theme, and wait a few moments for WordPress to run the update. 

    If, for any reason, this method doesn’t work, there is another option you can take from within the WordPress dashboard:

    1. Go to Appearance → Themes → Add New.
    2. Upload the zip file of the latest version of your current theme. For example, you can update the Twenty Twenty-Two theme by uploading a new copy downloaded from WordPress.org.
    3. Click Replace active with uploaded when prompted.

    2. Update your theme manually via FTP

    Sometimes, you may be unable to update your premium or custom theme from the WordPress dashboard. For instance, if you purchased a theme from outside the WordPress theme repository, it might not add its updates to your dashboard. Fortunately, you can use an FTP client to run the updates.

    Firstly, you’ll need to download the latest version of the theme onto your computer. It should download as a .zip file, so you’ll also have to extract it.

    Next, connect to your website using an FTP client. If you don’t have one installed, FileZilla is a free and user-friendly option. It will ask you for your FTP credentials, so make sure to have them handy, too. 

    Then, head to wp-content → themes.

    selecting the Themes folder

    You may want to download a copy of the existing folder for your theme in case something goes wrong. Then, simply replace it with the unzipped folder you just downloaded. This will override the existing theme files, applying the updates to the theme. 

    3. Update your theme using cPanel

    If your hosting provider uses cPanel, you can also use this application to change your WordPress theme or update it. Again, you may need to use this method if you’ve purchased a premium theme that doesn’t add its updates to the WordPress dashboard.

    Like the previous method, you’ll need to download the latest theme version and unzip the files. Then, log into your hosting dashboard and locate cPanel. You’ll then need to open File Manager.

    selecting the File Manager option

    Now, go to public_html → wp_content → themes. 

    Themes folder inside of wp-content

    Inside, you should see a folder for the theme you want to update. Right-click on it and select Compress to download it as a .zip file to your computer. This way, you’ll have a functional version to restore if you make a mistake.

    Compress option for a folder

    Delete the theme folder and upload the downloaded folder containing the updated theme. When you navigate back to your WordPress dashboard, your site should now be running the latest version of the theme. 

    How to undo a WordPress theme update

    Rolling back or undoing a theme update will revert it to the previous software version. You might need to do this if the updated theme causes problems on your website. 

    If you have a working backup of your WordPress website, you can simply restore it to this version. With Jetpack VaultPress Backup, you’ll just have to open your site with WordPress.com and navigate to Jetpack → Backup

    Then, find a copy of your site that has the older version of the theme, and click on Restore to this point.

    If you don’t have a website backup, a plugin like WP Rollback can help you out. Install and activate the plugin, then head to Appearance → Themes. Click on the theme to see its details, and select Rollback in the bottom-right corner.

    option to roll back a WordPress theme

    You can now choose which version of the theme you’d like to reinstate.

    WP Rollback options

    Click on the circle next to the software version, then select Rollback. The plugin will take care of the rest. 

    Keep in mind that this plugin only works for themes downloaded from the WordPress.org theme Repository. If you have a premium theme and didn’t back up your site, your only option is to manually roll back the update.

    In this scenario, you’ll need to download the previous version of your theme as a .zip folder and unzip the files. Then, connect to your site via FTP or File Manager to replace the current theme folder with the older one. We covered this method in the previous section of the article. 

    Frequently asked questions about updating your WordPress theme

    By now, you should have a good idea of how to update your WordPress theme. If you still have questions about the process, we’ll answer them in this section. 

    Why should you update a WordPress theme?

    Updating a WordPress theme can secure your site by patching over security vulnerabilities within the code. Additionally, theme updates may contain new features or settings that give you more control over your theme’s appearance. 

    Finally, since WordPress core is also updated frequently, new theme versions ensure compatibility with the core software. 

    What happens when you update a WordPress theme?

    Updating a theme involves installing the latest software version. The old theme files will be replaced with new ones during this process.

    Any minor adjustments you’ve made within the theme’s built-in settings should carry over with the update, but custom code will be deleted and lost. For this reason, it’s advisable to back up your theme and make custom edits within a child theme before running any updates. 

    Can I set my WordPress theme to update automatically?

    You can set up automatic updates for your WordPress theme. This setting will save you time since you won’t have to manually upgrade the software. Moreover, you’ll immediately have access to security patches and other benefits. 

    As always, you’ll want to make sure that you’re also backing up your site if you enable automatic updates. Then, you’ll have a functional version of your website on hand if the new software causes problems. 

    In your WordPress admin dashboard, navigate to Appearance → Themes and click on the theme you want to automatically update. Now, select Enable auto-updates from the side menu.

    option to enable auto-updates for themes

    Depending on your host, you may also have theme updates enabled by default. Many hosting providers will automatically update software to save you time and energy. You can then manage these settings from your hosting dashboard.

    turning on automatic theme updates within Bluehost

    In many cases, you’ll just need to toggle a setting to enable and disable automatic theme updates. 

    What if a WordPress theme update gets stuck?

    Occasionally, a WordPress theme update can get “stuck.” This means it will keep trying to update but times out before completing the process. It may even break your site during the process. 

    The easiest solution here is to restore a backup of your WordPress site and then run the update again. If the update continues to get stuck, there are a few simple fixes.

    For starters, consider clearing your browser and server-side caches. There might be files interfering with the update process. Then, reload the page and try running the update again to see if it works.

    The update could also be timing out due to a lack of resources. This is common if you’re using a shared hosting plan. In this scenario, make sure you’re only running one update at a time (rather than multiple themes and plugins simultaneously). 

    The update may also be stuck because it’s only partially complete. In this scenario, you can access your website via FTP, delete the theme folder, and replace it with a downloaded folder from WordPress or the marketplace where you bought the theme. We explained this process in-depth earlier in the post. 

    Update your WordPress theme today

    WordPress theme updates can introduce security fixes, new features, and advanced functionality to your website. Unfortunately, updates can also override custom edits you’ve made or cause problems on your site. 

    Therefore, you’ll want to save a backup and create a child theme before upgrading a theme. It’s also worth testing any changes in a staging environment before pushing them live. Then, updating your theme is simply a matter of clicking a few buttons in your WordPress admin area, accessing your website via FTP, or using cPanel in your hosting dashboard.

    Before updating your WordPress theme, you’ll need to make sure that you have a functional backup in place. With Jetpack VaultPress Backup, you can save copies of your entire website and restore them in seconds. Learn more about Jetpack VaultPress Backup today!