270 likes | 418 Views
הגנה במערכות מתוכנתות. תרגול 9 – חומות אש – Firewalls. הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד. חומות אש. המטרה: הגנה על תקשורת בין רשתות Stateless Packet Filtering Firewalls Stateful Packet Filtering Firewalls (סינון חבילות דינמי)
E N D
הגנה במערכות מתוכנתות תרגול 9 – חומות אש – Firewalls הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
חומות אש • המטרה: הגנה על תקשורת בין רשתות • Stateless Packet Filtering Firewalls • Stateful Packet Filtering Firewalls (סינון חבילות דינמי) • Proxy Servers “Choke point” הגנה במערכות מתוכנתות - תרגול 9
32 bits Ver H.Len ToS Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Header Source Address Destination Address Options Padding Data (upper layers) IP Packet תזכורת – IP Header הגנה במערכות מתוכנתות - תרגול 9
32 bits Source Port Destination Port Length Checksum Data (upper layers) UDP Packet Header תזכורת – UDP Header הגנה במערכות מתוכנתות - תרגול 9
32 bits Header Source Port Destination Port Sequence Number Acknowledgement Number H. Len Reserved Flags Window Checksum Urgent Pointer Options Padding Data (upper layers) TCP Packet תזכורת – TCP Header Ack הגנה במערכות מתוכנתות - תרגול 9
Stateless Packet Filtering Firewalls • מבצע סינון של החבילות על סמך ה-headers • מדיניות ההגנה מוגדרת באמצעות טבלת חוקים סטטית IP Address wildcard (132.64.*.*) “any” port number port range “any” TCP UDP IPSec,… “yes” “no” “any” “in” “out” “permit” “deny” מתוך ה-IP Header מתוך TCP מתוך ה- TCP/UPD Header הגנה במערכות מתוכנתות - תרגול 9
Stateless Packet Filtering Firewalls • בהגעת חבילה מחפשים את השורה הראשונה המתאימה • בסוף הטבלה תמיד נכתוב בסוף הטבלה שורה מהצורה any,any,…,any,deny • דגשים • בד"כ יש שתי שורות עבור כל כלל • עקרון מזעור הזכויות • חשיבות השדה ACK • איזה צד יכול ליזום session הגנה במערכות מתוכנתות - תרגול 9
NET1 a Internet WS דוגמה – הגנה על NET1 • מדיניות ההגנה הנדרשת • לכל המחשבים ב-NET1 פרט למחשב a מותר לבצע telnet לכל מחשב באינטרנט. • לכל המחשבים באינטרנט מותר לבצע http למחשב מיוחד ב-NET1 ששמו WS. • כל היתר אסור. הגנה במערכות מתוכנתות - תרגול 9
דוגמה – הטבלה המתקבלת רשימה מלאה של אפליקציות ומספר הפורטים שהוקצו להן ניתן למצוא ב: http://www.iana.org/assignments/port-numbers הגנה במערכות מתוכנתות - תרגול 9
FTP – File Transfer Protocol Client Server • משתמש בשני sessions • Command Session – לשליחת פקודות (get, put, ls, ...) • Data Session – להעברת קבצים • גרסה רגילה – Active Mode y>1023 x>1023 21 20 port y get a.exe Command Session a.exe Data Session הגנה במערכות מתוכנתות - תרגול 9
עדכון ה-Firewall: • בעיה: • בד"כ לא נרצה לאפשר ליזום קשר מבחוץ אל מחשבים ברשת הפרטית. • פתרון: • גרסת FTP "ידידותית" ל-Firewalls הגנה במערכות מתוכנתות - תרגול 9
FTP – Passive Mode Client Server y>1023 x>1023 21 z>1023 PASV port z get a.exe Command Session open a.exe Data Session הגנה במערכות מתוכנתות - תרגול 9
עדכון ה-Firewall: הגנה במערכות מתוכנתות - תרגול 9
תכונות של Stateless PF Firewall • חוסר זכרון • שקיפות למשתמשים ברשת • דורש קונפיגורציה של ה-Firewall • מהיר (בדיקה מאוד פשוטה) הגנה במערכות מתוכנתות - תרגול 9
מגבלות של Stateless PF Firewall • חוסר זכרון • תוקף יכול ליצור עומס על הרשת • ההחלטות מבוססות על שכבות IP ו-TCP/UDP בלבד • אפשר לעקוף ע"י שימוש בפורטים שאינם חסומים פתרון: Stateful Packet Filtering Firewall • שני סוגי חוקים: סטטיים ודינאמיים. הגנה במערכות מתוכנתות - תרגול 9
NET1 a Internet WS בחזרה לדוגמה – הגנה על NET1 • הפעם נניח Firewall מסוג Stateful Packet Filtering • מטעמי פשטות נניח שלכלל המשתמשים ברשת (גם a) מותר לבצע telnet לכל מחשב באינטרנט הגנה במערכות מתוכנתות - תרגול 9
דוגמה – הטבלה המתקבלת נרשום בטבלה את השורה הסטטית הבאה: כשמשתמש a מ-NET1 רוצה להתחבר לשרת ה-telnet של מחשב w באינטרנט, מתווספות לטבלה שורות דינאמיות: השורות יוסרו לאחר סגירת הקשר (במקרה של UDP – לאחר timeout) הגנה במערכות מתוכנתות - תרגול 9
Stateful Inspection Firewalls • בוחנים מידע המועבר ברמת האפליקציה • בנוסף למידע ברמת שכבות הרשת והתובלה • לדוגמה – פתרון עבור FTP • ה-Firewall מזהה את פורט z אליו ייפתח ה-Data Session, ויוסיף את השורות הדינאמיות המתאימות. • מניעת ניצול פורטים פתוחים לתקשורת אסורה. • ה-Firewall צריך להכיר כל אחד מהפרוטוקולים עליהם הוא מעוניין להגן. הגנה במערכות מתוכנתות - תרגול 9
סיכום - Stateful לעומת Stateless • ל-Stateful יש זיכרון • החלטות דינאמיות, תלויות בחבילות קודמות • אבל גם מהירות נמוכה יותר... • פתח להתקפות Denial of Service הגנה במערכות מתוכנתות - תרגול 9
Proxy Servers • מגבלה של ה-Firewalls שראינו: לא בודקים את כל המידע בשכבת האפליקציה • האם קובץ עם סיומת jpg שהועבר ב-FTP הוא באמת תמונה? • הפעלת אנטי וירוס על מידע שעובר. • דורש מספיק חבילות כדי לקבל החלטות. • מענה: Proxy Server • "מתווך" בין המחשבים ברשת לבין מחשבים חיצוניים. הגנה במערכות מתוכנתות - תרגול 9
1’st session >1023 Client 8023 2’nd session 23 >1023 Telnet Proxy Internet Server איך זה נראה? כל Proxy Server יגן על אפליקציה יחידה. הגנה במערכות מתוכנתות - תרגול 9
מה proxy server יכול לעשות? • לחכות למספיק חבילות כדי להחליט מה לעשות. • להעביר את המידע, לזרוק אותו, לשנות אותו. • אימות של המשתמש. • למנוע ממשתמשים מסוימים שירותים מה-Proxy Server. • להפעיל אנטי-וירוס. • בקרה על זרימת המידע. בגלל איטיותם מתקינים אותם על מחשב בתוך רשת הארגון. הגנה במערכות מתוכנתות - תרגול 9
תכונות של Proxy Server • בעל זכרון • אין שקיפות למשתמשים ברשת • קונפיגורציה לא מסובכת • לא כל כך מהיר הגנה במערכות מתוכנתות - תרגול 9
התצורה המקובלת • מגדירים אזור מפורז (DMZ – Demilitarized Zone) • מפריד בין הרשת הפנימית לחיצונית • יוצבו בו המחשבים הדורשים תקשורת לשאר העולם • שרתי Web • שרתי Proxy הגנה במערכות מתוכנתות - תרגול 9
Private Network A Internal Router (P.F. 1) Bastion Host (Proxy Servers) DMZ External Router (P.F. 2) Web Server Internet DMZ הגנה במערכות מתוכנתות - תרגול 9
דוגמה • רוצים לאפשר telnet מ-A החוצה, ושכל קשרי ה-telnet ישתמשו ב-Telnet Proxy Server. Internal Router (P.F 1) הגנה במערכות מתוכנתות - תרגול 9
דוגמה - המשך • רוצים לאפשר telnet מ-A החוצה, ושכל קשרי ה-telnet ישתמשו ב-Telnet Proxy Server. External Router (P.F 2) הגנה במערכות מתוכנתות - תרגול 9