PracticU

Red Hat 7 - Firewall Zones

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › Red Hat 7 - Firewall Zones
מילון מושגים:
חומת אש - מערכת שמסננת תעבורת רשת לפי כללים, ומתירה או חוסמת חיבורים כדי להגן על מחשב או רשת.
Linux - מערכת הפעלה בקוד פתוח מבוססת ליבת Linux, נפוצה מאוד בשרתים וקיימת בהפצות רבות כמו Ubuntu.
CentOS - הפצת Linux ארגונית חינמית שהתבססה על Red Hat Enterprise Linux ושימשה נפוצות בשרתים.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
netstat - פקודה שמציגה את חיבורי הרשת הפעילים במחשב ואת הפורטים שבשימוש.
פורט - מספר שמזהה שירות או תהליך מסוים בתוך מחשב, ומאפשר לכוון תעבורת רשת ליעד הנכון. למשל פורט 80 ל-HTTP.

Red Hat 7 - Firewall Zones
הפיירוול בגרסה 7 של Red Hat Enterprise Linux ו-CentOS פועל אחרת מהגרסאות הקודמות. המערכת עוטפת את ה-iptables בשירות בשם firewalld, והחוקים מאורגנים לפי אזורים (zones).
השלבים העיקריים
1. אזורים (zones): לכל כרטיס רשת אפשר לשייך אזור, למשל אזור לרשת הביתית ואזור לרשת המשרד. לכל אזור הגדרות פיירוול משלו, והשיוך נעשה בעמודת ה-Identity בממשק.
2. בדיקת שרת HTTP: השרת מופעל עם systemctl start httpd, ובעזרת netstat -tln רואים שהוא מאזין לפורט 80. הדף נטען מקומית, אך מחשב אחר ברשת לא מצליח להתחבר, כי הפיירוול חוסם את התעבורה.
3. פתיחת השירות: בממשק firewall-config מסמנים את השירות HTTP באזור Public. השינוי נכנס לתוקף מיד, והדף נפתח מהמחשב האחר.
4. Runtime מול Permanent: הגדרה ב-Runtime חלה באותו רגע ונעלמת לאחר זמן. הגדרה ב-Permanent נשמרת, ומתחילה לחול מהאתחול הבא.
פקודות והגדרות
- firewall-cmd --get-active-zones מציג את האזורים הפעילים ואת הכרטיסים המשויכים אליהם.
- firewall-cmd --list-services מציג את השירותים המותרים באזור ברירת המחדל.
- firewall-cmd --add-service=http מוסיף שירות. אפשר להוסיף --timeout=10 כדי שהשינוי יחזור לקדמותו לאחר זמן קצוב, או --permanent כדי לשמור אותו לאתחולים הבאים.
שימו לב
firewalld ו-iptables מתנגשים זה בזה, ולכן אין להפעיל את שניהם יחד. המעבר ל-iptables טהור נעשה כך: עוצרים את firewalld, מבטלים את הפעלתו ומסמנים אותו כ-mask, ואז מפעילים את שירות ה-iptables. המעבר חזרה לפיירוול נעשה בסדר ההפוך.
הממשק הטקסטואלי של firewalld נוח ואינטואיטיבי יותר מניהול ישיר של כללי iptables, והוא מאפשר לערוך חוקים בצורה דינמית, זמנית או קבועה.
לחץ כאן להורדת הורדת קבצי 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.


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

פרקי ההרצאה: Red Hat 7 - Firewall Zones

  1. 00:00

    מבוא: Firewalld ואזורי הרשת (Zones)

  2. 00:38

    שיוך כרטיס רשת לאזור (Zone)

  3. 01:18

    הפעלת שרת HTTP לבדיקת החסימה

  4. 04:39

    ממשק Firewall-config והגדרת שירותים

  5. 06:12

    הבדל בין Run-time ל-Permanent

  6. 06:55

    firewall-cmd: בדיקת Zones ושירותים פעילים

  7. 08:09

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

  8. 08:45

    Timeout: שינוי זמני שחוזר לקדמותו

תמלול ההרצאה: Red Hat 7 - Firewall Zones

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

  1. 00:01

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

  2. 00:24

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

  3. 00:42

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

  4. 01:01

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

  5. 01:30

    כרגע אני מפעיל את שרת ה-HTTP על המערכת, בעזרת הפקודה SystemCTL כמובן, SystemCTL Start HTTPD, אוקיי? השרת HTTPD יעלה ואנחנו נבדוק את הסטטוס שהוא אכן עלה, אוקיי?

  6. 01:58

    כאן ניתן לראות שהשרת אכן עלה ולמעלה. נבדוק בעזרת נטסטאט שהשרת מאזין על פורט 80. נטסטאט מינוס tnl, t for tcp, n שיציג כמספרים ו-l את הליסנינג.

  7. 02:18

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

  8. 02:47

    הקובץ מכיל בתוכו Hello World HTML, פשוט טקסט כדי שאפשר יהיה לראות, הקובץ נמצא ב-VAR www.html, שזה בעצם הבסיס של שרת ה-Web, למי שזוכר מהסרטונים הקודמים.

  9. 03:04

    עכשיו אני בודק את כתובת ה-IP של השרת, או בעזרת הפקודה IPADDR ברדט, אינטרפזינוג 7 או סנטוס 7 לא תמיד תהיה קיימת הפקודה ifconfig, לכן מומלץ גם להכיר את הפקודה IP היטב.

  10. 03:23

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

  11. 03:45

    ואכן העמוד נטען. עכשיו בואו נראה האם אני מצליח לטעון את העמוד מהדפדפן אצלי במערכת. אני מפעיל את הדפדפן ונכנס לכתובת כאמור 192, 168, 1.8 ואני שהשרט לא מצליח להתחבר הדפדפן לשרת.

  12. 04:18

    אוקיי, עכשיו הולכים לפתוח את ה-GUI שמאפשר שליטה על המנגנון של ה-Firewall-D. עושים את זה בעזרת הפקודה Firewall-Config. קיימת גם פקודה Firewall-CMD שאנחנו נדבר עליה בהמשך הסרטון.

  13. 04:38

    וכאן אנחנו מגיעים ל-GUI של הגדרת ה-Firewall. אנחנו רואים כאן את הזונים ואת הסרוויסים שמשויכים לאותו זון. למטה אנחנו רואים את ה-Default Zone שבמקרה הזה הוא ה-Public.

  14. 04:55

    כאשר לכרטיס רשת מסוים מוגדר ה-Default Zone אז הוא יפנה אותו ל-Public Zone שאנחנו רואים שהוא נבחר בצד שמאל. כרגע ה-HTTP לא נבחר ואנחנו הולכים ללחוץ עליו.

  15. 05:10

    שימו לב למטה שמופיע Change Apply. הפיירוול D משנה דינמית את ההגדרות של הפיירוול, וככה למעשה כל שינוי של הגדרה שאנחנו עושים הוחל באותו הרגע.

  16. 05:26

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

  17. 05:39

    בואו נראה אם אנחנו מורידים את ה-v הזה, אם זה עדיין עובד, נעשה refresh לדף. שימו לב, מנסה לעשות קונקטינג ולא מתחבר. אם אני עושה back ו-forward עדיין לא מצליח להתחבר לדף.

  18. 06:09

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

  19. 06:25

    פה גם כן אני יכול לבחור את שירות ה-HTTP וכך גם הקונפיגורציה תישמר לי מבוט לבוט. לסיכום, קונפיגורציית run time משפיעה באותו הרגע וקונפיגורציית פרמננט היא בעצם תשפיע החל מה-reboot הבא.

  20. 06:53

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

  21. 07:10

    למשל, אני רוצה לראות את כל הזונים, את כל האזורים שכרגע פעילים על השרת. אני רושם את הפקודה firewall.cmd עם הפקודה - - Get Active Zones. כאן אני אראה את השם של הזון ועל איזה כרטיס או כרטיסים פעילים כרגע ה-Zone Public פעיל רק על הכרטיס רשת הראשי NP-01S3 כאשר למשל אני

  22. 07:43

    ארצה לראות איזה סרוויסים מאופשרים לי במערכת אני ארשום firewall.cmd == List Services ואז התוצאה שאני אקבל הפלט יהיה רשימת הסרוויסים שפועלים אצלי כרגע ומאופשרים ב-Default Zone.

  23. 08:09

    כמו שאמרנו, ה-Default Zone שלי הוא Public, לכן אני לא צריך לכתוב את ה-Zone. להוסיף סרוויס ממש ממש פשוט. כל מה שאני צריך לרשום זה נקודה של Add Service.

  24. 08:25

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

  25. 08:45

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

  26. 09:08

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

  27. 09:23

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

  28. 10:03

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

  29. 10:21

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

  30. 10:37

    כדי לחזור לעבוד עם IP טייבלס טהור, מה שאנחנו עושים, אנחנו קודם כל מבטלים את ה-firewalld, אוקיי, על ידי הפקודה systemctl stop firewalld, systemctl,

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

ההרצאה הקודמת: Red Hat 7 - Network Manager

ההרצאה הבאה: container

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

  • Regions and Zones
  • AWS REGIONS & ZONES
  • פתיחת פורטים ב-Firewall - חלק 1
  • סיכום ב-3 דקות - חוקים ב-Firewall

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

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