UPnP, DMZ, Port Trigger ו-Port redirect

ישנם הגדרות NAT נוספות עליהם שווה לדבר…

DMZ
DMZ הוא מושג שגוי נוסף בעולם ה-NAT. המושג DMZ מייצג במקור שקע נוסף בנתב שלנו המיועד לחיבור של רשת נפרדת ומאובטחת. כלומר, שקע אחד לרשת הפנימית ושקע נוסף לשרתים שלנו, ברשת נפרדת. בעולם ה-NAT, המושג DMZ אומר משהו אחר לגמרי.

הצורך ב-DMZ נולד בעצלנות 🙂
נניח שיש לנו שרת ברשת הפנימית שיש לו תפקידים רבים: הוא גם שרת FTP, יש עליו אתר אינטרנט, הוא שרת דואר, מריצים עליו אימיול ויש עליו שרתי משחקים – הכל על מחשב אחד. המשמעות היא שיש ליצור חוקים רבים של port forwarding. הגדרת DMZ נועדה לענות על הצורך הזה בדיוק! DMZ אומר בעצם, שכל תעבורה, שהיוזם שלה מגיע מהאינטרנט, יש להפנות למחשב אחד ויחיד. בכך חסכו מאיתנו עבודה 🙂

בנוסף, הגדרת DMZ הינה דרך מצוינת לאתר תקלה. אם אתם חושבים שבעיית התקשורת נובעת בגלל צורך בחוק port forward, ניתן להגדיר זמנית DMZ על התחנה ולבדוק אם בעיית התקשורת נפתרה!

אולם, יש חיסרון גדול ל-DMZ. אם המחשב לא מוגן כראוי, ניתן יהיה לפנות אליו בפורטים של שיתוף קבצים, remote desktop והתקפות אחרות – ובכך, לפרוץ למחשב.

UPnP
Universal Plug and play הינו פרוטוקול חדש יחסית המאפשר לגלות ולהגדיר לבד את כל מה שקשור ל-Port Forward. הפרוטוקול הוא צורך עבור כל אותם משתמשים שמסתבכים בלהגדיר פורטים. ההגדרה UPnP צריכה להיות מופעלת בשתי מקומות: שהנתב יתמוך באפשרות זו וגם, שהתוכנה על המחשב שלנו שמצריכה הפנייה של פורטים (e-mule למשל) תתמוך באפשרות הזו. כאשר הנתב שלנו מקבל אליו תעבורה שהוא אינו יודע לתרגם, הוא פונה לרשת הפנימית וסורק אחר מחשבים שיש להם UPnP. כאשר עונה מחשב כזה (למשל מחשב שיש לו emule שתומך ב-UPnP), הנתב שואל את המחשב אם יש צורך להפנות אליו פורטים.
עכשיו אתם וודאי שואלים "למה הוא חופר לנו בראש על כל מיני מושגים? ולמה הוא לא אמר לנו מההתחלה שפשוט צריך להפעיל את ה-UPnP?" הבעיה עם UPnP היא שהוא לא מאובטח. נניח ויש לכם פרטים סודיים על המחשב שלכם ומישהו מבחוץ פונה לנתב כדי לפתוח פורטים המאפשרים להשתמש (ולמחוק) לכם את הקבצים (באמצעות SMB או Netbios). ייתכן ובמקרה זה, הנתב יפתח גישה לעולם כך שכל אחד יוכל לחטט ולשנות לכם קבצים על המחשב! ניתן לקרוא עוד על UPnP פה.

Port Redirect
ניקח מצב שבו יש לנו רשת ביתית פשוטה בבית. ברצוננו לבנות שני אתרי אינטרנט ולאחסן אותם בבית. הכתובת של השרתים הם 192.168.0.100 ו-192.168.0.200. כיוון שאנחנו עושים PAT, אנחנו יכולים לעשות הפנייה של פורט 80 רק פעם אחת. אם נפנה את פורט 80 לשרת אחד, לא נוכל להפנות את פורט 80 לשרת השני וההפך.
port redirect עונה בדיוק לבעיה זו. כפתרון, נוכל להגדיר את החוקים הבאים:

88.104.86.17:80 = 192.168.0.100:80
88.104.86.17:8080 = 192.168.0.200:80

ניתן לראות כי כאשר הנתב יקבל אליו בקשה לפורט 8080, הוא ייתרגם אותה ויבצע redirect לפורט 80 על השרת השני שלנו. לאחר שנבצע את ההגדרה יקרה הדבר הבא:

אם נקליד בדפדפן את הכתובת  88.104.86.17:80 אנחנו נגיע לשרת הראשון (192.168.0.100)
אם נקליד בדפדפן את הכתובת  88.104.86.17:8080 אנחנו נגיע לשרת השני (192.168.0.200)

Port Trigger
ישנם שרתים שמשתמשים ביותר מפורט אחד. אם נתקין ברשת שלנו שרת FTP, עלינו לבצע port forward לפורט 20 ולפורט 21. ב-FTP, פורט 21 משמש לבקרה (להיכנס לשרת, להכניס יוזר וסיסמה) ואילו פורט 20 משמש להעברת מידע ("אני רוצה להכנס לתיקיה X ולהוריד משם את קובץ Y"). אולם, אם נבצע הפנייה קבועה של פורט 20, יש חשש שייפרצו לנו לשרת. מטעמי אבטחה, Port Trigger מאפשר לנו לפתוח פורטים באופן זמני. אבל מתי? מה הסיבה שהפורט ייפתח באופן זמני? (מה ה-trigger שיפתח את הפורט?) ניתן להגדיר שפורט X ייפתח רק כשפונים לשרת בפורט Y. זה בדיוק המשמעות של הגדרת Port Trigger בנתב. אם נחזור לדוגמה שלנו, Port trigger מאפשר לנו לפתוח, במקרה זה, את פורט 20, רק אחרי שפונים לשרת שלנו בפורט 21. כלומר, רק כאשר מנסים לבצע כניסה מסודרת לשרת, ניתן יהיה להוריד ממנו קבצים.

<<לעמוד הקודם ראשי פרקים לעמוד הבא>>

8 תגובות to “UPnP, DMZ, Port Trigger ו-Port redirect”

  1. איתי Says:

    ראשית,המדריך קריא ברור.פשוט מדהים.תודה רבה 🙂

    בנוסף,יש לי שאלה לדוגמאת 2 האתרים על מחשב אחד:
    פנייה לאתר אינטרנט מתבצעת דרך פורט 80.כיצד ייתכן שמחשב הפונה להגיע לאתר האינטרנט שלי,יפנה לפורט 8080?

  2. mymodemsux2 Says:

    יש לך שני אתרי אינטרנט, שיושבים על מכונה אחת (מחשב), ואותו מחשב יושב מאחורי נתב שעושה NAT? אני מבין נכון?

    אתה חייב להגדיר, איך המחשב (עליו יושבים שני האתרים) או הנתב יזהו לאיזה אתר משתמש הקצה באינטרנט צריך להגיע.

    הדרך המקובלת היא
    1. להגדיר שכל פורט 80 יופנה למכונה (ונתעלם מזה שעל המחשב יש שני אתרים)
    2. להגדיר דומיין שונה לכל אתר.
    3. להגדיר ב-apache/IIS שפניה למחשב (שמחזיק את שני האתרים) בדומיין מסוים יופנה לאתר אחד (בתיקיה אחרת או בפורט אחר, תלוי באיך שאתה מגדיר את האפאצ'י או IIS) ודומיין אחר יפנה לאתר השני.

    אם, למשל, אתה רוצה שגולשים מהארץ יקבלו אתר אחד (זה בפורט 80) וגולשים בחול יקבלו אתר אחר (פורט 8080), יש נתבים שבהם ניתן להגדיר port-redirect עפ"י ה-source-IP. יש גם load balancers שיודעים לעשות את זה – אבל זה ממש לא פתרון ביתי.

    אם למשל אתה רוצה שהמשתמש יקבל חלון של שם וסיסמה, ובהתאם לשם שלו הוא יקבל דף אחר, אפשר לשעות משהו דומה ל"הדרך המקובלת", הראשונה שהצעתי. רק שבסעיף 3 אתה מגדיר ב-apache או ב-IIS שיעשו הפניה לפי השם משתמש.

    בקיצור, זה נורא תלוי מה אתה רוצה לעשות. הכי חשוב, שתגדיר לך בצורה ברורה איך אתה רוצה להבדיל בין האתרים (עפ"י דומיין? עפ"י source IP? עפ"י שם וסיסמה?)

  3. פיטר Says:

    איך אפשר לפתוח DMZ ליותר ממחשב אחד?

  4. משתמש אנונימי (לא מזוהה) Says:

    כל הכבוד על ההסברים !! נכנסתי במקרה לאתר .. ואתה באמת מסביר כמו שצריך ! באמת כל הכבוד .

  5. משתמש אנונימי (לא מזוהה) Says:

    הסברים וכתיבה מעולה וברורה !!!

  6. דקל Says:

    הסברים מאוד ברורים ברמה גבוהה.
    אני יכול להגיד ש 60 אחוז ממה שרשמת פה ידעתי כבר לפני אבל אין ספק שגם את מה שידעתי עזרת לי לחדד ולהבין טוב יותר !
    לגבי מה שלא ידעתי, סתמת לי חורים בידע !
    מודה לך !

  7. משתמש אנונימי (לא מזוהה) Says:

    תודה רבה כתיבה יפה וברורה.

להשאיר תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s


%d בלוגרים אהבו את זה: