הגנה במערכות מתוכנתותחורף תשס"ד
7הרצאה Firewalls
ספרות:
Chapman, Zwicki. Building Internet Firewalls. O’Reilly, 1995.
Cheswick, Bellovin. Firewalls and Internet Security. Addison Wesley, 1994.
הגנה - חורף תשס"ד - הרצאה 7 2
על מה ולמה להגן?כמעט כל הרשתות המקומיות )של •
ארגונים/חברות או בתים( מחוברות היום לאינטרנט
יש להתגונן כנגד •תוקפים מהאינטרנט–הדלפת מידע מהרשת המקומית–חשיפה, בטעות, של הרשת הפנימית, להתקפות –
מבחוץ, ע"י משתמשים פנימיים
הגנה - חורף תשס"ד - הרצאה 7 3
Firewalls:ותמטר•
להגן על רשת של ארגון בפני מתקיפים מבחוץ–לשלוט על תעבורה יוצאת ונכנסת – שליטה ברוחב פס–
•Firewall – כלי למימוש מדיניות הגנה, בעל יכולת)מוגבלת( להגן כנגד ההתקפות מהשקף הקודם.
בנקודה דרכה Firewall: נמקם את ה-הרעיון•עוברת כל התעבורה בין הרשת של הארגון לבין
. זה מאפשר (choke point)העולם החיצוני שלה.סינוןפיקוח על התעבורה ו
יאפשר מעבר חבילות firewallהיינו רוצים שה-•מותרות ו"תמימות", לא יאפשר מעבר חבילות
אסורות וכך יגן כנגד התקפות
הגנה - חורף תשס"ד - הרצאה 7 4
privatenetwork
HUB
Server
Server
Router
InternetServer
Router
הגנה - חורף תשס"ד - הרצאה 7 5
?Firewallמהו •Firewall בין שני אזורים שמפרידה היא מערכת
ברשת וכופה מדיניות אבטחה על התקשורת בינהם
האיזורים יכולים להיות:•רשת פרטית / ציבורית.–תתי רשתות בעלות סיווגים שונים )הרשת של מחלקת –
כספים וכל המחלקות האחרות(.
•Firewall של התעבורה שעוברת בין סינון מבצע שני האזורים
הגנה - חורף תשס"ד - הרצאה 7 6
- המשךFirewallמהו •Firewall יכול להיות מורכב ממחשב או נתב
אחד, או מאוסף של מחשבים, נתבים וכו'.
•Firewall שאיננו על מחשב אישי )משתמש , multi-homed hostקצה(, חייב להכיל לפחות
אחד )קופסא עם חיבור לשתי רשתות או יותר( בצורה כזאת שכל Firewall: יש למקם את ה-חשוב
התעבורה בין שני האזורים תעבור דרכו. אם ניתן , אין שום טעם להתקין אותוFirewallלעקוף
הגנה - חורף תשס"ד - הרצאה 7 7
Firewallsעקרונות תיכון של
•Choke point - ניתוב כל התעבורה דרךכל זרימת המידע אל העולם . נתיב צר
Firewallהחיצוני וממנו עוברת דרך ה-•Fail safe - נפילה איננה פריצהמבנה פשוט•
הגנה - חורף תשס"ד - הרצאה 7 8
?Firewallהיכן למקם ניתן להשתמש . התשובה תלויה בצרכי הארגון
:Firewallב-
רשת של הרשת הפרטית מפני הצורך הגנה ל• יישב בין הרשת הפרטית Firewall - ה-ציבוריתה
לרשת הציבורית.
Firewall – ה-לצורך הגנה בתוך הרשת הפרטית•יישב בין שתי רשתות פנימיות בארגון ויסנן מידע
שעובר בינהן.
הגנה - חורף תשס"ד - הרצאה 7 9
הרשת המוגנתמפריד בין הרשת Firewallבתצורה זו ה-•
הציבורית לרשת הפרטית
privatenetwork
Server
Server
HUB
Router
Internet
הגנה - חורף תשס"ד - הרצאה 7 10
Bastion Host )BH(•Bastion host שניתן לגשת אליומחשב הוא
בד"כ הוא מכיל שרתים )מהרשת הציבוריתשמשרתים את הרשת הציבורית, ולפעמים גם את
הרשת הפרטית(. :לדוגמא. להיות מאובטח היטבך צרימחשב זה•
.לשים עליו נתונים רגישים, ומידע מסווגלא כדאי – BHיש לדאוג לכך שהתוקפים לא יוכלו לנצל את ה-–
לצורך התקפה על הרשת הפרטית.
לאותה רשת פרטית.Bastion Hostsיתכנו מספר •
הגנה - חורף תשס"ד - הרצאה 7 11
Bastionדוגמא לרשת עם hosts
privatenetwork
Server
Server
HUB
Router
Internet
הגנה - חורף תשס"ד - הרצאה 7 12
Bastion Hostsסוגים של .1Non-routing dual-homed host מחשב שמחובר –
למספר רשתות )למשל הרשת הפרטית והרשת מעביר חבילות בין לאהציבורית(, נותן להן שירותים, אך
הרשתות..2BHבד"כ זה מחשב שקשה לאבטח אותו ולכן קורבן :
הוא כמעט ולא מאובטח כלל. מיועד לשרת משתמשים מהאינטרנט. חשוב לדאוג שלא ניתן יהיה לתקוף דרכו
את הרשת הפרטית..3BHממוקם פיסית בתוך הרשת הפרטית ונותן פנימי :
שירותים למשתמשים מהאינטרנט. יש לאבטח בצורה מסוג זה.BHמיוחדת. רצוי להמנע מ-
הגנה - חורף תשס"ד - הרצאה 7 13
(DMZהאיזור המפורז )
(.Perimeter Network)לפעמים גם נקרא זוהי רשת שמפרידה בין הרשת הפרטית, •
המוגנת, ובין הרשת הציבורית. ברשת זו בדרך כלל יושבים שרתים שניתן לגשת
Bastion )אליהם מהרשת הציבוריתhosts.)
•DMZ מוסיף עוד שכבה של הגנה על הרשת הפרטית. המחשבים בתוכו יכולים
.proxiesלשמש כ-
הגנה - חורף תשס"ד - הרצאה 7 14
DMZ– 1איזור מפורז
privatenetwork
Server
Server
HUB
Router
Internet
הגנה - חורף תשס"ד - הרצאה 7 15
DMZ - 2איזור מפורז
privatenetwork
Server
Server
HUB
Router
Internet
הגנה - חורף תשס"ד - הרצאה 7 16
עקרונות תיכון רשתות ומדיניות הגנה
יש לזכור כי מחשבים שקיימת אפשרות לתקשורת ישירה •מהאינטרנט אליהם )ובמיוחד שרתים שנותנים שירותים
שנמצאים באינטרנט( חשופים יותר להתקפותclientsל-אפילו אם המחשבים )הניגשים והנגישים( שייכים לחברה, •
תוקף שמשתלט עליהם, עלול לתקוף דרכם את שאר מחשבי החברה
מצד שני, בד"כ נרצה לאפשר למשתמשים ברשת הפנימית • של web serverלגשת לאינטרנט ולתת שירותים )כמו
החברה( למשתמשים מהאינטרנט
הגנה - חורף תשס"ד - הרצאה 7 17
עקרונות תיכון רשתות ומדיניות הגנה - המשך רצוי:
לא לאפשר קשר ישיר מבחוץ לרשת הפנימית•במיוחד, לא לאפשר למשתמש מהאינטרנט ליזום •
sessions.אל המחשבים בתוך הרשת לא לשים מחשבים שחשופים להתקפות •
מהאינטרנט )למשל שרתים( במקומות רגישיםהתקפה מוצלחת נגדם תאפשר לפרוץ לרשת הרגישה.–DMZכדאי לשים מחשבים כאלה ב-– proxyרצוי שתקשורת לאינטרנט וממנה תתבצע דרך –
servers
הגנה - חורף תשס"ד - הרצאה 7 18
Firewallטכניקות
ת:קיימות שתי טכניקות מובילו•–Proxy server a.k.a. Application level
relays–Packet filters
של שתי בשילובניתן גם להשתמש •הטכניקות
הגנה - חורף תשס"ד - הרצאה 7 19
ברשת IP datagramמעבר ה-
MAC
IP
TCP UDP
Application
MAC
IP
TCP UDP
Application
Host A Host B
MAC
IP
MAC
IP
Gateway G2Gateway G1
הגנה - חורף תשס"ד - הרצאה 7 20
Packet filtering
MAC
IP
TCP UDP
Application
MAC
IP
TCP UDP
Application
Host A Host B
MAC
IP
Packet filtering Firewall
הגנה - חורף תשס"ד - הרצאה 7 21
Packet Filter•Packet filter תשעובר חבילה סורק כל
הלאה ה, ומחליט האם להעביר אותדרכואו לא
שעל חוקיםטבלתיש Packet filterל-• to הוא מחליט האם להעביר )הפי
forward )חבילה מסוימת או לאהטבלה נכתבת ע"י מנהלי הרשת בהתאם •
למדיניות ההגנה
הגנה - חורף תשס"ד - הרצאה 7 22
השדות הבאים: על סמךמתבצעהסינון המקור והיעד.IPכתובת •. (TCP, UDP)הפרוטוקול •פורט המקור והיעד.•ACKביט ה-• ( ביחס לרשת עליה מגינים.in/outכיוון החבילה )•
Packet filterחוקי ה-
TCP/UDP header
IP header
TCP header
הגנה - חורף תשס"ד - הרצאה 7 23
השימוש בטבלה
כל חבילה נבדקת מול הטבלה, לפי סדר השורות •בטבלה.
השורה החבילה מועברת הלאה או נזרקת לפי • שמתאימה לחבילה.הראשונה בטבלה
אם אף שורה לא מתאימה, החבילה נזרקת.•
הגנה - חורף תשס"ד - הרצאה 7 24
Ackהשימוש בשדה ה-.TCPרלוונטי רק לחבילות •, בחבילה הראשונה שיוזמת TCP sessionבכל •
. session, ack=0את ה-.session, ack=1בשאר החבילות השייכות לאותו •, סימן שהיא ack=0לכן, אם מגיעה חבילה עם •
חדש.sessionיוזמת מדיניות הגנה נפוצה היא לא לאפשר ליזום •
sessions.מבחוץ אל תוך הרשת הפרטית
הגנה - חורף תשס"ד - הרצאה 7 25
Packet filterדוגמא: חוקי
מדיניות ההגנה :•–telnet ברשת הפרטית לשרתים משתמשים מ
.ברשת הציבורית מותרכל תעבורה אחרת מהרשת הפרטית ואליה, –
.אסורה
הגנה - חורף תשס"ד - הרצאה 7 26
Packet filterדוגמא לחוקי המשך()
Rule Direction Src addr
Dest addr
Protocol Src port
Dst port
Ack Action
Spoof In Internal Any Any Any Any Any Deny
telnet1 Out Internal Any Tcp >1023 23 Any Permit
telnet2 In Any Internal Tcp 23 >1023 Yes Permit
הגנה - חורף תשס"ד - הרצאה 7 27
FTPדוגמא : •FTP הוא פרוטוקול שעובד מעלTCP , ומשתמש
port 21ים קבועים לשרתים: -portבשני , command portלמטרות שליטה ובקרה -
למטרת העברת המידע port 20ו-מעביר clientה-, FTPבהגדרת המקורית של ה-•
portאת מספר ה- command sessionב-השרת פותח את . data sessionשישמש אותו ב-
אל מספר שלו port 20מ- data sessionה- FTP. צורה זו נקראית clientשקיבל מה- portה-
אקטיבי.
הגנה - חורף תשס"ד - הרצאה 7 28
FTP -גירסה ידידותית לFirewalls, מכיון firewallהמקורי בעייתי עבור FTPה-•
data sessionמאתחל את ה- serverש- clientה-, firewallsבגירסה הידידותית ל-•
commandב- pasvשולח את פקודת session
(1023 אקראי )<portהשרת מגיב עם מספר •אקראי שלו, portמ- sessionפותח clientה-•
serverשקיבל מה- portאל ה- פאסיבי.FTPשיטה זו נקראית •
הגנה - חורף תשס"ד - הרצאה 7 29
FTP -גירסה ידידותית לFirewalls )המשך(
המסוגל לבחון Firewallsנראה בהמשך סוג של . במקרה כזה ניתן sessionאת תוכן ה-
להמשיך להשתמש במוד האקטיבי. Stateful נקרא Firewallסוג זה של
inspection-מאפשר ל packet filter לחבר data ובין ה-command sessionבין ה-
session-בלתי אפשרי ב( packet filter שעובד עם חוקים סטטיים(
הגנה - חורף תשס"ד - הרצאה 7 30
הערה
חלק ניכר מהפרוטוקולים החדשים יותר •לטיפול במולטימדיה )העברת קול או וידאו(
משתמש FTPמשתמשים בטכניקה דומה לזו ש-(RTP, H323בה )לדוגמא
פרוטוקול מסוג זה מחולק לשני חלקים:•בחלק הראשון קובעים שני המשתתפים את מספרי –
-ים שמעליהם יעבורו הנתונים. חלק זה portה-TCPלרוב רץ מעל
מועברים UDPבחלק השני, שלרוב רץ מעל –הנתונים
הגנה - חורף תשס"ד - הרצאה 7 31
Proxy server
MAC
IP
TCP UDP
Application
MAC
IP
TCP UDP
Application
Host A Host BProxy server
MAC
IP
TCP UDP
Application
הגנה - חורף תשס"ד - הרצאה 7 32
Proxy Serversבמערכת תכניות אפליקציה שרצות •
Firewall-ה מדברים םאינ Serverוה- Clientה-•
proxyמפנה בקשת ל- clientה-, ישירותserver , שמעביר/לא מעביר אותה אל
serverה-
Server
ServerClient Proxy Server
הגנה - חורף תשס"ד - הרצאה 7 33
Proxy servers( )המשך מאפשר מעבר מידע אך Proxy serverה-•
Proxy applicationsורק דרך ה-כל מידע אחר איננו עובר••Proxy server שעובד מעל TCP חייב
להגן על עצמו כנגד התקפות נפוצות על TCP
עובד ברמת Proxy serverמכיון ש-•האפליקציה, הוא יכול לבצע בדיקות שאינן
. Packet filterיכולות להתבצע ע"י דוגמא : אנטי וירוס–
הגנה - חורף תשס"ד - הרצאה 7 34
telnetדוגמא : (Proxy serverללא )
sara_pc.radguard.com tx.technion.ac.il
1778 23
הגנה - חורף תשס"ד - הרצאה 7 35
telnetדוגמא : (Proxy serverעם )
sara_pc.radguard.com
1778
proxy.radguard.com
8023
c tx.technion.ac.il
tx.technion.ac.il
231889
הגנה - חורף תשס"ד - הרצאה 7 36
Proxy servers
יתרונות:•על ישויות שקיימות access controlאפשרות ל-–
אך ורק ברמת האפליקציה )לדוגמא - משתמשים (ftpוב- telnetב-
serverל- clientישיר בין tcpאין קשר –
חסרונות:• חדשproxyלכל אפליקציה חדשה, יש לכתוב –אין )בד”כ( שקיפות לקצוות–
הגנה - חורף תשס"ד - הרצאה 7 37
Packet filters
יתרונות :•שקוף למשתמש–שקוף לאפליקציות חדשות–routersניתן למימוש על –
חסרונות:•קשה לקונפיגורציה– פחות(Stateful inspection )עם מוגבל–
הגנה - חורף תשס"ד - הרצאה 7 38
חיבור משתמשים ניידיםלרשת פרטית
בקרת כניסה, גישה : Proxy serverב-•וסינון אפשריים ברמת האפליקציה
לא אפשרי - כתובת : Packet filterב-•איננה קבועה. בד”כ לא קיימת IPה-
אפשרות לסינון ברמת האפליקציה firewallאל ה- Authenticationפתרון : –
(sessionלפני )או תוך כדי ה-
הגנה - חורף תשס"ד - הרצאה 7 39
Packet Filteringדינאמי
הגנה - חורף תשס"ד - הרצאה 7 40
Packet filteringדינאמי
במקום להשתמש בחוקים סטטיים, ניתן לזכור • חוקיים נפתחו, ולאפשר אך ורק sessionsאילו
קיים או sessionהעברת חבילות השייכות ל- חדש חוקי.sessionשפותחות
הגנה - חורף תשס"ד - הרצאה 7 41
Session contextשמירת מאופיין חד-ערכית על ידי Sessionציינו כבר ש-•
יהחמישה<protocol, source addr, source port ,
dest addr, dest port>, sessionלגבי החבילה הראשונה שפותחת •
נשתמש בחוקים סטטיים ע"מ להחליט האם זהו session .חוקי
פתוח. sessionנשמור את החמישיות הנ"ל לכל • חדש ואינה sessionכל חבילה שאינה מתחילה
פתוח, תזרק.sessionשייכת ל-
הגנה - חורף תשס"ד - הרצאה 7 42
סריקת שדות האפליקציהStateful inspection
מסוגל לסרוק כל שדה Packet filterשיפור זה של •בחבילה, בפרט הוא מסוגל לסרוק את שדות
האפליקציה., gateway ממומש בד"כ ב-packet filterנזכור ש-•
ולכן החבילות אינן בהכרח מגיעות לפי הסדר.שדה מסוים באפליקציה יכול לחצות גבולות חבילה.• יוכל לבצע סריקה אחרי packet filterבכדי שה-•
שדות בעלי משמעות ברמת האפליקציה, הוא חייב , sessionלזהות את כל החבילות ששייכות לאותו ה-
statefulולסרוק אותם לפי הסדר – תהליך זה נקרא inspection.
הגנה - חורף תשס"ד - הרצאה 7 43
Stateful inspectionדוגמא – •Stateful inspection יחד עם שמירת session
context מאפשרים להתגבר על אי הידידותיות של FTP )או פרוטוקולים לטיפול במולטימדיה(
.packet filtersל-, הלקוח command sessionכאשר נפתח ה-•
dataשולח לשרת את מספר הפורט שלו עבור ה-session-מערכת ה .stateful inspection מציצה
לתוכן ההודעה וזוכרת את מספר הפורט המועבר. לאחר מכן, היא תאפשר את מעבר החבילה
מהשרת אל data sessionשפותחת את ה-הלקוח.
הגנה - חורף תשס"ד - הרצאה 7 44
Firewallsחסרונות ה-אין הגנה על התעבורה שאינה עוברת דרך •
.Firewallה-מניחים שכל המשתמשים ברשת הפנימית הם הגונים.–אם פורץ מבחוץ מצליח להשתלט על מחשב אחד בתוך –
לא ימנע ממנו להשתלט על Firewallהחברה, ה-מחשבים נוספים.
ניתן "להתלבש" על אפליקציות חוקיות:•–FTP active mode–“firewall-friendly protocols”.
אין הגנה על תוכן החבילה ואין אימות משתמש.•
הגנה - חורף תשס"ד - הרצאה 7 45
Firewallהשוואה בין סוגי ה-Packet
FilteringStateful
Inspection Packet Filtering
Proxy
חיבור עקיףחיבור ישירחיבור ישיר
אינו רגיש לפרוטוקול
רגיש רגיש לפרוטוקוללפרוטוקול
אינו שומר מצב (stateless)
שומר מצבשומר מצב
לא מסוגל לממש בקרת זרימה
לא מסוגל לממש בקרת זרימה
מסוגל לממש בקרת זרימה
הגנה - חורף תשס"ד - הרצאה 7 46
Firewallsעדכון -
firewallsיעילות חסימת ההתקפות של • השנים האחרונות5ירדה משמעותית ב-
: לדוגמא מחשבים Firewallתעבורה עוקפת –ניידים
התקפות על פורטים שלרוב פתוחים –80: לדוגמא פורט firewallsב-