Iptables

  • פותח הנושא Bisly
  • פורסם בתאריך

Bisly

New member
Iptables

אני עכשיו קורא על איך זה עובד הנה מצאתי הסבר על איך זה עובד אבל זה די מבלבל אותי אני הבנתי הרבה מאוד מזה אבל אני לא ממש מבין את הכול בזה מישהו מוכן בבקשה להסביר בעיקרון איך זה עובד בבקשה? והאם ברגע שיש חבילה שהיא אסורה להכנס לרשת אז היא עוברת דרך FORWARD ונזרקת החוצה? או שהיא עוברת דרך FORWARD ויורדת למטה או שהיא יורדת למטה תמיד ... ואז נבדקת בINPUT? בקיצור אני די מבולבל שמישהו יתן פה איזה הסבר טוב שיבהיר לי את הכול תודה רבה רבה למי שיעזור אני חייב עזרה תודה ! 5. How Packets Traverse The Filters The kernel starts with three lists of rules; these lists are called firewall chains or just chains. The three chains are called INPUT, OUTPUT and FORWARD. This is very different from how the 2.0 and 2.2 kernels worked! For ASCII-art fans, the chains are arranged like so: _____ / -->[Routing ]--->|FORWARD|-------> [Decision] \_____/ ^ | | v ____ ___ / \ / \ |OUTPUT| |INPUT| \____/ \___/ ^ | | ----> Local Process ---- The three circles represent the three chains mentioned above. When a packet reaches a circle in the diagram, that chain is examined to decide the fate of the packet. If the chain says to DROP the packet, it is killed there, but if the chain says to ACCEPT the packet, it continues traversing the diagram. A chain is a checklist of rules. Each rule says `if the packet header looks like this, then here´s what to do with the packet´. If the rule doesn´t match the packet, then the next rule in the chain is consulted. Finally, if there are no more rules to consult, then the kernel looks at the chain policy to decide what to do. In a security-conscious system, this policy usually tells the kernel to DROP the packet. When a packet comes in (say, through the Ethernet card) the kernel first looks at the destination of the packet: this is called `routing´. If it´s destined for this box, the packet passes downwards in the diagram, to the INPUT chain. If it passes this, any processes waiting for that packet will receive it. Otherwise, if the kernel does not have forwarding enabled, or it doesn´t know how to forward the packet, the packet is dropped. If forwarding is enabled, and the packet is destined for another network interface (if you have another one), then the packet goes rightwards on our diagram to the FORWARD chain. If it is ACCEPTed, it will be sent out. Finally, a program running on the box can send network packets. These packets pass through the OUTPUT chain immediately: if it says ACCEPT, then the packet continues out to whatever interface it is destined for.
 

ezaton

New member
קודם input

אח"כ forward אם המידע לא מיועד למחשב. ה output נועד למצבים בהם הוא במופגע מוביל את המידע הלאה, כלומר, כשהוא NAT. אם אתה רוצה לסנן מידע נכנס, סנן אותו במקביל ב input וב forward. Ez
 

lizard

New member
אז אם אני בונה FW

אני צריך RULES גם בINPUT וגם בFORWARD ? הFW מריץ NAT. מיכה
 

כתריאל

New member
למען הסדר הטוב

הנה הכל בצורה מסודרת. יש 3 סוגי זרימה של חבילה נכנסת/יוצאת. PREROUTING --> Routing Decision -- > Input --> Application PREROUTING --> Routing Decision -- > Forward --> POSTROUTING Internall Application --> Output --> POSTROUTING PREROUTING - כאן מבוצע DNAT (Destination NAT) Routing Decision - מנתב חבילות נכנסות ל INPUT או FORWARD INPUT - חבילות שמיועדות ל- FW. בודק חבילות ומאפשר למורשות לזרום לאפליקציה אליה הן יועדו FORWARD - חבילות שמיועדות להעברה הלאה. בודק חבילות, חבילות מורשות מועברות ל POSTROUTING OUTPUT - חבילות שנוצרות מקומית במחשב, מכאן הם הולכות ל POSTROUTING POSTROUTING - כאן מבוצע SNAT (Source NAT) מקווה שזה מסדר את העיניין בראש לכולם אני מציע לצייר את זה על דף, זה עוזר לראות את הכל בצורה הגדולה. -כתריאל
 
יש שרטוט ..

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

כתריאל

New member
שאנן??

מה קשר הפשר? שאנן בקשר למה? יש באמת שרטוט, את מה שכתבתי בהודעה הקודמת לקחתי מ-RH.
 
הנה השרטוט ..

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

כתריאל

New member
עכשיו לא צריך לשרטט

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

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

Bisly

New member
לא ממש הבנתי

מה זה FW? מה זה PREROUTING? ועוד הרבה דברים לא הבנתי פה אתה יכול להסביר לי את זה בצורה יותר פשוטה אני חייב לדעת את זה כי אני עושה רשת זה דחוף בבקשה ותודה רבה
 

lizard

New member
FW

ראשי תיבות של FireWall. Prerouting , מצב שהחבילת מידע הגיעה לנתב ועדיין לא הוחלט מה לעשות איתה (לאן להעביר וכדומה). אם אתה רוצה ללמוד ולהבין יותר לעומק אני מציע לך להשיג ספר שעוסק בNETWORKING ושם יוסבר כל הנושא (מודולי הOSI מבנה הTCP/IP וכיו"ב) מיכה
 

Bisly

New member
אוקי תודה הבנתי יותר אבל אתה

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

lizard

New member
אוקי

לפי מה שאני מבין (וזה לא בהכרח הרבה) יש לך PREROUTING שזה פאקט לפני ROUTING וPOSTROUTING שזה פאקט לאחר שנתבו אותה. אתה יכול לשים RULES בשניהם. NAT משתמש ביכולת לשים RULES ע"י כך שבPOSTROUTING הNAT משנה את הכתובת של מי ששלח את הפאקט. מאחר ומי ששלח את הפאקט יש לו כתובת לא מוכרת באינטרנט (להלן כתובת PRIVATE) ומאחר ועל מנת לקבל תשובה צריך כתובת מוכרת (להלן כתובת PUBLIC) אז לNAT יש רגל אחת PUBLIC ורגל אחת PRIVATE. אין לי מושג אם אפשר לעשות NAT עם כתובת PUBLIC בלבד. אז יוצא שאם תשים סניפר על הרגל החיצונית של הNAT אז תראה כאילו רק הוא גולש (יותר נכון המכונה שמפעילה אותו). ניתן לסבך את העניין עם זה שלמערכת תיהיה יותר מכתובת אחת לצאת איתה וכדומה. הבנת ? מיכה
 

ezaton

New member
נשמע טריוויאלי...

כמעט. הרבה בלאגן. רק הערה - ניתן לבצע NAT עם כתובות פומביות. זה אפשרי, ונקרא Static Nat, אם אני זוכר נכון. NAT (כפי שאנחנו מתכוונים פה) פירושו שאתה מיצג רשת שלמה של מכונות שנמצאות מאחורי הנתב שלך דרך מכונה אחת, כלפי האינטרנט. כלומר, כל יחידת מידע שאמורה לצאת החוצה מהן, מגיעה לשרת, שם הוא מבצע encapsulation (להגיד קפסולציה?) של המידע, ומיצג אותו כיחידת מידע שיוצאת ממנו. כשתחזור תשובה, הוא ידע לזהות את יעדה בפנים (לפי מעקב אחרי ה session) ולהזיר אותה למחשב שממנו יצאה הבקשה. כאשר אתה (עם מחשב ברשת בפנים) שולח מידע החוצה, המידע מנותב אל ה"שער" שלך, שהוא השרת האמור. השרת מכניס אותו לקופסת ה preroute (כלומר - טרם ניתוב) ושם מבצע קפסולציה שלו. את משלוח המידע (שמתבצע אח"כ) הוא מבצע כאילו זה פאקט יזום שלו. כשהוא יקבל מידע חזרה, הוא יכנס מה input דרך ה forward דרך ה NAT חזרה פנימה. בפוסט, אם אני זוכר נכון, כמעט ולא תשתמש, אלא אם תיצג מחשבים בפנים על ידי כתובות IP חיצוניות (ואז ביציאה מהניתוב, יש לך כלל, ויתכן שהמידע יחזור פנימה בכלל). Ez
 

Bisly

New member
הבנתי יותר אבל עדיין לא את הכול

האם יש הסבר מלא על כל הנושא בצורה ברורה וקלה למתחילים ?
 

ezaton

New member
לא שאני יודע

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