Efficiënte en Veilige Verbindingen: Het Gebruik van TCP Tunnels met Cloudflare
In de digitale wereld van vandaag is beveiliging van cruciaal belang, vooral bij het beheren van gevoelige informatie en diensten. Het gebruik van TCP-tunnels met Cloudflare Tunnel biedt een efficiënte en veilige oplossing voor het beheren van externe verbindingen naar niet-HTTP(s) gebaseerde diensten, zoals SSH, RDP en database systemen zoals Postgres. Deze technologie stelt systeembeheerders en ontwikkelaars in staat om verbinding te maken met hun infrastructuren vanaf elke locatie ter wereld via een versleuteld en beveiligd kanaal, zonder dat ze hun diensten rechtstreeks op internet hoeven bloot te stellen.
Waarom TCP Tunnels Gebruiken met Cloudflare?
Traditioneel brengt het blootstellen van diensten zoals databases aan het internet aanzienlijke beveiligingsrisico’s met zich mee. Conventionele methoden zoals VPN’s of het gebruik van vaste IP-adressen kunnen leiden tot complexe configuraties en potentiële kwetsbaarheden. Cloudflare Tunnel biedt daarentegen verschillende belangrijke voordelen:
- Hogere veiligheid: Er is geen noodzaak om poorten te openen of diensten rechtstreeks op het publieke netwerk bloot te stellen.
- Flexibele toegang: Maakt verbinding mogelijk vanuit elke locatie zonder de noodzaak van een VPN.
- Integratie met Cloudflare Access: Biedt de mogelijkheid om toegang te controleren en te beperken met multi-factor authenticatie.
- Eenvoudige configuratie: Gebruik van simpele commando’s om de verbinding op te zetten en te onderhouden.
Configuratie van een TCP Tunnel met Cloudflare
De configuratie van een TCP tunnel met Cloudflare vereist de installatie en authenticatie van cloudflared
op zowel de server als de clients die toegang willen tot de dienst.
1. Installatie van cloudflared
De eerste stap is om het systeem te updaten en cloudflared
te installeren:
sudo apt-get update
sudo apt-get -y install cloudflared
2. Authenticatie en aanmaken van de tunnel
Om de verbinding met Cloudflare te starten, moet cloudflared
worden geauthenticeerd:
cloudflared tunnel login
Bij het uitvoeren van dit commando zal er een link in de browser openen waar u moet inloggen bij Cloudflare en de toegang moet autoriseren. Vervolgens creëert u de tunnel met een unieke identifier:
cloudflared tunnel create postgres
3. Configuratie van de DNS
Om het verkeer correct te routeren, moet er een DNS-record worden geconfigureerd in Cloudflare:
cloudflared tunnel route dns <tunnel_uuid> database.<your_domain>.com
Dit creëert een CNAME dat database.
doorverwijst naar de Cloudflare tunnel.
4. Configuratie van de tunnel op de server
U moet cloudflared
configureren in het YAML-configuratiebestand in ~/.cloudflared/config.yaml
:
tunnel: <tunnel_uuid>
credentials-file: <path_to_tunnel_uuid>.json
ingress:
- hostname: database.<your_domain>.com
service: tcp://<private_internal_ip>:<port>
- service: http_status:404
5. Starten van de tunnel als dienst
Om te waarborgen dat de tunnel automatisch start bij het opstarten van het systeem, installeert u de dienst op Linux:
sudo cloudflared --config ~/.cloudflared/config.yml service install
Controleer of de dienst actief is:
systemctl status cloudflared
6. Verbinding maken vanuit de client
De client moet ook cloudflared
geïnstalleerd en geauthenticeerd hebben. Om verbinding te maken met de database, voert u het volgende commando uit:
cloudflared access tcp --hostname database.<your_domain>.com --url 127.0.0.1:<local_port_forward>
Hiermee wordt het verkeer van de lokale poort (bijvoorbeeld, 5432
voor Postgres) doorverwezen naar de externe server via de Cloudflare tunnel.
Conclusie
De implementatie van TCP-tunnels met Cloudflare Tunnel biedt een efficiënte en veilige alternatieve methode voor het beheren van externe verbindingen naar gevoelige diensten. Door de noodzaak om poorten te exposeren te elimineren en de afhankelijkheid van traditionele VPN’s te verminderen, vergemakkelijkt deze oplossing het beheer en verhoogt het de beveiliging van IT-infrastructuren.
Bovendien maakt de integratie met Cloudflare Access het mogelijk om geavanceerde toegangsregels in te stellen, waardoor de controle over wie en hoe er toegang wordt verkregen tot interne bronnen verbetert. Voor organisaties en systeembeheerders die hun beveiliging willen optimaliseren zonder in te boeten op toegankelijkheid, vertegenwoordigt deze technologie een zeer aanbevolen optie.
Bron: Ryan Schachte en Cloudflare