Home אבטחת מידעInformation Security הסבר על VPN Site To Site הגדרתו בעזרת IPsec והסבר על IKE וPerfect Forward Secrecy

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

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

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

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


 

הסבר על VPN והגדרתו בעזרת OpenVPN ו IPsec והסבר על IKE

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

קיים עוד סוג של VPN והוא VPN Site To Site ומטרתו היא לחבר בין שני ארגונים הנמצאים במיקומים גאוגרפיים שונים

לדוגמה לחברת רואי חשבון יש שני בניינים, האחד בתל אביב ואחד בירושלים, הם מעוניינים לחבר את שני הבניינים כאילו היו באותו הLAN, זאת אומרת עובד בבניין תל אביב הנמצא ברשת 192.168.1.0/24 ונניח שכתובתו היא 192.168.1.10 רוצה לבצע פינג למחשב בסניף ירושלים ששם הרשת היא 172.16.10.0/24 והכתובת של העובד בירושלים היא 172.16.10.10.
זאת אומרת שהפינג יהיה מ 192.168.1.10 ל 172.16.10.10, כמובן שאם הבניינים נמצאים במיקום אחר ולא באותו הLAN הם למעשה לא יכולים לבצע פינג אחד לשני, אבל בשביל החיבור הזה בדיוק נשתמש ב VPN
ע”י VPN נחבר את שני הבניינים אחד אל השני כך שהם יהיו “כאילו” באותו הLAN וכך נגיע לכלל משתמשי הארגון מתוך LAN
בהמשך נבצע מעבדה בדיוק כזו.

הסברים ועניינים טכניים

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

IPSEC

הוא קיצור של Internet Protocol Security והוא סט של פרוטוקולים ליצירת התקשרות ואימות מאובטחת מוצפנת מקצה אחד לקצה אחר.
IPSEC מצפין כל Packet בנפרד – זאת אומרת שכל “פקטה” ו”פקטה” עוברת הצפנה בתוך אותה השיחה.

  • IPSEC משתמש ב AES בשביל להצפין את השיחה
  • בשביל אימות IPSEC משתמש ב IKE
  • IPSEC מעביר את המידע ב Tunnling שבה הוא משתמש בפרוטוקול ה IP בשביל לבצע Encapsulating לPacktes
  • השימוש הכי נפוץ של IPSEC הוא בשביל VPN Site to Site שעליו ארחיב בהמשך

על מנת לחבר VPN Site To Site , אנחנו צריכים מנגון שיבצע את האימות מכל צד, זאת אומרת שאם ניקח דוגמה לכך שלארגון יש בניין בירושלים ובניין נוסף בתל אביב אנחנו צריכים שבכל צד יהיה Firewall והוא זה שיבצע את ה VPN ויצור לנו Tunneling מאובטח.
על מנת שהאימות יתבצע, נשתמש ב IKE

לIPSEC כמה מנגנונים שונים:

Authentication Header – מספק אימות ל IP Header ולמידע בתוכו, אך לא מספק הצפנה
Encapsulating Security Payload – בקיצור ESP מספק אימות והצפנה ל IP Payload (זאת אומרת למידע עצמו) השימוש בו יוחלט לפי ההגדרה של Tunnel Mode או Transport Mode
Access Control – הIPSEC יכול לאפשר למידע לעבור או לא לפי מישהו המשתמש או המכשיר
Tunnel mode and Transport mode – ישנם שני מצבים האחד הוא Tunnel Mode שמצפין את כל חבילת המידע זאת אומרת שכל ה Packet מוצפנת ואילו Transport Mode הוא מצב שבו רק ה Payload , זאת אומרת רק ה DATA שב Packet עוברת הצפנה ולא ה Header או שאר חבילת המידע.
Dead Peer Detection – במקרה בו צד אחד הפסיק להגיב, IPSEC במנגון זה ינסה לבד ליצור את החיבור ובכך לשחזר אותו
NAT Traversal –  מאפשר ל IPSEC להתגבר על מצבים בהם המכשירים (FW לדוגמה) נמצאים מאחורי NAT

עוד שימושים שקיימים ב IPSEC

  • IPCOMP – שהוא IP Compression מטרתו היא לכווץ את חבילות המידע עצמן, הכוונה היא למידע עצמו ה Payload לפני ההצפנה.

Perfect Forward Secrecy

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

הסבר על תקשורת מאובטחת SSL \ TLS הצפנה\הצפנות RSA ומנגנון החלפת מפתחות Diffie Hellman

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

PFS משתמש במנגנון Diffie Hellman להחלפת מפתחות וזאת ע”י כך שאם ישנם שני גורמים כמו אליס ובוב הם ישתמשו ב PKI, זאת אומרת שה Shared Key שהוא המפתח הסימטרי בין שתי הישויות לא יעבור אל אחד הצדדים לא הצפנה.
לדוגמה: בוב רוצה לשלוח הודעה לאליס, הוא תחילה יקח את ה Public Key של אליס ויצפין את ה Shared Key שהוא יצר, רק ה Private Key של אליס יכול כעת לפתוח את ההודעה, בוב יעביר את ההודעה לאליס, היא תפתח עם המפתח הפרטי שלה ותקח את ה Shared Key וכעת הם יעברו להשתמש בהצפנה סימטרית

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

IKE – Internet Key Exchange

הוא פרוטוקול בשימוש של VPN והוא מבצע את האימות בין שני המכשירים (ע”י Firewall) והוא מכיל שני שלבים

Phase 1 – השלב הראשון הוא security association בקיצור SA, בשלב זה הIKE פונה לצד השני ומבצע אימות מולו, לאחר שהאימות הצליח, הם יקבעו כיצד עליהם להצפין את השיחה וכיצד בדיוק הם יבצעו אימות.

Security Association – מכיל בתוכו SPI שמזהה את סוג ה SA
* הSA מכיל בתוכו את סוגי הפרוטוקולים וההצפנה שבהם ישתמשו על מנת להצפין את התעבורה
* ה lifetime של ה SA וכמה זמן ישאר בתוקף
* הכתובות IP של כל צד והפורטים שבהם ישתמשו

Phase 2 – מתרחש ה security association בקיצור SA השני – ובו יבוצע האימות וההצפנה האמיתית של הנתונים (Packets) והתעבורה, בשלב זה הם יתאמו בינהם את הפרמטרים של איזה אלגורתים הצפנה להשתמש (AES) אורך המפתח והזמן בו SA יהיה בתוקף

IKEv1 הוא הפרוטוקול הישן יותר ואילו IKEv2 הוא החדש יותר ונמצא יותר בשימוש

ישנהם שני מצבים שניתן להגדיר את ה IKE, מצב אחד הוא Main Mode ומצב שני הוא Aggressive Mode

Main Mode – מבצע אימות משולש מול שני הFW ובהם מחליף מידע על צורת האימות וסוג ההצפנה – מצב זה מאובטח יותר ונותן הגנה טובה יותר נגד התקפת MITM

Aggressive Mode – מצב זה הוא מהיר יותר שכן הוא מבצע אימות רגיל ולא משולש ולכן מהיר יותר ולרוב ישתמשו בו כאשר המכונות מאחורי NAT וכתובת ה IP החיצונית לא ידועה, אך הוא פחות מאובטח מ Main Mode

סוגים נוספים של VPN

PPTP – הוא קיצור של Point-to-Point Tunneling Protocol הוא פרוטוקול VPN דיי מיושן שגם חברות התקשורת (בזק לדוגמה) עושים או עשו בו שימוש, הוא פחות מאובטח מפרוטוקולים אחרים.

L2TP – היא קיצור של Layer 2 Tunneling Protocol הוא מבצע Encapsulating למידע בעובר בתוך ה Tunneling , וכמו IPSEC הוא מאפשר העברת מידע “ברשת” לא מאובטחת מכו האינטרנט לצורה מאובטחת ומוצפנת .
הוא מאובטח יותר מ PPTP והשימוש בו יהיה לרוב ביחד עם IPSEC על מנת להגביר את האבטחה.

SSTP – הוא קיצור של  Secure Socket Tunneling Protocol והוא פרוטוקול שפותח על ידי מיקרוסופט והוא משתמש בSSL\TLS זאת אומרת תעודות אבטחה על מנת להצפין את התעבורה

OpenVPN – הוא פרוטוקול קוד פתוח שמשתמש ב SSL\TLS גם כן על מנת להצפין את התעבורה, השימוש בו הוא יותר לחבר Client – To – Network מאשר IPSEC שהשימוש בו הוא יותר ל Site To Site

SoftEther VPN – הוא גם פרוטוקול קוד פתוח והוא בשימוש גם ל client to site ו site to site

מעבדה

במעבדה זו השתמשתי בכמה מדריכים הנמצאים באתר

במעבדה זו נשתמש בתרשים הבא:

בתרשים זה אנחנו “מדמיינים” שני בניינים של ארגון, האחד בתל אביב והשני בירושלים

כרטיס הרשת שהוא NAT ישמש ככזה “הכאילו” מחובר לרשת אינטרנט

ואילו כרטיס הרשת Jerusalem הוא זה של הרשת הפנימית של אותו “הבניין”

אז pfsense FW1 יהיה תל אביב

ועוד FW pfSense יהיה ירושלים ונגדיר את כרטיסי הרשת כך

כעת לאחר התקנת FW תל אביב מספר 1

**חשוב מאוד להגדיר כרגע בגלל שזו סביבת מעבדה – את כל החוקים על Allow**

נגדיר שרשת LAN היא רשת 192.168.2.0 ולכן ה Default Gateway שלנו הוא 192.168.2.1

נעבור ל IPSEC תחת VPN

נלחץ על Add P1

כעת ניתן שם הסבר לחיבור

את הכתובת בצד השני של הFirewall שהזה הכתובת של FW ירושלים

ונלחץ על הכפתור Generate New Pre-Shared Key

את הקוד שנוצר, *** העתיקו לקובץ טקסט בצד*** נצטרך אותו אחר כך

אפשר להבחין ב Phase 1 כמו שהסברתי על IKE ולהגדיר צופן אחר וגם Hash אחר

אני משאיר את זה כך וממשיך לAdvanced Options

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

כעת יצרנו את Phase 1

לא לשכוח לבצע Apply Changed כל הגדרה שעשיתם

עכשיו ניצור Phase 2 שלב 2 ב IKE

נלחץ על Show Phase 2 Entries

כעת לחצו על Add P2

כעת ניתן שם ונגדיר ב

Local Network את הרשת המקומית של תל אביב שהיא 192.168.2.0

ואת ה Remote Network שזו הרשת המרוחקת והיא ירושלים זה 192.168.1.0

נרד קצת למטה, נוכל להבחין שמוגדר ESP

נשאיר את זה כך ונמשיך

כעת סיימנו עם FW תל אביב

נעבור לFW ירושלים

כעת נגדיר אותו הדבר רק שהפעם ה Remote Gateway זה הכתובת של תל אביב

והיא 192.168.19.142

וכעת העתיקו את הpre Shared Key שהעתקנו קודם לכן

כך זה צריך להיראות

גם כאן ניצור את IKE שלב 2

ואז add p2

נגדיר את הרשתות

ה Local Network של ירושלים היא 192.168.1.0

הRemote Network שזה הרשת הפנימית בתל אבי היא 192.168.2.0

נשמור ונסגור

כעת נבדוק שהכל תקין, נכנס ל Status ואז ל IPSEC

ושם נוכל לראות שהStatus הוא Established

כעת נבדוק שאכן הכל עובד ויש תקשורת בין שני האתרים

נקח את ה kali ונגדיר לו כרטיס רשת של ירושלים

לאחר מכן נגדיר לו כתובת IP בטווח של רשת זו

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

כעת נבדוק שיש לנו פינג לdefault Gateway של הראוטר בצד של תל אביב והוא 192.168.2.1

מעולה!

 

 

 

 

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

Leave a Comment