• בלוג
  • שילוב מושלם בין CDN ל-WAF: איך לשפר אבטחה וביצועים יחד

שילוב מושלם בין CDN ל-WAF: איך לשפר אבטחה וביצועים יחד

שילוב מושלם בין CDN ל-WAF: איך לשפר אבטחה וביצועים יחד

פורסם ב 18-05-2025

information-security

CDN? ו-WAF? ביחד? למה?

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

עם זאת, פעולה משולבת של שתי המערכות, כאשר הן פועלות יחד, מקנה הרבה יותר תועלת ממה שנראה בתחילה. התועלת הזו מתבטאת, בשורה התחתונה, ב-הקלה על השרת המרכזי. הקלה זו מתקבלת בשני רבדים:

  • שרתי ה-CDN “לוקחים” חלק ניכר מתעבורת הנתונים שבמקור אמורה הייתה להתבצע בין השרת הראשי לבין הגולשים/משתמשים/לקוחות.
  • מערכת ה-WAF חוסמת, בצורה חכמה, תעבורה נכנסת זדונית (וכזו החשודה כזדונית). בנוסף לכך, היא מצמצמת התקפות מוצלחות.

התועלת המתקבלת יוצרת מספר יתרונות עסקיים:

טעינה מהירה יותר של האתר – עומס מופחת על השרת הראשי מאפשר לו להריץ את האתר/יישום מהר יותר. הרצה זו מתבטאת, בקצה השני, כפעולה מהירה יותר של המרכיבים אשר אינם נמצאים במטמון של שרתי ה-CDN, וביכולת להשתמש ביותר רוחב פס על מנת “למסור” את הנתונים הללו למשתמשים.

בעל עסק נהנה מהיתרונות שיש לשילוב בין מערכת WAF למערכת CDN להציע.

טעינה מהירה יותר הוכחה כאחד הגורמים המרכזיים להישארותם של גולשים באתר ו/או לשימושם ביישום רשת. הישארות זו מביאה ליותר תעבורת רשת, יותר חשיפה וליחס המרה גבוה יותר.

פחות תקלות – ככל ששרת (וכל מכשיר אחר, למעשה) נאלץ להתמודד עם יותר עומס, כך הסיכוי לתקלות ו/או עיכובים גָּדֵל. בהתאם, ככל שהשרת “פנוי” יותר, כך הסיכוי לתקלות קָטֵן. משמעותן של פחות תקלות היא פחות סיכוי שהשרת לא יהיה זמין, וכמובן, פחות “בזבוז” של זמן על פניות לתמיכה של ספק השירות.

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

עכשיו, בואו נרחיב קצת…

מה זה CDN?

CDN – מערכת להעברת/הפצת תוכן (Content Delivery Network) – היא רשת של שרתים מבוזרים, אשר מחזיקים בעותק מהמטמון של אתר/יישום. שרתים אלה פזורים ברחבי העולם ב”מחלפי אינטרנט” (IXP) או בנקודות בהן מתרכזת תעבורת אינטרנט רבה (PoPs). תפקידם הוא להנגיש את המטמון של האתר או היישום לגולשים ולמשתמשים, אשר נמצאים במיקום גיאוגרפי מרוחק מהשרת הראשי המאחסן ומריץ אותו. כך, טעינת הנתונים הנמצאים במטמון מתבצעת מהר יותר, ללא הצורך במסעות רחוקים של חבילות נתונים הלוך וחזור.

טעינה מהירה היא לא התועלת היחידה שניתן להפיק משרתי CDN. הם גם מורידים עומס רב מהשרת הראשי, בכך שהם “מתמודדים” עם העברת נתוני המטמון בהם הם מחזיקים, במקום שהשרת הראשי יצטרך לעשות זאת.

אם אתם מעוניינים לדעת עוד על שרתי CDN, אתם מוזמנים לקרוא את המאמר שכתבנו בנושא.

מה זה WAF?

מערכת WAF (ר”ת Web Application Firewall) היא למעשה חומת-אש לאפליקציות רשת. היא מסננת את כל תעבורת הנתונים הנכנסת (וחלק מתעבורת הנתונים היוצאת), המיועדת ליישומים שפועלים באמצעות חיבור לרשת. הרשת יכולה להיות רשת האינטרנט, או רשת פנימית כלשהי, כמו הרשת הארגונית בעבודה.

מערכות WAF פועלות באמצעות סטים מוגדרים של כללים. סטים אלה יכולים להיות מוגדרים על ידי המשתמש, או להגיע כסטים “מוכנים מראש” מטעם יצרן המערכת (או מטעם גורם אחר). בדומה למערכת חומת-אש רגילה, הן מהוות מעין שומר סף או מתווך, שממיין את הנתונים הנכנסים והיוצאים דרך פרוטוקול HTTP/HTTPS, ומאשר רק לאלה הבטוחים ליישומי הרשת לעבור.

מערכות WAF מגינות מפני סוגים רבים של התקפות, כמו: הרעלת קבצי עוגיות (Cookie Poisoning)  הזרקות SQL, התקפות XSS, התקפות מניעת שירות (DoS ו-DDoS), ועוד.

אל דאגה, כתבנו בהרחבה גם על מערכות WAF, לכל מי שסקרן או חדש בתחום.

איך ליישם שילוב של CDN עם WAF בצורה נכונה?

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

שימוש בשירות המשלב מערכת CDN עם מערכת WAF

ישנן כמה חברות אשר כוללות את שתי המערכות במסגרת אותו השירות/מוצר.
שתי הסיבות לבחירה בשירות המשלב את שתי המערכות הן ברורות:

  1. מוצרים המשלבים את שתי המערכות תוכננו על מנת להקנות פעולה הרמונית של שתיהן. כלומר, לא רק שהן פועלות ביחד ובצורה יותר יעילה, אלא שהמשתמש לא צריך לדאוג להתנגשויות (למרות שהן נדירות) ולהתאמות שונות של ההגדרות.
  2. כאשר שתי המערכות נמצאות תחת “מטרייה” של שירות אחד, יותר קל לנהל את שתיהן ביחד.

הגדרת כללי מטמון (Cache Rules) נכונים

איש מגדיר כללי מטמון נכונים עח מנת להשתמש בשילוב של WAF ו-CDN בצורה נכונה.

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

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

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

לכן, הקפדה על הגדרת כללי מטמון נכונים ומדויקים צריכה לקבל עדיפות גבוהה. הדבר נכון במיוחד לגבי אתרים ויישומים התלויים ב”זיכרון” ושמירה של מידע כלשהו הקשור לגולש/לקוח.

הפעלת WAF בהתאם לסוג האתר

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

במילים אחרות, מוטב להתאים את ההגנה שמספקת מערכת ה-WAF בה אתם משתמשים לסוג האתר או היישום עליהם ברצונכם להגן. לדוגמה, אתרי תדמית, המכילים מספר פרטי קשר ואולי מידע על העסק, לא יזדקקו לאותה רמת אבטחה שמצריך אתר מסחר שנבנה על בסיס WooCommerce.

הביאו בחשבון את מטרת האתר, המידע שהוא מאחסן, המידע שניתן להשיג במקרה של חדירה, ועד כמה קריטי יהיה אם תיאלצו “להוריד” את האתר מהשרת ולשים העתק או גיבוי במקומו.

נסו לחשוב על כך גם מבחינת משאבים: אתר תדמית לרוב ישתמש בשרת בעל משאבים מוגבלים יותר, כמו שרת שיתופי. ככל שרמות ההגנה וחוקי החסימה גדלים, כך גם צריכת המשאבים מהשרת. אתרי מסחר, בלוגים, פלטפורמות עבודה ופיתוח – כל אלה יתאפיינו במספיק משאבים כדי לא לקרוס תחת עומס ההגנות.

בדיקת סטטיסטיקות ולוגים באופן קבוע

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

לסיכום

שימוש משולב במערכת WAF ובמערכת CDN, מרכז את היתרונות של שתיהן לכדי פעולה מהירה, יעילה, ובטוחה יותר של השרת הראשי. המערכות מסייעות הן להפחתה בעומס על השרת הראשי, והן להאצה גבוהה אף יותר של של פעולת השרת, באמצעות הורדת העומס הנגרם בשל חיבורים מרובים ובשל תעבורת נתונים זדונית ומתקפות סייבר.
לבסוף, כאשר השילוב בין שתי מערכות מתבצע נכון, כולם יכולים להרוויח ממנו – אתרי תדמית קטנים, חנויות, בלוגים, פורומים, וכיוצא בזה.

שאלות נפוצות של Jetserver – כל מה שצריך לדעת

CDN, או רשת להעברת/הפצת תוכן (ר"ת Content Delivery Network) – היא רשת של שרתים מבוזרים, אשר מחזיקים בעותק מהמטמון של אתר/יישום, וממוקמים במקומות שונים ברחבי העולם על מנת לקרב (מבחינת מרחק פיזי) את חלק הארי של המטמון לגולשים באתר. הקירוב הפיזי של המטמון אל הגולשים מקטין את זמני הטעינה של האתר, בכך שנתונים אלה לא צריכים לעשות את ה"מסע" הארוך מהשרת המרכזי לגולש, כאשר הגולש נמצא במיקום מרוחק מהשרת הראשי.

מערכת WAF, או חומת-אש ליישומי/אפליקציות רשת (ר"ת Web Applications Firewall), היא מערכת שמסננת את תעבורת הנתונים הנכנסת שמיועדת ליישומים מבוססי רשת (רשת פנימית, רשת האינטרנט, רשת ארגונית, וכו’), ומגינה עליהם מפני התקפות סייבר שונות. מערכות WAF פועלות באמצעות סטים של חוקים, שיכולים להיות מוגדרים על ידי המשתמש עצמו, או כאלה שהוגדרו על ידי גורם אחר (צד-שלישי או מְפַתֵּחַ המערכת).

מלבד העובדה כי שימוש בשתי המערכות מאפשר ליהנות מהתועלות של שתיהן, שימוש משולב ברשת CDN ובמערכת WAF מביא להקלה על השרת המרכזי: שרתי ה-CDN מורידים מהשרת חלק מעומס תעבורת הנתונים, ומהעומס הנגרם מחיבורים מרובים; ומערכת ה-WAF חוסמת תעבורת נתונים נכנסת זדונית.

ההקלה על השרת המרכזי מאפשרת לו לפעול באופן חלק, מהיר, יעיל ובטוח יותר.

האתר (או יישום הרשת) שלכם ייטען יותר מהר – הודות להפחתת העומס מהשרת הראשי. טעינה מהירה יותר תביא לחוויית שימוש טובה יותר, ולדירוג גבוה יותר במנועי החיפוש.

פחות תקלות – פחות עומס ופחות "דברים להתעסק איתם", משמעם סיכוי מופחת לתקלות בשרת.

יותר הגנה – לא רק שמערכת ה-WAF מספקת הגנה נגד התקפות סייבר, אלא שגם מערכת ה-CDN מסייעת בצמצום סיכויי ההצלחה של התקפות מבוססות עומס, כמו התקפות מניעת שירות (DDoS ו-DoS).

השתמשו בשירות שמשלב CDN עם WAF - לדוגמה, Cloudflare או Sucuri. יהיה לכם יותר קל לנהל את שתי המערכות כשירות אחד, והן, מצידן, יפעלו באופן הרמוני יותר.

הקפידו להגדיר כללי מטמון (Caching) נכונים – כללי מטמון שגויים לא רק שיפגעו בתפקודו של האתר ויותירו העתקים "פגומים" של המטמון על שרתי ה-CDN, אלא יגרמו לכך שרשת ה-CDN תפגום בתפקודה של מערכת ה-WAF, ותאפשר לגורמים עוינים לעקוף את מערכת ה-WAF עם התקפות סייבר שונות.

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

התאימו את ההגנה שמערכת ה-WAF מספקת לשימוש שלכם – כך תוכלו להימנע מ"קצרים בתקשורת" ומשימוש עודף במשאבים שאינכם בהכרח צריכים (דברים שיכולים להשפיע גם על תפקודה של מערכת ה-CDN בה אתם משתמשים).

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

כן. אנחנו מאפשרים ללקוחותינו לבחור בין שתי מערכות CDN שונות, האחת של Cloudflare והשניה של Sucuri – שתיהן משלבות מערכות CDN בשירותיהן.

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

השותפים שלנו

  • js-partners-02
  • js-partners-03
  • nginx-js-partners-04
  • js-partners-06
  • mariadb-icon
  • docker-icon
  • nodejs
Skip to content