PracticU

שיטות אחרות לחסימת פורטים בלינוקס

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › שיטות אחרות לחסימת פורטים בלינוקס
מילון מושגים:
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
SELinux - מנגנון אבטחה ב-Linux שאוכף מדיניות בקרת גישה מחמירה על תהליכים וקבצים.
SSH - פרוטוקול לחיבור מרוחק ומוצפן למחשב, בעיקר לשרתי Linux, לצורך ניהול דרך שורת הפקודה.
ספרייה - אוסף קוד מוכן, כמו פונקציות ומחלקות, שמפתחים משתמשים בו בתוכניותיהם במקום לכתוב הכול מחדש.
חומת אש - מערכת שמסננת תעבורת רשת לפי כללים, ומתירה או חוסמת חיבורים כדי להגן על מחשב או רשת.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
UDP - פרוטוקול תקשורת מהיר ללא אישור קבלה, המתאים לשידורי וידאו, קול ומשחקים שבהם מהירות חשובה מאמינות.
NAT - מנגנון שמתרגם כתובות IP פרטיות לכתובת ציבורית אחת, כדי לאפשר למחשבים ברשת פנימית לגשת לאינטרנט.

שיטות אחרות לחסימת פורטים בלינוקס
השיעור מציג שלוש דרכים נוספות לשלוט בגישה לשירותים בלינוקס: TCP Wrappers, חומת האש של IPTables דרך ממשק גרפי, ו-SELinux שמגביל פורטים לכל סוג שירות.
TCP Wrappers
1. הקבצים: /etc/hosts.allow ו-/etc/hosts.deny. יש לא להתבלבל עם קובץ hosts הרגיל, שמגדיר שמות שרתים.
2. סדר הפעולה: קודם בודקים את hosts.allow. אם יש בו אישור לשירות, הוא מותר גם אם ב-hosts.deny הוא חסום.
3. דוגמה: שורה ב-hosts.deny שחוסמת את כל השירותים מהרשת 192.168.1 מונעת חיבור SSH. כשמוסיפים כתובת ספציפית ל-hosts.allow, מותר רק למחשב הזה.
4. נקודה בסוף כתובת: נקודה בסוף כתובת רשת מתייחסת לכל הכתובות שמתחילות בחלק הזה.
5. מקום הבדיקה: הספרייה של הרשת בודקת את החיבור לפני שהוא מועבר לאפליקציה, כך שהתעבורה מגיעה לשרת אבל לא מגיעה ליעדה.
חומת אש בממשק הגרפי
1. הכלי: system-config-firewall מציג רשימה של שירותים מוכרים. אפשר לסמן HTTP ולהוסיף פורט ידני לפי TCP או UDP.
2. כרטיסים מהימנים: אפשר לקבל את כל התעבורה מכרטיס רשת מסוים.
3. Masquerading: אפשרות שמאפשרת NAT ומסתירה רשת מאחורי כתובת אחת.
SELinux ופורטים
1. הרעיון: SELinux מונע מאפליקציה להאזין לפורט שלא הוגדר לסוג השירות שלה.
2. הדגמה: שינוי הפורט שבו HTTPD מאזין ל-100 נכשל עם permission denied, בגלל SELinux.
3. בדיקה: getenforce מציג את המצב, ו-semanage port -l מציג את הפורטים המותרים לכל סוג.
4. הוספת פורט: semanage port -a -t http_port_t -p tcp 100 מוסיף את הפורט לסוג http_port_t. העדכון לוקח זמן כי הוא משנה את המדיניות.
5. הסרה: semanage port -d -t http_port_t -p tcp 100 מוציא את הפורט מהרשימה.
שימו לב
כשחסימה מגיעה משכבה אחת, ייתכן שהבעיה נמצאת בשכבה אחרת. לכן בודקים את החומה, את TCP Wrappers ואת SELinux לפי הסדר.
בתום השיעור הסטודנט מכיר שלוש דרכים לשלוט בגישה לשירותים, ויודע לאתר איזו שכבה חוסמת את התעבורה.
השיעור הבא בקורס: SELinux
לחץ כאן להורדת הורדת קבצי 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.


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

פרקי ההרצאה: שיטות אחרות לחסימת פורטים בלינוקס

  1. 00:00

    מבוא: אבטחת שירותים ברשת בלינוקס

  2. 01:19

    סקירת הטכנולוגיות: TCP Wrapper, IPTables ו-SELinux

  3. 03:12

    SELinux ומניעת הפעלת שירות על פורט

  4. 04:10

    קבצי hosts.allow ו-hosts.deny

  5. 06:16

    חסימת רשת שלמה בקובץ hosts.deny

  6. 07:53

    סינטקס החוק והשפעת הנקודה בסוף

  7. 08:36

    חסימת מחשב אחד לפי כתובת IP

  8. 10:37

    בדיקת החסימה מהמחשב שנחסם

תמלול ההרצאה: שיטות אחרות לחסימת פורטים בלינוקס

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

  1. 00:03

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

  2. 00:21

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

  3. 00:40

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

  4. 01:04

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

  5. 01:25

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

  6. 01:56

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

  7. 02:25

    מסבירים איך מתבצעות הגדרות מתקדמות של firewall כגון הגדרות של nut והגדרות של port forwarding. ה-nut הוא למעשה היכולת של לקחת ולהחביא רשת מסוימת מאחורי שרת, מאחורי ראוטר.

  8. 02:49

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

  9. 03:19

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

  10. 03:38

    למשל זה יכול להיות רלוונטי במידה ונגיד יש לי שרת אפאצ'י אז מישהו משתלט לי על הרכיב של האפאצ'י במערכת, הפאצ'י זה ה-Web Server מוריד אותו ובמקומו רוצה להעלות שירות אחר שישתמש בפורט 80 בפורט של הפאצ'י וה-SE Linux ימנע ממנו.

  11. 04:03

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

  12. 04:25

    הטכנולוגיה הזאת היא בשימוש עד היום בעיקר בזכות הפשטות של ההגדרה שלה. יש לנו שני קבצים שנמצאים ב-etc, slash etc, etc זאת תקייה שבה נמצאים ההגדרות של המערכת, ולקבצים קוראים hosts.allow והosts.Deny, שימו לב לא להתבלבל עם קובץ ה-hosts שהוא בלי נקודה ובלי הרחבה אשר בקובץ ה-hosts מוגדרים

  13. 05:06

    בעצם השמות של השרתים עם השיוך לכתובת IP שלהם. בכל מקרה בקובץ ה-hosts allow ו-hosts deny נמצאים ההגדרות של ה-TCP ראפרס אשר שולטות בגישה לשירותים.

  14. 05:24

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

  15. 06:10

    אז גם אחרי זה אם הוא חסום בהוסט דיני אנחנו כבר אפשרנו את השירות הזה. כלומר, למשל אני יכול לשים בקובץ host.deny למנוע גישה מכל השירותים, מכל המקומות, וב-hosts.allow לאפשר רק את מה שאני רוצה, אוקיי?

  16. 06:31

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

  17. 07:28

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

  18. 08:01

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

  19. 08:52

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

  20. 09:14

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

  21. 09:46

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

  22. 10:04

    שם IPADDR show, והוא מציג לי את המידע על הרשתות. אגב, ה-IF-Config הוא למעשה נמצא במערכות המודרניות יותר לצורכי המשתמש ולסקריפטים שרגילים לעבוד עם IF-Config.

  23. 10:30

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

  24. 10:56

    חסמתי את השרת, אני, שהשרת 2, אני שומר את הקובץ, ועכשיו אני מנסה להתחבר בפוטי לשרת מספר 1, ואני רואה שאני מצליח, רוט סיסמה ואני בפנים, סוגר את ההתחברות הזאת, ועכשיו אני אנסה להתחבר ב-ssh מהשרת השני, 192.168.1.7 ופה אני בעצם, ה-SSH מנסה להתחבר

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

ההרצאה הקודמת: הגדרת iptables - חלק 3

ההרצאה הבאה: SELinux

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

  • שיטות להעלאת הרשאות - Privilege Escalation
  • מה זה Repository בלינוקס ?
  • פתיחת פורטים ב-Firewall - חלק 1
  • פתיחת פורטים במכונה וירטואלית בענן

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

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