PracticU

הסבר על PAM - חלק 2

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › הסבר על PAM - חלק 2
מילון מושגים:
FTP - פרוטוקול להעברת קבצים בין מחשבים ברשת, בין לקוח לשרת.
root - משתמש העל במערכות Linux, בעל הרשאות מלאות לכל פעולה. גם הרמה העליונה בעץ של תיקיות או נתונים.
סיסמה - מחרוזת תווים סודית שמשמשת לאימות זהות המשתמש בעת כניסה למערכת. ככל שהיא ארוכה ומורכבת יותר, כך קשה יותר לנחש אותה.
סשן - פרק זמן של פעילות רציפה בין משתמש למערכת, שבו נשמר מידע על מצבו, למשל לאחר התחברות לאתר.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
SSH - פרוטוקול לחיבור מרוחק ומוצפן למחשב, בעיקר לשרתי Linux, לצורך ניהול דרך שורת הפקודה.

הסבר על PAM - חלק 2
אחרי שמתקינים את vsftpd נוצר בתיקיית PAM קובץ הגדרות משלו. בשיעור מיישמים את המנגנון על שירותים אמיתיים: הגבלת משתמשים ב-FTP, שינוי מדיניות ה-su, והודעה אחרי כניסה.
השלבים העיקריים
1. קובץ ה-FTP: קובץ ההגדרות של vsftpd כולל את המודול pam_listfile, שבודק רשימה של משתמשים. משתמשים שברשימה, כמו root, נחסמים מהכניסה דרך ה-FTP.
2. קבצים מפנים: הקובץ password-auth דומה ל-system-auth, בלי שורת טביעת האצבע, כי הוא אחראי להזדהות בסיסמה בלבד. שירותים רבים מפנים אליו, וגם קובץ sshd מפנה אליו. בקובץ של sshd יש גם בדיקה לקובץ nologin.
3. מדיניות su: בקובץ של su נמצא המודול pam_rootok, שמאפשר ל-root לעבור ליוזר אחר בלי סיסמה. הסרת השורה מחייבת הקשת סיסמה גם ל-root. ההגדרה משפיעה על su בלבד, ולא על שיטות כניסה אחרות.
4. הודעה אחרי כניסה: מודול pam_motd מציג הודעה אחרי כניסה, והוא נמצא בסעיף session. ההודעה תופיע רק בשירות שהמודול הופעל בו.
פקודות והגדרות
- pam_faillock סופר ניסיונות כניסה כושלים בתיקייה /var/run/faillock. הסף, זמן הנעילה ואפשרות הכללת root נקבעים בפרמטרים של המודול, ו-man pam_faillock מפרט אותם.
- faillock מציג את הניסיונות הכושלים של כל משתמש, ו-faillock --user <name> --reset מאפס את המונה.
טעויות נפוצות
נעילה בשורה הלא נכונה תיתן תוצאה לא צפויה. מודול הנעילה נקרא פעמיים: לפני האימות כדי לבדוק אם המשתמש נעול, ואחרי כישלון כדי לספור את הכישלון. הסעיף account אחראי גם לפתיחת הנעילה אחרי כניסה מוצלחת, ולכן מוסיפים בו מודול נוסף.
האפשרות silent לא כותבת שום הודעה, ומשמשת כדי שהמשתמש לא יבין למה נדחה. ההגדרה נעשית בקובץ ה-SSH בלבד, כך שנעילה ב-SSH אינה משפיעה על הכניסה מהקונסולה.
כל שירות יכול לקבל שרשרת אימות משלו.
השיעור הבא בקורס: הסבר על PAM - חלק 3
לחץ כאן להורדת הורדת קבצי Script של לינוקס שהיו בסרטים
מילון מושגים:
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מחיצה - חלוקה לוגית של דיסק פיזי לאזורים נפרדים, שכל אחד מתפקד כאילו הוא כונן עצמאי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.


מבנה ושמות דיסקים ומחיצות בלינוקס:


(Sda (disk0): זה הדיסק הפיזי הראשון (SATA DISK)

(Sda1,Sda2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי הראשון.

(Sdb (disk1): זה הדיסק הפיזי השני כמו בוינדוס Disk1

(Sdb1,Sdb2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי השני.

מחיצת השורש הראשונה:

וינדוס: C

לינוקס: /

מחיצות נוספות:

וינדוס: D: / E:

לינוקס: /data /example כמו תיקיות.

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

מטרת צירוף לינוקס לדומיין הינה לאימות משתמשים מתוך Active Directory בלבד ואין GPO  ללינוקס דרך AD.


הוכן ע"י התלמיד המצטיין: אברהים אבו שיכה

פרקי ההרצאה: הסבר על PAM - חלק 2

  1. 00:00

    המשך PAM: התקנת שירות FTP וקובץ ההגדרות

  2. 01:22

    מודול רשימת משתמשים חסומים ב-FTP

  3. 02:49

    קובץ password-auth ושירותים שמפנים אליו

  4. 04:28

    פקודת su ומודול הדילוג על סיסמה

  5. 05:55

    ביטול אישור אוטומטי של root ב-su

  6. 08:07

    התאמת הגדרות PAM לכל שירות בנפרד

  7. 09:17

    דוגמאות: הודעה, נעילה והגבלת זמנים

  8. 10:33

    הצגת הודעה למשתמש בכניסה ל-SSH

תמלול ההרצאה: הסבר על PAM - חלק 2

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

  1. 00:06

    אני ב-etc.pam.d ואני רגע אעשה ls כדי לראות את רשימת השירותים. למשל, אני אתקין עכשיו במערכת ftp.yam.stav.vsftp.d, אשר את ההתקנה שלו, ואז אני אראה שבעצם נוסף בין הקבצים של הפעם קובץ הגדרות עבור ה-ftp.

  2. 00:46

    אנחנו יכולים לראות שיש פה קובץ הגדרות עבור ה-SSH למשל, SSH, ועבור הפקודת SU, עבור פקודות סודו, כל אלה יש להם קובץ הגדרות נפרד. בואו נבחן רגע את הקובץ של ה-VSFT PD.

  3. 01:18

    כאן אנחנו רואים בעצם בסשן שאנחנו מייצרים K-NIT חדש, כמו שאמרתי שזה מודול שאחראי על אבטחה של הסשן, הקרנל וכאן בעצם שימו לב ב-out יש לנו ב-required מודול של פעם list file אשר בעצם מסתכל בקובץ etc vstpd vstpdusers ובעצם מה שאנחנו מחפשים שם זה את השדה של

  4. 01:56

    היוזר ואם אנחנו מוצאים כזה אז אנחנו עושים לו D-Night. למי שזוכר מהשיעור של ה-FTP, מה שמוגדר בקובץ הזה, זה משתמשים כמו רות, בין, דימון וכל מיני משתמשים שאנחנו לא רוצים שייכנסו דרך ה-FTP.

  5. 02:19

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

  6. 02:47

    כאן אנחנו רואים שיש לנו בעצם בסקשן של ה-out, שיש לנו include לקובץ חיצוני, לקובץ password מכף out, וגם הוא נמצא ב-pam.d ואם אנחנו נסתכל על התוכן שלו password.auth אנחנו נראה שהוא בעצם מאוד מאוד דומה ל-system.auth וההבדל הראשון שנשים לב אליו זה שאין כאן את השורה של הפינגרפרינט כי זהו בעצם קובץ שאחראי להזדהות באמצעות

  7. 03:32

    הסיסמה. אגב, הרבה שירותים מפנים לקובץ הזה, למשל אם אני אעשה cut על sshd, אני אראה שגם הקובץ של פעם של הsshd מפנה ל-password-out.

  8. 03:51

    כלומר, כאן יש לי כל מיני דברים שהם מיוחדים עבור ה-ssh, כמו שאני בעצם בוחר אותם להיות מיוחדים עבור ה-SSH, כמו פעם no-login, אשר ימנע את לוגין למערכת עם הקובץ ETC no-login קיים.

  9. 04:13

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

  10. 04:37

    למשל, אם אני אסתכל על הקובץ SU, ש-SU זאת פקודה בעצם סוויץ' יוזר, אז מי שעובד עם המערכת, בוודאי שהוא שם לב שכאשר הוא עובד בתורות והוא מנסה לעבור ליוזר כלשהו, אז הוא לא נדרש בעצם לסיסמה מאותו היוזר.

  11. 05:02

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

  12. 05:35

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

  13. 05:55

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

  14. 06:07

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

  15. 06:57

    כמובן שאני עכשיו אצא מהמערכת, ובואו נראה שאני מחזיר את זה. איך אני עושה חזרה? אני עושה vi לקובץ seo, ואני מחזיר בחזרה את השורה הזאת של פעם root אוקיי.

  16. 07:25

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

  17. 07:56

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

  18. 08:22

    למשל, אני יכול שדרך הקונסול משתמשים יתחברו בצורה מסוימת. ודרך SSH הם יתחברו עם איזה שהם הגדרות אחרות כדי שיעשו SU, אז אני יכול לקבוע הגדרות שונות ל-SU.

  19. 08:44

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

  20. 09:15

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

  21. 09:39

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

  22. 10:03

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

  23. 10:27

    בעצם התרגיל הראשון שאנחנו נעשה, הדגמה הראשונה, אנחנו נגרום למערכת להציג הודעה כאשר מתחברים ב-SSH. ההודעה הזאת תוצג לכל המשתמשים, ומה שאנחנו נעשה, אנחנו נערוך בעצם את הכובד של ה-SSH, V-I-SSH-D, בתוך ספריית ה-PAM.D כמובן, ואנחנו מדברים על הסקשן של סשן, אוקיי?

  24. 11:09

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

  25. 11:32

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

  26. 11:58

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

  27. 12:24

    אנחנו ניתן לו כפרמטר מוט d שווה ל... נגיד נקרא להודעה slash etc /usr == msg יפה מאוד נשמור את הקובץ הזה נשמור את הקובץ פאם של sshd ונערוך את הקובץ שבו אנחנו נשים את ההודעה נראה רגע איך בדיוק קראתי לו sshd ETC-USR-Message, נעשה לו UI, נראה לו, נרשום שכאן הודעה, ושנגמרתי את הקובץ,

  28. 14:06

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

  29. 14:33

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

  30. 14:54

    דייוויד, סיסמה, ואנחנו נכנסים למערכת בעצם

לקורס המלא: קורס לינוקס מתקדם אונליין

ההרצאה הקודמת: הסבר על PAM - חלק 1

ההרצאה הבאה: הסבר על PAM - חלק 3

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

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell