Web Designers, we want to support your growing business

Web designers, we want to support your growing business. You don’t need to keep up with the ever changing web hosting industry, let us do it for you. We look forward to giving you the personalised support you need. Contact us today!

“Collaboration divides the task and multiplies the success”

Zero Trust SSH

SSH is arguably the most basic service on a linux based server. It’s secure as well, when using SSH keys (and with root login and passwords disabled) but it’s still a big target for the “bad guys” (mostly automated bots). You can run SSH on a non-standard port (not port 22), but that is just security through obscurity, which really isn’t good practice.

Well, then along came Zero Trust. Cloudflare perhaps didn’t invent this, but they are the biggest proponent of it.
What is it? In my own words, it’s VPN less authentication for web and anything else you can access via the internet. Now we can authenticate down to the user, not just the entire network (like a VPN).
How does it work? You authenticate to the Zero Trust Service via a webpage and once that is done, any applications that you have been given access to are automatically authenticated or protected behind the Zero Trust Provider, in this case Cloudflare
Can you do the same for SSH? YES SECURELY and IN THE BROWSER. It’s not new, it’s free (for up to 50 applications) and it’s easy to setup. See the original blog post here.

The basic steps are:

  • A domain pointed to your Cloudflare account
  • Setup a Cloudflare tunnel
  • Add an application, making sure you follow these specific steps
    At this point you can actually login to SSH in the browser, but you will need to authenticate yourself
  • Configure a short lived certificate to allow automatic login to SSH in the browser
    A word of warning, the SSO identity you use to authenticate with Cloudflare access will be the username passed to your server, read this section to understand this

The possibilities are endless once you get your head around this. You could protect a WordPress admin login page (though automatic login to WordPress is not something I’ve explored yet). Grant secure access to a server running in another location, and as discussed here, actually login to SSH in the browser.

With this done (Zero Trust SSH) you can go ahead and close port 22 of your server. How much safer do you feel?

What is managed hosting?

Managed hosting is a common marketing term many web hosts are now using. It means different things to different people, but let’s explain what it means to you as our customer.

  • People. The person who you interact with will personally have the access and authority to resolve or action your request. None of our support is outsourced.
  • Product. We’re not just providing you a hosting service, we are providing you a fully managed product. You tell us what you need, we make it happen. For example you may ask: “Please duplicate this existing website of mine to a new location” or “I need a new WordPress site setup on this domain”. We do the rest.
    We don’t just give you what you asked for, we go further and setup our tools to give you what you need (as well as what you asked for) not only caring for your current needs, but also anticipating what you will need in the future.
  • Systems. We have systems in place to proactively monitor, audit and resolve any security and website issues. This is in your best interests as it means less problems (or none at all) with your websites. We know of any issues and resolve them before you even notice.
  • Speed. We want you to have the fastest loading website you can. We work with you to optimise and setup our custom caching and speed solutions. Some of these may include CDN, NGINX, FastCGI, Redis Database query caching.
  • Security. The internet is a dangerous place, so we have setups that automatically block bad traffic and malicious login attempts and well known hacks.
    We monitor live certain key files on your website to ensure that none of them have been modified without your knowledge. We update your website and any plugins (WordPress/Joomla) for you. This isn’t a paid add-on, we offer it free for all customers.
  • Backups. You’ve heard of them, have you had to use them? Was it easy? We provide free off server backups to you, so you have access to them at the same time we do. We provide you a tool in your website that allows you to restore from these backups at any time.
  • DNS and Domains. We provide a fully managed DNS service to you. You don’t have to understand DNS to work with us, we will look after it all for you. SPF, DKIM, DDNSEC, CNAME, AAAA, SSL etc, we know all this so you don’t have to.
  • Flexibility. There is no one size fits all solution, so we will tailor the hosting solution to meet you and your customers needs. As your site grows, we grow with you.

Read further details on our Cloud Server offerings here. Contact us for a custom quote.

Further Cloudflare Security – Authenticated Origin Pulls

Further Cloudflare Security – Authenticated Origin Pulls

Previously we posted about the importance of ensuring that all traffic to your website is actually going via Cloudflare (if you use Cloudflare in this way).

Quick recap, why is this so important?

Unless you ensure this is the case a malicious actor could possibly reach your content/website via your server IP address. Ensuring that only traffic via Cloudflare is accepted secures your web site or app and means that other tools (like Cloudflare Access, Workers etc can work correctly) can also be used to enhance your security.

So, Authenticated Origin Pulls

In plain English, your web server presents a cryptographic signature and says that only if the visitor presents the other part of the certificate should they be allowed to load the web page. Your web server actually enforces this. This way, if traffic does not come from Cloudflare, it will be rejected.

Limitation: You will only be able to configure this if you have full access to your web server ie root access, VPS, dedicated server etc. A basic level of knowledge of server administration is required.

Setup

There are 3 steps involved. I’ll provide an example below for NGINX. Apache is just as easy.

  1. In your Cloudflare dashboard enable Authenticated Origin Pulls, a quick link to this page in your account is here. Please note, enabling this now is a good idea, it will allow Cloudflare the few minutes it needs to start sending the one part of the cryptographic signature from all parts of their network. Until you start to enforce it (step 3) there will be no change or downtime on your web site.
  2. Download the certificate Cloudflare provides for this purpose. You can find it here. Save this to your server, a good location is:

    /etc/ssl/certs/cloudflare.crt

    (other locations are probably quite acceptable)
  3. Now update your Nginx configuration to use Authenticated Origin Pulls. Open the configuration file for your domain, or include the following:
ssl_client_certificate /etc/ssl/certs/cloudflare.crt;
ssl_verify_client on;

At this point, the moment you restart NGINX, your web server will ensure that only traffic via Cloudflare will be permitted.

Test

Test things by visiting your website directly via the IP address. You should see something like:

400 Bad Request

No required SSL certificate was sent

openresty

That’s it! A huge step in securing your server has now been completed. Any issues/questions please let us know in the comments below. Keep safe!

Scroll to Top