PracticU

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

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

הסבר על PAM - חלק 3
ההדגמה בשיעור הזה משתמשת ב-PAM כדי להגביל גישה ל-FTP לשעות מסוימות. בהמשך נבחנת מדיניות סיסמאות בעזרת cracklib ו-pam_unix.
השלבים העיקריים
1. הכנת FTP: עוצרים את iptables ובודקים את הערך של SELinux עבור ftp_home_dir עם getsebool ftp_home_dir. אם הוא כבוי, מפעילים אותו עם setsebool ftp_home_dir on. לאחר מכן מפעילים את vsftpd ובודקים שאפשר להתחבר ולראות את תיקיית הבית של המשתמש.
2. הוספת pam_time: בקובץ ה-PAM של vsftpd מוסיפים בסעיף account את המודול pam_time עם דרישה required.
3. קובץ time.conf: הקובץ /etc/security/time.conf נקרא על ידי המודול. בכל שורה: שם השירות, ה-TTY, שם המשתמש והזמנים המותרים. Al מציין את כל הימים ו-Wk את סוף השבוע. בדוגמה נקבעה גישה מ-08:00 עד 19:00, ולאחר מכן ניסיון כניסה בשעה 23:00 נחסם, ובשינוי נקבע עד 23:30.
4. הגבלה לשירות מסוים: אם רוצים זמנים שונים לכל שירות, כותבים בשדה הראשון את שם השירות במקום כוכבית. בדוגמה ההגדרה ל-sshd לא נכנסה לתוקף, כי מודול pam_time לא הופעל בקובץ ה-PAM של sshd.
איך זה עובד
ההגדרה ב-time.conf לא נאכפת לבד. המודול צריך להיות מופנה בקובץ ה-PAM של השירות, בסעיף account, ואז הבדיקה מתבצעת לאחר שהאימות הצליח.
טעויות נפוצות
שירות שאין לו מודול pam_time בקובץ שלו לא יאכוף את ההגבלה, גם אם יש לו שורה בקובץ time.conf.
שימו לב: מדיניות סיסמאות
בהחלפת סיסמה ביוניקס, המודול pam_cracklib בודק את חוזק הסיסמה. בדוגמה נדחו הסיסמאות dog ו-cat, והמערכת הציגה שהסיסמה מבוססת על מילה במילון. ניתן להגדיר במודול את האורך המינימלי, מספר הניסיונות החוזרים (retry), ואת הקרדיטים לאותיות, למספרים ולסימנים.
כאשר מסירים את הבדיקה מהשרשרת ומשנים את ההגדרה של pam_unix, המערכת מקבלת סיסמה קצרה או מילונית. לכן יש לשמור על סדר נכון של השורות בסעיף password.
השיעור מדגים שלכל שירות ניתן להגדיר הגבלה משלו, ולכן כדאי לתרגל את הדוגמאות בסביבת מעבדה.
השיעור הבא בקורס: התקנה של IPA
לחץ כאן להורדת הורדת קבצי 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 - חלק 3

  1. 00:00

    מבוא: הגבלת FTP לשעות מסוימות

  2. 01:14

    הפעלת בוליאן SELinux לגישת FTP

  3. 03:05

    יצירת קובץ בתיקיית הבית לבדיקה

  4. 05:07

    עריכת vsftpd עם מודול pam_time

  5. 07:00

    קובץ time.conf והסינטקס שלו

  6. 08:54

    הגבלת כניסה לכולם חוץ מ-root לפי שעות

  7. 10:05

    הגדרת ימים ושעות בקובץ ההגבלות

  8. 12:38

    זמנים נפרדים לכל שירות

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

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

  1. 00:08

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

  2. 00:26

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

  3. 00:50

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

  4. 01:30

    אז הדבר הכי פשוט יהיה לבטל אותו, אבל פה לצורך העניין, מה שאני הולך לעשות, אני פשוט הולך להפעיל את הבוליאן ולאפשר גישה. אני אעשה get se-bull-a-grap-ftp, אוקיי, ftp-home-deer, כרגע הוא באוף, אני אעשה set-se-bull-ftp-home-deer-on, אוקיי, והנה אני רואה שהוא השתנה, וזה בעצם מה שאני צריך.

  5. 02:33

    עכשיו אני הולך לעשות סטארט לשירות של ה-FTP, B, S, FTP, D. פרוויס כמובן, מה יהיה? פרוויס B, S, FTP, D. אוקיי, עכשיו תיאורטית אני צריך, צריכה להיות לי את היכולת להתחבר ולראות את תיקיית הבית של המשתמש.

  6. 03:13

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

  7. 03:50

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

  8. 04:35

    ה-IP של השרת, מזין את הסיסמה הנכונה של המשתמש, ויש לי את הקובץ, כן, ואני רואה פה שיש לי את התוכן ששמתי בפנים.

  9. 04:51

    יפה מאוד, הצלחתי להתחבר. אוקיי, עכשיו בואו נתחיל לעבוד על הפעם. TC, פעם, נקודה, D. אוקיי, אני עורך את קובץ ה-VSFTPD, ומה שאני הולך להוסיף לקובץ זה בעצם בשורה של האקאונט עם הפרמטר Required.so, זהו המודול שמטפל בזמנים.

  10. 05:55

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

  11. 06:34

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

  12. 07:00

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

  13. 07:14

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

  14. 07:57

    מגדיר מספר שדות, כאשר השדה הראשון הוא השדה של הסרוויס. כרגע לצורך ההדגמה אני אעשה את זה אותו כוכבית. בין היתר זה יתפוס גם את ה-FTP, כמובן שזה נוגע לסרוויסים שמפעילים את הקובץ under score time רק הוא זה שקורא את הקובץ הזה כל הסרוויסים כאן בעצם השדה השני נקודה פסיק ביניהם זה בעצם ה-TTY בעצם הטרמינל שממנו מתבצעת הפעולה

  15. 08:40

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

  16. 09:20

    אז יש פה פורמט של זמנים שאפשר לראות אותו, בעצם בתחילת הקובץ, שפה הוא בדיוק מפרט לגבי הזמנים Monday, Tuesday, Thursday, Friday, Saturday, Sunday, WK זה בעצם, אתם יכולים לראות פה את ההגדרה המדויקת, כאשר ה-AL מתייחס לכל הימים, וה-WD מתייחס לוויקנד, אוקיי?

  17. 10:14

    אז אני ארשום פה לצורך העניין בשורה שלי שאני רוצה על כל הימים AAL משעה נגיד 8 בבוקר, 8.00 עד 19.00 שתהיה גישה, אוקיי? אני אשמר את הקובץ ובואו ננסה להתחבר.

  18. 11:13

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

  19. 12:12

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

  20. 12:35

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

  21. 13:02

    ולמשל, אני הולך לעשות עוד שורה כזאת, עבור הגדרות של sshd שבו אני הולך להגיד למשל לאפשר את זה משעה 9 עד 18.00 ואת זה אני הולך לעשות לssh אוקיי רשמתי את הקובץ עכשיו אני עושה דופליקייט לסשן מה דעתכם ההגדרה תתפוס או לא תתפוס מן הסתם ההגדרה לא תפסה וזה קרה מהסיבה הפשוטה שאנחנו לא

  22. 13:59

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

  23. 14:27

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

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

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

ההרצאה הבאה: התקנה של IPA

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

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