מדריך הפעלת שרת VPN פרטי על גבי הענן של AWS, צעד אחר צעד.
🔐 במדריך הבא נלמד איך ליצור שרת VPN פרטי בענן של AWS 🔐
בגדול הרעיון הוא לנתב את כל תעבורת הרשת דרך מחשב אחר (שרת ה-VPN) כך שמבחינת מקבל הבקשה שלנו המחשב ששלח את הבקשה זה שרת ה-VPN ומבחינת ספקית האינטרנט שלנו (וכל מי ש"יושב" עליה, כמו המדינה) אנחנו ניגשנו לשרת ה-VPN.
להרבה דברים, למשל התחברות לרשת פנימית של ארגון, ועוד.
אחת המטרות החשובות והמפורסמות זה ענייני פרטיות, ברגע שגולשים עם VPN הספקית ואיתה כל החברים שלהם יודעים רק שניגשתם ל-VPN אבל לא יודעים לאן באמת גלשתם. וגם לצד השני, האתר יודע שבאה אליו בקשה מה-VPN אבל לא יודע מי באמת שלח אותה.
חשוב להבין ש-VPN זה לא איזה פתרון קסם לכל בעיות הפרטיות והמעקב ברשת אלא רק יוצר הפרדת תקשורת בין המחשב שלנו לבין השירות שמקבל את הבקשה.
אחרי שהבנו את העיקרון מאחורי ה VPN קל להבין כמה קריטי ששירות ה VPN יהיה אמין ובטוח ולא חינמי, כי שרת הVPN יודע גם מי ביקש את הבקשה וגם לאן זה הלך, משמע הוא יודע הכל, ואם אתם.ן המוצר זה הופך להיות בעיה גדולה.
אבל גם בבחירה בשירות בטוח ואמין, עדיין ישנם יתרונות מסוימים ביצירת שרת VPN פרטי.
השוואה קצרה של ספק VPN מול שרת VPN פרטי (שכמובת לא כוללת את כל האספקטים!)
החלטתם ללכת על שרת פרטי? אתם לא צריכים להיות אנשי Devops! זה קל ופשוט.
ראשית צריך ליצור (אם עדיין אין) חשבון ב- AWS (זה לא החשבון קניות ב Amazon הרגיל)
חשוב מאוד לשים לב, מאוד מאוד מאוד מומלץ לשים סיסמה טובה ואימות דו שלבי, כי הכרטיס אשראי מוצמד לחשבון, ואם האקר מצליח להכנס לחשבון הוא יכול לעשות ככל העולה על רוחו ובפוטנציאל לבצע פעולות בעלות של אלפי דולרים לפני שבכלל אפשר לשים לב (וכן מומלץ גם להגדיר התראות בממשק כך ש-AWS ישלחו התראות בחריגה מסכום חיוב משוער מסוים)
אחרי שסיימנו את יצירת החשבון הגיע הזמן להרים את המכונה 💪
המדריך אמור להתאים גם ללא ידע מוקדם או הבנה במחשוב ענן ובכלל, אם כי ממליץ לקרוא את הטקסט ולהבין את הפעולות (וזה בכלל לא מסובך!)
ראשית נכנס ללשונית של השירותים ונבחר ב EC2 שזה שירות הרצת מכונות וירטואליות עם גישה מהרשת שזה בעצם בדיוק מה שאנחנו רוצים, מחשב בענן של AWS.
נבחר בחוות השרתים שבה אנו מעוניינים להתארח, מן הסתם נעדיף חוות שרתים שקרובה פיזית כך שהתקשורת שלנו לענן תהיה מהירה ככל האפשר.
אחרי שבחרנו את החוות שרתים שבה נרים את השרת, הגיע הזמן להרים אותו.
נבחר AMI שזה בעצם אימייג'
(מה זה אימייג'? לצורך העניין זה מערכת הפעלה מוכנה לשימוש עם סט התקנות נדרשות מותקנות מראש)
נבחר בטאב
AWS Marketplace
ובחיפוש
openvpn
ו
select
(האימייג המוצג מוגבל ל-2 מכשירים במקביל ניתן גם לבחור עם 10 או 25 חיבורים מקבילים)
חשוב לשים לב ששימוש באימייג עולה כסף (פר שעה) נוסף על החיוב הרגיל של AWS
ניתן להשתמש ב AMI ללא עלות נוספת (לבד מהחיוב הרגיל ל AWS) אבל זה דורש התעסקות עם התקנות בסוף המדריך יש נספח איך , לדעתי שווה את זה.
נבחר את סוג המכונה שאנחנו רוצים, לצורך הדוגמה וכנראה לשימוש אישי t2.micro בהחלט מספיק.
לא מספיק לכם? תמיד אפשר ליצור מחדש ולבחור מכונה חזקה יותר, רק שימו לב לחיובים 😏
בחלון הבא אין מה לשנות פשוט להמשיך עם ההגדרות הדיפולטיות
נרים את המכונה
ניצור מפתח לגישה למכונה (אפשר לבחור כמובן גם מפתח קיים, אם קיים) חשוב מאוד להוריד ולשמוש את המפתח במקום שמור, זה המפתח גישה למכונה.
ו.. נעלה את המכונה לאוויר
נמתין ל AWS שיכינו את המכונה
והנה היא, נלחץ על הקישור
ניתן שם קריא ונאה למכונה החדשה
נמתין עד שהמכונה תהיה מוכנה ונעתיק את הכתובת IP הציבורית של המכונה
נתקין putty על המחשב.
בסיום ההתקנה נחפש את התכנה
puttygen
בכדי להמיר את הקובץ מפתח שהורדנו מפורמט
pem
לפורמט
pkk
.
נפתח את התכנה, ונבחר ב
conversions
-> import key
נבחר את קובץ ה
pem
שהורדנו מקודם.
וניצור קובץ pkk
נאשר
והגיע הזמן להתחבר למכונה ב- SSH
הפעם נחפש במחשב
putty
ונזין את השם והכתובת
openvpn@{the public ip}
בעץ התפריט נבחר
connection
-> SSH
-> Auth
ונטען את קובץ ה
pkk
ונלחץ על
open
נאשר את הסכם השימוש
yes
ונקסט נקסט נקסט
(מקש ה Enter
)
והשרת מוכן!
נזין את הפקודות הבאות בכדי להגדיר סיסמה
sudo su
passwd openvpn
ונזין פעמיים את הסיסמה שאנו מעוניינים בה
ניגש בדפדפן לכתובת הציבורית של השרת עם הפורט
943
זה אמור להראות ככה
https://{public ip}:943/admin
בדפדפן תוצג שגיאה בגלל ששם המתחם לא אומת. זה בסדר, ונשאיר את זה בצד כרגע (אפשר כמובן לסדר את זה, אבל לא רלוונטי כרגע)
נבחר ב
מתקדם
ונבחר להמשיך לאתר
נזין את שם המשתמש
openvpn
ואת הסיסמה שיצרנו מקודם
עוד משהו לאשר
נלך ל
vpn settings
ונגדיר כמו בתמונה
ונשאר את השינויים
תקפוץ התראה בראש הדף ונבחר לעדכן גם מה שרץ כרגע
עכשיו השרת מוגדר כהלכה 🚀🚀🚀
אם השרת לא בשימוש כדאי למחוק אותו, עולה 💲💲💲 להחזיק סתם באוויר.
נזין שוב בשורת הכתובת הפעם בלי תוספת
admin
נזין שם משתמש וסיסמה כמו מקודם ונבחר את הקליינט שנרצה להוריד
אחרי ההורדה נתקין את התכנה
ובסיום יופיע לנו האייקון בשלחן העבודה
נלחץ עליו
נצא מהטיפים (או שלא...)
נאשר הכל
ונפעיל את החיבור
נזין שם משתמש וסיסמה כמו מקודם
ו.. הנה אנחנו גולשים כמו מאירלנד!!!
וכמובן ה- VPN זמין גם מהטלפון, נלך ל Google Play (אפשר כמובן גם להוריד ידנית אם כי פחות מומלץ)
ונתקין את
OpenVPN Connect
נזין את כתובת ה IP הציבורית
נאשר
נזין את שם המשתמש והסיסמה (אפשר גם לבחור שיתחבר אוטו' אבל לא חובה)
נפעיל את החיבור
נאשר גישה לשינוי תעבורת הרשת
והכל מוכן
והנה שוב אנו באירלנד
שימוש בAMI של OpenVPN מהמרקטפלייס של AWS עולה כסף, ואפילו מעט יותר ממה שמשלמים לAWS עצמה על המכונה.
ניתן גם להתקין את OpenVPN על AMI (אימייג') רגיל, כך שהעלות תהיה רק על המכונה עצמה אבל זה דורש התקנה ידנית של OpenVPN
איך עושים את זה? זה קל.
בממשק של AWS בוחרים AMI של דביאן (נבדק על debian-stretch-hvm-x86_64-gp2-2019-04-27-83345)
ב-Security Rules נוודא שהפורטים הבאים פתוחים
מתחברים ב-SSH (עם שם המשתמש admin ומפתח pkk בדיוק כמו מקודם)
ומתחילים את ההתקנה עצמה
עדכון המערכת
sudo apt update
התקנת כלי רשת
sudo apt install net-tools
הורדת OpenVPN
curl -O http://swupdate.openvpn.org/as/openvpn-as-2.5.2-Debian9.amd_64.deb
התקנת OpenVPN
sudo dpkg -i openvpn-as-2.5.2-Debian9.amd_64.deb
הרצת OpenVPN
sudo /usr/local/openvpn_as/bin/ovpn-init
ואם נדרש למחוק קינפוג קיים אז להזין
DELETE
ומכאן בדיוק כמו מקודם (רק ביותר זול 😉)