Friday, February 14, 2020

How to Secure a Website from Hackers [10 Step Guide]

As a website owner, is there anything more terrifying than the thought of seeing all of your work altered or entirely wiped out by a nefarious hacker?

We see data breaches and hacks in the news all the time. 

And you may think, why would someone come after my small business website? But hacks don’t just happen to the big guys. One report found that small businesses were the victims of 43% of all data breaches.

You’ve worked hard on your website (and your brand) – so it’s important to take the time to protect it with these basic hacker protection tips.

5 Easy Steps to Secure Your Website from Hackers
You may have worried when starting this post that it would be full of technical jargon that your average website owner would find baffling. Some of our tips further down do get technical, and you may want to bring in your developer for those.

But there are a few things you can do on your own first that don’t involve that much technical know-how.

Step #1: Install security plugins.

If you built your website with a content management system (CMS), you can enhance your website with security plugins that actively prevent website hacking attempts. 

Each of the main CMS options have security plugins available, many of them for free.

Security plugins for WordPress:

iThemes Security
Bulletproof Security
Sucuri
Wordfence
fail2Ban
Security options for Magento:

Amasty
Watchlog Pro
MageFence
Security extensions for Joomla:

JHackGuard
jomDefender
RSFirewall
Antivirus Website Protection

These options address the security vulnerabilities that are inherent in each platform, foiling additional types of hacking attempts that could threaten your website.

In addition, all websites – whether you’re running a CMS-managed site or HTML pages – can benefit from considering SiteLock.  SiteLock goes above and beyond simply closing site security loopholes by providing daily monitoring for everything from malware detection to vulnerability identification to active virus scanning and more. If your business relies on its website, SiteLock is definitely an investment worth considering.

Note: Our Managed WordPress hosting plan has SiteLock built in, along with other features to help secure your site.

Step #2: Use HTTPS

As a consumer, you may already know to always look for the green lock image and https in your browser bar any time you provide sensitive information to a website. Those five little letters are an important shorthand for hacker security: they signal that it’s safe to provide financial information on that particular webpage.

example of green lock for ssl certificate

An SSL certificate is important because it secures the transfer of information – such as credit cards, personal data, and contact information – between your website and the server.

While an SSL certificate has always been essential for eCommerce websites, having one has recently become important for all websites. Google released a Chrome update in 2018. The security update happened in July and alerts website visitors if your website doesn’t have an SSL certificate installed. That makes visitors more likely to bounce, even if your website doesn’t collect sensitive information.

Search engines are taking website security more seriously than ever because they want users to have a positive and safe experience browsing the web. Taking the commitment to security further, a search engine may rank your website lower in search results if you don’t have an SSL certificate.

What does that mean for you? If you want people to trust your brand, you need to invest in an SSL certificate. The cost of an SSL certificate is minimal, but the extra level of encryption it offers to your customers goes a long way to making your website more secure and trustworthy.

At HostGator, we also take website security seriously, but most importantly, we want to make it easy for you to be secure. All HostGator web hosting packages come with a free SSL certificate. The SSL certificate will be automatically applied to your account, but you do need to take a few steps to install the free SSL certificate on your website.

Step #3: Keep your website platform and software up-to-date

Using a CMS with various useful plugins and extensions offers a lot of benefits, but it also brings risk. The leading cause of website infections is vulnerabilities in a content management system’s extensible components.

Because many of these tools are created as open-source software programs, their code is easily accessible – to both good-intentioned developers as well as malicious hackers. 

Hackers can pore over this code, looking for security vulnerabilities that allow them to take control of your website by exploiting any platform or script weaknesses.

To protect your website from being hacked, always make sure your content management system, plugins, apps, and any scripts you’ve installed are up-to-date.

If you’re running a website built on WordPress, you can check whether you’re up to date quickly when logging into your WordPress dashboard. Look for the update icon in the top left corner next to your site name. Click the number to access your WordPress Updates.

Step #4: Make sure your passwords are secure

This one seems simple, but it’s so important.

It’s tempting to go with a password you know will always be easy for you to remember. That’s why the #1 most common password is still 123456. You have to do better than that – a lot better than that to prevent login attempts from hackers and other outsiders.

Make the effort to figure out a truly secure password (or use HostGator’s password generator).  Make it long. Use a mix of special characters, numbers, and letters. And steer clear of potentially easy-to-guess keywords like your birthday or kid’s name. If a hacker somehow gains access to other information about you, they’ll know to guess those first.

Holding yourself to a high standard for password security is step one. You also need to make sure everyone who has access to your website has similarly strong passwords. One weak password within your team can make your website susceptible to a data leak, so set expectations with everyone who has access.

Institute requirements for all website users in terms of length and types of characters. If your employees want to use easy passwords for their less secure accounts, that’s their business. But when it comes to your website, it’s your business (literally) and you can hold them to a higher standard.

Step #5: Invest in automatic backups.

Even if you do everything else on this list, you still face some risk. The worst-case scenario of a website hack is to lose everything because you forgot to back your website up. The best way to protect yourself is to make sure you always have a recent backup.

While a data breach will be stressful no matter what, when you have a current backup, recovering is much easier. You can make a habit out of manually backing your website up daily or weekly. But if there’s even the slightest chance you’ll forget, invest in automatic backups. It’s a cheap way to buy peace of mind.

5 Advanced Steps to Secure Your Website from Hackers

All of the above steps are relatively painless, even for website owners with minimal technical experience. This second half of the list gets a little more complicated, and you may want to call a developer or IT consultant to help you out.

Step #6: Take precautions when accepting file uploads through your site.

When anyone has the option to upload something to your website, they could abuse the privilege by loading a malicious file, overwriting one of the existing files important to your website, or uploading a file so large it brings your whole website down.

If possible, simply don’t accept any file uploads through your website. Many small business websites can get by without offering the option of file uploads at all. If that describes you, you can skip everything else in this step. 

But eliminating file uploads isn’t an option for all websites. Some types of businesses, like accountants or healthcare providers, need to give customers a way to securely provide documents.

If you need to allow file uploads, take a few steps to make sure you protect yourself:

Create a whitelist of allowed file extensions. By specifying which types of files you’ll accept, you keep suspicious file types out.

Use file type verification. Hackers try to sneakily get around whitelist filters by renaming documents with a different extension than the document type actually is, or adding dots or spaces to the filename.

Set a maximum file size. Avoid distributed denial of service (DDoS) attacks by rejecting any files over a certain size.

Scan files for malware. Use antivirus software to check all files before opening.

Automatically rename files upon upload. Hackers won’t be able to re-access their file if it has a different name when they go looking for it.

Keep the upload folder outside of the webroot. This keeps hackers from being able to access your website through the file they upload.

These steps can remove most of the vulnerabilities inherent in allowing file uploads to your website.

Step #7: Use parameterized queries

SQL injections are one of the most common website hacks many sites fall victim to.

SQL injections can come into play if you have a web form or URL parameter that allows outside users to supply information. If you leave the parameters of the field too open, someone could insert code into them that allows access to your database. It’s important to protect your site from this because of the amount of sensitive customer information that can be held in your database.

There are a number of steps you can take to protect your website from SQL injection hacks; one of the most important and easiest to implement is the use of parameterized queries. Using parameterized queries ensures your code has specific enough parameters so that there’s no room for a hacker to mess with them.

Step #8: Use CSP

Cross-site scripting (XSS) attacks are another common threat site owners have to be on the lookout for. Hackers find a way to slip malicious JavaScript code onto your pages, which can then infect the device of any website visitors exposed to the code.

Part of the fight to protect your site from XSS attacks is similar to the parameterized queries for SQL injections. 

Make sure any code you use on your website for functions or fields that allow input are as explicit as possible in what’s allowed, so you’re not leaving room for anything to slip in.

Content Security Policy (CSP) is another handy tool that can help protect your site from XSS. CSP allows you to specify which domains a browser should consider valid sources of executable scripts when on your page. The browser will then know not to pay attention to any malicious script or malware that might infect your site visitor’s computer.

Using CSP involves adding the proper HTTP header to your webpage that provides a string of directives that tells the browser which domains are ok and any exceptions to the rule.  You can find details on crafting CSP headers for your website here.

Step #9: Lock down your directory and file permissions

All websites can be boiled down to a series of files and folders that are stored on your web hosting account.  

Besides containing all of the scripts and data needed to make your website work, each of these files and folders is assigned a set of permissions that controls who can read, write, and execute any given file or folder, relative to the user they are or the group to which they belong.

On the Linux operating system, permissions are viewable as a three-digit code where each digit is an integer between 0-7. The first digit represents permissions for the owner of the file, the second for anyone assigned to the group that owns the file, and the third for everyone else.  The assignations work as follows:

4 equals Read
2 equals Write
1 equals Execute
0 equals no permissions for that user

As an example, take the permission code “644.”  In this case, a “6” (or “4+2”) in the first position gives the file’s owner the ability to read and write the file.  The “4” in the second and third positions means that both group users and internet users at large can read the file only – protecting the file from unexpected manipulations.

So, a file with “777” (or 4+2+1 / 4+2+1 / 4+2+1) permissions is readable, write-able, and executable by the user, the group, and everyone else in the world.

As you might expect, a file that is assigned a permission code that gives anyone on the web the ability to write and execute it is much less secure than one which has been locked down in order to reserve all rights for the owner alone.  Of course, there are valid reasons to open up access to other groups of users (anonymous FTP upload, as one example), but these instances must be carefully considered in order to avoid creating a website security risk.

For this reason, a good rule of thumb is to set your permissions as follows:

Folders and directories = 755
Individual files = 644

To set your file permissions, log in to your cPanel’s File Manager or connect to your server via FTP.  Once inside, you’ll see a list of your existing file permissions (as in the following example generated using the Filezilla FTP program):

The final column in this example displays the folder and file permissions currently assigned to the website’s content.  To change these permissions in Filezilla, simply right click the folder or file in question and select the “File permissions” option.  Doing so will launch a screen that allows you to assign different permissions using a series of checkboxes:

Although your web host’s or FTP program’s backend might look slightly different, the basic process for changing permissions remains the same. Our support portal has solutions for how to modify your folder and file permissions using chmod permissions.

#10 Keep your error messages simple (but still helpful).

Detailed error messages can be helpful internally to help you identify what’s going wrong so you know how to fix it. 

But when those error messages are displayed to outside visitors, they can reveal sensitive information that tells a potential hacker exactly where your website’s vulnerabilities are.

Be very careful what information you provide in an error message, so you’re not providing information that helps a bad actor hack you. Keep your error messages simple enough that they don’t inadvertently reveal too much. But avoid ambiguity as well, so your visitors can still learn enough information from the error message to know what to do next.

Protecting Your Website from Hackers

Securing your site and learning how to protect against hackers is a big part of keeping your site healthy and safe in the long run! Don’t procrastinate taking these important steps.

At HostGator, we have created a set of custom mod security rules to aid in the protection of your website. If you’re looking for a new web hosting provider, you can click here to sign up for a great deal. For new accounts, we’ll even transfer you for free! After you’ve created an account, you just need to fill out the form here.


Jose

No comments:

Post a Comment

Success Stories About Premium Bonds

Premium bonds are a great way to invest for your future. Not only do you get the chance to store your money in a secure environment bu...