Home אבטחת מידעPenetration Testing - Defense הסבר על VPN והתקנת OpenVPN

הסבר על VPN והתקנת OpenVPN

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

כל הזכויות שמורות לטל בן שושן – 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

shalomyosefzeev -

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

שנית, אשמח להרחבה מצדך.
נראה מהמדריך שvpn עובד בשכבת האפליקציה.
כפי איך שהוא הותקן הן בצד שרת והן בצד לקוח.
ממה שהכרתי עד כה vpn עבד בשכבת הרשת, שהצפינה את הדאטה של הפאקט.

הרהרתי כעת ואני חושב/שואל:
האם זה תלוי בתצורת הvpn אם הוא site to site, או אם הוא vpn לשימוש של remote access.
בנוסף אם זה תלוי במימוש של SSL vpn, או ipsec vpn.

Reply

Leave a Comment