iptables

מתוך ויקיפדיה, האנציקלופדיה החופשית
iptables
מפתח Rusty Russell עריכת הנתון בוויקינתונים
מחזור חיים 1998–הווה (כ־26 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 1.8.10 (10 באוקטובר 2023) עריכת הנתון בוויקינתונים
מערכת הפעלה גנו/לינוקס עריכת הנתון בוויקינתונים
נכתבה בשפות C עריכת הנתון בוויקינתונים
סוג רישיון GPL-2.0 עריכת הנתון בוויקינתונים
קוד מקור
האתר הרשמי
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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

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

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

בדומה ל-Netfilter, גם Iptables מיושמת באמצעות מודולים.

צילום מסך של הממשק הגרפי Firestarter

כדי להפעיל את כלי ה-Iptables בצורה תקינה, חייב מנהל המערכת להיות בעל הרשאות גבוהות אחרת צפויות שגיאות והכלי לא יתפקד כנדרש ממנו. לכללי ה-Iptables ישנן חלופות גרפיות (ממשק GUI) כגון: Firestarter שכדאי לעבוד איתן במיוחד בחיבור מרוחק (SSH), הקלדת פקודה שגויה יכולה לנעול את הגישה למערכת לצמיתות עד שמנהל המערכת ישחרר את הנעילה באופן ידני ופיזי.

Netfilter Iptables

בעזרת כללים שונים הנקראים שרשראות (באנגלית: Chains) רשאי מנהל המערכת לקבוע איזה תעבורת רשת תמשיך אל יעדה ואיזה תיחסם:

PREROUTING - טיפול בחבילת המידע לפני הניתוב.

INPUT - טיפול בחבילת המידע בעת הכניסה למערכת.

FORWARD טיפול בחבילות מידע המיועדות לניתוב.

OUTPUT - טיפול בחבילות המידע היוצאות מהישות עצמה.

POSTROUTING - טיפול בחבילת המידע לאחר הניתוב.

סקירה כללית[עריכת קוד מקור | עריכה]

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

ACCEPT - החוק יאפשר לחבילת המידע לעבור.

DROP - החוק יזרוק את החבילת המידע ויתעלם ממנה.

REJECT - החוק לא יאפשר לחבילת המידע להגיע אל יעדה ותשלח הודעת שגיאה למקור השולח.

QUEUE - החוק יעביר את חבילת המידע לזיכרון משני במרחב המשתמש.

RETURN - החוק יעביר את חבילת המידע לחוק הקודם.

בניגוד ל-ipchains, ב-iptables המערכת יודעת לפקח על מצב החיבור וקיימות אפשרויות סינון חבילות מידע נוספות. היורש של iptables הוא nftables, אשר זמין בגרסת הקרנל 3.13, לינוקס (19 בינואר 2014).

Iptables משמש גם כגורם המפנה את חבילות המידע למרכיבים ברמת הקרנל. x_tables הוא השם של מודול הקרנל, המחזיק בתוכו חלק קוד המשותף לכל ארבעת המודולים (v4, V6, ARP, EB).

פקודות בסיסיות[עריכת קוד מקור | עריכה]

  • sudo iptables -L - יציג את טבלת החוקים.
  • sudo iptables -L --line-numbers - יציג את טבלת החוקים בצורה ממוספרת.
  • sudo iptables -f - מחיקת כל החוקים.
  • iptables -I OUTPUT 6 -p icmp --icmp-type 8 -j ACCEPT - לאפשר בקשות ICMP מחומת האש.
  • sudo iptables -A INPUT -j DROP - חסימת כל התעבורה הנכנסת.

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא Iptables בוויקישיתוף