A correctly functioning firewall is the most crucial part of the complete Linux system security. By default, Debian and Ubuntu distribution comes with a firewall configuration tool called UFW (Uncomplicated Firewall), is a most popular and easy-to-use command line tool for configuring and managing a firewall on Ubuntu and Debian distributions.
במאמר זה, נסביר כיצד להתקין ולהגדיר חומת אש UFW על ההפצות Ubuntu ו־Debian.
דרישות מוקדמות
לפני שתתחילו עם מאמר זה, וודאו שהתחברתם לשרת שלכם ב־Ubuntu או Debian עם משתמש sudo או עם חשבון root. אם אין לכם משתמש sudo, תוכלו ליצור אחד באמצעות ההוראות הבאות כמשתמש root.
# adduser username # usermod -aG sudo username # su - username $ sudo whoami
התקנת חומת אש UFW על Ubuntu ו־Debian
חומת האש UFW (Uncomplicated Firewall) צריכה להיות מותקנת כבר כברירת מחדל ב־Ubuntu ו־Debian, אם לא, תוכלו להתקין אותה באמצעות מנהל החבילות APT באמצעות הפקודה הבאה.
$ sudo apt install ufw
בדיקת חומת אש UFW
לאחר שההתקנה הושלמה, תוכלו לבדוק את מצב ה־UFW על ידי הקלדת.
$ sudo ufw status verbose
בהתקנה ראשונית, חומת האש UFW מושבתת כברירת מחדל, הפלט יהיה דומה למה שמוצג למטה.
Status: inactive
הפעלת חומת אש UFW
תוכלו להפעיל או להפעיל את חומת האש UFW באמצעות הפקודה הבאה, שתטען את החומה ותאפשר לה להתחיל באופן אוטומטי בעת האתחול.
$ sudo ufw enable
כדי לנטרל את חומת האש UFW, השתמשו בפקודה הבאה, שתפטר את החומה ותנטרל אותה מהתחלת האתחול.
$ sudo ufw disable
מדיניות ברירת מחדל של UFW
בברירת מחדל, חומת האש UFW חוסמת את כל החיבורים הנכנסים ומתירה רק את כל החיבורים היוצאים לשרת. זה אומר, שאף אחד לא יכול לגשת לשרת שלך, אלא אם אתה פותח את הפורט באופן ספציפי, בעוד שכל השירותים או האפליקציות הפועלות על השרת שלך יכולים לגשת לרשת החיצונית.
מדיניות חומת האש ברירת המחדל של UFW ממוקמת בקובץ /etc/default/ufw
וניתן לשנותה באמצעות הפקודה הבאה.
$ sudo ufw default deny incoming $ sudo ufw default allow outgoing
פרופילי יישומים של UFW
כאשר מתקינים חבילת תוכנה באמצעות מנהל החבילות APT, היא תכלול פרופיל יישום בתיקיית /etc/ufw/applications.d
שמגדיר את השירות ומחזיק בהגדרות UFW.
ניתן לרשום את כל פרופילי היישומים הזמינים בשרת שלך באמצעות הפקודה הבאה.
$ sudo ufw app list
בהתאם להתקנות חבילת התוכנה במערכת שלך, הפלט ייראה דומה לפלט הבא:
Available applications: APACHE APACHE Full APACHE SECURE CUPS OpenSSH Postfix Postfix SMTPS Postfix Submission
אם אתה רוצה לקבל מידע נוסף על פרופיל מסוים וכללים מוגדרים, תוכל להשתמש בפקודה הבאה.
$ sudo ufw app info 'Apache'
Profile: Apache Title: Web Server Description: Apache V2 is the next generation f the omnipresent Apache web server. Ports: 80/tcp
הפעלת IPv6 עם UFW
אם השרת שלך מוגדר עם IPv6, וודא כי UFW שלך מוגדר עם תמיכה ב-IPv6 ו-IPv4. כדי לוודא זאת, פתח את קובץ התצורה של UFW באמצעות העורך המועדף עליך.
$ sudo vi /etc/default/ufw
וודא כי “IPV6” מוגדר ל-"yes"
בקובץ התצורה כפי שמוצג.
IPV6=yes
שמור וצא. לאחר מכן הפעל מחדש את חומת האש שלך באמצעות הפקודות הבאות:
$ sudo ufw disable $ sudo ufw enable
אפשר חיבורי SSH על UFW
אם הפעלת את הגנת הגישה הלשונית (UFW) כעת, היא תחסום את כל החיבורים הנכנסים ואם אתה מחובר לשרת שלך דרך SSH ממקום מרוחק, לא תוכל יותר להתחבר שוב.
בוא נפעיל חיבורי SSH לשרת שלנו כדי למנוע מכך לקרות באמצעות הפקודה הבאה:
$ sudo ufw allow ssh
אם אתה משתמש ביציאת SSH מותאמת אישית (לדוגמה יציאה 2222), אז עליך לפתוח את היציאה הזו בגנת הגישה הלשונית באמצעות הפקודה הבאה.
$ sudo ufw allow 2222/tcp
כדי לחסום את כל חיבורי ה-SSH, הקלד את הפקודה הבאה.
$ sudo ufw deny ssh/tcp $ sudo ufw deny 2222/tcp [If using custom SSH port]
הפעלת יציאות מסוימות ב-UFW
אתה יכול גם לפתוח יציאה מסוימת בגנת הגישה הלשונית כדי לאפשר חיבורים דרכה לשירות מסוים. לדוגמה, אם ברצונך להגדיר שרת אינטרנט המקשיב על יציאה 80 (HTTP) ו-443 (HTTPS) כברירת מחדל.
להלן כמה דוגמאות לאיך לאפשר חיבורים נכנסים לשירותי Apache.
פתח את היציאה 80 HTTP ב-UFW
$ sudo ufw allow http [By service name] $ sudo ufw allow 80/tcp [By port number] $ sudo ufw allow 'Apache' [By application profile]
פתח את היציאה 443 HTTPS ב-UFW
$ sudo ufw allow https $ sudo ufw allow 443/tcp $ sudo ufw allow 'Apache Secure'
אפשר טווחי יציאות ב-UFW
בהנחה שיש לך אפליקציות שאתה רוצה להריץ על טווח של יציאות (5000-5003), תוכל להוסיף את כל היציאות הללו באמצעות הפקודות הבאות.
sudo ufw allow 5000:5003/tcp sudo ufw allow 5000:5003/udp
אפשר כתובות IP מסוימות
אם ברצונך לאפשר חיבורים בכל היציאות מכתובת ה-IP הספציפית 192.168.56.1, אז עליך לציין את "from" לפני כתובת ה-IP.
$ sudo ufw allow from 192.168.56.1
אפשר כתובות IP מסוימות על יציאה מסוימת
כדי לאפשר חיבור על פורט מסוים (לדוגמה פורט 22) ממכונת הבית שלך עם כתובת IP של 192.168.56.1, יש להוסיף את ״כל פורט״ ואת מספר הפורט אחרי כתובת ה-IP כפי שמוצג.
$ sudo ufw allow from 192.168.56.1 to any port 22
לאפשר תתי-רשתות לפורט מסוים
כדי לאפשר חיבורים לכתובות IP ספציפיות הנמצאות בטווח של 192.168.1.1 עד 192.168.1.254 לפורט 22 (SSH), יש לרוץ את הפקודה הבאה.
$ sudo ufw allow from 192.168.1.0/24 to any port 22
לאפשר ממשק רשת ספציפי
כדי לאפשר חיבורים לממשק רשת ספציפי eth2 לפורט מסוים 22 (SSH), יש להריץ את הפקודה הבאה.
$ sudo ufw allow in on eth2 to any port 22
למנוע חיבורים ב-UFW
כברירת מחדל, כל החיבורים הנכנסים חסומים, אלא אם כן פתחת את החיבור ב-UFW באופן ספציפי. לדוגמה, פתחת את הפורטים 80 ו-443 והשרת שלך מותקף מרשת לא ידועה 11.12.13.0/24.
כדי לחסום את כל החיבורים מטווח הרשת הספציפי הזה 11.12.13.0/24, ניתן להשתמש בפקודה הבאה.
$ sudo ufw deny from 11.12.13.0/24
אם ברצונך לחסום חיבורים רק על פורטים 80 ו-443, ניתן להשתמש בפקודות הבאות.
$ sudo ufw deny from 11.12.13.0/24 to any port 80 $ sudo ufw deny from 11.12.13.0/24 to any port 443
מחיקת כללי UFW
ישנם 2 דרכים למחוק כללי UFW, לפי מספר הכלל ולפי הכלל בפועל.
כדי למחוק כללי UFW באמצעות מספר הכלל, תחילה עליך לרשומת כללים לפי מספרים באמצעות הפקודה הבאה.
$ sudo ufw status numbered
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere
כדי למחוק את כלל המספר 1, השתמש בפקודה הבאה.
$ sudo ufw delete 1
השיטה השנייה היא למחוק כלל על ידי שימוש בכלל המקורי, לדוגמה למחוק כלל, ציין את מספר פתחת היציאה עם הפרוטוקול כפי שמוצג.
$ sudo ufw delete allow 22/tcp
בדיקה של כללי ה־UFW
ניתן להריץ כל פקודת ufw מבלי לבצע בפועל שינויים בגישת האש במערכת באמצעות הדגל --dry-run
, זה פשוט מציג את השינויים שצריך הייתה להתרחש.
$ sudo ufw --dry-run enable
איפוס אש ה־UFW
מסיבה כלשהי, אם ברצונך למחוק או לאפס את כל כללי האש, הקלד את הפקודות הבאות, זה יחזיר את כל השינויים שלך ויתחיל מאפס.
$ sudo ufw reset $ sudo ufw status
יכולות מתקדמות של ה־UFW
אש ה־UFW יכולה לנהל כל דבר שה־iptables יכול לעשות. זה ניתן לעשות באמצעות קבצי כללים שונים, שהם בעצם קבצי טקסט של iptables-restore פשוטים.
כיוונון של אש ה־UFW או הוספת פקודות iptables נוספות אינם מאושרים דרך הפקודה ufw, זהו נושא של עריכה של קבצי טקסט הבאים
- /etc/default/ufw: הקובץ התצורה הראשי עם כללים מוגדרים מראש.
- /etc/ufw/before[6].rules: בקובץ זה כללים מחושבים לפני הוספתם באמצעות הפקודה ufw.
- /etc/ufw/after[6].rules: בקובץ זה כללים מחושבים לאחר הוספתם באמצעות הפקודה ufw.
- /etc/ufw/sysctl.conf: קובץ זה משמש לכיוונון של הרשת בליבת הקרנל.
- /etc/ufw/ufw.conf: קובץ זה מאפשר ל־ufw להפעיל בעת ההפעלה.
זהו! UFW הוא ממשק חזית מצוין ל iptables עם ממשק ידידותי למשתמש להגדיר כללים מורכבים עם פקודה יחידה של UFW.
אם יש לך שאלות או מחשבות לשתף על מאמר זה על UFW, השתמש בטופס ההערות למטה כדי ליצור איתנו קשר.
Source:
https://www.tecmint.com/setup-ufw-firewall-on-ubuntu-and-debian/