גישה לרשתות מוגבלות באמצעות SSH

אחד הדברים הנחמדים ב־openssh הוא שאפשר לעשות עם התוכנה הרבה יותר מאשר להתחבר למסופים מרוחקים. באמצעות SSH באפשרותנו לתעל תעבורה מרשת האינטרנט לתוך רשת מוגבלת ולהיפך, ולעקוף כל הגנה שאנשים שמים לנו בדרך.

בעבר כתבתי פוסט ארוך על פעולות שאפשר לעשות באמצעות SSH, ולא הזכרתי שהמערכת מאפשרת גם להיכנס לתוך רשתות מוגבלות מבחוץ באמצעות הפעלה של המערכת בכיוון ההפוך. ולמה אני כותב את כל זה? מהסיבה שמ' (השם המלא שמור במערכת. הקישור לא) הכריחה אותי לכתוב על זה.

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

ל־OpenSSH ישנם שני מצבי פעולה עיקריים בכל הקשור לשימוש במשאבי רשתות מוגבלות גישה – גישה לרשת המוגבלת מבחוץ, כאשר השרת שמריץ את sshd נמצא בתוך הרשת המוגבלת אך ניתן להתחבר אליו מבחוץ (אזור מפורז), ופעולה הפוכה של נתינת הרשאות גישה לרשת באמצעות מכונה מבפנים שמתחברת למכונה שנמצאת מחוץ לרשת.

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

הדבר הפשוט ביותר שאנו נרצה לעשות הוא גישה לרשת הפנימית מבחוץ. אנחנו מעוניינים להתחבר לשרת שנמצא ברשת המוגנת (שרותי דוא"ל לצורך העניין), אך לא יכולים להתחבר אליו ישירות. לצורך העניין נדאג מראש לשרת SSH שנמצא בתוך הרשת המוגנת בשילוב של Firewall שיאפשר תקשורת נכנסת לשרת. לאחר הזדהות מול ה־SSH נוכל להגדיר פורט שינתב תקשורת מהמחשב שלנו לשרת המרוחק.

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

$ ssh tomer@shell.example.net -L 1100:mail.example.net:110

בצורה כזו נוכל להתחבר לשרת הדואר המרוחק (במקרה הזה POP3) באמצעות גישה לפורט 1100 על המחשב שלנו.

מה שעושה הפקודה הזו היא לפתוח פורט על המחשב שלנו (מעל 1024 בהנחה והתוכנה לא הופעלה תחת root), שנוכל להתחבר דרכו לשירות הדואר שלנו עם שכבת האבטחה של SSH. במידה ונרצה לאפשר גם למחשבים אחרים להתחבר לשירות הזה דרכנו, נציין את הממשק המקומי של כרטיס הרשת הנבחר –

$ ssh tomer@shell.example.net -L 10.0.0.1:1100:mail.example.net:110

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

במקרים מסויימים אין לנו הרשאות להגדיר שירותים בתוך הרשת הממוגנת, ואנחנו צריכים להיכנס אליה מבחוץ. גם זה אפשרי עם SSH בהנחה ונוכל להפעיל את התוכנה ממחשב שנמצא בתוך אותה רשת. בתוך הרשת נריץ את הפקודה הבאה –

$ ssh tomer@home.example.com -R 2202:127.0.0.1:5900

כאשר מופעלת הפקודה הזו על עמדה כלשהי ברשת המוגנת היא תתקשר למחשב שנמצא מחוץ לרשת שלנו, ותגדיר עליו מיפוי בין פורט 2202 במחשב המרוחק לפורט 5900 (vnc-server) במחשב שלנו (127.0.0.1) שנמצא בתוך הרשת המוגנת. בצורה כזו נוכל לאפשר לאדם שיושב במחשב המרוחק להתחבר לשירותים שמותקנים על העמדה שלנו ואינם נגישים מבחוץ. מאחר ויוזם התקשורת הוא מחשב שנמצא בתוך הרשת המאובטחת התקשורת לא נחסמת על־ידי חומת האש.

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

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

ניתוב פורטים באמצעות SSH איננו נחוץ כאשר אין צורך בהצפנת נתונים, אימות המשתמש שמתחבר לפורט המנותב ובמקרים בהם קיים פתרון פשוט יותר למשימה (למשל שימוש בשרת FTP מקומי במקום ביכולות העברת הקבצים המובנות של SSH).

2 תגובות בנושא “גישה לרשתות מוגבלות באמצעות SSH”

השאר תגובה