איך להגדיר את הגדרות חומת האש UFW בלינוקס

ללא חוסם אש, אין כלל חוקים או הגבלות על תעבורת הרשת שלך וזה מביא למספר תוצאות שליליות. מערכת Linux מגיעה עם כלי תצורת חומת אש ברירת מחדל, שהוא Uncomplicated Firewall (UFW). אבל איך מגדירים חומת אש UFW? שבו אחורה ותיהנה, המדריך הזה מכסה אותך!

במדריך זה, תלמד כיצד להגדיר את UFW ולהגדיר חומת אש על מערכת ה-Linux שלך כדי לאבטח את הרשת שלך ולמנוע מעשי רשע.

מוכן? קרא הלאה כדי להתחיל!

נדרשים

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

  • מחשב Ubuntu – מדריך זה משתמש ב-Ubuntu 20.04 LTS, אך הפצות Linux אחרות יעבדו.
  • הרשאות Root למחשב שלך.

התקנת UFW ואפשרות חיבור IPv6

אף על פי ש-UFW מובנה במערכת ה-Ubuntu שלך, UFW לא מותקן כברירת מחדל. התקן תחילה את UFW עם מנהל החבילות apt והגדר אותו לאפשר חיבורים מעל IPv6.

1. פתח את הטרמינל שלך והפעל את הפקודה apt update למעלה כדי לעדכן את אינדקס החבילות המקומי שלך. הפקודה מקבלת את כל ההצעות (-y) במהלך העדכון כדי לפחות מעמוך משתמש.

sudo apt update -y
Updating the System Package

2. לאחר מכן, הפעל את הפקודה למטה כדי להתקין את UFW (install uwf) במערכת שלך בזמן שאתה מקבל את כל ההצעות (-y) במהלך ההתקנה.

sudo apt install ufw -y
Installing UFW on Ubuntu

3. פתח את קובץ התצורה של UFW (/etc/default/ufw) עם עורך הטקסט האהוב עליך. UFW תומך ב-IPv6, אך עליך לוודא שחומת האש מוגדרת לקבל חיבורים דרך IPv6.

אם יש לך רק IPv4 מאופשר, אתה עדיין עשוי להשאיר את עצמך פתוח להתקפות דרך IPv6.

4. גלול למטה אל המשתנה IPV6 והגדר את הערך ל־yes, כפי שמוצג למטה, ולאחר מכן שמור את השינויים וצא מהעורך

Enabling IPV6 in the UFW Configuration File

5. לבסוף, הפעל את הפקודה למטה כדי לבטל ולהפעיל מחדש את UFW. הפקודה מפעילה מחדש את שירות ה-UFW כך שהשינויים יכולים להתקפל.

לאחר שהפקודה הושלמה, חומת האש שלך יכולה כעת לכתוב קבוצות כללים גם ל-IPv4 וגם ל-IPv6.

sudo ufw disable && sudo ufw enable

הגדרת מדיניות ברירת המחדל עבור כללי חומת האש

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

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

הרץ את הפקודה ufw למטה כדי ל דחות את כל החיבורים נכנסים כברירת מחדל.

sudo ufw default deny incoming
Denying Incoming Network Traffics

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

sudo ufw default allow outgoing
Allowing Outgoing Network Traffics

מאפשר חיבורי SSH בגירסת הגנה האש של UFW

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

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

1. הרץ את הפקודות הבאות כדי להתקין את שרת ה OpenSSH (install openssh-server) על המערכת שלך ולהתחיל שרת OpenSSH (start ssh).

sudo apt install openssh-server -y
sudo systemctl start ssh

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

sudo ufw allow ssh
Allowing SSH connection

קובץ /etc/services מכיל רשימה של כל השירותים הזמינים במערכת שלך. פתח את הקובץ בעורך הטקסט שלך, גלול למטה עד לssh וראה את מספר הפורט (22) כחלק מתיאור השירות, כפי שמוצג למטה.

Previewing the /etc/services file

אולם, אולי תעדיף לציין את מספר הפורט (22) כדי לאפשר גישה ל-SSH. אם זו המקרה, הפעל את הפקודה הבאה במקום.

sudo ufw allow 22

3. הפעל את הפקודה להפעלת UFW למטה.

sudo ufw enable

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

Enabling UFW

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

## מציג מידע מפורט יותר, כגון הממשק ו
## התקדמות החבילה הנוכחית
sudo ufw status verbose
## מציג כל כלל עם מספר והמצב המתאים לאישור או דחיה
## מצב הממוספר שימושי כאשר אתה מנסה למחוק סט כללים כאן ושם
sudo ufw status numbered

אם תפעיל את הפקודה עם אפשרות verbose, תראה פלט דומה לזה שמוצג למטה:

  • מצב: פעיל – מציין שהגנת הגישה פועלת כרגע.
  • רישום: פעיל (נמוך) – מציין ש-UFW מרשום את כל החבילות שמעובדות על ידי הגנת הגישה.
  • ברירת מחדל: סרב (נכנס), מותר (יוצא), מנוטרל (ניתן לניתוב) – מציין כי המדיניות ברירת המחדל היא לסרב לכל חיבור נכנס ולאפשר חיבור יוצא.
  • פרופילים חדשים: דילוג – מציין כי הגן האש כרגע משתמש בסט המחדל של כללי החומה.
Checking verbose UFW firewall status

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

Viewing the UW Firewall status in a numbered list

אפשר חיבורים ל-HTTP ו-HTTPS

בנקובע זה, אתה מורשה רק לחיבורי SSH בחומת UFW שלך, אך זה מגביל את יכולות השרת שלך. הרשה חיבורים אחרים, כמו חיבורי HTTP או HTTPS, והוסף כללים נוספים לחומת UFW שלך.

הרץ אחת מהפקודות הבאות כדי לאפשר חיבורי HTTP נכנסים.

## חיבורי HTTP משתמשים ביציאה 80 (לא מאובטח)
sudo ufw allow 80
sudo ufw allow http
Allowing HTTP connections

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

sudo ufw allow https
## חיבורי HTTP משתמשים ביציאה 443 (מאובטח)
sudo ufw allow 443
Allowing incoming HTTPS connections.

אפשר חיבורים מטויימים וכתובת IP מסוימת

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

בצע את הפקודות למטה כדי לאפשר חיבורים נכנסים בפורטים 5001 עד 5009. תמיד עליך לציין את הפרוטוקול (tcp או udp) לאחר טווח הפורטים שבו החוקים חלים, מכיוון שלא כל הפורטים בשימוש על ידי שני הפרוטוקולים.

לדוגמה, פורטים TCP נפוצים כוללים 80 (HTTP) ו-443 (HTTPS). אך פורטים UDP נפוצים כוללים 53 (DNS) ו-67/68 (DHCP).

sudo ufw allow 5001:5010/tcp
sudo ufw allow 5001:5010/udp
Allowing traffic on 5001:5010 port range

בצע את הפקודה למטה במקום אם תעדיפו לאפשר חיבורי SSH מכתובת IP ספציפית. הפקודה מאפשרת חיבורי SSH (port 22) רק מכתובת ה-IP 192.168.1.2.

sudo ufw allow from 192.168.1.2 to any port 22
Allowing SSH Connections from Specific IP Address

הפעלת תנועה מממשק רשת ספציפי

UFW מאפשר גם לאפשר תנועה רק בממשק רשת ספציפי, כמו eth0 הוא הממשק האיתרנטי הראשון ו-wlan0 הוא הממשק הראשון של Wi-Fi.

הפעל אחת מהפקודות למטה כדי לאפשר חיבורי HTTP רק על הממשקים eth0 ו-wlan0.

## אפשר חיבור HTTP רק על הממשק eth0
sudo ufw allow in on eth0 to any port 80
## אפשר חיבור HTTP רק על הממשק wlan0
sudo ufw allow in on wlan0 to any port 80
Allowing traffic on a specific interface

מחיקת חוקי האש של UFW

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

1. הפעל את הפקודה למטה כדי לקבל רשימה ממוספרת של הכללים שנוספו ל-UFW.

sudo ufw status numbered

שים לב למספר או לשם הכלל בפלט, כמו בדוגמה למטה.

Previewing all the rules

2. לאחר מכן, הפעל את הפקודה למטה כדי למחוק את הכלל מספר 4, המתאים לטווח הפורטים 5001:5010/tcp.

sudo ufw delete 4
Deleting a Rule by Rule Number

3. הפעל את הפקודה למטה כדי למחוק כלל לפי השם המדויק עם הסטטוס allow. בדוגמה זו, תמחק את הכלל http כך:

sudo ufw delete allow http
Deleting a Rule by Rule Name (http)

4. כעת הפעל את הפקודה למטה כדי למחוק כלל על ידי ציון מספר פורט (443) עם הסטטוס allow.

sudo ufw delete allow 443
Deleting a Rule by Port Number (443)

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

sudo ufw status numbered

כפי שניתן לראות למטה, הכללים עבור טווח הפורטים 5001:5010/tcp, ה-http, והפורט 443 כעת אינם קיימים.

Checking the firewall rules

איפוס חומת האש UFW

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

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

sudo ufw reset

שלח 'Y' ולחץ על Enter כדי להמשיך באיפוס הגנת האש UFW שלך.

Resetting UFW

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

כעת הפעל את הפקודה למטה כדי להפעיל מחדש את UFW ולהתחיל להגדיר מחדש את כללי האש שלך.

sudo ufw enable

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

sudo ufw disable
Disabling UFW firewall

סיכום

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

כעת, למה לא לבנות על הידע החדש שלך וללמוד עוד על UFW ואבטחת Docker על מכונת Linux?

Source:
https://adamtheautomator.com/ufw-firewall/