כל הזכויות שמורות לטל בן שושן – Shushan.co.il
הסבר על VPN והתקנת OpenVPN
VPN הוא קיצור של Virtual Private Network והמטרה שלו היא ליצור התקשרות מאובטחת מצד אחד לצד אחר, נאמר ואתם נמצאים בתל אביב ומעוניינים להתחבר למשרד בירושלים, ללא VPN הייתם מתחברים לרשת של הארגון דרך הWIFI של בית המלון בו אתם נמצאים וכל המידע היה עובר בצורה לא מאובטחת אל הצד השני ובחזרה וכך תוקף יוכל על ידי MITM (התקפת האדם שבאמצע) לקרוא את המידע ובכך לסכן את הארגון.
VPN יוצר "מנהרה" Tunelling בין המחשב שלכם בבית המלון אל הרשת הארגונית בירושלים ולאחר מכן מצפין את המידע הזורם באותו "מנהרה" כך למעשה המידע מוצפן וגם אם התוקף חדר את ה Tunelling הוא לא יכול לפתוח את ההצפנה.
ההתחברות הזו יוצרת בתוך המחשב שלכם את הרשת של הארגון וגישה למשאבי הארגון, כמובן שכתובת הרשת שונה משל הארגון וניתנת לניהול בצורה אחרת.
הדרישות:
- שרת CentOS 7 גירסת Minimal עם כרטיס רשת חיצוני
- מחשב Windows
נתחיל
נבצע עדכון למערכת,
[root@localhost ~]# yum update
לאחר העדכון נוודא כי מותקן לנו ifconfig
[root@localhost ~]# yum install net-tools
נתקין את הרפוסטורי של Epel
[root@localhost ~]# yum install epel-release -y
נתקין את הכלי שאיתו ניצור את התעודות ונתקין את openvpn
[root@localhost ~]# yum install openvpn easy-rsa -y
נבצע העתקה לקבצים של easy-rsa אל התיקייה של openvpn
[root@localhost ~]# cp -R /usr/share/easy-rsa/ /etc/openvpn/
ניגש לתיקייה easy-rsa
[root@localhost ~]# cd /etc/openvpn/easy-rsa/2.0/
נערוך את vars
[root@localhost ~]# vi vars
נרד עד ללמטה
ונערוך את ההגדרות כך:
2 הגדרות חשובות מאוד
export KEY_NAME="server" – זהו שם השרת שלנו
export KEY_NAME="server"
# export KEY_CN="openvpn.tal.local" – אם אנחנו רוצים לחתום את כל המפתחות עם אותו השם כתבו את הכתובת של השרת שלכם והסירו את הסולמית
שמרו וצאו
כעת הקישו
[root@localhost ~]# source ./vars
נמחק את כל מה שקיים בתיקייה שכן אנחנו מגדירים את כל התעודות מחדש
[root@localhost ~]# ./clean-all
נבנה את תעודת ה CA
[root@localhost ~]# ./build-ca
נלחץ על הכל Enter
נבנה את תעודת המחשב
[root@localhost ~]# ./build-key client
נקיש על הכל Enter אך אל תשכחו בשורות שסימנתי לכם באדום ללחוץ על y ואז Enter
נבנה את תעודת השרת
[root@localhost ~]# ./build-key-server server
גם כאן לא לשכוח לרשום y ואז Enter
נבנה את דיפי-הלמן
[root@localhost ~]# ./build-dh
כעת נעתיק את המפתחות את התיקייה של openvpn (לא בטוח שבהמשך נשתמש במיקום שלהם)
[root@localhost ~]# cp -R keys/ /etc/openvpn/
נכנס לתיקיית של openvpn
[root@localhost ~]# cd /etc/openvpn/
נעתיק את קובץ ההגדרות
[root@localhost ~]# cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
וכעת נערוך את קובץ ההגדרות
[root@localhost ~]# vi server.conf
נתחיל ממיקום התעודות, הוסיפו את הנתיב שסימנתי לכם באדום
הוסיפו את ; על מנת שהגדרה זו לא תחול
לפי התמונה
כאן הסירו את ; על מנת שהגדרה זו תחול
הסירו את ; והגדירו את 8.8.8.8 כשרת ה DNS
הסירו את ;
הוסיפו את ; על מנת שלא יחול
גם לזה הגדירו שלא יחול
הסירו את ;
הסירו את ;
נבטל כעת את selinux שכן הוא יפריע לעבודת ה VPN
[root@localhost ~]# vi /etc/sysconfig/selinux
SELINUX=disabled
נוודא את הכתובת של השרת שלנו
[root@localhost ~]# ifconfig
נתקין כעת את iptables
[root@localhost ~]# yum install iptables iptables-services -y
נבטל את firewall-cmd
[root@localhost ~]# systemctl mask firewalld
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl enable iptables
[root@localhost ~]# systemctl start iptables
[root@localhost ~]# iptables -F
נגדיר nat לטווח הכתובות שהגדרנו בקובץ ההגדרות
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens3 -j MASQUERADE
*אם אתם משתמשים ב vMware אז כרטיס הרשת שלכם הוא ens3 אם אתם משתמשים ב Hyper-v כרטיס הרשת שלכם הוא eth0
נאפשר חיבור של ssh
[root@localhost ~]# iptables -A INPUT -p tcp –dport ssh -j ACCEPT
נשמור את ההגדרות שבצענו ב iptables
[root@localhost ~]# iptables-save > /etc/sysconfig/iptablesvpn
נאפשר לשרת להעביר קדימה את התעבורה
[root@localhost ~]# sysctl -w net.ipv4.ip_forward=1
נפעיל מחדש את השירות
[root@localhost ~]# systemctl restart openvpn@server.service
נפתח את WinSCP וניכנס לנתיב
/etc/openvpn/keys/
בצד המחשב נכנס לנתיב
C:\Users\talben\OpenVPN\config\client
בצד המחשב נלחץ קליק ימני ואז New – > File
ניצור קובץ בשם client.ovpn
נכניס בו את ההגדרות הבאות
סימנתי לכם באדום שיש לשנות את מה שרשמתי לכתובת ה IP שלכם
client
dev tun
proto udp
#Server IP and Port
remote Your_IP_Address_Server 1194
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
comp-lzo
ונשמור את הקובץ
כעת נעתיק מהשרת אל התיקייה:
client.crt
ca.crt
client.key
כמו בתמונה
כעת לאחר שהעתקנו הכל, נתקין את Open-VPN For Windows
ניכנס לאתר של OpenVPN, או שנוריד מהקישור הבא
נתקין את זה על המחשב ווינדוס
כעת יופיע סמל קטן ליד השעון של OpenVPN
לחצו קליק ימני עליו ואז לחצו על Import File
כעת נווטו ל :
C:\Users\talben\OpenVPN\config\client
ובחרו את קובץ ההגדרות שיצרנו
client.ovpn
עכשיו לחצו שוב קליק ימני על הסמל הקטן של OpenVPN ואז Connect
תהליך החיבור יחל
יפה מאוד! כעת קיבלתם כתובת IP של 10.8.0.14 ואתם מחוברים לרשת הארגונית שבה יושב שרת ה OpenVPN
1 comment
ראשית, טל תודה רבה.
המדריכים של מצויינים ממש, עוזרים לי מאוד להבין ולחדד דברים
שנית, אשמח להרחבה מצדך.
נראה מהמדריך שvpn עובד בשכבת האפליקציה.
כפי איך שהוא הותקן הן בצד שרת והן בצד לקוח.
ממה שהכרתי עד כה vpn עבד בשכבת הרשת, שהצפינה את הדאטה של הפאקט.
הרהרתי כעת ואני חושב/שואל:
האם זה תלוי בתצורת הvpn אם הוא site to site, או אם הוא vpn לשימוש של remote access.
בנוסף אם זה תלוי במימוש של SSL vpn, או ipsec vpn.