Cloudflared: scutul din fața aplicațiilor tale
Cum expui o aplicație de pe serverul din birou pe internet fără porturi deschise, fără IP public și cu autentificare înainte ca cererea să ajungă la ea, folosind Cloudflare Tunnel.
Ai o aplicație care rulează pe serverul din birou: un CRM, o platformă de documente, un portal intern. Vrei să o folosești și de acasă, de pe telefon, din mașină. Întrebarea „cum o fac accesibilă din afară?” are de ani de zile două răspunsuri clasice, și amândouă au probleme.
Port forwarding pe router, eventual cu un serviciu de DNS dinamic. Simplu, dar serverul tău devine vizibil pentru toată lumea. Un port deschis pe un IP public e scanat în câteva minute de roboți care caută exact asta: aplicații cu parole slabe, versiuni vechi, vulnerabilități cunoscute. Fiecare cerere ajunge direct la aplicația ta, înainte ca ea să întrebe cine ești.
VPN. Corect din punct de vedere al securității, dar fiecare utilizator are nevoie de un client instalat și configurat, pe fiecare dispozitiv, iar pe telefon experiența e rareori plăcută. În plus, tot mai multe abonamente de internet pentru firme vin fără IP public (așa-numitul CGNAT), caz în care nici port forwarding, nici VPN clasic nu funcționează fără costuri suplimentare.
Există o a treia variantă, pe care o folosim tot mai des la clienți: Cloudflare Tunnel, prin programul cloudflared.
Ce face, de fapt, cloudflared
cloudflared e un program mic pe care îl instalezi pe serverul unde rulează aplicația (Windows, Linux sau în Docker). Odată pornit, el deschide câteva conexiuni doar spre exterior, către rețeaua Cloudflare, și le ține deschise.
Când cineva accesează crm.firma-ta.ro, cererea nu ajunge la tine. Ajunge la Cloudflare, care o trimite prin conexiunea deja deschisă către cloudflared, iar acesta o livrează aplicației locale, de exemplu la http://localhost:8080. Răspunsul face același drum înapoi.
Consecințele practice:
- Niciun port deschis pe router sau pe firewall. Serverul tău nu răspunde la nimic din internet.
- Nu ai nevoie de IP public. Funcționează și pe conexiuni cu CGNAT, și pe 4G/5G.
- Adresa ta IP rămâne ascunsă. Lumea vede doar adresele Cloudflare.
- Certificat TLS automat. Aplicația e servită prin HTTPS fără să configurezi nimic pe server.
Principiul e același pe care îl folosim și în Brio Endpoint Manager: agentul de pe server inițiază conexiunea spre exterior, nu invers. Nu există nimic de atacat din afară pentru că nu există nimic care să asculte.
Scutul propriu-zis: cererea e verificată înainte să ajungă la aplicație
Tunelul rezolvă expunerea. Partea cu adevărat valoroasă vine din ce pui în fața lui, în rețeaua Cloudflare:
Cloudflare Access. Definești cine are voie să deschidă aplicația: adrese de e-mail sau domenii întregi (@firma-ta.ro), autentificare cu contul de Microsoft 365 sau Google, cod primit pe e-mail. Verificarea se face la Cloudflare, înainte ca cererea să ajungă la aplicația ta. Un necunoscut nu vede nici măcar pagina de login a aplicației; vede pagina de login a Cloudflare, care nu îi dă nimic. Accesul este gratuit pentru până la 50 de utilizatori, suficient pentru majoritatea firmelor cu care lucrăm.
Protecție DDoS și filtrare de trafic. Cloudflare absoarbe atacurile volumetrice și blochează traficul evident rău înainte să consume resursele serverului tău. Poți adăuga reguli proprii: blochează toate țările în afară de România, limitează numărul de cereri pe minut de la aceeași adresă, blochează roboții cunoscuți.
Jurnal de acces. Vezi cine a deschis aplicația, când și de unde, independent de ce înregistrează aplicația însăși.
Rezultatul: o aplicație care, din punctul de vedere al internetului, nu există decât pentru oamenii pe care i-ai aprobat tu.
Cum arată implementarea
Pentru o aplicație web obișnuită, pașii sunt puțini și se fac într-o oră:
- Domeniul firmei (sau un subdomeniu) este administrat prin DNS-ul Cloudflare. Planul gratuit e suficient.
- În panoul Cloudflare Zero Trust creezi un tunel și primești un token.
- Instalezi
cloudflaredpe server ca serviciu, cu tokenul respectiv. De aici încolo pornește singur, la fiecare repornire. - Definești în panou „hostname-ul public” și serviciul local la care duce:
crm.firma-ta.ro→http://localhost:8080. Înregistrarea DNS se creează automat. - Creezi o aplicație în Access cu politica de acces: cine are voie, cu ce metodă de autentificare, pentru cât timp rămâne sesiunea validă.
Nu modifici nimic în aplicație și nu atingi routerul. Dacă vrei să renunți, oprești serviciul și aplicația redevine strict internă.
| Port forwarding | VPN | Cloudflare Tunnel + Access | |
|---|---|---|---|
| Port deschis spre internet | Da | Da (portul VPN) | Nu |
| Necesită IP public | Da | Da | Nu |
| Client instalat la utilizator | Nu | Da, pe fiecare dispozitiv | Nu, doar browser |
| Autentificare înainte de aplicație | Nu | Da | Da |
| Protecție DDoS, filtrare trafic | Nu | Nu | Da |
| Cost pentru o firmă mică | 0 | 0 până la licențe | 0 până la 50 de utilizatori |
Unde nu se potrivește
Suntem la fel de direcți și cu limitele, pentru că nu e soluția universală:
- Traficul trece prin Cloudflare. Conexiunea TLS se termină în rețeaua lor, deci Cloudflare poate vedea conținutul cererilor. Pentru majoritatea aplicațiilor de business e acceptabil (Cloudflare este operator de date cu acord de prelucrare conform GDPR și e folosit de o parte considerabilă din internet). Dacă ai o obligație contractuală sau legală ca datele să nu treacă printr-un terț, rămâi la VPN.
- Limita de 100 MB per cerere pe planurile Free și Pro. Un upload de fișier mai mare de atât e respins. Pentru aplicații care lucrează cu fișiere mari, cum ar fi BrioSecureShare, soluția e încărcarea în bucăți sau accesul direct din rețeaua internă.
- E gândit pentru aplicații web. Pentru acces la distanță la desktop, baze de date sau alte protocoale ai nevoie de componenta de rețea privată din Cloudflare Zero Trust, cu un client instalat, deci revii parțial la modelul VPN.
- Depinzi de un furnizor. Dacă rețeaua Cloudflare are o problemă, aplicația ta nu e accesibilă din afară. Intern, din rețeaua biroului, funcționează în continuare.
- Nu înlocuiește igiena de bază. Aplicația tot are nevoie de actualizări, parole bune și backup. Scutul oprește ce vine din afară, nu ce e deja înăuntru.
Cum procedăm noi
La firmele care folosesc Brio CRM, Brio DocForge sau Brio Argus instalate pe propriul server, Cloudflare Tunnel cu Access a devenit configurația pe care o propunem implicit atunci când nu există deja un VPN de firmă. Motivul e simplu: securitatea e mai bună decât la port forwarding, iar pentru utilizatori e mai simplu decât VPN-ul. Deschid browserul, se autentifică o dată cu contul de Microsoft 365 și lucrează.
Pentru clienții cu management IT externalizat includem configurarea și monitorizarea tunelului în contract, la fel ca restul infrastructurii.
Dacă ai o aplicație pe serverul din birou pe care vrei să o accesezi în siguranță de oriunde, scrie-ne. Îți spunem în câteva minute dacă această abordare se potrivește cazului tău.