על אבטחת מידע ללקוחות – מצד הספקים

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

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

תקיפת שרת

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

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

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

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

פריצה לשרת

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

שיטה זו עדיין בשימוש היום על ידי סקריפטים שפורצים רבים מריצים. הסקריפט לוקח טווח כתובות מסויים ומנסה למצוא בפורטים מסויימים אפשרות לפרוץ, כך לדוגמא אחד הפורטים הפופולריים הוא פורט 22 שמשמש בשרתי יוניקס/לינוקס כחיבור לשרת (SSH). סקריפט כזה שמוצא את הפורט הזה, ינסה לעשות login דרך משתמשים כמו root, admin וכו' ועל כל משתמש הוא ינסה להריץ סידרה של סיסמאות ידועות כמו מספרים, מספרים ואותיות רציפות על מקלדת (1q2w3e4r) ועוד כל מיני סיסמאות. אם השרת נמצא עם סיסמא כזו, הסקריפט יצור יוזר נוסף עם הרשאות root וידווח בחזרה למפעיל הסקריפט שיש לו עוד שרת פתוח לשימושו. אותו דבר קורה עם פורטים כמו 25 (SMTP), ועוד פורטים.

קל מאוד למנוע את הפריצות האלו: כל מה שצריך הוא לשנות את פורט SSH מ-22 למספר אחר, לבטל אפשרות כניסת root ע"י סיסמא מרחוק (תמיד תוכלו להיכנס כ-root מהקונסולה), ואם אפשר, עדיף לבטל סיסמאות לגמרי ולהשתמש במפתחות, כך שאם אין למשתמש קובץ סיסמא, המערכת לא תבקש ממנו סיסמא אלא תסגור את החיבור. אפשר להוסיף דברים כמו אפליקציית LFD (או להשתמש בתוכנת חומת אש CSF) וכך התוכנה יודעת לספור את כמות החיבורים מאותו IP ולחסום אותו זמנית או בצורה קבועה.

אבל רוב הפריצות אינן פריצות פורטים, אלא פריצת אפליקציות.

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

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

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

  1. הטמעת חומת אש רצינית עם חוקים קשיחים: סיסקו, צ'ק-פוינט, פורטינט, ג'וניפר – כולם מייצרים קופסאות חומות אש מספיק רציניות כדי להגן על משתמשים. ספק רציני יודע לקחת קופסא כזו ולהגדיר מי יכול להיכנס ברזולוציה של כתובת IP, איזה פורטים לפתוח עבור הלקוח ואיזה פורטים לסגור. ספק רציני גם יתקין ללקוח חומת אש פנימית עם חסימת פורטים פנימה והחוצה לפי הצורך.
  2. לא לאפשר לעובדים שלו להיכנס למערכות של הספק עם סיסמאות אלא עם מפתחות הצפנה בלבד וכל כניסה נרשמת ומתועדת.
  3. ספק טוב מפריד לחלוטין בין רשת השרתים של הלקוחות לרשת שלו עצמו. כך לדוגמא כל עניין ניהול הלקוחות, פרטי הלקוחות, סיסמאות וכו' צריכים לשבת ברשת נפרדת, עם גישה מאוד מפוקחת לסקריפט ששולף נתונים ועדיף שהנתונים יועברו בהצפנה. (אצלנו לדוגמא כל רישום הלקוחות נמצא בכלל בעיר אחרת אצל ספק אחר).
  4. אם מדובר בספק שסולק כרטיסי אשראי, אז הספק צריך להקים רשת פיזית אחרת (לא להסתפק במכונה וירטואלית וחיבור VLAN נפרד) ולהציג אישור שעבר PCI (שימו לב: ישנו סולק שלא אציין את שמו שמציג לוגו של PCI באתר שלו אך הוא לא עבר PCI ולכן חשוב לבקש לראות הוכחה שהספק עבר תקן PCI ושהתעודה מראה את השנה הקלנדרית הנוכחית (בדיקת תקינות ל-PCI צריך לעבור כל שנה).
  5. ספק טוב שומר בשרתי אחסון שיתופי שלו לפחות חודש רישומים של כניסות לשרת הן דרך WEB וגם SSH, רישומים אלו אמורים להישמר בגיבוי.
  6. עדכונים – כל השרתים (למעט VPS שאינם מנוהלים על ידי הספק) צריכים להיות אחת לשבוע מעודכנים בכל הטלאים האחרונים שיצאו לאותה הפצה.
  7. פאנלים – חובה שיהיו מעודכנים לגירסה האחרונה.

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

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

ועוד משהו אחד: בחשבון משותף עם גישת SSH אפשר לבדוק את חלק מהדברים. לדוגמא אם תקישו את הפקודה uname -a תוכלו לראות שגירסת הליבה (אם זו מערכת CentOS מעודכנת) היא 2.6.18-274 (לקוחות שלנו יראו 374, הוספנו כמה דברים לליבה). אם המספר פחות מ-274, זה אומר שהשרת אינו מעודכן, ובמקרים כאלו אתם חשופים לחורי אבטחה.

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

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

מיתוס: מחשוב ענן בישראל

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

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

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

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

  • במחשוב ענן אמיתי אתה יכול להעלות ולהוריד את כמות הזכרון, המעבדים, כרטיסי רשת, גודל דיסק וכו' דרך סקריפט שאתה יכול לכתוב שמבצע זאת בצורה מיידית או מתוזמנת.
  • במחשוב ענן אמיתי אינך צריך לעבור אישורים מסויימים של מחלקות שונות.
  • במחשוב ענן אמיתי יש לך מהרגע הראשון API שמאפשר לך לבצע הכל.
  • במחשוב ענן אמיתי אתה יכול להוסיף שרת ו"להרוג" אותם כרצונך.
  • במחשוב ענן אמיתי אתה יכול להשתמש בשרותים כמו Load Balancer, CDN והרבה שרותים נוספים – שוב, דרך API פתוח שהמתכנת שלך יכול להשתמש.

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

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

בעקבות גניבות כרטיסי אשראי – שאלות ותשובות

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

במאמר זה ננסה לענות על שאלות שעולות אצל בעלי אתרים.

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

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

יש לי אתר שאני מוכר בו מוצרים, האם גם האתר שלי חשוף לפריצות?

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

באתר שלי אני סולק כרטיסי אשראי ישראליים. האם יש המלצות כלשהן?

ישנן מספר המלצות עיקריות:

  • להעביר את האתר בדחיפות סריקה של איש אבטחת מידע לגבי הצפנת הנתונים, מחיקת נתונים שאין צורך בהם ושאסור שישמרו אצלך (לדוגמא: 3 הספרות בגב כרטיסי האשראי, מה שנקרא CVV או CVV2) ובדיקת עדכונים לגבי התוכנה שאתה משתמש בה לניהול האתר/חנות.
  • מעבר לאחסון לשרת וירטואלי (שרת VPS) – ראה הסבר בהמשך המאמר מדוע.
  • חתימת חוזה מתמשך עם בונה האתרים שלך (או בונה אחר) להטמעת עדכוני תוכנה ואבטחה באחסון שלך לפחות אחת לחודש.
  • מעבר לסליקה דרך אתר חיצוני (כמו טרנזילה ואחרים) שלהם יש מומחיות בסליקה, הצפנה ועוד.

אם אני מוכר מוצרים אבל אני לוקח פרטי אשראי בטלפון, אני צריך לדאוג?

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

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

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

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

שרת וירטואלי עולה יותר מאחסון משותף ואין חולק על כך, אבל שרת וירטואלי גם נותן לך עצמאות באבטחה, אתר מהיר ללקוחותיך (מבלי להיות מואט על ידי לקוחות אחרים כמו באחסון שיתופי), אפשרויות גדילה מורחבות ועוד. לגבי המחיר: תלוי בספק והצעות המחיר שלו, ההבדל עצמו אינו כה גדול והוא נע בין 800 ל-1600 שקל לשנה. אצלנו לדוגמא ניתן לקבל שרת VPS כזה במחיר של 1800 שקל לשנה (פלוס מע"מ).

מה אם אני מעוניין לשמור פרטי אשראי למקרה והלקוח ירצה לרכוש פריטים/מוצרים נוספים?

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

סולק צד שלישי יקר לי/לא מתאים לי ואני לא רוצה להיכנס להוצאות נוספות. אי אפשר להוזיל עלויות?

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

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

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

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

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