Miklix

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

פורסם: 15 בפברואר 2025 בשעה 21:35:29 UTC

מאמר זה מסביר ומספק כמה דוגמאות כיצד להגדיר חומת אש ב-GNU/Linux באמצעות ufw, שזה קיצור של Uncomplicated FireWall - והשם מתאים, זו באמת דרך קלה מאוד לוודא שאין לך יותר יציאות פתוחות ממה שאתה צריך.


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

How to Set Up a Firewall on Ubuntu Server

המידע בפוסט זה מבוסס על Ubuntu Server 14.04 x64. זה עשוי להיות תקף עבור גרסאות אחרות או לא. (עדכון: אני יכול לאשר שהמידע בפוסט הזה הוא בעצם עדיין תקף ופונקציונלי נכון ל-Ubuntu Server 24.04, אולם ב-10 השנים שחלפו, ufw נעשתה קצת יותר "חכמה" בכך שיש לה פרופילים ליישומי שרת נפוצים (לדוגמה, אתה יכול להפעיל את "Nginx full" במקום יציאות 80 ו-443 לנטרל את חוקי ה-fire כלים בנפרד ולנטרל את כל החומות בנפרד) הכרחי)

כאשר התחלתי לראשונה עם שרתי GNU/Linux (Ubuntu), הקמת חומת אש כללה יצירה ותחזוקה ידנית של קובץ תצורה שעלול להיות מורכב עבור iptables. עם זאת, לאחרונה גיליתי את ufw , שזה קיצור של חומת אש לא מסובכת - וזה באמת כך :-)

ההתקנה שלי של Ubuntu Server 14.04 כבר הותקנה ufw, אבל אם לא, פשוט התקן אותה מהמאגרים:

sudo apt-get install ufw

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

אם השרת שלך מוגדר עם IPv6 כמו גם IPv4, ודא שזה מופעל גם עבור UFW. ערוך את הקובץ /etc/default/ufw וחפש שורה שאומרת IPV6=yes . בהתקנה שלי זה כבר היה שם, אבל אם זה לא או אם זה אומר לא, אתה צריך לערוך את זה

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

לדוגמה, אם אתה משתמש ב-ssh ביציאה 22 הסטנדרטית ואתה מגדיר שרת אינטרנט שתומך בחיבורים לא מוצפנים (HTTP ביציאה 80) וגם בחיבורים מוצפנים (HTTPS ביציאה 443), תוציא את הפקודות הבאות כדי להגדיר את ufw:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

אם אתה צריך עוד כללים, פשוט הוסף אותם כמו לעיל.

אם יש לך כתובת IP סטטית ואתה רק צריך להיות מסוגל להתחבר באמצעות ssh מהמיקום האחד, אתה יכול גם להגביל את חיבורי ה-ssh לכתובת מקור יחידה כך:

sudo ufw allow from 192.168.0.1 to any port 22

כמובן, הזן את כתובת ה-IP שלך במקום זאת.

בסיום, הפעל את ufw על ידי הזנת:

sudo ufw enable

וסיימת! חומת האש פועלת ותופעל אוטומטית כאשר אתה מאתחל את השרת שלך :-)

אם תבצע שינויים בתצורת ufw, ייתכן שיהיה עליך להשבית ולהפעיל אותה שוב כדי להפעיל אותם, כך:

sudo ufw disable
sudo ufw enable

כדי להסתכל על התצורה הנוכחית, פשוט הזן:

sudo ufw status

אם ufw לא מופעל, זה פשוט יציג הודעה "לא פעילה", אחרת זה יפרט את הכללים המוגדרים כעת.

שתפו בבלוסקישתפו בפייסבוקשתפו בלינקדאיןשתפו ב-Tumblrשתפו ב-Xשתפו בלינקדאיןהצמד בפינטרסט

מיקל בנג כריסטנסן

על המחבר

מיקל בנג כריסטנסן
מיקל הוא היוצר והבעלים של miklix.com. יש לו למעלה מ-20 שנות ניסיון כמתכנת מחשבים/מפתח תוכנה מקצועי וכיום הוא מועסק במשרה מלאה בתאגיד IT אירופאי גדול. כשהוא לא כותב בלוג, הוא מבלה את זמנו הפנוי במגוון עצום של תחומי עניין, תחביבים ופעילויות, שעשויים לבוא לידי ביטוי במידה מסוימת במגוון הנושאים המכוסים באתר זה.