Skip to content

KB Flooris Hosting - Cloudflare SSH via Cloudflare Warp

Voor extra veiligheid is het verstandig om de SSH poort van een server dicht te zetten. Hierdoor kunnen mensen niet zomaar extern proberen te verbinden met de server.

Alleen is het wel handig als je zelf nog wel kan verbinden. Eerst deden we dit door een IP-whitelist en dat je dan vanaf kantoor moest verbinden via een VPN. Deze VPN bestaat niet meer omdat we hiervoor tegenwoordig Cloudflare Warp gebruiken.

Door Cloudflare zijn cloudflared te installeren op de server, kan de server een tunnel verbinding accepteren, en kunnen wij via Warp ermee verbinden.

Setup

Cloudflared installeren

Als eerste moeten we de cloudflared package installeren, hierdoor kan de server verbinden met het Cloudflare netwerk.

Volg de instructies voor je distro die gegeven worden op de pkg.cloudflare.com website.

Nieuwe tunnel aanmaken

Nu kunnen we een tunnel aanmaken, hiermee zal de server uiteindelijk verbinden.

Ga naar de Cloudflare Zero Trust omgeving en ga naar "Networks" → "Connectors" → "Create a tunnel".

cloudflare-create-new-tunnel.png

Hierin moet je dan een tunnel type aangeven, kies voor "Cloudflared". cloudflare-create-tunnel-select-type.png

Nu kan je de tunnel een naam geven, wij doen hier bijna altijd gewoon de server naam gebruiken, zodat het duidelijk is dat deze tunnel voor die server is. cloudflare-creating-new-tunnel.png

En nu heb je een tunnel aangemaakt, nu moeten we alleen nog de server ermee verbinden en een route instellen.

Tunnel actief maken op de server

Nu moeten we tegen de server zeggen dat hij met deze tunnel moet verbinden. Dit kan door het volgende commando dat Cloudflare aan je geeft te kopiëren en te draaien op de server.

cloudflare-tunnel-install-service.png

De server zou nu automatisch moeten verbinden met deze tunnel, ook na een herstart.

Route instellen

Nu kunnen we de routes gaan instellen die deze tunnel moet verwerken.

Ga naar "CIDR routes" en druk dan op "Add CIDR route"

cloudflare-tunnel-CIDR-route-tab.png cloudflare-tunnel-create-CIDR-route.png

De CIDR moet gelijk zijn aan het IP van de server, en met een mask van /32. Hiermee geven we aan dat hij alleen naar dat exacte IP-adres mag gaan. Vaak kan je het IP-adres van de server zien in het dashboard van de hosting provider.

digitalocean-droplet-ipv4.png

In dit geval moet onze CIDR dus 178.62.55.210/32 worden.

cloudflare-tunnel-creating-CIDR-route.png

Nu kan je de tunnel opslaan en zou de tunnel klaar moeten staan.

cloudflare-tunnel-CIDR-route-created.png

Firewall dicht zetten

En nu is het zo ver, als het goed is staat Cloudflare nu goed ingesteld en kan de SSH poort dichtgezet worden.

Het ligt een beetje aan de hosting provider hoe dit werkt, maar je moet in ieder geval de firewall aanpassen zodat TCP poort 22 geblokkeerd wordt.

Hierdoor is het niet meer mogelijk om met de server te verbinden vanaf buitenaf. Cloudflare Tunnels werken hier omheen omdat de server zelf de verbinding met Cloudflare opzet, cloudflared werkt hier dan ook gelijk als exit point, waardoor het verkeer op die manier alsnog naar binnen mag.