ارتباط امن با مرکز تلفن سری S یستار

Virtual Private Network یا به اختصار VPN به شما امکان دسترسی به شبکه خصوصی (Private LAN) خود از طریق شبکه های عمومی (PublicNetworks) مانند اینترنت را فراهم می کند. VPN یک ارتباط امن با شبکه دفتر یا سازمان در بستر اینترنت در اختیار قرار می دهد.

قابلیت راه اندازی VPN Server در IP-PBX های سری S شرکت یستار به شما کمک می کند تا PBX خود را تبدیل به یک VPN Server کنید که امکان اتصال چندین نقطه (Client) با ارتباطی امن و مطمئن از مزایای این قابلیت سری S محسوب می شود.

نکته: IP-PBX های سری S یستار از OpenVPN استفاده می کند. برنامه VPN Server از نسخه 30.2.0.8 در سری S پشتیبانی می شود.

قدم های اصلی در راه اندازی سرور VPN

قدم اول: ساخت یک گواهی (SSL Certificate) و کلید برای سرور و کاربران. روش ساخت گواهی با استفاده از ویندوز در این راهنما شرح داده شده است.

قدم دوم: نحوه اعمال تنظیمات در بخش سرور و کابران

این راهنما حاوی راهنمای تنظیم VPN Server بر روی مدل S20 و طریقه اتصال کاربران به سرور می باشد.

قبل از شروع خوب است تا کمی در خصوص TLS/SSL شرح دهیم. TLS/SSL یک نوع پروتکل رمزنگاری امنیتی در بستر شبکه های کامپیوتری است. نسخه های متفاوتی از SSL برای سرویس های مختلفی در شبکه همچون Web Server ،Mail Server، برنامه های پیام رسان و VoIP استفاده می شود. در حقیقت این پروتکل امنیت و یکپارچه بودن اطلاعات را در یک ارتباط کامپیوتری تضمین می کند. بعد از راه اندازی این پروتکل در ارتباط بین رایانه سرویس دهنده و سرویس گیرنده این ویژگی ها اضافه می گردند:

– ارتباط شما تبدیل به یک ارتباط خصوصی (امن) و کلید بازگشایی اطلاعات به صورت منحصر بفرد برای هر جلسه (Session) تولید می شود.

– احراز هویت از طریق یک کلید عمومی رمزنگاری شده به صورت اختیاری انجام می شود، با این حال از این کلید اغلب در سمت سرور استفاده می شود.

OpenVPN نیز از رمزنگاری SSL در اتباطات خود استفاده می کند، به همین دلیل نیاز است تا با تعدادی از اصطلاحات این حوزه آشنا شویم.

-(CA (Certificate Authorities:

TLS برای اعتبار سنجی گواهی نامه ها از لیست تایید شده سازمان های ارائه دهنده این گواهی استفاده می کند که همان CA نام دارد، هر چند می توانید رکوردهایی به لیست در برنامه های که استفاده می کنید اضافه نمایید.

-Cipher:  

یک مفهوم در ارتباطات رمز نگاری شده بوده و الگوریتم encrypt و de-creyp را مشخص می نمایند؛ بعد از برقراری ارتباط (Handshake) بین کاربر و سرور Cipher های قابل پشتیبانی ارائه می شوند.

-Self Sign:

گواهی SSL بایستی از یکی صادر کننده های معتبر خریداری شود، همچنین می توانید با ابزار OpenSSL اقدام به تولید گواهی و امضای آن کنید که در این حالت به این گواهی Self-Signed می گویند.

نصب OpenVPN

برای شروع نیاز به نصب برنامه OpenVPN بر روی رایانه خود داریم سپس نحوه انجام تنظیمات و همچنین تولید گواهی SSL را بررسی می کنیم. برنامه OpenVPN را بر اساس سیستم عامل خود با لینک های زیر می توانید دریافت کنید.

ویندوز XP نسخه 32 بیتی

ویندوز XP نسخه 64 بیتی

ویندوز ویستا و بالاتر نسخه 32 بیتی

ویندوز ویستا و بالاتر نسخه 64 بیتی

دقت کنید هنگام نصب بر روی سیستم خود سطح دسترسی Administrator داشته باشید. بر روی برنامه کلیک کنید تا مراحل نصب آغاز شود.

با کلیک بر روی Agree به مرحله بعد بروید.

دو گزینه ی OpenSSL Utilities و OpenVPN RSA Certificate را انتخاب کنید تا بسته های مورد نیاز جهت تولید گواهی SSL بر روی سیستم نصب شوند.

مسیر نصب برنامه را انتخاب کنید. در این راهنما ما مسیر پیش فرض را انتخاب کرده ایم، بر روی Install کلیک کنید.

قدم اول: ساخت یک گواهی (SSL Certificate) و کلید برای سرور و کاربران.

پس از اتمام مراحل نصب OpenVPN می بایست یک گواهی و کلید تولید کنیم.

قدم اول: تغییر فایل نمونه vars.bat.sample:

با یک نرم افزار ویرایشگر مانند ++Notepad در مسیری که برنامه OpenVPN نصب شده، (در این مثال C:\Program Files\OpenVPN\easy-rsa) فایل vars.bat.sample را ویرایش کنید. مقادیر HOME و KEY_SIZE را با توجه به شکل زیر تغییر دهید.

				
					
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY CONFIG=openss1-1.0.0.cnf
rem Edit this variable to point to 
rem your soon-to-be-created key 
rem directory.
rem
rem WARNING: clean-all will do 
rem a rm -rf on this directory 
rem so make sure you define 
rem it correctly!
set KEY DIR=key
rem Increase this to 2048 if you 
rem are paranoid. This will slow
rem down TLS negotiation performance 
rem as well as the one-time DH parms 
rem generation process. 
set KEY SIZE=1024


				
			

متغیر HOME آدرس ابزار Easy-RSA را در خود نگه می دارد.

متغیر KEY_SIZE به معنای مقدار طول کلید تولید شده است، به طور معمول این مقدار بر روی 1024 تنظیم می گردد. شما می توانید با توجه به نیازتان این مقدار را بیشتر کنید به عنوان مثال بر روی 2048 تنظیم شود. دقت داشته باشید هرچه طول کلید بیشتر شود، رمزنگاری قوی تری خواهید داشت اما فاکتور زمان و بار پردازشی بیشتری به سرور تحمیل می کنید.

همچنین می توانید مقادیر دیگر را نیز تغییر دهید. هرچند که در مرحله تولید کلید و گواهی از شما مجدد سوال پرسیده خواهد شد اما با تنظیم آن ها در این قسمت پارامترها به صورت پیش فرض خواهند بود و شما مراحل را با سرعت بیشتری طی خواهید کرد.

				
					set KEY COUNTRY=IR 
set KEY PROVINCE=TEH 
set KEY CITY=Tehran 
set KEY ORG=SENA 
set KEYEMAIL=support@senatelecom.ir 
				
			

قدم دوم: آغاز تولید کلید عمومی (PKI)

از طریق منوی استارت برنامه (Command Prompt (cmd را اجرا کنید. با استفاده از دستور cd وارد مسیر نصب شده OpenVPN و پوشه easy-rsa شوید. در مثال ما آدرس به این صورت خواهد بود:

C:\Program Files\OpenVPN\easy-rsa

				
					Microsoft Windows [Version 6.1.76011 Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\Saeed> cd C:\Progran Files\OpenUPN\easy-rsa 
C:\Progran Files\OpenUPN\easy-rsa> 

				
			

اکنون در مسیر جاری ابزارهای easy-rsa را در اختیار داریم. دستورات زیر را اجرا کنید:

				
					init config
				
			

این دستور تنظیمات اولیه را پایه ریزی می کند که شامل کپی کردن محتوای فایل vars.bat.sample در فایل vars.bat می باشد.

				
					Microsoft Windows [Version 6.1.76011 Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Saeed>cd C:\Progran Files\OpenUPN\easy—rsa 
C:\Progran Files\OpenUPN\easy—rsa>init—config 
C:\Progran Files\OpenUPN\easy—rsa>copy vars.bat.sanple vars.bat 
                i file(s) copied. 
C:\Progran Files\OpenUPN\easy—rsa> 
				
			
				
					vars
				
			

متغیرهایی که ما در فایل vars.bat.sample تعریف کرده ایم، مورد استفاده قرار می گیرند.

				
					clean-all
				
			

با اجرای این دستور مطمئن می شویم که محیط اجرایی که در آن قرار داریم شامل متغیرهایی است که خودمان تنظیم کرده‌ایم.

				
					C:\Users\Saeed>cd C:\Progran Files\OpenUPN\easy-rsa 
C:\Program Files\OpenUPN\easy-rsa>init-config 
C:\Program Files\DpenUPN\easy-rsa>copy vars-bat.sample vars-bat 
                   1 file<s> copied
C:\Program Files\OpenOPN\easy-rsa>vars 
C:\Program Files\OpenUPN\easy-rsa>clean-all 
                   1 file<s> copied 
                   1 file<s> copied 
C:\Program Files\OpenUPN\easy-rsa> 
				
			

قدم سوم: ساخت گواهی اصلی (root) و کلید آن:

1- دستور build-ca را اجرا کنید.

2- اطلاعات سازمان خود را وارد کنید.

نکته: اغلب پارامترها در این قسمت توسط فایل vars.bat که در مرحله قبل ویرایش کردیم فراخوانی می شوند. تنها متغیری که نیاز داریم تا به طور واضح آن را مشخص کنیم پارامتر Common Name نام دارد. در این مثال ما از اسم OpenVPN-CA استفاده می کنیم.

				
					C:\Program Files\OpenUPN\easy-rsa>build-ca 
WARNING: can't open config file: /etc/ssl/openssl.cnf 
Loading 'screen' into random state - done 
enerating a 1024 bit RSA private key 
-----------------------------------------++++
----------------------------++++
writing new private key to 'keys\ca.key' 
----
You are about to be asked to enter information that will be incorporated 
into your certificate request. 
What you are about to enter is what is called a Distinguished Name or a DN-
There are quite a few fields but you can leave some blank
For some fields there will he a default value, 
If you enter '.', the field will he left blank.
---- 
Country Name <2 letter code> [IR]: 
State or Province Name <full name> [TEH]:
Locality Name <eg, city> [Tehran]: 
Organization Name <eg, company> [SENA]: 
rganizational Unit Name <eg, section> [changeme]: 
Common Name <eg, your name or your server's hostname> [changeme]: OpenUPN_CA 
Name [changeme]: Email Address [support@senatelecom.ir]: 

C:\Program Files\OpenUPN\easy-rsa> 


				
			

قدم چهارم: تولید گواهی و کلید برای سرور

مانند قدم قبل می توانید از مقادیر به صورت پیش فرض استفاده کنید به غیر از Common Name که باید در این قسمت server وارد شود.

دو سوال اضافه در این قسمت از شما پرسیده می شود، آیا مایل به امضای گواهی دیجیتال خود هستید و آیا با درخواست تاییدیه موافق هستید که بایستی به هر دو این سوالات با وارد کردن کاراکتر y موافقت کنید.

دستور این قسمت: 

				
					build-key-server server
				
			
				
					C:\Program Files\OpenVPN\easy-rsa/build-key-server server 
WARNING: can't open config file: /etc/ssl/openssl.cnf
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
---------------++++++
--------------------------------++++++
writing new private key to 'keys\server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [IR]:
State or Province Name (full name) [TEH]:
Locality Name (eg, city) [Tehran]:
Organization Name (eg, company) [SENA]:
Organizational Unit Name (eg, section) [changeme]:
Common Name (eg, your name or your server's hostname) [changeme]: server 
Name [changeme]:
Email Address [support@senatelecom.ir]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
WARNING: can't open config file: /etc/ssl/openssl.cnf 
Using configuration from openssl-1.0.0.cnf 
Loading 'screen' into random state - done
Check that the request matches the signature 
Signature ok
The Subject's Distinguished Name is as follows
countryName		        :PRINTABLE:'IR'
stateOrProvinceName 	:PRINTABLE:'TEH'
localityName		    :PRINTABLE:'Tehran'
organizationName	    :PRINTABLE:'SENA'
organizationalUnitName	:PRINTABLE:'changeme'
commonName		        :PRINTABLE:'server'
name			        :PRINTABLE:'changeme'
emailAddress		    :IA5STRING: 'support@senatelecom.ir'
Certificate is to be certified until Mar 6 09:42:27 2027 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y 
Write out database with 1 new entries
Data Base Updated

C:\Program Files\OpenVPN\easy
				
			

قدم پنجم: ساخت گواهی برای کاربران:

دستور build-key client را اجرا کنید.

در این مثال ما برای یک کاربر با گوشی اندروید گواهی را ایجاد می کنیم، شما می توانید به هر تعداد برای هر نوع کاربری گواهی را با الگویی که در اینجا بررسی می کنیم، بسازید.

نکته: برای هر کاربر یک common name منحصر بفرد اختصاص دهید.

				
					C:\Program Files\OpenVPN\easy-rsa>build-key android 
WARNING: can't open config file: /etc/ssl/openssl.cnf 
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
.++++++
....+++++
writing new private key to 'keys android.key'
-----
You are about to be asked to enter information that will be incorporated into 
your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN. 
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.' the field will be left blank.
-----
Country Name (2 letter code) [IR]:
State or Province Name (full name) [TEH]:
Locality Name (eg, city) [Tehran]:
Organization Name (eg, company) [SENA]:
Organizational Unit Name (eg, section) [changeme]:
Common Name (eg, your name or your server's hostname) [changeme]: android 
Name [changeme]:
Email Address [support@senatelecom.ir]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
WARNING: can't open config file: /etc/ssl/openssl.cnf 
Using configuration from openssl-1.0.0.cnf 
Loading 'screen' into random state - done
Check that the request matches the signature 
Signature ok
The Subject's Distinguished Name is as follows
countryName			    :PRINTABLE:'IR'
stateOrProvinceName		:PRINTABLE:'TEH'
localityName			:PRINTABLE:'Tehran'
organizationName		:PRINTABLE:'SENA'
organizationalUnitName	:PRINTABLE:'changeme'
commonName			    :PRINTABLE:'android'
name				    :PRINTABLE:'changeme'
emailAddress			:IASSTRING:'support@senatelecom.ir'
Certificate is to be certified until Mar 6 10:08:14 2027 GMT (3650 days) 
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

C:\Program Files\OpenVPN\easy-rsa)

				
			

قدم ششم: تولید مقادیر Diffie Hellman

* دفی هلمن یک الگوریتم بوده که برای برقراری ارتباط با یک کلید مخفی مشترک بین دو دستگاه کاربرد دارد. برای راه اندازی OpenVPN Server تولید کد دفی هلمن الزامی است.

دستور build-dh را اجرا کنید.

				
					C:\Program Files\OpenVPN\easy-rsa>build-dh
WARNING: can't open config file: /etc/ssl/openssl.cnf
Loading 'screen' into random state - done
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
....................................+..........+
.........+......................................
....................+...........................
...............+................................
.....................+.....+*+**++**
C:\Program Files\OpenVPN\easy-rsa)
				
			

قدم هفتم: تولید کلید ta.key (اختیاری)

دستور openvpn –genkey –secret keys/ta.key را برای تولید کلید اجرا کنید.

توجه: تمام دستورات بالا در یک Command Prompt اجرا شده اند. درصورتی که قصد دارید Command Prompt دیگری برای اجرای دستورات باز کنید به نکات زیر توجه کنید:

تا زمانی که در فایل تغییری ایجاد نکرده اید نیاز به وارد کردن دستور init-config نیست.

هر زمان که می خواهید Command Prompt جدید باز کنید بایستی دستور vars را اجرا سپس سایر گواهی مورد نظر خود را تولید کنید.

گواهی و کلیدها

اکنون می توانیم فایل های ایجاد شده با دستورات قبل را در مسیر easy-rsa/keys داشته باشیم، نیاز است تا فایل های مربوط به هر دستگاه به مسیر درست انتقال داده شوند. در جدول زیر فایل های هر دستگاه به صورت جداگانه لیست شده اند:

دستگاه فایل های مورد نیاز
S-Series PBX (Server)
ca.crt
ca.key
fh1024.key
server.crt
server.key
ta.key
Android Phone
ca.crt
android.crt
android.key
ta.key
قدم دوم: نحوه اعمال تنظیمات در بخش سرور و کابران
تنظیم OpenVPN Server در PBX های سری S

از طریق رابط کاربری وب PBX خود در منوی اصلی وارد برنامه App Center شوید. لیستی از برنامه های موجود برای شما به نمایش در خواهد آمد، OpenVPN را انتخاب کرده و بر روی Install کلیک کنید.

بعد از اتمام مراحل نصب می توانید آیکون OpenVPN را در منوی اصلی مشاهده کنید.

بعد از کلیک بر روی آیکون VPN Server گزینه Enable VPN Server را تیک بزنید تا سرور شما فعال گردد.

تنظیمات

در جدول زیر به بررسی هر کدام از گزینه ها می پردازیم:

ویژگی توضیح
Server Port شماره پورتی که سرور OpenVPN به آن گوش میدهد، به صورت پیش فرض ۱۱۹۴
Enable Compression

فعال سازی فشرده سازی در لینک VPN

در صورت فعال شدن در سمت کاربر نیز فعال گردد

Protocol نوع پروتکل لایه انتقال که شامل دو گزینه UDP و TCP می باشد.
Address Pool بازه آدرس های IP در شبکه VPN شما
Subnet Mask زیرشبکه VPN
Global Traffic Forwarding در صورت فعال سازی تمام ترافیک کاربران از طریق Default Gateway سیستم PBX شما منتقل می.شود. اگر این گزینه غیر فعال باشد تنها به کاربران داخل شبکه VPN دسترسی دارید.
Device Mode
  • دو حالت
  • TUN: یک لینک مجازی نقطه به نقطه بر بستر IP
  • TAP: یک لینک مجازی از نوع Ethernet
  • اندروید از حالت TAP پشتیبانی نمی کند، در صورتی که از دستگاه اندرویدی استفاده میکنید تنظیمات خود را بری روی TUN بگذارید
Encryption
  • یک از حالت های رمزگزاری را می توایند انتخاب کنید:
  • BlowFish
  • AES-128
  • AES-256
  • Triple-DES
Key Length طول کلید، این مقدار باید با مقداری که در فایل vars.bat.sample برای پارامتر Key_Size تعریف کرده اید یکسان باشد.
Maximum Number Of Clients بیشترین تعداد کاربرانی که در شبکه VPN می توانند حضور داشته باشند.
Verification Mode
  • حالت های تصدیق کاربران
  • گواهی CA - گواهی کاربر
  • گواهی CA - گواهی کاربر + نام کاربری و رمز عبور
  • گواهی CA - نام کاربری و رمز عبور
آپلود گواهی و کلید بر روی سرور

فایل های ساخته شده مربوط به سرور را در مسیر easy-rsa با الگوی زیر در عکس بارگذاری کنید.

بعد از کلیک بر روی گزینه Save، وضعیت سرور به Running تبدیل می شود.

جهت بررسی صحت راه اندازی می توانید از منوی اصلی وارد بخش Resource Monitor شوید

در بخش Network > VPN Server، سرور شما اولین آدرس از Pool را برای خود رزرو کرده است

دسترسی به OpenVPN Server از طریق سیستم عامل اندروید

قدم اول: نرم افزار OpenVPN connect را دانلود و نصب کنید. این برنامه در Google Play نیز موجود است.

قدم دوم: ایجاد پوشه برای OpenVPN

دستگاه اندرویدی خود را با کابل به رایانه وصل کنید و وارد مسیر اصلی فایل ها در SD Card شوید. یک پوشه در این مسیر بسازید و نام آن را OpenVPN بگذارید.

قدم سوم: در این پوشه فایل های زیر را که قبلا ساخته شده، کپی کنید:

• ca.crt

• android.crt

• android.key

• ta.key

قدم چهارم: فایل تنظیمات کاربر

اکنون فایل اتصال کاربر که شامل تنظیمات می باشد را ویرایش و ذخیره کنید.
نکته: توضیحات در این فایل با کاراکتر “#” یا “,” مشخص می شوند.
نکته مهم: دستگاه های اندرویدی حالت TAP را پشتیبانی نمی کنند.
فایل نمونه را با یک ویرایشگر متن باز کنید و مانند تصویر تنظیمات را اعمال کنید:

				
					client
; dev tap 
dev tun

proto udp

remote 91.98.110.220 1194 udp

persist-key
persist-tun
resolv-retry infinite
route-metric 1

nobind
pull

verb 3

auth-user-pass

ca ca.crt
cert android.crt
key android.key

;ifconfig-push 10.8.0.13 10.8.0.14

tls-auth ta.key 1
cipher BF-CBC
:comp-lzo
				
			

متغیر remote: آدرس IP سرور OpenVPN خود را وارد کنید که همان PBX سری S شماست.

متغیر proto: نوع اتصال خود در سمت سرور TCP یا UDP را انتخاب کنید.

تنظیمات را در این فایل ذخیره و آن را در پوشه ای که با نام OpenVPN ساخته اید انتقال دهید.

تمام فایل های مورد نیاز در سمت سرور و کاربر وارد شده اند، اکنون یک نام کاربری و رمز عبور برای کاربر خود بسازید.

از برنامه OpenVPN Server وارد بخش Account شوید و بر روی گزینه Add Account کلیک کنید.

Account: نام کاربری دلخواه خود را وارد کنید.

Password: رمز عبور خود را وارد کنید، دقت داشته باشید که رمز عبور باید حداقل دارای 8 کاراکتر باشد.

گزینه Batch Add Account به شما امکان ساخت چندین اکانت به صورت دسته ای را می دهد.

Create Number: تعداد حسابی که به صورت دسته ای می سازید.

Start Account: پیشوند (prefix) نام کاربری، به صورت خودکار حساب های دیگر، پیشوند به همراه یک عدد به ترتیب ساخته می شوند.

Password: رمز عبور که شامل دو حالت می باشد:

Fixed: یک رمز ثابت برای همه حساب های کاربری در این دسته،

Prefix+account: یک رمز عبور ثابت که به مقدار نام کاربری به صورت پیشوند اضافه می گردد.

بعد از ساخت اکانت برنامه OpenVPN Connect را در دستگاه اندرویدی خود اجرا نمایید. بر روی گزینه moe-icon-o  کلیک کنید.

گزینه Import و Import Profile from SD Card را از لیست باز شده انتخاب و در مسیر OpenVPN فایل اتصال را اضافه و سپس گزینه Select را لمس کنید.

حال کافیست تا نام کاربری و رمز عبور خود را وارد کرده و گزینهconnect  را لمس کنید.

پس از اتصال موفقیت آمیز صفحه زیر نمایش داده خواهد شد.

همچنین می توانید لیستی از کاربران متصل به سیستم را از مسیر Server > Clients List مشاهده کنید.

تازه ترین مقالات

Proxy چیست؟

Proxy چیست؟

Proxy چیست؟ پروکسی (Proxy) به عنوان یکی از اجزای کلیدی در معماری شبکه، ابزاری است که ارتباطات کاربران با منابع…
VPN چیست؟

VPN چیست؟

VPN چیست؟ مقاله ای تخصصی درباره عملکرد و ساختار فنی VPN، پروتکل های امنیتی، رمزنگاری و کاربردهای قانونی آن در…
نرخ انتقال تماس ها (Transfer Rate) چیست؟

نرخ انتقال تماس ها (Transfer...

نرخ انتقال تماس ها (Transfer Rate) یکی از شاخص های کلیدی عملکرد (KPI) در مراکز تماس است که نشان دهنده…
زنبیل خرید