460 likes | 642 Views
הגנה במערכות מתוכנתות חורף תשס"ד הרצאה 7 Firewalls. ספרות: Chapman, Zwicki. Building Internet Firewalls. O’Reilly, 1995 . Cheswick, Bellovin. Firewalls and Internet Security. Addison Wesley, 1994. על מה ולמה להגן?. כמעט כל הרשתות המקומיות (של ארגונים/חברות או בתים) מחוברות היום לאינטרנט
E N D
הגנה במערכות מתוכנתות חורף תשס"דהרצאה 7Firewalls ספרות: Chapman, Zwicki. Building Internet Firewalls. O’Reilly, 1995. Cheswick, Bellovin. Firewalls and Internet Security. Addison Wesley, 1994.
על מה ולמה להגן? • כמעט כל הרשתות המקומיות (של ארגונים/חברות או בתים) מחוברות היום לאינטרנט • יש להתגונן כנגד • תוקפים מהאינטרנט • הדלפת מידע מהרשת המקומית • חשיפה, בטעות, של הרשת הפנימית, להתקפות מבחוץ, ע"י משתמשים פנימיים הגנה - חורף תשס"ד - הרצאה 7
Firewalls • מטרות: • להגן על רשת של ארגון בפני מתקיפים מבחוץ • לשלוט על תעבורה יוצאת ונכנסת – שליטה ברוחב פס • Firewall–כלי למימוש מדיניות הגנה, בעל יכולת (מוגבלת) להגן כנגד ההתקפות מהשקף הקודם. • הרעיון: נמקם את ה-Firewall בנקודה דרכה עוברת כל התעבורה בין הרשת של הארגון לבין העולם החיצוני (choke point). זה מאפשר פיקוח על התעבורה וסינון שלה. • היינו רוצים שה-firewall יאפשר מעבר חבילות מותרות ו"תמימות", לא יאפשר מעבר חבילות אסורות וכך יגן כנגד התקפות הגנה - חורף תשס"ד - הרצאה 7
Server Server private network HUB Router Server Router Internet הגנה - חורף תשס"ד - הרצאה 7
מהו Firewall? • Firewall היא מערכת שמפרידה בין שני אזורים ברשת וכופה מדיניות אבטחה על התקשורת בינהם • האיזורים יכולים להיות: • רשת פרטית / ציבורית. • תתי רשתות בעלות סיווגים שונים (הרשת של מחלקת כספים וכל המחלקות האחרות). • Firewall מבצע סינון של התעבורה שעוברת בין שני האזורים הגנה - חורף תשס"ד - הרצאה 7
מהו Firewall - המשך • Firewall יכול להיות מורכב ממחשב או נתב אחד, או מאוסף של מחשבים, נתבים וכו'. • Firewall, שאיננו על מחשב אישי (משתמש קצה), חייב להכיל לפחות multi-homed host אחד (קופסא עם חיבור לשתי רשתות או יותר) חשוב: יש למקם את ה-Firewall בצורה כזאת שכל התעבורה בין שני האזורים תעבור דרכו. אם ניתן לעקוף Firewall, אין שום טעם להתקין אותו הגנה - חורף תשס"ד - הרצאה 7
עקרונות תיכון של Firewalls • Choke point - ניתוב כל התעבורה דרך נתיב צר. כל זרימת המידע אל העולם החיצוני וממנו עוברת דרך ה-Firewall • Fail safe - נפילה איננה פריצה • מבנה פשוט הגנה - חורף תשס"ד - הרצאה 7
היכן למקם Firewall? התשובה תלויה בצרכי הארגון. ניתן להשתמש ב-Firewall: • לצורך הגנה של הרשת הפרטית מפני הרשת הציבורית - ה-Firewall יישב בין הרשת הפרטית לרשת הציבורית. • לצורך הגנה בתוך הרשת הפרטית – ה-Firewall יישב בין שתי רשתות פנימיות בארגון ויסנן מידע שעובר בינהן. הגנה - חורף תשס"ד - הרצאה 7
Server Server HUB private network Router Internet הרשת המוגנת • בתצורה זו ה-Firewallמפריד בין הרשת הציבורית לרשת הפרטית הגנה - חורף תשס"ד - הרצאה 7
Bastion Host (BH) • Bastionhostהואמחשב שניתן לגשת אליו מהרשת הציבורית (בד"כ הוא מכיל שרתים שמשרתים את הרשת הציבורית, ולפעמים גם את הרשת הפרטית). • מחשב זה צריך להיות מאובטח היטב. לדוגמא: • לא כדאי לשים עליו נתונים רגישים, ומידע מסווג. • יש לדאוג לכך שהתוקפים לא יוכלו לנצל את ה-BH לצורך התקפה על הרשת הפרטית. • יתכנו מספר Bastion Hosts לאותה רשת פרטית. הגנה - חורף תשס"ד - הרצאה 7
Server Server HUB private network Router Internet דוגמא לרשת עם Bastion hosts הגנה - חורף תשס"ד - הרצאה 7
סוגים של Bastion Hosts • Non-routing dual-homed host – מחשב שמחובר למספר רשתות (למשל הרשת הפרטית והרשת הציבורית), נותן להן שירותים, אך לא מעביר חבילות בין הרשתות. • BH קורבן: בד"כ זה מחשב שקשה לאבטח אותו ולכן הוא כמעט ולא מאובטח כלל. מיועד לשרת משתמשים מהאינטרנט. חשוב לדאוג שלא ניתן יהיה לתקוף דרכו את הרשת הפרטית. • BH פנימי : ממוקם פיסית בתוך הרשת הפרטית ונותן שירותים למשתמשים מהאינטרנט. יש לאבטח בצורה מיוחדת. רצוי להמנע מ-BH מסוג זה. הגנה - חורף תשס"ד - הרצאה 7
האיזור המפורז (DMZ) (לפעמים גם נקרא Perimeter Network). • זוהי רשת שמפרידה בין הרשת הפרטית, המוגנת, ובין הרשת הציבורית. ברשת זו בדרך כלל יושבים שרתים שניתן לגשת אליהם מהרשת הציבורית (Bastion hosts). • DMZ מוסיף עוד שכבה של הגנה על הרשת הפרטית. המחשבים בתוכו יכולים לשמש כ-proxies. הגנה - חורף תשס"ד - הרצאה 7
Server Server HUB private network Router Internet איזור מפורז DMZ– 1 הגנה - חורף תשס"ד - הרצאה 7
Server Server HUB private network Router Internet איזור מפורז DMZ - 2 הגנה - חורף תשס"ד - הרצאה 7
עקרונות תיכון רשתות ומדיניות הגנה • יש לזכור כי מחשבים שקיימת אפשרות לתקשורת ישירה מהאינטרנט אליהם (ובמיוחד שרתים שנותנים שירותים ל-clients שנמצאים באינטרנט) חשופים יותר להתקפות • אפילו אם המחשבים (הניגשים והנגישים) שייכים לחברה, תוקף שמשתלט עליהם, עלול לתקוף דרכם את שאר מחשבי החברה • מצד שני, בד"כ נרצה לאפשר למשתמשים ברשת הפנימית לגשת לאינטרנט ולתת שירותים (כמו web server של החברה) למשתמשים מהאינטרנט הגנה - חורף תשס"ד - הרצאה 7
עקרונות תיכון רשתות ומדיניות הגנה - המשך רצוי: • לא לאפשר קשר ישיר מבחוץ לרשת הפנימית • במיוחד, לא לאפשר למשתמש מהאינטרנט ליזום sessions אל המחשבים בתוך הרשת. • לא לשים מחשבים שחשופים להתקפות מהאינטרנט (למשל שרתים) במקומות רגישים • התקפה מוצלחת נגדם תאפשר לפרוץ לרשת הרגישה. • כדאי לשים מחשבים כאלה ב-DMZ • רצוי שתקשורת לאינטרנט וממנה תתבצע דרך proxy servers הגנה - חורף תשס"ד - הרצאה 7
טכניקות Firewall • קיימות שתי טכניקות מובילות: • Proxy server a.k.a. Application level relays • Packet filters • ניתן גם להשתמש בשילוב של שתי הטכניקות הגנה - חורף תשס"ד - הרצאה 7
Application Application TCP TCP UDP UDP Host A Gateway G1 Gateway G2 Host B IP IP MAC MAC IP IP MAC MAC מעבר ה-IP datagramברשת הגנה - חורף תשס"ד - הרצאה 7
Application Application TCP TCP UDP UDP Host A Packet filtering Firewall Host B IP IP MAC MAC IP MAC Packet filtering הגנה - חורף תשס"ד - הרצאה 7
Packet Filter • Packet filterסורק כלחבילהשעוברת דרכו, ומחליט האם להעביר אותה הלאה או לא • ל-Packet filterיש טבלת חוקים שעל פיה הוא מחליט האם להעביר (to forward) חבילה מסוימת או לא • הטבלה נכתבת ע"י מנהלי הרשת בהתאם למדיניות ההגנה הגנה - חורף תשס"ד - הרצאה 7
חוקי ה-Packet filter IP header הסינון מתבצע על סמך השדות הבאים: • כתובת IP המקור והיעד. • הפרוטוקול (TCP, UDP). • פורט המקור והיעד. • ביט ה-ACK • כיוון החבילה (in/out) ביחס לרשת עליה מגינים. TCP/UDP header TCP header הגנה - חורף תשס"ד - הרצאה 7
השימוש בטבלה • כל חבילה נבדקת מול הטבלה, לפי סדר השורות בטבלה. • החבילה מועברת הלאה או נזרקת לפי השורה הראשונה בטבלה שמתאימה לחבילה. • אם אף שורה לא מתאימה, החבילה נזרקת. הגנה - חורף תשס"ד - הרצאה 7
השימוש בשדה ה-Ack • רלוונטי רק לחבילות TCP. • בכל TCP session, בחבילה הראשונה שיוזמת את ה-session, ack=0. • בשאר החבילות השייכות לאותו session, ack=1. • לכן, אם מגיעה חבילה עם ack=0, סימן שהיא יוזמת session חדש. • מדיניות הגנה נפוצה היא לא לאפשר ליזום sessions מבחוץ אל תוך הרשת הפרטית. הגנה - חורף תשס"ד - הרצאה 7
דוגמא: חוקי Packet filter • מדיניות ההגנה : • telnetממשתמשים ברשת הפרטית לשרתים ברשת הציבורית מותר. • כל תעבורה אחרת מהרשת הפרטית ואליה, אסורה. הגנה - חורף תשס"ד - הרצאה 7
דוגמא לחוקי Packet filter (המשך) הגנה - חורף תשס"ד - הרצאה 7
דוגמא : FTP • FTPהוא פרוטוקול שעובד מעל TCP, ומשתמש בשני port-ים קבועים לשרתים:port 21למטרות שליטה ובקרה - command port, ו-port 20למטרת העברת המידע • בהגדרת המקורית של ה-FTP, ה-clientמעביר ב-command sessionאת מספר ה-portשישמש אותו ב-data session. השרת פותח את ה-data sessionמ-port 20שלו אל מספר ה-portשקיבל מה-client. צורה זו נקראית FTP אקטיבי. הגנה - חורף תשס"ד - הרצאה 7
FTPגירסה ידידותית ל-Firewalls • ה-FTPהמקורי בעייתי עבור firewall, מכיון ש-serverמאתחל את ה-data session • בגירסה הידידותית ל-firewalls, ה-clientשולח את פקודת pasvב-command session • השרת מגיב עם מספר portאקראי (>1023) • ה-clientפותח sessionמ-portאקראי שלו, אל ה-portשקיבל מה-server • שיטה זו נקראית FTP פאסיבי. הגנה - חורף תשס"ד - הרצאה 7
FTPגירסה ידידותית ל-Firewalls (המשך) נראה בהמשך סוג של Firewalls המסוגל לבחון את תוכן ה-session. במקרה כזה ניתן להמשיך להשתמש במוד האקטיבי. סוג זה של Firewall נקרא Stateful inspection מאפשר ל-packet filter לחבר בין ה-command session ובין ה-data session (בלתי אפשרי ב-packet filter שעובד עם חוקים סטטיים) הגנה - חורף תשס"ד - הרצאה 7
הערה • חלק ניכר מהפרוטוקולים החדשים יותר לטיפול במולטימדיה (העברת קול או וידאו) משתמשים בטכניקה דומה לזו ש-FTP משתמש בה (לדוגמא RTP, H323) • פרוטוקול מסוג זה מחולק לשני חלקים: • בחלק הראשון קובעים שני המשתתפים את מספרי ה-port-ים שמעליהם יעבורו הנתונים. חלק זה לרוב רץ מעל TCP • בחלק השני, שלרוב רץ מעל UDP מועברים הנתונים הגנה - חורף תשס"ד - הרצאה 7
Application Application Application TCP TCP TCP UDP UDP UDP Host A Host B Proxy server IP IP IP MAC MAC MAC Proxy server הגנה - חורף תשס"ד - הרצאה 7
Proxy Server Server Client Server Proxy Servers • תכניות אפליקציה שרצות במערכת ה-Firewall • ה-Clientוה-Serverאינם מדברים ישירות, ה-clientמפנה בקשת ל-proxy server, שמעביר/לא מעביר אותה אל ה-server הגנה - חורף תשס"ד - הרצאה 7
Proxy servers (המשך) • ה-Proxy serverמאפשר מעבר מידע אך ורק דרך ה-Proxy applications • כל מידע אחר איננו עובר • Proxy server שעובד מעל TCP חייב להגן על עצמו כנגד התקפות נפוצות על TCP • מכיון ש-Proxy server עובד ברמת האפליקציה, הוא יכול לבצע בדיקות שאינן יכולות להתבצע ע"י Packet filter. • דוגמא : אנטי וירוס הגנה - חורף תשס"ד - הרצאה 7
דוגמא : telnet(ללא Proxy server) sara_pc.radguard.com tx.technion.ac.il 1778 23 הגנה - חורף תשס"ד - הרצאה 7
tx.technion.ac.il 23 דוגמא : telnet(עם Proxy server) sara_pc.radguard.com proxy.radguard.com 8023 1889 1778 c tx.technion.ac.il הגנה - חורף תשס"ד - הרצאה 7
Proxy servers • יתרונות: • אפשרות ל-access controlעל ישויות שקיימות אך ורק ברמת האפליקציה (לדוגמא - משתמשים ב-telnetוב-ftp) • אין קשר tcpישיר בין clientל-server • חסרונות: • לכל אפליקציה חדשה, יש לכתוב proxyחדש • אין (בד”כ) שקיפות לקצוות הגנה - חורף תשס"ד - הרצאה 7
Packet filters • יתרונות : • שקוף למשתמש • שקוף לאפליקציות חדשות • ניתן למימוש על routers • חסרונות: • קשה לקונפיגורציה • מוגבל (עם Stateful inspection פחות) הגנה - חורף תשס"ד - הרצאה 7
חיבור משתמשים ניידיםלרשת פרטית • ב-Proxy server : בקרת כניסה, גישה וסינון אפשריים ברמת האפליקציה • ב-Packet filter: לא אפשרי - כתובת ה-IPאיננה קבועה. בד”כ לא קיימת אפשרות לסינון ברמת האפליקציה • פתרון : Authenticationאל ה-firewallלפני (או תוך כדי ה-session) הגנה - חורף תשס"ד - הרצאה 7
Packet Filteringדינאמי הגנה - חורף תשס"ד - הרצאה 7
Packet filtering דינאמי • במקום להשתמש בחוקים סטטיים, ניתן לזכור אילו sessions חוקיים נפתחו, ולאפשר אך ורק העברת חבילות השייכות ל-session קיים או שפותחות session חדש חוקי. הגנה - חורף תשס"ד - הרצאה 7
שמירת Session context • ציינו כבר ש-Sessionמאופיין חד-ערכית על ידי החמישיה <protocol, source addr, source port, dest addr, dest port> • לגבי החבילה הראשונה שפותחת session, נשתמש בחוקים סטטיים ע"מ להחליט האם זהו session חוקי. • נשמור את החמישיות הנ"ל לכל session פתוח. כל חבילה שאינה מתחילה session חדש ואינה שייכת ל-session פתוח, תזרק. הגנה - חורף תשס"ד - הרצאה 7
סריקת שדות האפליקציהStateful inspection • שיפור זה של Packet filter מסוגל לסרוק כל שדה בחבילה, בפרט הוא מסוגל לסרוק את שדות האפליקציה. • נזכור ש-packet filter ממומש בד"כ ב-gateway, ולכן החבילות אינן בהכרח מגיעות לפי הסדר. • שדה מסוים באפליקציה יכול לחצות גבולות חבילה. • בכדי שה-packet filter יוכל לבצע סריקה אחרי שדות בעלי משמעות ברמת האפליקציה, הוא חייב לזהות את כל החבילות ששייכות לאותו ה-session, ולסרוק אותם לפי הסדר – תהליך זה נקרא stateful inspection. הגנה - חורף תשס"ד - הרצאה 7
דוגמא – Stateful inspection • Stateful inspection יחד עם שמירת session context מאפשרים להתגבר על אי הידידותיות של FTP (או פרוטוקולים לטיפול במולטימדיה) ל-packet filters. • כאשר נפתח ה-command session, הלקוח שולח לשרת את מספר הפורט שלו עבור ה-data session. מערכת ה-stateful inspection מציצה לתוכן ההודעה וזוכרת את מספר הפורט המועבר. לאחר מכן, היא תאפשר את מעבר החבילה שפותחת את ה-data session מהשרת אל הלקוח. הגנה - חורף תשס"ד - הרצאה 7
חסרונות ה-Firewalls • אין הגנה על התעבורה שאינה עוברת דרך ה-Firewall. • מניחים שכל המשתמשים ברשת הפנימית הם הגונים. • אם פורץ מבחוץ מצליח להשתלט על מחשב אחד בתוך החברה, ה-Firewall לא ימנע ממנו להשתלט על מחשבים נוספים. • ניתן "להתלבש" על אפליקציות חוקיות: • FTP active mode • “firewall-friendly protocols”. • אין הגנה על תוכן החבילה ואין אימות משתמש. הגנה - חורף תשס"ד - הרצאה 7
השוואה בין סוגי ה-Firewall הגנה - חורף תשס"ד - הרצאה 7
Firewalls - עדכון • יעילות חסימת ההתקפות של firewalls ירדה משמעותית ב-5 השנים האחרונות • תעבורה עוקפת Firewall: לדוגמא מחשבים ניידים • התקפות על פורטים שלרוב פתוחים ב-firewalls: לדוגמא פורט 80 הגנה - חורף תשס"ד - הרצאה 7