- צבר – בלוג עם קוצים - https://tsabar.no-ip.org/blog -

המדריך לשרת ביתי: חלק רביעי – שרת פרוקסי מאובטח

מתי לאחרונה יצא לכם לגלוש באינטרנט בבית קפה ולהכניס את הסיסמא לפייסבוק?

מתי לאחרונה יצא לכם לגלוש באינטרנט באוטובוס ולבדוק אימיילים?

האם אתם מודעים לסכנה מהכבשים היושבות בכסאות שלידכם?

אם כן – המאמר הזה בשבילכם. אם לא – תקראו על כבשת האש (כאן [1], או כאן [2]) ואח"כ תחזרו לקרוא את המאמר הזה, כי הוא גם בשבילכם. אם כבר יש לכם שרת ביתי עם פרוקסי מאובטח – אתם כנראה יודעים מה אתם עושים.

אחד השימושים היותר פרקטיים עבור אלו שלא מתעניינים ב"משחקים" – דהיינו, שרת ביתי שאף אחד לא באמת צריך – שהצגתי בפרקים הקודמים, הוא האפשרות לגלוש מכל רשת אלחוטית פתוחה – או לחילופין, מכל רשת ארגונית מוגבלת – בצורה מוצפנת כך שאף אחד לא יוכל לעקוב אחרי המידע שלכם.

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

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

נתחיל בהתקנה של שרת פרוקסי. אני בחרתי להתמקד ב-tinyproxy, זהו שרת פרוקסי "רזה", גם מבחינת משאבי מחשב, וכמעט לא מצריך קנפוג מיוחד:

sudo apt-get install tinyproxy

הדבר הראשון (והיחיד) שנעשה אחרי ההתקנה – נחסום את הפרוקסי כדי שלא יהיה פתוח לכל דכפין. לשם כך נערוך את קובץ ההגדרות (היחיד) של שרת הפרוקסי:

sudo nano /etc/tinyproxy.conf

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

Allow 127.0.0.1
#Allow 192.168.0.0/16
#Allow 172.16.0.0/12
#Allow 10.0.0.0/8

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

נשמור את הקובץ עם Ctrl-O ונצא עם Ctrl-X.

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

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

שימו לב שבכל מחשב, IP מספר 127.0.0.1 מתייחס למחשב עצמו, ואין (עדיין) שום קשר בין שרת הפרוקסי הביתי למחשב הנייד. מבחינת השרת הביתי, 127.0.0.1 זה השרת הביתי, ומבחינת המחשב הנייד, 127.0.0.1 זה המחשב הנייד. כמו שכתבתי – אין שום קשר. אז עכשיו ניצור את הקשר הזה, ובצורה מוצפנת.

בשלב הזה הייתי אמור להסביר על התחברות מרחוק לשרת הביתי, אבל מכיוון שכבר הסברתי זאת בעבר [3], לא אעשה זאת שוב – החיבור נעשה מעל SSH.

יצירת חיבור בין המחשב הנייד לשרת הביתי:

אם במחשב הנייד מותקן לכם לינוקס – פתחו מסוף והקלידו את הפקודה הבאה:

ssh -L 8080:localhost:8888 user@server

כאן החליפו את user בשם המשתמש שלכם בלינוקס על השרת הביתי, ואת server בכתובת או מספר IP של השרת שלכם בבית.

תוספת מיוחדת: אם בטעות התקנתם חלונות במחשב הנייד – הורידו את PuTTY, והגדירו אותו בדומה לזה (במקום 880 – בפורט מקור תרשמו 8080, ובפורט יעד תרשמו localhost:8888):

הגדרות החיבור המוצפן בין המחשב הנייד לשרת הביתי ב-PuTTY

הגדרות החיבור המוצפן בין המחשב הנייד לשרת הביתי ב-PuTTY

אחרי זה תתחברו עם PuTTY למחשב שלכם ככה (במקום intranet.demo.co.uk תרשמו את הכתובת של השרת הביתי):

התחברות לשרת הביתי עם PuTTY

התחברות לשרת הביתי עם PuTTY

 

גלשו חופשי מהמחשב הנייד ובכל מקום – התקשורת של הדפדפן שלכם מוצפנת מעכשיו.

בהצלחה!

התמונות של PuTTY לקוחות מהעמוד הזה [4].

חלקים נוספים במדריך לשרת ביתי:

חלק ראשון – שרת אינטרנט [5]

חלק שני – התחברות מרחוק [3]

חלק שלישי – שיתוף אינטרנט ביתי [6]