מנסים לפרוץ לי לאתר, איך מונעים את זה בכמה צעדים סופר פרקטיים?

תאריך פרסום: 01/07/2022
זה לא הפעם הראשונה שזה קורה, תקפו לי את האתר, גם הפעם לא הצליחו לפרוץ אותו ובפוסט הזה אני הולך להראות איך למנוע מזה לקרות או לפחות להקשות משמעותית בכמה צעדים פרקטיים.

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

התעוררתי היום בבוקר וראיתי שבמשך הלילה היה נסיון לבצע Brute Force (עוד שניה נסביר מה זה) כדי למצוא מה הסיסמה של אחד המשתמשים.

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

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

מה זה Brute Force?

אז Brute Force זה בעצם נסיון לנחש את הסיסמה של משתמש מסויים על ידי מספר נסיונות מאוד גדול (אנחנו מדברים על מאות אלפי נסיונות) עד שמגיעים לשילוב הנכון שבין שם המשתמש והסיסמה.

למשל: אם אנחנו יודעים ששם המשתמש או המייל שאיתו מתחבר האדמין לאתר הוא dor-admin אז ננסה להתחבר עם dor-admin וסיסמה שונה בכל פעם (1, 11, 111, 112, 121, הבנתם.ן את הרעיון…).

זה די דומה לנסיון לפצח מנעול 3 ספרות רק שפה יש קומבינציות אין סופיות.

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

עכשיו העניין הוא כזה: ככל שהסיסמה שלך יותר גנרית (123456 או P@ssword מישהו?) ככה יהיה קל יותר לפצח את הסיסמה שלך.

למה? כי האקרים שמנסים לדוג סיסמאות יודעים שאנשים לא ממש מודעים לאבטחת מידע והם יתחילו עם בנק סיסמאות בדיוק מהסגנון שראינו למעלה ו… האתר נפרץ.

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

איך לדעת שתוקפים אותך?

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

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

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

  • WPS Limit Login
  • WPS Hide Login

שניהם חשובים, אסביר עוד רגע למה, אבל בואו נתמקד רגע ב-WPS Limit Login.

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

למשל, אצלי אני משאיר את ברירת המחדל שהיא:

  • לאחר 3 נסיונות התחברות כושלים, חסימה ראשונה ל-20 דקות
  • לאחר 20 דקות, אם אותו משתמש מבצע שוב 3 נסיונות ההתחברות כושלים, חסימה שניה ל-48 שעות.

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

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

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

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

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

אוקיי, מתקדמים, מה עוד אני עושה כדי להקטין את הסיכויים? הנה הרשימה שלי.

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

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

סיסמה חזקה

נתחיל בבסיס של הבסיס, אם יש לכם סיסמאות בסגנון של 123456 או qweasd, תחליפו בזריזות, לא חייבים את הסיסמאות של הפנטגון אבל המינימום זה שילוב של אותיות, מספרים, ותוסיפו איזה # או ! בסוף, זה הופך את זה לכמעט בלתי חדיר.

החלפת כתובת פאנל הניהול מ-wp-admin

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

מה עושים? מחליפים את כתובת הגישה לפאנל הניהול מ-wp-admin שנמצא שם כברירת מחדל למשהו קצת אחר, אצלי למשל זה משהו בסגנון של do-admin.

איך עושים את זה? פשוט, זוכרים את התוסף השני שדיברנו עליו?

WPS Hide Login עושה בדיוק את זה.

מתקינים אותו, הולכים ל-Setting, גוללים למעטה ומשנים את הערך של Login URL.

לינק לתוסף כאן

הגבלת מספר הנסיונות להתחברות עם סיסמה שגויה

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

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

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

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

מה שכן, תוודאו שאתם מקבלים מיילים מהאתר כדי שאם יש התראה, תקבלו אותה.

לינק לתוסף כאן

חסימת XMLRPC וגישה עם API

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

הבעיה היא שלפעמים זה הופך לחסרון כמו במקרה הזה.

XMLRPC זה ממשק שהיה לפני שוורדפרס עברו להשתמש ב-API (ממשק להעברת נתונים) מודרני כמו שיש היום. זה אומר שזה עוד נקודה שדרכה ינסו להכנס לאתר שלכם ואם אתם לא משתמשים בזה (כנראה שלא), אפשר לחסום את זה.

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

אם אתם עובדים עם CloudWays, מצרף פה לינק למדריך/סרטון איך לחסום גישה ל-XMLRPC ב-CloudWays

חסימת גישה לכתובת ה-Admin בעזרת כלים חיצוניים

הלאה, הפעם קצת יותר למתקדמים.ות / אם ממש התלבשו לך על האתר.

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

אחד הכלים החזקים שיש להם להציע זה מנגנון שנקרא WAF והוא מאפשר לנו להחיל חוקים שונים על האתר.

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

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

זה לא אישי

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

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

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

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

תגיות: Cloudflare

כתיבת תגובה