Cloudflare Tunnel – The VPN killer

cloudflare tunnel - The VPN killer

לאחרונה יצא לי להציץ על הלוגים של הראוטר שלי ופשוט נחרדתי לגלות כמה נסיונות גישה נעשות אל תוך הרשת הבתית שלי בכל רגע נתון, דבר שהוביל אותי לחיפוש פתרון יעיל וזול לחשוף את השירותים שלי החוצה (כמו גישה למערכת הבית החכם) ובד בבד להקטין את החשיפה של הרשת שלי למתקפות או כניסות בלתי מורשות.

Cloudflare Tunnel - Firewall log

במדריך זה, אסקור את השימוש במערכת ה Zero Trust של Cloudflare הנקראת גם Cloudflare Tunnel. מערכת זו מאפשרת גישה אמינה ומאובטחת אל תוך הרשת ומבלי שיהיה צורך לפתוח פורטים, אך לפני שניגש להסברים על המערכת, ארחיב טיפה על עקרון ה Zero Trust.

רשת Zero-trust, רשת אפס אֵמוּן או סתם אפס-אמון (וגם ארכיטקטורת אפס אמון, מודל אבטחה אפס אמון, ZTA, ZTNA), הוא מונח בתחום טכנולוגיית המידע (IT) והגנת סייבר, המתאר גישה לעיצוב ויישום של רשתות ה-IT. הרעיון המרכזי העומד מאחורי אפס-אמון הוא כי אין לסמוך כברירת מחדל על מכשירים ברשת, כגון מחשבים ניידים, גם אם הם מחוברים לרשת ארגונית מנוהלת כגון ה-LAN הארגוני וגם אם אומתו בעבר. ברוב סביבות הארגון המודרניות, הרשתות הארגוניות מורכבות ממקטעים רבים המחוברים זה לזה, שירותים ותשתיות מבוססי ענן, חיבורים לסביבות מרוחקות וניידות, ומתחברים יותר ויותר ל-IT לא קונבנציונלי, כמו מכשירי IoT. הגישה הישנה של אמון אוטומטי במכשירים בסביבה הארגונית, או מכשירים המחוברים אליו באמצעות VPN, הפכה הגיונית פחות בסביבות המודרניות שהן מגוונות ומבוזרות. במקום זאת, גישת רשת האפס-אמון דוגלת באימות הדדי, כולל בדיקת זהות ותקינות של מכשירים ללא קשר למיקום, ומתן גישה ליישומים ושירותים על סמך אמון זהות המכשיר ובריאות המכשיר במקביל ובנוסף לאימות משתמשים. (מתוך Wikipedia)

אז למה דווקא Cloudflare Tunnel?

האמת, כשהתחלתי לבחון את נושא ה Zero Trust ולמרות שאני משתמש ב Cloudflare לא מעט זמן עבור ניהול רשומות ה DNS שלי, המערכת הראשונה שנחשפתי אליה (ועליה גם כתבתי) היא Teleport.
Teleport גם היא מערכת המבוססת על עקרון ה Zero Trust הניתנת כשירות SaaS (בתשלום, או Selfhostd) וגם בחינם (Self Hosted) אך היו בה מספר חסרונות:

  • הגרסה החינמית לא תמכה ב SSO (למעט גיטהאב).
  • יש צורך בהקמה של שרת בענן.
  • תמיכה מאוד מצומצמת בפרוטוקולים (לא תומכת ב Putty/SCP ועוד).
  • קונפיגורציה ידנית (בשרת וב Agent).

לאחר תקופת עבודה קצרה עם Teleport, נחשפתי ל Cloudflare Tunnel וליכולות שלה והחלטתי לבחון אותה. לשמחתי גיליתי שהיכולות של המערכת עונות על כל הצרכים שלי ואף יותר:

  • השירות ניתן בחינם (לשימוש אישי, ואף מסחרי עם הגבלות קלות).
  • תמיכה בכל מערכת הפעלה וארכיטקטורה Out of the box.
  • אין הגבלה לכמות מכשירי קצה שמחוברים.
  • תמיכה במגוון Identity providers (ארחיב בהמשך).
  • תמיכה במגוון רחב מאוד של פרוטוקולי תקשורת (ssh,scp,tcp,http/s,vnc,rdp ועוד).
  • תמיכה בעבודה ישירה דרך Putty,WinSCP.
  • אבטחה גבוהה (Firewall/Waf) עם אפשרות לחסום גישה מבוססת מיקום גאוגרפי.
  • ניהול מלא של תעודות SSL (בלי התערבות משתמש).
  • שימוש מלא ב Cloudflare Proxy מעל הרשומות. מבטיח תעבורה מהירה ומבלי לחשוף את כתובת ה IP שלי.

יאללה מתחילים

כפי שציינתי בחלק הקודם, Cloudflare היא חברה ותיקה המספקת שרותי DNS, רשת CDN ועוד ועל מנת לעבוד עם מערכת ה Zero Trust יש תחילה לפתוח חשבון ולהעביר את הדומיין שבשרותכם לניהול שלהם (להגדיר את ה NS על השרתים שלהם). בחלק זה של המדריך אסביר איך להקים את החשבון.

תחילה, יש להכנס לכתובת הבאה: https://www.cloudflare.com וללחוץ על "Sign Up".

במסך הבא תתבקשו להקליד מייל וסיסמה עבור החשבון החדש ולחצו על "Sign up"

Cloudflare tunnel - Get started with Cloudflare

כעת נתבקש לבקש להגדיר את הדומיין אותו נרצה לנהל (מזכיר, חובה שהדומיין ישב ב CF על מנת בנוכל להשתמש ב Zero Trust). לחצו על "Add a website or application".

Cloudflare tunnel - welcome - Tomer Klein (t0mer)

והקלידו את הדומיין אותו תרצו להגדיר:

Cloudflare Tunnel - הוסף את האתר הראשון - techblog.co.il

כעת נתבקש לבחור את סוג התכנית, בחרו את התכנית החינמית (תמיד אפשר לשדרג במידה ותצטרכו):

Select plan - Techblog

כעת נתבקש להוסיף רשומות DNS, ניתן לדלג על שלב זה היות והגדרה של Zero Tunnel תוסיף רשומות באופן אוטומטי.

Add more DNS records
Add records later

השלב הבא (והאחרון בהקשר של העברת הניהול של הדומיין) הוא להגדיר את רשומות ה NS של CF. במסך הבא תוכלו לראות מה הרשומות אותן תצטרכו להגדיר אצל הספקית דרכה רכשתם את הדומיין.

אחרי שלחצם על "Done, check nameservers" המערכת תבצע אימות של הרשומות. שלב זה יכול לקחת קצת זמן ובסופו תקבלו מייל שהדומיין עבר בהצלחה לניהול של CF.

על החלק הבא אפשר לדלג, אך ההמלצה שלי היא לבצע אותו היות והוא ישפר את האבטחה ואת מהירות התגובה.

Quick start guide

לאחר לחיצה על Get Started תועברו לשיפור הגדרות האבטחה. ההמלצה כמובן היא תמיד להשתמש ב HTTPS Rewrite אוטומטי וכמובן Always use https.

Quick start - Security settings
Always use HTTPS - Cloudflare Tunnel - Tomer Klein

ניתן ואף רצוי, להפעיל גם את האופטימיזציה על ידי הפעלת מניפיקציה של Js, CSS וכן של HTML על מנת להאיץ את טעינת הדפים (ניתן לבטל בכל רגע נתון).

Quick start - Auto Minify - CF

וכן להפעיל כיווץ Brotli על מנת להאיץ טעינה של דפים

Brotli compression  - techblog.co.il
Quick start summary - techblog

מתחילים עם Zero Trust

בחלקו הקודם של המדריך דברנו על נקודת הפתיחה לעבודה עם Zero Trust שהיא פתיחת חשבון ב Cloudflare. בחלק זה של המדריך נלמד איך להפעיל את ה Zero Trust ובהמשך גם איך להגדיר את ה Tunnel הראשון שלנו.

לצורך ההגדרה, לחצו על "Zero Trust" בתפריט שנמצא בצד שמאל של המסך:

Cloudflare menu - Zero trust

במסך ה Welcome לחצו על Next:

Welcome to Cloudflare Zero Trust - t0mer - techblog.co.il

בשלב הבא נתבקש לבחור שם לצוות (גם אם לא באמת מדובר בצוות ואתם לבדכם בחשבון), השם הזה ילווה אתכם בכל מני מקומות במהלך העבודה עם המערכת, ניתן לשנות אותו בכל רגע נתון דרך ההגדרות

Cloudflare team name

כעת נבחר את התכנית (בחרו בתכנית החינמית, אין באמת צורך ביותר מזה כאשר עובדים עם המערכת לשימוש פרטי).

בחירת תכנית עבודה עם Zero Trust - תומר קליין - Tomer Klein- Techblog.co.il
Zero Trust - Cloudflare - Free plan

שימו לב! למרות שבחרתם במסלול החינמי תתבקשו להכניס פרטי אשראי (כמו שקורה בהרבה מקומות). אל חשש, במידה ותשארו במסלול החינמי ולא תשדרגו, לא תחוייבו (אני נמצא ב CF כבר 7-8 שנים ומעולם לא חוייבתי).

CF Tunnel - payment method.
Cloudflare tunnel (Zero Trust) - techblog.co.il

אחרי שמילאתם את הפרטים, לחצו על Next ועברו למסך אישור הרישום.

זהו, יש ברשותכם חשבון Zero Trust פעיל.
במדריך הבא נלמד להגדיר את ה Tunnel הראשון שלנו.

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*