PracticU

קביעת סיסמאות עבור Setting a Password to MySQL

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › קביעת סיסמאות עבור Setting a Password to MySQL
מילון מושגים:
MySQL - מערכת ניהול מסדי נתונים יחסיים בקוד פתוח, נפוצה מאוד באתרים וביישומי אינטרנט.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
root - משתמש העל במערכות Linux, בעל הרשאות מלאות לכל פעולה. גם הרמה העליונה בעץ של תיקיות או נתונים.
Localhost - שם המפנה למחשב המקומי עצמו (כתובת 127.0.0.1), המשמש לבדיקת שירותים הרצים על אותו מחשב.
חשבון משתמש - זהות במערכת שמורכבת משם משתמש והרשאות, ומאפשרת למשתמש להתחבר ולפעול.
Northwind - מסד נתונים לדוגמה של מיקרוסופט, המדמה חברת מסחר ומשמש ללימוד ולהדגמת שאילתות SQL.
DELETE - פקודת SQL למחיקת שורות מטבלה. גם שיטת HTTP לבקשת מחיקה של משאב בשרת.
אדמיניסטרטור - משתמש בעל הרשאות הניהול הגבוהות ביותר במערכת, שיכול לשנות הגדרות, להתקין תוכנות ולנהל משתמשים אחרים.

קביעת סיסמאות עבור Setting a Password to MySQL
חיבור למסד נתונים עם המשתמש root ובלי סיסמה מסוכן, כי מי שמגיע לשרת יכול להתחבר אוטומטית. ההרצאה מראה איך יוצרים ב-MySQL משתמש ייעודי עם סיסמה ומעבירים את קובץ ה-production להשתמש בו.
מה הבעיה
בקבצי ההגדרות ההתחברות למסד הנתונים נעשית עם root וללא סיסמה. בפיתוח, על המחשב של המפתח, זה מקובל. בפרודקשן, בשרת אמיתי, זה לא מקובל. זו סיסמה אחת של מסד הנתונים עצמו, ולא של משתמש קצה.
השלבים העיקריים
1. כניסה ל-phpMyAdmin: נכנסים ל-User accounts ורואים כמה משתמשים בלי סיסמה, למשל root שמורשה להתחבר מ-localhost ומכתובות מקומיות.
2. משתמש חדש: לוחצים על Add user account ונותנים שם שלא חושף כלום, למשל "my coolest db ever", במקום Northwind. ה-host נשאר localhost.
3. סיסמה: אפשר ליצור סיסמה אקראית ולבדוק את חוזקה, או להזין סיסמה משלכם.
4. הרשאות: לא נותנים את כל ההרשאות. משאירים רק select, insert, update ו-delete, ומוסיפים export אם צריך, ומורידים הרשאות של אדמיניסטרטור כמו יצירת טבלאות.
5. קובץ ה-production: בקובץ ההגדרות של production מחליפים את root בשם החדש ואת הסיסמה הריקה בסיסמה. אחרי הרצה, האתר מתחבר, ואפשר לעבור בין development ל-production.
6. בדיקה שלילית: סיסמה שגויה גורמת לכך שהאפליקציה לא מצליחה להתחבר למסד הנתונים כבר בהרצה.
שימו לב
בפרודקשן אפשר למחוק (drop) את המשתמש root מהשרת האמיתי, כך שאף אחד לא יוכל להשתמש בו. בהרצאה הוא נשאר כי המרצה עובד לסירוגין בשני המצבים. ההדגמה היא ב-MySQL, וכל מסד נתונים אחר מגדיר זאת בדרך משלו.
אפשר עכשיו להגדיר למסד הנתונים בפרודקשן משתמש וסיסמה ייעודיים עם הרשאות מצומצמות.
השיעור הבא בקורס: גיבוב האשינג של סיסמאות משתמשים - Hashing User Password

פרקי ההרצאה: קביעת סיסמאות עבור Setting a Password to MySQL

  1. 00:00

    חיבור למסד עם root בלי סיסמה

  2. 00:58

    הגדרות שונות לפיתוח ולפרודקשן

  3. 01:36

    User accounts ב-phpMyAdmin

  4. 02:29

    יצירת משתמש חדש למסד

  5. 03:18

    סיסמה רנדומלית והרשאות

תמלול ההרצאה: קביעת סיסמאות עבור Setting a Password to MySQL

הטקסט המלא של הדקות הראשונות בהרצאה «קביעת סיסמאות עבור Setting a Password to MySQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:04

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

  2. 00:24

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

  3. 00:38

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

  4. 01:06

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

  5. 01:29

    וסיסמה ריקה כי זה נמצא כבר בשרת אמיתי שם אני כן רוצה להגדיר יוזר הגיוניים אז בואו נראה איך אנחנו עושים את זה זה מאוד פשוט אנחנו הולכים ל mysql הולכים לאייקון php myadmin ולuser accounts עכשיו שימו לב שבגלל שאני עובד כרגע עם mysql אז אני מראה את זה איך עושים ב mysql אבל כל דאטאבייס שאתם יכולים לעבוד איתו

  6. 01:54

    במשרד פיתוח או בתעשייה יש לו את הדרכים לבצע את זה בצורה שלו פשוט צריך לחפש איזה סרטון ביוטיוב אולי ולראות איך עושים את זה שם אז בואו נראה אנחנו הלכנו ל-user accounts ובאמת אנחנו רואים שיש פה כמה users ובכלל אין להם סיסמאות אנחנו רואים פה no, no, no והנה לדוגמה root יכול להתחבר עם localhost, localhost זה גם 27001 וזה גם 2.2.1 זה גם כן אומר IP מקומי אז לכן

  7. 02:24

    אנחנו רואים שיש אישור להיכנס לדאטאבייס בעזרת ה-usרים האלה אנחנו רוצים ליצור לעצמנו user חדש זה כמובן אנחנו עושים בדאטאבייס בפרודקשן add user account ואנחנו רוצים לתת לו כאן איזשהו שם בואו ניתן לו שם my coolest db ever איזשהו שם כמובן שהוא לא חושף שום נתונים לא חושף את השם northwind או משהו ואנחנו רוצים לגשת לפרודקשן ולשים פה במקום

  8. 03:06

    הרות my coolest db ever אנחנו כרגע לא נמצאים בהוסט אחר כלשהו עם איזה IP אדרס או שם מחשב אחר אלא לוקל אז אנחנו נשאיר את זה לוקל הוסט פסוורד בהחלט אנחנו רוצים יש לנו פה אפשרות to generate random password הנה המערכת ג'ינרטה לנו איזושהי סיסמה אנחנו יכולים כמובן לתת סיסמה משלנו שימו

  9. 03:31

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

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

ההרצאה הקודמת: Preventing Password Response

ההרצאה הבאה: גיבוב האשינג של סיסמאות משתמשים - Hashing User Password

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

  • ניהול אוטומטי של סיסמאות - עבור Service עם gMSA
  • change admin password
  • הרצאה על Azure MySQL
  • התקנה של mysql

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

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React