Home אבטחת מידעInformation Security הסבר על OpenVPN וביצוע Client To Site בעזרת pfSense – הגדרת עבודה מהבית

הסבר על OpenVPN וביצוע Client To Site בעזרת pfSense – הגדרת עבודה מהבית

0 comment
נהנתם מהמאמר ? שתפו אותו!

מעבדות קשורות:

הסבר על VPN Site To Site הגדרתו בעזרת IPsec והסבר על IKE וPerfect Forward Secrecy


 

הסבר על OpenVPN וביצוע Client To Site בעזרת pfSense

VPN הוא קיצור של Virtual Private Network המטרה של VPN בשונה מProxy זה ליצור חיבור מאובטח לרשת, לרוב רשת ארגונית, מטרתו היא ליצור Tunneling זאת אומרת חיבור של נניח בניין אחד לבניין אחר וזאת על מנת להעביר מידע על גבי רשת האינטרנט שהיא אינה מאובטחת, לצורה מאובטחת ומוצפנת.

OpenVPN VS Ipsec

OpenVPN משתמש בספריית OpenSSL בשביל להצפין את התעבורה לעומת IPSEC אשר משתמש ב AES ישירות
בנוסף על זאת הוא משתמש ב SSL\TLS בשביל לבצע את האימות אל מול שרת ה VPN לעומת IPSEC אשר משתמש בIKE

אחד הנושאים החשובים זה שOpenVPN משתמש ב TCP\UDP בשביל לבצע את ה Encapsulating של התעבורה לעומת IPSEC במשתמש בפרוטוקול הIP הבסיסי
ודבר אחרון הוא השימוש של כל אחד:

  • IPSEC הוא פרוטוקול שהשימוש בו יהיה יותר בשביל site to site
  • OpenVPN הוא יותר לשימוש של Client To Site כמו חיבורים של עבודה מהבית או התחברות של מחשב בודד לרשת הארגונית

——

במאמר זה נתעמק דווקא ב Client To Site זאת אומרת שכמו בארגון שלכם, חברה שבה אתם עובדים, אנשים מתחברים מהבית אל הארגון, צריך פתרון שבו המשתמש הנמצא בבית, נניח והוא גר ברמת גן והמשרדים בתל אביב.
במצב כזה צריך לדאוג שהוא יתחבר אל משאבי הארגון בצורה בטוחה, הצורה הזו נקראת VPN שכן אנחנו ניצור מצב "כאילו" המחשב שלו הנייד לצורך הדוגמה, מחובר ישירות לרשת הארגונית.
בקצרה – מתווסף במחשב הנייד עוד כרטיס רשת, עם כתובת IP פנימית ארגונית, אם המשתמש יבצע פינג לשרת בארגון (עם כתובת פנימית גם כן) הוא יגיע אליו – או אם נניח המשתמש רוצה לגשת לכונן הרשת הארגוני , הוא יצליח.

דוגמה עם סיפור:

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

אנחנו גם לא יודעים אם לחברת anydesk יש גישה למחשבי הארגון באם יחליטו לנסות לגשת , וכל בעית אבטחה שתוכלו לעלות בנושא זה.

מה עם בעיות לא אבטחתיות, למשל המחשב של דנה במשרד כבוי? מה עם שליטה של מנהל הרשת למי גישה מהבית ולמי אין אם כל אחד יכול להפעיל תוכנת השתלטות?

מטרתו של VPN היא לחבר את המחשב דנה לרשת הארגונית, כך שהמחשב "כאילו" נמצא פיזית בארגון ומחובר אליו בכבל, אבל כדאי שזה יהיה מאובטח, אנחנו צריכים לייצר Tunnel מעין צינור מאובטח למידע שמחבר את דנה לרשת הארגונית


מעבדה

בשביל מעבדה זו נצטרך pfSense מותקן

התרשים שנגדיר ידמה את התרחיש הבא:

השרת Windows Server 2019 או כל מערכת הפעלה של ווינדוס או לינוקס- נשתמש בזה על מנת לבדוק שיש פינג מקאלי אליו וכך אנחנו יודעים שהOpenVPN חיבר אותנו לארגון

כרטיס הרשת ב Kali

שני כרטיסי רשת ל pfSense

אחד הוא NAT ואחד הוא LAN או נניח סוויצ' וירטואלי בשם שלכם, נניח אצלי הגדרתי Tal

בשרת \ ווינדוס הגדרתי את אותו LAN בלבד כמו בתרשים במקרה אצלי זה Tal

בכרטיס הרשת של ווינדוס הגדרתי את הכתובת הבאה

על מנת להתחיל להגדיר את OpenVPN אנחנו תחילה צריכים ליצור תעודת CA – זאת אומרת תעודה שממנה ניצור את התעודות לשרת ולמשתמשים

כעת לחצו על Add

ניתן שם שמצהיר שזו תעודת CA ואת ה Common Name אפשר להשאיר כמו שהוא

תעודות – כעת ניצור תעודה לשרת ה OpenVPn שבו הוא ישתמש על מנת לאמת את המשתמש
זאת אומרת שאנחנו ניצור בהמשך תעודה למשתמש מאותו הCA כך למעשה שרת ה OpenVPN יאמת את התעודה של המשתמש המתחבר אל השירות

נעבור לCertificates

ונלחץ על Add

ניתן שם לתעודה שמציגה שזה התעודה של השרת OpenVPN שלנו גם ב Common Name

** חשוב מאוד להגדיר את סוג התעודה ל Server Certificate!!**

בסיום לחצו על Save

כעת ניצור משתמש שאיתו בהמשך נתחבר ל VPN

לחצו על System -> User Manager

נלחץ על Add

ואז נגדיר שם משתמש וסיסמא

כעת סמנו בחץ את Click to create a user certificate

כעת לאחר שסימנתם בV קיבלתם את החלון ליצירת תעודה

תנו שם לתעודת המשתמש ותוכלו להבחין שהתעודת CA שממנה יווצר התעודה הנוכחית היא CA-TAL שיצרנו בהתחלה

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

כעת נעבור ל VPN ואז OpenVPN

נלחץ על Add

ניתן שם לחיבור VPN (נתתי שם ג'נרי)

וב Server Mode חשוב להגדיר את Remote Access SSL\TLS + User Auth

Peer To Peer TLS SSL – אומר שאם נרצה להגדיר OpenVPN Site To Site והאימות וההצפנה יבוצעו ע"י תעודות

Peer To Peer Shared Key – בדומה ל IPSEC החיבור ל Site השני יתבצע ע"י Shared Key שחייב להיות זהה בשני האתרים

Remote Access SSL\TLS – לחיבור משתמשים אבל הזיהוי יהיה ע"פ התעודה בלבד (פחות מאובטח)

Remote Access User Auth – מספיק רק שם משתמש וסיסמא בשביל להתחבר לVPN

Remote Access SSL\TLS + User Auth – מחייב תעודה ושם משתמש על מנת להתחבר לשירות ה VPN

כעת לאחר שבחרנו את צורת האימות

נמשיך

את התעודה שהיא למעשה תעודת הCA שיצרנו קודם נגדיר ב Peer Certificate

והתעודה לשרת שגם הגדרנו קודם, נגדיר ב Server Certificate

כעת נגדיר את הרשת שהוא למעשה יחלק כמו DHCP לכל מחשב שיתחבר ל VPN, אפשר להגדיר רשת חדשה (זה העדיפות) אבל בגלל שאנחנו בסביבת מעבדה, נגדיר את הרשת 192.168.10.0 (זוהי רשת שלא קיימת ב pfsense והיא תהווה הרשת הוירטואלית)

ולהגדיר גם Redirect IPV4 Gateway – הגדרה זו אומרת שכל התעבורה של המשתמש תעבור דרך הVPN, כך שאם יש לנו מערכות הגנה בארגון מבחינת DNS כמו Umberlla או Application Control אז זה "יגן" על המשתמש

נוכל לסמן UDP Fast i\o שהוא ניסיוני ואמור לגרום לVPN לעבוד מהר יותר – אני לא סימנתי, אבל אתם יכולים

וסימון חשוב הוא ה Gateway Creation לסמן את IPV4

כעת שמרו

חשוב מאוד! אם יש לכם Snort בטלו אותו כעת! כיוון שאנחנו בסביבת מעבדה, לא נקפנג אותו שיתאים לVPN ולתעבורה וגם בגלל שאני משתמש בקאלי , ה IPS יחסום כל פינג מקאלי לרשת אחרת

כעת נבדוק את הסטטוס של ה OpenVPN ואם הוא תקין

Status -> System Logs -> OpenVPN

אם כתוב Initialization Sequence Completed זה אומר שהשירות פעיל

כעת על מנת להקל עלינו ולא ליצור קובץ OpenVPN ולטעון אליו תעודה וכתובת IP של שירות הVPN , יש לנו כלי ב pfSense שיעשה את זה עבורנו

נעבור ל System – > Package manager -> Available Packges

שם נחפש OpenVPN ונמצא חבילה בשם OpenVPN-client-export

נתקין את החבילה

כעת נחזור לVPN ול OpenVPN

נגולל בדף הכי למטה

ושם כל משתמש שניצור יופיע, שם המשתמש והתעודה שיצרנו לו, וגם בתעודה שרשומה הוא ישתמש על מנת ליצור את קובץ החיבור

נוריד את Most Clients

הקובץ שירד לכם, העתיקו אותו ל Kali

הקשתי כאן  ls עם grep על מנת להציג לכם רק את הקובץ

כעת מתוך Desktop נרשום

sudo openvpn *************.ovpn

הכוכביות , זה אמור להיות הקובץ שלכם כמובן

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

אם הכל הוגדר תקין נקבל את השורה Initialization Sequence Completed

כעת נבדוק שקאלי מגיע ל 192.168.1.1 שהוא ה Default Gateway ב pfsense בצד ה LAN

אם יש לכם פינג , זה אומר שאתם כבר נמצאים ברשת הארגונית

יש לנו גם שרת ווינדוס עם הכתובת 192.168.1.10 שנמצא בLAN (הרשת הארגונית)

נבצע פינג אליו, אם הצלחתם, זהו אתם ברשת הLAN והVPN עובד!

אפילו סריקת NMAP ניתן לבצע על השרת ווינדוס

 

מאמרים קשורים

Leave a Comment