יש מקרים שבהם גורמים זדוניים מנסים לבצע על אתרים התקפות של מניעת שירות שזה אומר למנוע שירות מהאתר.
באנגלית זה נקרא התקפה DDOS שזה ראשי תיבות של distributed denial-of-service attack.
מהי התקפת מניעת שירות
מה שקורה למעשה בהתקפה כזה היא הצפה מאורגנת של האתר בהרבה בקשות.
עקב כך השרת של האתר מועמס ועובד מאוד מאוד לאט עד שהוא עלול לקרוס ואין שירות מהאתר.
הדבר דומה למינימרקט עם הרבה מוצרים שיוצף בתור של מאות אנשים שכל אחד מהם יסתובב סתם בחנות ובסוף יקנה מסטיק קטן ואז יחזור לעמוד בתור.
דבר זה יגרום לקונים הרגילים לא להצליח לקנות והמקום יפסיק למעשה לתת שירות ויפסיד.
מה שקורה זה שהאתר מוצף בכמות גדולה מאוד של בקשות שהוא לא יכול לעמוד בה ולכן הוא נופל.
ברגע שגולשים צריכים את השירות מנסים להגיע לאתר הם לא מצליחים.
בגרף הבא רואים דוגמה של התקפת מניעת שירות. הטווח הוא 7 ימים אחורה ורואים שבמקום כמה אלפי בקשות ליום המספר קפץ לכמעט מיליון בקשות.
מי אלה שעושים התקפת מניעת שירות ולמה
יש כמה גורמים שעושים מתקפות כאלה:
- גורמים מסחריים שרוצים לשבש אתרים של מתחרים. לדוגמא שיבוש אתר שחשוב לו לעבוד ביום מסוים כמו למשל אתר שעולה עם מבצע מכירות חשוב ביום מסוים
- גורמים פוליטיים שרוצים לשבש אתרים חשובים ליריבים שלהם בימים קריטיים כמו ימי בחירות, ימי מחאה וכדומה
- האקרים שרוצים סתם להראות יכולת ולפגוע באתרים שונים
- מדינות זרות וגופים זרים שרוצים לעשות כאוס
איך נראית התקפת מניעת שירות
בגרף הבא ניתן לראות תנועה לאתר פוליטי בטווח של 7 ימים אחורה.
התנועה הרגילה לאתר הכי כמה אלפי כניסות ביום ועקב המתקפה המספר הגיע לכמעט מיליון ביום.
ניתן לראות שכמעט כל התנועה היא מתוך ישראל ומישראל בוצעה ההתקפה.
אותו אתר הותקף בעבר ממדינות בחו”ל כמו רוסיה ומצריים.
כעקרון התקפה מצריכה משאבים וקניית משאבים במדינות כמו רוסיה או מצריים הרבה יותר זולה מקנייה בישראל.
האתר מאוחסן על שרת של Cloudways בפרנקפורט עם 4GB זכרון וזה הספיק לו תמיד לכל הפעילות.
על אותו שרת יש עוד כמה אתרים עם פעילות מעטה של כמה עשרות כניסות ביום במקסימום.
האתר עובר דרך שירות של Cloudflare.
זה מה שראו הגולשים:
או את זה
בצד של השרת ניתן לראות שנסתם לו הזכרון והמעבד-CPU הגיע ל100%.
השרת פשוט לא יכל לענות לכל הבקשות והוא קרס.
אחת הפעולות הראשונות שנעשו היה לראות מאיפה באות ההתקפות.
בגלל שהאתר ספג בעבר התקפת מניעת שירות מחו”ל, נבדק האם יש תנועה חריגה ממדינה בחו”ל שהאתר לא חסום לה.
לא נמצאה כזאת ונראה שהבעיה היא מתוך ישראל.
השרת הוגדל פי 2 מ 4GB ל 8GB זכרון.
הפתרון הזה עזר זמנית כי גם ההתקפה התגברה.
נעשו ניסיונות לאתחל את השרת וזה החזיק מעמד לכמה דקות עד שהשרת התמלאה.
פתרון להתקפת מניעת שירות על ידי שימוש בCloudflare
שירות Cloudflare הוא חוצץ בין הגולשים לשרת והוא מומלץ לקינפוג תמיד.
כדי להשתמש בשירות צריך לקנפג אותו כדי שהDNS יהיה מכוון דרכו.
הסבר על קינפוג cloudflare כדי שיעבור דרך האתר נמצא כאן
השירות החינמי מאפשר קביעה של כל מיני חוקים לתעבורה אל האתר והשירות בתשלום מאפשר כמות רבה של חוקים.
זאת הקונפיגורציה שנעשתה לאתר כדי למנוע התקפות מניעת שירות:
1.הולכים בתפריט מצד שמאל אל Security ואז אל WAF
מקנפגים את זה ככה:
המשמעות של הקונפיגורציה הזאת היא שאפשר לאפשר לבוטים ידועים מהעולם לסרוק את האתר.
בוטים ידועים למשל הם הרובוטים של google ושל ahref.
נוסף לזה, כניסות מכל מקום חוץ מישראל יעברו תהליך של אימות וזה יפחית מתקפות אפשריות מחו”ל.
2.הולכים בתפריט משמאל אל Caching->cache rules
ומקנפים RULE עם התצורה הבאה:
המשמעות של הקינפוג הזה:
קביעת cache (זכרון מטמון) לכל הדפים באתר.
במקרה זה הcache נקבע ל5 דקות כי זה אתר שהוא כמו אתר חדשות ומתעדכן הרבה פעמים ביום.
הגולשים יראו לכן את הדף המעודכן, 5 דקות אחרי שהוא עלה לאוויר.
באתרים שמתעדכנים לא בצורה כזאת רצוי לשים זמן ארוך יותר של 10 דקות.
לקריאת דפים מהcache יש עוד השפעה והיא הגדלת מהירות התגובה של האתר.
3.הולכים בתפריט משמאל אל Caching->cache rules ומקנפגים עוד RULE בתצורה הבאה:
כאן עשינו קנפוג שיגרום לכך שהחוק הקודם של הcache יחול על כל האתר חוץ מאלה שמתחברים אליו כדי לנהל אותו או להוסיף תוכן.
חסימת אתר לגישה מחו”ל
בהרבה מקרים נרצה לחסום גישה מחו”ל לאתרים מסוימים לא רק בגלל חשש להתקפת מניעת שירות אלא גם בגלל חששות אחרים של ניסיונות של פריצה לאתר וגרימת נזק.
כך למשל בנסיעה האחרונה שלי לסיני, אתר הבנק שלי ואתרי חברות האשראי היו חסומים לגמרי ולא ניתן היה לראות אותם.
בשביל ביצוע חסימה של האתר לחו”ל ניתו להגדיר חוק בדרך הבאה:
בתפריט מצד שמאל ללכת לWAF-> security ->create rule
ניתן לו קונפיגורציה כזאת של כל מה שלא בא מישראל יחסם.
אם נרצה לפתוח אותו לעוד מדינות ספציפיות אפשר להוסיף אותן בצורה הבאה (פה זה נפתח גם להולנד וארה”ב).
יש לcloudflare גם מייל של כאלה שעוזרים במקרה של מתקפה.