IPTables Firewall Linux

0

שלום חברים,

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

נושא היום הוא IPtables בשרתי הלינוקס.

ה-IPtables משמש לנו כ-Firewall בשרתי הלינוקס לכל דבר ועניין.

למה הוא משמש בדיוק?

1.כמו כל פייריול, משמש לכניסה וחסימה של רשתות פנימיות.

2.להגן מפני Spoofing.(זיוף כתובת המקור, ובעצם התחזות לאחת הכתובות שברשת)

3.חסימה של DDOS (נזק לשירות מסויים על ידי שליחה של SYNC ללא החזר, וכך בעצם השרת נעשה כבד וכבד עד שנופל)

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

קודם כל, אציג את הפקודה netstat -ltpn

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

כלומר, אם לדוגמא אנו מריצים שרת Web, שה-Port שלו הוא פורט 80. עם הפקודה הזו, אנו יכולים לבדוק אם אכן הוא באמת מאזין לפורט 80.

עכשיו, לא מספיק לרשום Netstat , יש לשים לב לאותיות שרשמתי:

l- Listen לראות לאיזה פורט ה-Service מאזין.

t – TCP בעצם הפרוטוקול שאנו רוצים לבדוק.

p- לראות את התכונה שמאזינה.

n- בעצם מציין את מספרי הפורטים.

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

נריץ את הפקודה: service iptables status

אם הוא מכובה, ניתן להפעיל אותו על ידי הפקודה: service iptabels start

כאשר נרצה למחוק את כל החוקים:

iptables –flush (בעצם מנקה את כל הקובץ ההגדרות של ה-IPtables)

על מנת לראות את החוקים של ה-iptables יש להריץ את הפקודה:

iptables -L -v 

L- מלשון המילה List.

V-  מלשון המילה Verbose.

קיימים כמה Chains בסייסים בכל iptables.

INPUT– כלומר כל התעבורה שנכנסת בפנים.

OUTPUT– תעבורה שיוצאת החוצה.

FORWARD – זהו מצב שהשרת מתפקד בתור ראוטר, כאשר הוא אחראי להעביר את הפקטות.

בעצם על השלושה Chains האלה אנו בונים את החוקים.

בואו נכיר את ה-Syntax של ה-IPtables:

iptables -A INPUT -i lo -j ACCEPT – 

אז ככה, A- מסמן לי ADD או append. כלומר מה אני רוצה להוסיף לחוק.

INPUT- חוק שבעצם יתייחס לי לכניסה לרשת, לתעבורה הפנימית.

i – מתייחס אל ה-Interface (כרטיס רשת)

J- מהמילה Jump, כלומר מה לעשות עם החוק.

ACCEPT – לאשר את החוק.

בואו נרכיב את החוק, "תאפשר ברשת הפנימית על גבי כרטיס ה-Loopack תעבורה של הכל.

פשוט נכון?

חברה, איך אנו מגיעים לקובץ ההגדרות?

נמצא ב-/etc/sysconfig/iptables

דוגמא נוספת:

 A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT-

ונסביר:

A-  להוסיף אל תוך החוק.

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

m- בודק האם יש match.

state NEW– בודק האם החוק הוא חדש.

m- בודק האם זה tcp.

p- מציין את הפרוקטול.

dport 22– הפורט המיועד.

j ACCEPT- מאשר את החוק.

בואו נרכיב:

כל חיבור חדש בפורט tcp 22, אל הרשת הפנימית, תאפשר לו כניסה.

כמובן שאפשר להוסיף גם משתנים, לפני שאנו רושמים את החוקים, בדיוק כמו ב-Script רגיל ב-Bash או כל דבר אחר.

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

לדוגמא: "network="192.168.1.10 ואז בחוק עצמו נוכל פשוט לרשום network$.

עד כאן להיום , מקווה שהבנתם.


שתף

אודות מחבר