PracticU

אבטחה - MVC Security - חלק 7

בלי כתוביותעם כתוביות
PracticU › קורס MVC › אבטחה - MVC Security - חלק 7
מילון מושגים:
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
הצפנה - המרת מידע לצורה בלתי קריאה בעזרת מפתח, כך שרק מי שמחזיק במפתח המתאים יכול לפענח ולקרוא אותו.
סיסמה - מחרוזת תווים סודית שמשמשת לאימות זהות המשתמש בעת כניסה למערכת. ככל שהיא ארוכה ומורכבת יותר, כך קשה יותר לנחש אותה.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
האש - פונקציה שממירה מידע לערך קצר באורך קבוע. שינוי קטן בקלט משנה את התוצאה, והיא חד-כיוונית.
SHA - משפחת פונקציות האש קריפטוגרפיות, המשמשות לאימות שלמות מידע ולחתימות דיגיטליות.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
חולשה - פגם או חולשה במערכת או בתוכנה שעלול לאפשר פגיעה באבטחה אם לא יטופל.

אבטחה - MVC Security - חלק 7
הרצאה על הצפנה של סיסמאות משתמשים לפני שמירתן במסד הנתונים, ולמה שמירה בטקסט גלוי היא סיכון.
השלבים העיקריים
1. הבעיה בטקסט גלוי: סיסמה שנשמרת כמו שהיא נגישה לכל מי שיש לו גישה למסד הנתונים, כמו מנהל השרת, מנהל מסדי הנתונים או מי שמתחזק את המערכת, ולכן לא מקובל לשמור אותה כך.
2. הצפנה חד-כיוונית: בשמירה הסיסמה עוברת פונקציית גיבוב (hash), למשל SHA-1 במימוש של FormsAuthentication.HashPasswordForStoringInConfigFile. אי אפשר לחזור ממנה לסיסמה המקורית.
3. בדיקה בכניסה: בכל כניסה מצפינים את הסיסמה שהמשתמש הקליד ומשווים את התוצאה לערך השמור. הסיסמה המקורית לא נשמרת.
4. חולשת המימוש: אותה סיסמה נותנת תמיד את אותו ערך מוצפן. לכן מי שמכין מילון של סיסמאות נפוצות ומצפין אותן מראש יכול לזהות סיסמאות נפוצות ממסד נתונים שדלף.
שימו לב
המרצה מדגים שאתרים מסוימים מזהים סיסמה נפוצה לפי ערך מוצפן, בדיוק בגלל החולשה הזאת. לכן כדאי לבחור סיסמה ארוכה שמשלבת אותיות גדולות וקטנות, ספרות ותו מיוחד.
בסיום יודעים לשמור סיסמאות בצורה מוצפנת ולבדוק את הכניסה מול הערך המוצפן בלבד.
השיעור הבא בקורס: ממשק מותאם למובייל jQuery Mobile
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).

להורדת קוד מקור של כל הדוגמאות בקורס MVC – לחץ כאן


פרקי ההרצאה: אבטחה - MVC Security - חלק 7

  1. 00:00

    למה להצפין את סיסמת המשתמש

  2. 00:34

    סיסמה כ-Plain Text במסד הנתונים

  3. 01:30

    נקודת ההרשמה בפעולת Register

תמלול ההרצאה: אבטחה - MVC Security - חלק 7

הטקסט המלא של הדקות הראשונות בהרצאה «אבטחה - MVC Security - חלק 7» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:15

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

  2. 00:32

    הסיבה היא כי אם אנחנו לא נצפין את הסיסמה שלו היא תתכנס למסד הנתונים as is מה שנקרא בשפה המקצועית plain text. אז מה הבעיה עם זה? ליותר מדי אנשים יש גישה למסד הנתונים שנמצא בשרת, זה יכול להיות המנהל של השרת, זה יכול להיות העוזר שלו, האיש DBA, תחזוקה,

  3. 00:58

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

  4. 01:21

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

  5. 01:44

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

לקורס המלא: קורס MVC אונליין בעברית

ההרצאה הקודמת: אבטחה - MVC Security - חלק 6

ההרצאה הבאה: ממשק מותאם למובייל jQuery Mobile

הרצאות קשורות מקורסים אחרים

  • הסבר על MVC
  • Security Groups - חלק 1
  • אבטחה עם VM Templates
  • מושגי יסוד ב-Security

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס Git ו-GitHub עם Visual Studio