מדריך אבטחת האתר וטיפול בתוכנות זדוניות​

מקרא​

  1. לפני הכל, למה האתר שלי נפרץ?
  2. הנזקים העלולים להיווצר בעקבות פריצה לאתרכם.
  3. סוגי פריצות נפוצות באתרי אינטרנט.
  4. איך לגלות פריצה/תוכנה זדונית באתר.
  5. איך לטפל בתוכנה זדונית באתר.

לפני הכל, למה האתר שלי נפרץ?​​

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

הנזקים העלולים להיווצר בעקבות פריצה לאתרכם​​

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

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

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

סוגי פריצות נפוצות באתרי אינטרנט

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

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

3. החדרת קוד – מדובר במקרים בהם מוחדר קוד לדף האתר במרבית המקרים מדובר ב iframe או javascript, היות ואנו דנים בפריצות באתרי וורדפרס, במקרה שלנו פריצה מסוג כזה יכולה להתבצע רק דרך מסד נתונים או/ו פריצה למשתמש עם הרשאות פרסום והחדרה הקוד הזדוני ידנית דרך הפאנל ניהול.

4. תבנית שגיאה – מצב בו התבנית שנועדה להתראת שגיאה (כמו file not found 404) מפיצה תוכנות זדוניות.

5. פריצת Brute Force – פריצה בה הפורץ מנסה לפרוץ על ידי ניסיון של מליוני סיסמאות (שנוצרות באופן אוטומטי על ידי תוכנות המיועדות לדבר) ומנסה לפרוץ סיסמה של בעל האתר.
במקרה שלנו כאשר מדובר באתרי וורדפרס, רבים מהאתרים לא משנים את היוזר הראשון שנוצר (admin) או משנים את כתובת נתיב ההתחברות הגנרי (wp-admin) ולכן משאירים פתח לפורץ ומשאירים לו רק שליש עבודה של לזהות את הסיסמא הנכונה.
מדובר בדרך מיושנת ולא פופולרית כיום, שכן היא יכולה לקחת שעות, ימים ואף שבועות (במקרים מסוימים גם לא להצליח כלל) ודורשת מהפורץ משאבים רבים.
בנוסף, קל מאוד לחסום אותה, קיימים כיום עשרות תוספים שמגבילים את נסיונות ההתחברות ובכך חוסמים IP שמנסה להתחבר לאתר מס׳ פעמים ללא הצלחה.

איך לגלות פריצה/תוכנה זדונית באתר

  1. ניתן לסרוק את האתר מעת לעת בכלים דיגיטליים חינמיים שעושים בדיקה חיצונית ולא מקיפה שנותנת בדיקה ראשונית בלבד, כלי פופולארי במיוחד הינו כלי הבדיקות של חברת האבטחה succuri.
    חשוב להדגיש כי לא תמיד הפורץ משתמש בחדירה שהשיג באופן מיידי, סריקות כאלה אינן יכולות להבטיח כי האתר אינו נפרץ אלא לתת תמונת מצב נוכחית וחלקית לגבי מצב האתר, בנוסף הכלי בודק האם האתר סומן כאתר ספאם במנגנוני ספאם עולמיים.
  2. אחסון אתר בחברה העוסקת באחסון אתרי וורדפרס ומספקת תוספי הקשחה מובנים ברמת השרת, Firewall אפליקטיבי שמספקת אחריות לנושא פריצות במידה וכאלה מתרחשות.
  3. ההתראה הראשונה שכנראה נקבל על פריצה היא ממשק של גוגל הנקרא "google search console" זהו ממשק שמכיל הרבה מאוד מידע שימושי למי שברשותו אתר, ניתן למצוא מידע כמו ניתוח חיפושים או תיקון html באתר.
    בנוסף והכי חשוב למדריך שלנו הgoogle search console מתריע לנו כאשר ישנה בעיה אבטחתית באתר שלנו, לכן כדאי לחבר את אתרינו לממשק זה.
  4. קיבלנו התראה מגוגל על פריצה באתר? מה שנעשה לפני שאנו מתחילים לטפל בפריצה לאתר אנו צריכים לנקות את קבצי הוורדפרס באתר, מכיוון שקיים סיכוי שישנו קוד בקבצי הוורדפרס אשר מחדיר תוכנות זדוניות לממסד הנתונים של האתר.
    נתחיל בלגבות את האתר שלנו ואת ממסד הנתונים שלנו למקרה שמשהו השתבש לנו, לאחר מכן נעשה מה שעשינו בשלב הראשון-נוריד כלי דיגיטלי שיסרוק וימחק תוכנות זדוניות מקבצי הוורדפרס.
  5. כעת לאחר שניקינו את הקבצי וורדפרס הגיע הזמן לבדוק את ממסד הנתונים של האתר שלנו.
    חשוב להדגיש שלא כדאי להיכנס לאתר שלנו בדפדפן כאשר אנו יודעים שהוא נפגע, כדי לא לקחת סיכון שתוכנה זדונית תפגע במחשב שלנו.
    לכן נשתמש בממשק שנקרא phpMyAdmin שאליו נכנס מהדשבורד של הפאנל ניהול שלנו, ולאחר מכן נייצא את קבצי הממסד נתונים שלנו על ידי כך שנבחר בצד שמאל של המסך את הממסד נתונים של הוורדפרס ואז נלחץ על הלשונית "יצוא״ בלשונית העליונה.
    עכשיו יפתח לנו חלון שבו נשאיר את הexport method על quick ובפורמט נבחר בSQL, כעת יוצג לנו ממסד הנתונים בצורה של טקסט, ובו נחפש קודים שנראים חשודים כמו ״gzinflate״, "base64_decode" , "eval" וכדומה.
  6. בנוסף אנו רוצים לבדוק את קוד האתר שלנו ולבדוק שגם בו אין קוד חשוד.
    כדי לעשות זאת נשתמש באתר הזה ונכניס את כתובת האתר שלנו וככה נוכל לבחון את קוד האתר ולברר אם יש קודים חשודים כמו הדוגמאות בפסקה הקודמת ובמיוחד קודים של iframes.

איך לטפל בתוכנה זדונית באתר

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

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