כיצד להגדיר טבלאות IPTables בלינוקס? [מדריך שלב אחר שלב לשנת 2021]

כיצד להגדיר טבלאות IPTables בלינוקס? [מדריך שלב אחר שלב לשנת 2021]

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

אם אתה חדש ב-IPTables, הדבר הראשון שאתה צריך לעשות הוא לעדכן או להתקין אותו עם:

$ sudo apt-get להתקין iptables

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

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

מדריך IPTables: שרשראות

אחד המושגים הבסיסיים שיש לשלוט ב-IPTables הוא הרעיון של שרשראות.שרשרת היא בעצם כלל.בטבלה של המסנן יש את שלוש השרשראות שתתקלו ב-IPTables;להיכנס,קָדִימָה ו -תְפוּקָה.

    • קלט  – שרשרת INPUT היא כלל השולט על מנות נכנסות.כאן אתה יכול לחסום או לאפשר חיבורים חדשים.אתה יכול לעשות זאת על סמך יציאה, פרוטוקול וכתובת IP מקור.
  • קָדִימָה  – סינון שרשרת FORWARD מנות נכנסות המועברות למיקומי קצה שונים.אלא אם כן אתה מנתב או מחפש ספציפית שילוח, לא סביר שתשתמש בשרשרת זו.
  • תפוקה  – שרשרת ה-OUTPUT משמשת לניהול מנות וחיבורים יוצאים.חשוב לציין שאם אתה פינג מארח חיצוני, שרשרת הקלט תשמש להחזרת נתונים אליך.

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

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

הפקודה $ sudo iptables -L

זה יציג את הדברים הבאים:

user@ubuntu:~$ sudo iptables -L -v 
כניסת שרשרת (קבלת מדיניות) 
שרשרת FORWARD (קבלת מדיניות) 
פלט שרשרת (קבלת מדיניות) 
user@ubuntu:~$

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

שאלות קשורות  השוואה בין לינוקס לחלונות [התנגשות עם מערכות הפעלה רדיקליות]

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

$ sudo iptables --policy INPUT ACCEPT
$ sudo iptables --policy OUTPUT קבל
$ sudo iptables --policy FORWARD ACCEPT

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

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

$ sudo iptables --policy INPUT DROP
$ sudo iptables --policy OUTPUT DROP
$ sudo iptables --policy FORWARD DROP

לרוב המשתמשים עדיף לקבל את כל החיבורים, אבל כדאי לזכור אם אתה עובד על שרת בעל אבטחה גבוהה.

הגדר חיבור יחיד

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

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

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

כיצד לאפשר או לחסום חיבורים

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

חסום כתובת IP בודדת:

$ sudo iptables -A INPUT -S 10.10.10.10 -j DROP

בדוגמה למעלה, תוכל להחליף את 10.10.10.10 בכתובת ה-IP שברצונך לחסום.

שאלות קשורות  35 קיצורי מקלדת לינוקס [כדאי לדעת ב-2021]

חסום טווח של כתובות IP:

$ sudo iptables -A INPUT -s 10.10.10.10.0/24 -j DROP    

אוֹ

$ sudo iptables -A INPUT -s 10.10.10.0/255.255.255/.0 -j DROP

חסום יציאה בודדת:

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP 

שימו לב שניתן להחליף את 'ssh בכל פרוטוקול או מספר יציאה.שים לב גם שהקטע -p tcp של הקוד משמש כדי לציין אם הפרוטוקול שברצונך לחסום משתמש ב-UDP או TCP.

אם הפרוטוקול משתמש ב-UDP, הייתם נכנסים-p udpבמקום-p tcp.אתה יכול גם לחסום את כל החיבורים מכתובת IP על ידי הזנת:

$ sudo iptables -A INPUT -p tcp --dport ssh -jDROP

תקשורת דו-כיוונית: מדריך IPTables במצב מחובר

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

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NEW, ESTABLISHED -j ACCEPT 

$ sudo iptables -A OUTPUT -p tcp --sport 22 -d 10.10.10.10.-m state --state ESTABLISHED -J קבל

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

שאלות קשורות  כיצד להפעיל יישומי Windows על לינוקס? [באמצעות Wine 6.1]

אובונטו:

$ sudo /sbin/iptables-save

Red Hat/CentOS -

$ sudo /sbin/service iptables שמור

אוֹ

$ sudo /etc/init.d/iptables לשמור

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

מחק כלל

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

$ sudo iptables -D INPUT 10

אז הכלל העשירי שהגדרת יימחק.

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

$ sudo iptables -F

פעולה זו תנקה את כל מערך הכללים וירענן את ה-IPTable שלך.

IPTables: למד כללי שרשרת!

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

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

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

הו שלום 👋נעים להכיר אותך.

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

לפרסם תגובה