כיצד להתקין ולהשתמש בחומת אש של לינוקס

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

מה זה חומת אש?

במילים פשוטות, חומת אש היא תת-מערכת במחשב שחוסמת תעבורת רשת מסוימת מלהיכנס או לצאת מהמחשב שלך. ניתן ליצור חומות אש להיות מאוד מגבילות (מאפשרות מעט מאוד להיכנס ו/או לצאת) או מאוד מתירניות (מאפשרות לא מעט להיכנס ו/או לצאת). חומות אש מגיעות בשני סוגים שונים:

  • חומרה - מכשירים פיזיים המשרתים רק את המטרה של הגנה על הרשת שלך (ועל המחשבים ברשת שלך).
  • תוכנה - תת-מערכות במחשבים בודדים המגנות רק על מכונת האירוח.

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

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

התקנה של UFW

מסך פקודת מצב UFW

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

מצב sudo ufw. 

פקודה זו תדווח (ככל הנראה) ש-UFW אינו פעיל. אם אתה מוצא את UFW לא מותקן, הפק את הפקודה.

sudo apt-get התקנת ufw -y. 

הפעלת UFW

הפעלת חומת האש של UFW

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

sudo ufw enableNow כאשר אתה בודק את המצב, הוא יוצג כפעיל. מדיניות ברירת המחדל

קובץ תצורה ב-UFW

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

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

  • INPUT - תנועה נכנסת למחשב.
  • פלט - תנועה יוצאת מהמחשב.
  • FORWARD—תנועה שמועברת מיעד אחד לאחר.
  • מדיניות יישומים - תנועה המוגדרת על ידי יישום (ולא יציאת רשת).

עבור רוב המשתמשים, רק מדיניות ה-INPUT וה-OUTPUT תהיה מדאיגה.

מדיניות ברירת המחדל של UFW מוגדרת בקובץ /etc/default/ufw. תוציא את הפקודה.

  • sudo nano /etc/default/ufw
    וחפש את ארבעת השורות האלה:
    DEFAULT_INPUT_POLICY="ירידה"
  • DEFAULT_OUTPUT_POLICY="אישור"
  • DEFAULT_FORWARD_POLICY="ירידה"
  • DEFAULT_APPLICATION_POLICY="דלג"

חשוב לדעת שניתן להתאים כל אחת מהמדיניות לעיל עם ברירת מחדל מעט שונה.

  • ניתן להגדיר את כניסת/פלט/העברה לקבלה, שחרור או דחייה
  • ניתן להגדיר את האפליקציה ל-ACCEPT, DROP, REJECT או SKIP

ההבדל בין ACCEPT, DROP ו-REJECT הם:

  • קבל—אפשר תעבורה דרך חומת האש.
  • דחייה—אל תאפשר תעבורה דרך חומת האש ותשלח הודעת יעד ICMP שאינה ניתנת להשגה בחזרה למקור השולח.
  • DROP - אסור לחבילה לעבור דרך חומת האש ולא לשלוח תגובה.

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

טען מחדש sudo ufw. 

מאפשר תנועה נכנסת

מאפשר תעבורת SSH ב-UFW

מכיוון שכנראה לא תצטרך לשנות את ברירת המחדל של מדיניות התנועה היוצאת, הבה נתמקד בהתרת תנועה נכנסת. נניח, למשל, אתה רוצה להיות מסוגל לאבטח מעטפת בשולחן העבודה שלך (באמצעות ה ssh פקודה) ממכונה אחרת. לשם כך, תצטרך להורות ל-UFW לאפשר תעבורה נכנסת ביציאת SSH הרגילה (יציאה 22). הפקודה לכך תהיה:

sudo ufw לאפשר ssh. 

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

מאפשר תעבורת SSH מכתובת IP ספציפית

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

sudo ufw אפשר מ-192.168.1.162 לכל יציאה 22. 

ה.

לאפשר מ

הצהרה מורה ל-UFW שהכתובת להלן היא הכתובת שממנה יש לאפשר תנועה. ה.

לכל נמל

מורה ל-UFW לאפשר תעבורה ביציאה שצוינה. בדוגמה למעלה, ה.

רק

המחשב ברשת שלך שיורשה לאבטח מעטפת במחשב שלך יהיה זה בכתובת ה-IP 192.168.1.162.

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

  • INTERNAL - באמצעות ממשק רשת ens5 עם סכימת כתובת IP 192.168.1.x.
  • EXTERNAL—שימוש בממשק רשת enp0s3 עם סכימת כתובת IP 172.217.1.x

מה אם אתה רוצה להשאיר את הכלל שמתיר תעבורת ssh נכנסת ב-192.168.1.162, אבל לדחות את כל התעבורה הנכנסת מהממשק החיצוני? לשם כך, הפקודה תהיה:

sudo ufw deny in ב-enp0s3 לכל פורט ssh. 

תוציא את הפקודה.

sudo ufw סטטוס כדי לראות שתעבורת ssh מ-192.168.1.162 עדיין מותרת, בעוד שתנועה מהממשק החיצוני נדחתה. מחיקת כללים

רשימה של חוקי UFW לפי מספר

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

סטטוס sudo ufw ממוספר. 

תגיד שאתה רוצה למחוק כלל מספר 1. כדי לעשות זאת, הפק את הפקודה:

sudo ufw delete 1. 

תתבקש לאמת את מחיקת הכלל. סוּג y ולהשתמש הזן/חזור במקלדת כדי לאשר. תוציא את הפקודה.

מצב sudo ufw.