PracticU

ניהול שרת IPA

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

ניהול שרת IPA
אחרי שהותקן שרת IPA והלקוחות חוברו אליו, אפשר לנהל בו מבנה ארגוני של משתמשים, קבוצות ושרתים ולקבוע מי מתחבר לאן ומי מריץ מה עם sudo. ההרצאה בונה זאת צעד אחר צעד.
השלבים העיקריים
1. משתמשים וסיסמאות: מוסיפים את דניאל, אילון ופרנק עם סיסמה זמנית שמוחלפת בכניסה הראשונה. תחת Policy ואז Password policies מגדירים מדיניות גלובלית של תוקף (למשל 90 יום), אורך מינימלי וכמה כשלונות רצופים עד חסימה. אפשר ליצור מדיניות שונה לסוגי משתמשים.
2. קבוצות משתמשים: Management (אנדי, כרמל, אילון) ו-Employees (בוב, דניאל, פרנק), וקבוצות מקצועיות Sales, Support ו-Engineers. אחרי sss_cache -E ו-id רואים את השיוך במערכת.
3. קבוצות שרתים: סיסטם 1 בקבוצה production, סיסטם 2 בקבוצה development, וסיסטם 3 הוא שרת ה-IPA.
4. Host Based Access Control: כלל ברירת המחדל "allow all" מאפשר לכולם הכול. מבטלים אותו, ואז כל כלל חדש מגדיר מי, לאן, ודרך איזה שירות. נוצרו כללים ל-Engineers (שרתי development בלבד), ל-Support (כל השרתים), ל-Sales (שרתי production) ול-admins (כל שרת). נוסף גם כלל אישי לאנדי, לסיסטם 1 ו-2 בלבד.
5. שירותים: אפשר להגביל כלל לשירותים מסוימים, למשל SSH או FTP, ולאגד שירותים לקבוצה.
6. בדיקת הכללים: מנגנון HBAC test מראה אם גישה אושרה או נדחתה ואיזה כלל אישר אותה, בלי להתחבר בפועל.
7. כללי sudo: תחת Sudo ואז Sudo Rules מגדירים למי מותר, על אילו שרתים, אילו פקודות ובאיזה משתמש להריץ. לאנדי הותר כל דבר כ-root. לקבוצת Support הותר sudo בכל השרתים.
8. קבוצת פקודות: ל-Engineers הותרו על שרתי הפיתוח רק הפקודות /bin/id ו-/bin/date, שאוגדו ב-Sudo Commands לקבוצה אחת. פקודה אחרת כמו ls נדחתה.
שימו לב
1. כדי שהשינוי ייכנס מיד אפשר להריץ sss_cache -E ולהפעיל מחדש את sssd עם systemctl restart sssd. אחרת צריך לחכות כמה דקות.
2. כשביטלו את כלל ה-allow all, גם האדמין איבד גישה, ולכן צריך כלל מפורש לאדמינים.
3. בכלל sudo שנוצר בטעות על admin במקום אנדי, תיקנו את המשתמש.
אחרי ההרצאה תוכלו להגדיר ב-IPA מי מתחבר לאיזה שרת ומה מותר לו להריץ עם sudo.
לחץ כאן להורדת הורדת קבצי 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.


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

פרקי ההרצאה: ניהול שרת IPA

  1. 00:00

    הוספת משתמשים וסיסמה זמנית

  2. 01:34

    מדיניות סיסמאות Password Policy

  3. 02:54

    קבוצות מנהלים ועובדים

  4. 04:30

    קבוצות מקצועיות Sales, Support ו-Engineers

  5. 05:50

    חלוקת השרתים לקבוצות Production ו-Development

  6. 07:22

    מדיניות Host-Based Access Control

  7. 08:55

    פוליסה ל-Engineers לשרתי Development

  8. 12:37

    פוליסת אדמין וחריגה למשתמש בודד

תמלול ההרצאה: ניהול שרת IPA

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

  1. 00:02

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

  2. 00:18

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

  3. 00:40

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

  4. 01:06

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

  5. 01:21

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

  6. 01:45

    כאן בעצם יש לי global policy שמגדיר את ברירת המחדל מה הדרישות מהסיסמה שהמשתמשים חייבים להאזין. בעצם כאן יש לי למשל לכמה זמן הסיסמה תהיה.

  7. 02:00

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

  8. 02:26

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

  9. 02:54

    עכשיו אנחנו רוצים ליצור קבוצות ולחלק את המשתמשים שלנו למנהלים ועובדים. אז בעצם נעשה כזה דבר, אנחנו נחליט שאנדי, כרמל ואילון יהיו המנהלים שלנו. אז אני הולך ל- Groups ויוצר פה גרופ חדש שנקרא Management Add and Edit, וכאן אני אבחר את המשתמשים שלי.

  10. 03:23

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

  11. 03:41

    מצוין, בואו נראה איך השינוי הזה משתקף במערכת. תחילה אני אריץ את הפקודה ssscash == e == הפקודה הזאת בעצם תעדכן את הרשומות במערכת, זהו תהליך שקורה גם בלי הרצאה של הפקודה כל כמה דקות.

  12. 03:58

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

  13. 04:11

    ועכשיו אני אעבור למשתמש nd, su-nd, ואני אריץ את הפקודה id כדי לראות לאיזה קבוצות המשתמש שייך, ואני רואה שבעצם נוספה למשתמש הזה הקבוצה Management.

  14. 04:27

    עכשיו אני אעשה אותו דבר עם המשתמש בוב ID, ואני רואה שבוב שייך לקבוצה של Employees. עכשיו בואו ניצור את הקבוצות האחרות שאנחנו רוצים. אני אעבור לקבוצות, ואנחנו עכשיו עשינו חלוקה למנהלים ועובדים.

  15. 04:44

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

  16. 05:19

    אני אוסיף את המשתמשים אילון ופרנק. מעולה, עכשיו יצרתי את המבנה הארגוני שלי, ובואו נראה איך הוא משתקף במערכת. מתחיל את ה... עושה ריסט לקאש, sss cache-e ו-sue-nd id, ורואה כאן שהוא גם בקבוצה של מנג'מנט וגם בקבוצה של סיילס.

  17. 05:50

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

  18. 06:18

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

  19. 06:49

    אחת כבר נוצרה, קבוצה של ה-EPA servers שיש שם את System 3 ויש לי קבוצה אחת של Production וקבוצה אחת של Development. מבחינת קבוצות הארגוניות יש לי קבוצה של Management וקבוצה של Employees וכמו כן יש לי גם קבוצה של Engineers, Support ו-Sales.

  20. 07:12

    עכשיו בעצם המבנה הארגוני שרציתי הוא קיים על שרת ה-EPA וכמו שראינו הוא משתקף בתוך המערכות. עכשיו מה שאנחנו נעשה, אנחנו נשתמש ביכולות ה-policy של המערכת כדי לקבוע מדיניות למי מותר לעשות מה על גבי השרתים האלה.

  21. 07:35

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

  22. 07:54

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

  23. 08:19

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

  24. 08:42

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

  25. 08:57

    ואנחנו מתחילים כאן ואנחנו בעצם ניצור כאן פוליסי של ה-Engineers. כאן זה ה-Engineers, מכף תחתון, P-Add and Edit. וכאן אנחנו בעצם קובעים למי מותר.

  26. 09:12

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

  27. 09:31

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

  28. 09:53

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

  29. 10:08

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

  30. 10:27

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

  31. 10:45

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

  32. 11:19

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

  33. 11:52

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

  34. 12:09

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

  35. 12:33

    סייב מעולה וכרגע נשאר לנו להוסיף רק פוליסה אחת חשובה נוספת כי יש לנו בעצם פוליסה ל-allow all שביטלנו אותה ויצרנו פוליסות מיוחדות אבל חסרה לנו הפוליסה של האדמין שמקודם המשתמש אדמין היה מכוסה בפוליסה הכוללת של allow all וכרגע אין לו כיסוי אז אנחנו נוסיף בעצם פוליסה אדמין ולכאן אנחנו נגיד who admins שיכולים להתחבר

  36. 13:08

    ל-any host ב-any service ואני שומר את הפוליסה הזאת. יש לנו עכשיו פוליסה שמטפלת בסיילס, פוליסה שמטפלת בספורט ופוליסה שמטפלת באנג'ינירס ופוליסה שמטפלת במשתמשים אדמיניסטרטיביים.

  37. 13:28

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

  38. 13:43

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

  39. 13:57

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

  40. 14:26

    לו את היכולת להיכנס גם לסיסטם 1 וגם לסיסטם 2 אז אני עושה ssh [email protected] מצוין נכנסתי ועכשיו לסיסטם 2 אני בודק ולסיסטם 2 אני לא יכול עדיין להיכנס, כנראה שאני צריך לעדכן, לחכות שהפוליסה תתעדכן,

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

ההרצאה הקודמת: התקנה של IPA

ההרצאה הבאה: שחזור נתונים בלינוקס - חלק 1

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

  • ניהול OU
  • צד שרת
  • מה זה שרת ?
  • ניהול סיכונים

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

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