Internet Protocol Security – IPSec
IPSec זו חבילת פרוטוקולים שפועלת בשכבה שלישית של מודל OSI ונפוץ מאוד בשימוש ב- VPN.
IPSec מאבטח תעבורת רשת מסוג TCP/IP וכך להגן על המידע שזורם ברשת.
כיצד IPSec מאבטח את זרימת הנתונים ברשת?
זיהוי (Authentication)
זיהוי הדדי של שני הצדדים לפני ותוך כדי שידור הנתונים.
ניתן לבצע אימות במספר דרכים שונות:
- Pre-Shared secret key – שימוש בסיסמא לצורך זיהוי.
- Public Key Infrastructure – בשיטה זו ההזדהות מתבצעת בעזרת תעודה דיגיטלית ו זוג מפתחות (Public and private key).
- User authentication – משמש ב- Remote Access VPN
סודיות (Confidentiality)
רק הצדדים שמתקשרים דרך VPN, יכולים להבין את הנתונים שנשלחו.
אם מישהו מצותת למידע, הוא יכול לראות את החבילות אבל זה חסר משמעות כי התוכן של החבילה לא מובן (cipher text) כי אין לו את היכולת לפענח את הנתונים.
האלגוריתמים והנוסחאות להצפנת נתונים זמינים בפומבית וידועות לכולם.
החלק שגורם להודעה להיות סודית זה המפתח שמשמש להצפנת הנתונים.
שלמות המידע (Data Integrity)
חתימת המידע (Data signing) לא מאפשרת את זיוף המידע.
כלומר, אם יבוצע שינוי במידע, זה יתגלה.
חסימת שידור חוזר של packet (Anti-Replay)
כל חבילה ממוספרת באמצעות Sequence Number. בדיקת ה- Sequence Number לא מאפשרת לתוקף ללכוד חבילה ששודרה ולנסות לשדר אותה שוב במטרה לפתוח session או לקבל גישה למשאבים ברשת.
מחסנית הפרוטוקולים של IPSec
מחסנית הפרוטוקולים IPSec, מורכבת מפרוטוקולים רבים שמתעדכנים עם הזמן.
כך IPSec יהיה רלוונטי גם בעתיד כי המחסנית שלו ניתנת לעדכון ורמת אבטחת המידע יכולה להשתנות בהתאם לצרכים של המשתמש.
Negotiation Protocol
ניתן להשתמש בכל אחד מהפרוטוקולים בנפרד או עם שניהם ביחד.
Authentication Header (AH) protocol
פרוטוקול זה מספק:
- זיהוי
- שלמות המידע
- חסימת שידור חוזר של packet
- לא תומך ב NAT
הפרוטוקול לא מבצע הצפנה ולכן המידע ניתן לקריאה אך לא ניתן לשינוי.
Encapsulated Security Payload (ESP) protocol
פרוטוקול זה מספק:
- זיהוי
- שלמות המידע – שלמות המידע חלה רק על המידע כתוצאה מההצפנה, ip header חשוף.
- חסימת שידור חוזר של packet
- הצפנה – הצפנה של המידע בלבד ללא הצפנת ip header.
שיטות הצפנה
קיימות שני שיטות הצפנה:
Symmetric
בשיטה זו, קיים מפתח אחד והוא משמש להצפנה ולפיענוח. שני הצדדים משתמשים באותו מפתח (Shared Secret). הצפנה סימטרית מהירה יותר מהצפנה אסימטרית ולא פחות חזקה ממנה.
הצפנה סימטריות משתמשת באחת משתי השיטות הבאות:
- block cipher – מצפין בכל פעם מקטע נתונים אחר.
- stream cipher – מצפין מידע זורם, byte אחר byte.
אלגוריתמים שמשתמשים ב- Symmetric key:
משמשים בעיקר להצפנת מידע מאוחסן (סטטי).
- DES (Data Encryption Standard) – נוצר על ידי IBM (מפתח באורך 56 bits).
בשימוש החל מאמצע שנות השבעים. כיום הוא חשב ללא מאובטח בגלל המפתח הקצר שלו. - 3DES (Triple DES) – נוצר על ידי IBM (מפתח באורך 168 bits 56*3). יוצר שלושה מפתחות לכל בלוק נתונים ומצפין את הבלוק שלושה פעמים (כל פעם עם מפתח אחר).
3DES בשימוש גם כיום. - AES (Advanced Encryption Standard) – מפתח באורך 128/192/256.
ממשלת ארצות הברית מסווגת את סוג ההצפנה של AES-256 כ- סודי ביותר.
-
Asymmetric
בשיטה זו, ההצפנה והפענוח מתבצעים באמצעות מפתחות שונים.
מפתח ציבורי (Public-key) משמש להצפנה ומפתח פרטי (Private-key) משמש לפענוח. המפתח הציבורי מופץ בצורה חופשית לכל מי שאנו רוצים שישלח לנו מידע מוצפן. כאשר המידע מגיע למחשב שלנו, המידע מפוענח באמצאות המפתח הפרטי. בצורה זו המידע מוגן כי רק מי שיש לו את המפתח הפרטי יכול לפענח את המידע.
הצפנה Asymmetric מאוד חזקה אך מעמיסה מאוד על המעבד ולכן IPSec משלב בהצפנה את שני השיטות. בשלב הראשון השולח מצפין את המידע בעזרת הצפנה סימטרית. בשלב השני השולח מצפין את מפתח ההצפנה הסימטרי תוך שימוש בהצפנה אסימטרית.
חשוב לזכור – לכל קובץ נוצר מפתח סימטרי חדש.
אלגוריתמים שמשתמשים ב- Asymmetric key:
משמשים בעיקר להצפנת מידע זורם או להצפנת תהליך הזדהות.
- RSA – מפתח באורך 512/1024 או יותר. משמש בעיקר ב- SSH.
המפתח מסוג Asymmetric-key. - DH (Diffie–Hellman) – מפתח באורך 512/1024 או יותר. משמש בעיקר ב- VPN.
המפתח מסוג Asymmetric-key.
Data Integrity Protocol (Hashing)
- MD5 – מפתח באורך 128 bits
- SHA-1 – מפתח באורך 160 bits
סוגי Authentication
קביעת סוג Authentication תלוי בטופולוגית המחשבים וברמת האבטחה הנדרשת.
- Kerberos V5
פרוטוקול ברירת המחדל שמשמש ל Authentication בסביבת Active Directory.
ניתן לשימוש בין מחשבים שנמצאים באותו trusted domains. שימוש בפרוטוקול זה לא דורש הגדרות נוספות כאשר מתבצעת תקשורת בין מחשבים שמצורפים ל Domain. - Public Key Infrastructure
בשיטה זו ההזדהות מתבצעת בעזרת תעודה דיגיטלית. נשתמש בשיטה זו במידע וברצוננו לקיים תקשורת בין מחשבים שלא נמצאים באותו trusted domains (דרך האינטרנט, שותפים עסקיים וכולי). כדי ליישם שיטה זו יש צורך בלפחות trusted certification authority אחד. - Pre-Shared secret key
שימוש בסיסמא לצורך זיהוי. שיטה זו מספקת הכי פחות אבטחה ובנוסף הסיסמא מאוחסנת בצורה לא מוצפנת במחשב או ב Active Directory.
יש להשתמש בשיטה זו רק בסביבת ניסויי.
השלבים בתקשורת בין שני מחשבים המשתמשים ב- IPSec:
- על המחשבים מיושמת מדיניות מקומית (local policy) או מדניות דרך GPO.
המדיניות מגדירה באמצעות Filter על איזה סוג של תעבורת רשת המדיניות תחול,
ובעזרת Filter פעולהs נקבע באיזו צורה תוגן תעבורת הרשת.
- הפרוטוקול Internet Key Exchange (IKE) מחליט באיזה שיטה להשתמש בכדי שהמחשבים יזהו אחד את השני. (Kerberos, preshared key, certificate).
- מידע מוצפן או נחתם לפני שידורו ברשת.
הגדרות ב- firewהכל
בשימוש בפרוטוקולים הבאים, יש לפתוח את ה- ports.
- AH – TCP 51
- ESP – TCP 50
- IKE – UDP 500
Transport Mode
כברירת מחדל IPsec עובד ב transport mode, כלומר אבטחה מקצה לקצה.
שיטה זו משמשת מחשבים בתוך LAN כדי לאבטח את התקשורת בניהם.
Tunnel Mode
ב Tunnel Mode האבטחה היא לא עד תחנת הקצה.
בדרך כלל נשתמש ב- site to site vpn במקום בשיטה זו.
IPSec Security Policy
זו סידרת חוקים שקובעים לאיזה סוג של תעבורת רשת להתייחס (filters) ואיזה סוג של הגנה ליישם (block, permit, negotiate security). ניתן ליישם רק מדיניות אחת למחשב ולכן כל החוקים צריכים להיות באותה מדיניות. לא ניתן לקבוע את סדר החוקים. החוקים היותר ספציפיים ראשונים ולאחר מכן החוקים הכללים יותר.
Default IPSec Policies (מדיניות ברירת המחדל)
- Client Respond Only – שימוש ב- IPSec רק אם מחשב היעד דורש זאת.
בדרך כלל נשתמש ב Policy זה על Clients. - Server Request Security – המחשב ידרוש שימוש ב- IPSec אך יתקשר גם אם אין למחשב היעד אפשרות להשתמש ב- IPSec.
- Secure Server Require Security – המחשב ידרוש שימוש ב- IPSec ולא יצור קשר עם מחשב שלא מסוגל להשתמש ב- IPSec. כל תעבורת הרשת היוצאת תהיה מוצפנת.
יצירת חוק בעזרת Security Rule Wizard
פרוט חמשת השלבים ביצירת חוק חדש:
- Tunnel endpoint – אם נעשה שימוש ב- Tunneling, יש צורך לציין לתעבורה יוצאת את הכתובת IP של השרת הקרוב ליעד שמבצע את ה- Tunneling.
- Connection type – הגדרה זו משמשת להגבלת סוג החיבור (LAN, Remote access) אליו החוק מתייחס.
- IP Filter list – הגדרה זו קובעת לאיזה סוג תעבורת רשת החוק יתייחס.
כברירת מחדל קיימים שני סוגי Filters (הכל ICMP Traffic ו הכל IP Traffic).
על-ידי לחיצה על הכפתור Add, ניתן ליצור Filters נוספים. - Filter פעולה – איזה פעולה יש לבצע על תעבורת הרשת
(Permit, Request Security (Optional), Request Security). - Authentication methods – באיזה שיטה יש להשתמש לצורך Authentication
(Kerberos, preshared key, certificate from a specified certification authority).