מאמרים אחרונים מאמרים אחרונים
04/04/2024 18:47
בניית של חנות באינטרנט למכירה של מוצרי גיימינג, מחשבים, סלולר וציוד נלווה
09/08/2023 17:16
בניית חנות באינטרנט למכירה של מוצרים לחיות מחמד
12/03/2023 22:03
במאמר זה נסקור את התפתחות שפת צד השרת PHP מראשית ימיה, לכל אורך גירסאותיה השונות עד לאן שהיא הגיעה ב...

אבטחת חנויות וירטואליות ואתרי אינטרנט

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

מדוע צריך לאבטח אתר או חנות באינטרנט?

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

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

מפני אילו בעיות צריך בכלל לאבטח אתר אינטרנט?

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

  1. הפצת ספאם בטפסים - הרבה מאוד טפסים באינטרנט (כגון, טופס "צור קשר", טופס "הוסף תגובה" וכו') חשופים לפניות ספאמיות שמציפות את המייל ומנפחות את בסיס הנתונים של האתר. ברוב הפעמים, אין מדובר על מישהו שממלא ידנית את הטפסים האלו במטרה להציף אתכם, אלא, בבוטים (תוכנות אוטומטיות) שמטרתם להפיץ פרסומות או קישורים למטרות קידום אתרים באינטרנט. הספאם הזה אינו פוגע באתר עצמו, אבל מנפח את בסיס הנתונים, ובכך עלול להאט את פעילות האט. כמובן, הספאם הזה גם מאוד מטריד במיילים הרבים שמתקבלים בתיקיית הדואר הנכנס.
  2. נסיונות הפלת האתר באמצעות מתקפת DDoS - נסו לדמיין 1000 אנשים שמנסים להכנס בו זמנית בפתחה של מסעדה. זוהי בדיוק מתקפת DDoS, או בשמה המלא Distributed Denial of Service. מדובר ביצירת עומס מכוון על שרת האחסון מאלפי כניסות שונות לאתר במקביל. ברוב המקרים, הכניסות מזוהות ממקורות שונים ברשת (כתובות IP שונות). לכן, חסימה נקודתית של כתובת IP כזו או אחרת לא תפתור את הבעיה. העומס המכוון מאט דרמטית את פעולת האתרים על השרת, עד כדי השבתה כללית שלהם. חשוב להבין שמעבר להפלה זמנית של האתר (שבדרך כלל חוזר בתוך מספר שעות, עם סיום העומס), אין כל פגיעה באתר עצמו או גניבה של נתונים כלשהם.
  3. נסיונות חבלה באתר באמצעות XSS - מתקפת XSS, או בשמה המלא Cross Site Scripting (הקיצור נרשם עם האות X ולא עם האות C על מנת להבדיל מ-CSS). זהו מקרה שבו הגולש ממלא טופס (כגון חיפוש באתר, פניה בצור קשר, תגובה באתר וכו') עם ערכים שעלולים להביא להתנהגות זדונית באתר. לדוגמה, אם יש לכם חנות וירטואלית לבעלי חיים, במקום לחפש באתר ביטוי לגיטימי כגון "אקווריום" או "כלוב לתוכי", הוא יחפש ביטוי שכולל קטע קוד בשפת JS שמבצע משהו. האתר יפעיל את שאילתת החיפוש על קטע הקוד הזדוני, והתנהגות האתר עלולה להיות לא צפויה. אפשרות נוספת להזנת הקוד הזדוני, זה שינוי בכתובת האתר והוספת פרמטרים לכתובת, כאשר הפרמטרים הללו כוללים קטע קוד בשפת JS.
  4. נסיונות חבלה באתר באמצעות SQL Injection - בדומה למתקפת XSS, גם זוהי מתקפה שבה מכניס הגולש קטע קוד זדוני בטפסי האתר או כפרמטרים בכתובת. עם זאת, במתקפה מסוג זה, לא מדובר בקטע קוד בשפת JS, אלא בקטע קוד בשפת השאילתות SQL. הכנסת קוד שכזה עלולה לחבל בבסיס הנתונים של האתר, ולהביא לפגיעה בתצוגה של עמודים שונים באתר, למחוק נתונים חשובים של האתר ולהפיל את האתר בצורה שקשה מאוד להתאושש ממנה לאחר מכן.
  5. נסיונות התחזות באמצעות Man in the Middle - זוהי מתקפה שבה מבוצעת "האזנה" למידע שמועבר בין הדפדפן לשרת. למשל, כאשר גולש רוכש בחנות אינטרנטית וממלא את פרטי האשראי שלו בדפדפן, פרטי האשראי מועברים לשרת כאשר מישהו "מאזין" להם ושומר אותם לעצמו. מתקפה זו עלולה להביא לגניבה של סיסמאות, של כרטיסי אשראי ושל נתונים סודיים אחרים.
  6. פריצה לבסיס הנתונים של האתר - כאן מדובר על כניסה ישירה לשרת האחסון של האתר ולבסיס הנתונים של האתר. מי שפרץ לשרת האחסון והצליח לשים את ידו על בסיס הנתונים, יכול לגנוב משם מידע יקר ערך, לחבל בבסיס הנתונים, למחוק אותו. הרבה פעמים פריצות מסוג זה הן פריצות שקשה יהיה לאחר מכן להתאושש מהן. לשחזר בסיס נתונים של אתרים פעילים מאוד, כגון חנויות וירטואליות שמנהלות עשרות ומאות עסקאות ביום, זה מעט בעייתי, בהתחשב בעובדה שברוב המקרים הגיבויים על השרת נעשים פעם ביום ולא יותר מכך.
  7. העלאת עמודים אחרים בכניסה לאתר - זוהי סוג פריצה נפוץ מאוד שבה התוקף מאתר פרצת אבטחה באתר ובאמצעותה הוא מצליח להחליף את קובץ האתר הראשי. בעת הכניסה לאתר, במקום שיעלה אתר האינטרנט, עולה הקוד של הפורץ שמציג מידע שמנסה להפחיד את הגולשים, כגון "גנבתי לכם את האתר".

הגנה על חנויות וירטואליות מפני מתקפות ברשת

אילו סוגי אבטחה קיימים למעשה?

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

  1. הגנה משפטית - מסמכי מדיניות פרטיות, הצהרת נגישות ותקנון האתר. מסמכים אלו מגינים עליכם ברמה המשפטית מפני מצבים של נזקים כלשהם באתר, גניבת נתונים, נסיונות פריצה וכיו"ב. מומלץ להעזר בעורך דין מסחרי שיכין לכם את המסמכים המתאימים ביותר לעסק שלכם.
  2. גיבויים סדירים לאתר - כמה שלא ננסה לשמור ולהגן על אתר האינטרנט, בסוף תמיד קורות תקלות. לעיתים, אלו לאו דווקא פריצות, אלא טעויות של גורם אנוש, כגון מחיקת עמוד באתר. גיבויים סדירים לאתר יבטיחו מיזעור נזקים במקרה שקרה משהו לא טוב לאתר האינטרנט, בין אם פריצה, תקלה על השרת, טעות אנוש בניהול התוכן וכיו"ב.
  3. הגנה ברמת השרת - שרת האחסון צריך לתת שכבת הגנה ראשונה, על ידי שימוש מושכל בפיירוול. שכבה זו צריכה להגן מפני מתקפות DDoS ומפני נסיונות פריצה שונים, לסגור פורטים לא פעילים, להפעיל SSL על אתר האינטרנט במטרה להצפין ולאמת את הנתונים ברשת ועוד.
  4. הגנה ברמת קוד האתר - קוד האתר צריך להיות מוגן מפני מתקפות מסוג XSS ו-SQL Injection ולחסום נסיונות גישה שמצביעים על פריצות אפשריות.

אבטחת שרת האחסון

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

  1. עבודה עם גרסאות כלים עדכניות - יש לעבוד תמיד עם גירסאות עדכניות של תוכנות וכלים שונים, לרבות apache, whm, my sql, שפת התוכנה איתה עובדים והמודולים שלה וכן הלאה. גירסאות עדכניות הן תמיד מאובטחות יותר.
  2. הגדרת פיירוול עם כללים נוקשים - חובה להפעיל מנגנון פיירוול (כגון csf) עם כללים ברורים. מומלץ שהפיירוול יסרוק את קבצי ה-log השונים של המערכת, יאתר נסיונות חדירה (למשל אם מנסים להכנס לכתובות שונות שלא קיימות באמת), יחסום את הנסיונות האלו בצורה אוטומטית ויוסיף את כתובות ה-IP הרלוונטיות לרשימה שחורה של השרת (כדי שלא ניתן יהיה לגשת יותר לשרת מכתובות אלו).
  3. הגנה על המייל - במקרה שמנהלים מיילים עם סיומת הדומיין, חובה להגדיר הגנות SPF, DKIM וגם MTA-STS אשר משפרות את האימות של המייל. הגנת DKIM מוסיפה חתימה דיגיטלית על המייל על מנת לוודא שהוא מגיע ליעדו ללא שינוי. הגנת SPF מוסיפה אימות שהמייל נשלח מכתובות IP של השרת, ובכך מסיימת למניעת Email Spoofing, כלומר, התחזות של השולח. הגנת MTA-STS מוודאת שהמייל נשלח בצורה מאומתת ומאובטחת בפרוטוקול TLS עדכני. על כל ההגנות האלו, מומלץ להוסיף מנגנון DMARC שהוא סוג של בקרה וקבלת מיילים יומיים על הצלחה או כשלון של ההגנות השונות.
  4. הגדרות נכונות ב-htaccess - קובץ htaccess מכיל הגדרות שונות של גישה לדומיינים על השרת. זה קובץ ייחודי לכל דומיין. בקובץ זה ניתן להגדיר הפניות שונות בין עמודים באתר, הגדרות לשימוש בזכרון מטמון וגם הגדרות אבטחה שונות. מומלץ להטמיע הגנות מפני XSS ומפני DDoS בקובץ.

אבטחת שרתים המריצים חנויות וירטואליות

אבטחת אתר אינטרנט בקוד

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

  1. עבודה עם דומיין מאובטח - כל אתר אינטרנט חייב לפעול תחת דומיין מאובטח באמצעות פרוטוקול SSL. אבטחה זו מונעת מתקפות מסוג Man in the Middle.
  2. חסימת כתובות אסורות - בכל כניסה לעמוד כלשהו באתר יש לבצע בדיקה מקיפה לכתובת העמוד ולבדוק את כל הפרמטרים שהוזנו. במקרה של פרמטרים שאינם תיקניים יש לחסום את הגישה לעמוד. שימוש בפרמטרים הוא כר פורה לפריצות מסוג SQL Injection ו-XSS.
  3. בדיקת חוקיות ערכים בכל גישה לבסיס הנתונים - יש לבדוק חוקיות של כל ערך שמוזן בשאילתות ה-SQL. אם למשל פונים עם ערך של טלפון, יש לוודא שהערך הוא אכן טלפון חוקי (באורך הנכון, כולל ספרות בלבד ואולי סימנים מאוד ספציפיים כגון - * #).
  4. בדיקת חוקיות שדות בטפסים - בכל טופס הרשמה לאתר, שליחת מייל, הזמנה וכיוצא באלו, יש לבצע בדיקת חוקיות לערכים שבטופס. זה טוב שיש בדיקות בצד הלקוח (כלומר בקוד HTML או JS בדפדפן), אבל חובה שתהיה גם בדיקת חוקיות בצד השרת, כדי שאי אפשר יהיה לעקוף אותה בקלות. הרבה מתקפות של בוטים מבצעות קריאות POST ישירות לשרת במקום למלא את הטופס בדפדפן, תוך העברת ערכים לא חוקיים שעלולים להציף את בסיס הנתונים של האתר, לשלוח ספאם במיילים וליצור עומסים על השרת.
  5. בדיקת כתובות מיילים מול רשימות ספאם - כל כתובת מייל שהוזנה בטפסים שונים באתר (הרשמה, יצירת קשר וכיו"ב) צריכה להבדק מול רשימות ספאם עולמיות. לא מספיקה בדיקת תקינות למייל, אלא חובה לבדוק ממש שהמייל המסויים שהוזן אינו מייל ספאמי. אפשר למשל לבדוק מול האתר stopforumspam.org שמספק מנגנון API לבדיקות כאלו.
  6. סגירת פרצות להעלאת קבצים - יש למזער שימוש במודולים שונים להעלאת קבצים לשרת, ואת המודולים הקיימים לאבטח. מודולים כאלו יכולים להיות טפסים באתר שמאפשרים העלאת מסמכים / תמונות, או מודולים שהם חלק ממערכת ניהול האתר להעלאה וניהול תמונות. חובה לוודא שאין גישה ישירה לאותם מודולים (כלומר, שלא באמצעות הדרך הסטנדרטית להגיע אליהם מהאתר או ממערכת הניהול) ולאמת כל פניה אליהם שהיא אכן נעשית בדרך תקינה ולא עוקפת. כמו כן, יש לחסום העלאה של סוגי קבצים שונים ובעייתיים (כגון קבצי קוד JS או PHP) ולאפשר רק העלאה של פורמטים חוקיים (כגון תמונות).
  7. הגנה על מערכות שדורשות התחברות בסיסמה - יש למגן את המערכות המוגנות בסיסמאות במספר אופנים. ראשית, יש לוודא שהסיסמאות אינן נשמרות בצורה רגילה על השרת, כי אם מוצפנות באמצעות הצפנה בתקן מחמיר. יש לוודא שכל מספר נסיונות התחברות כושלים למערכת, תבוצע השהייה של מספר דקות עד לנסיון ההתחברות הבא (ההשהיה חייבת להיות בצד השרת ולא בקוד JS). השהיה זו מאריכה ומקשה את הניסיונות למתקפות שמנסות סיסמאות בצורה אוטומטית. לסיום, יש לתעד כל נסיון התחברות למערכת בקובץ log.

אבטחת קוד החנות האינטרנטית

מדיניות עבודה מאובטחת

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

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

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

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

תגיות: אבטחה
הוספת תגובה
YouTube previewPlay

שנקפיץ יחד את העסק שלך לגבהים חדשים?

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

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

 

אל תהססו! מלאו את הטופס או התקשרו עכשיו 077-7644819

 
WhatsApp
שנקפיץ לך את העסק?
לחץ כאן
התקשר עכשיו 077-7644819
או מלא את הטופס להלן: