voip

راهنمای پیاده سازی TLS و SRTP در الستیکس و استریسک

امتیاز کاربران

ستاره فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

یکی از مهمترین موارد اجرای یک پروژه موفق ویپ ، اهمیت به امنیت سیستم تلفنی است.با توجه به سادگی اسکن پورت های سیگنالینگ ، کافی است در ساده ترین حالت ممکن از یک نرم افزار Port Scanner جهت یافتن پورت های مورد نظرمان استفاده کنیم.در نهایت شاهد IP های بسیاری خواهیم بود که دارای هیچ مکانیزم امنیتی نیستند و  برای یک هکر بهترین طعمه خواهند بود.

 

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

پروتکل (TLS(Transport Layer Security

این پروتکل نسخه ارتقا یافته  SSLاست که از سوی کمپانی Netscape معرفی شده است.در واقع بعد از ورژن سوم SSL معرفی و از سوی بنیاد IETF با استاندارد RFC5246 تصویب گردید.این پروتکل در لایه انتقال است و وظیفه ایمن نمودن تراکنش‌های ارتباطی وتولید کلید امن بین کلاینت و سرور را دارد.

 

 

 

 

پروتکل (SRTP(Secure Real-Time Transport Protocol

این پروتکل جهت رمزنگاری انتقال صدا با استاندارد RFC3711 از سوی بنیاد IETF است.به صورت پیش فرض RTP صدا را به صورت Clear و بدون رمز منتقل میکند.با استفاده از این پروتکل ، در صورت شنود مکالمات صدایی نامفهوم شنیده خواهد شد.

نحوه ایجاد ، پیکربندی و استفاده از گواهی نامه در الستیکس

ابتدا در مسیر etc/asterisk/ یک فولدر با نام keys می سازیم.

اینkey  یک نسخه روی سرور و دیگری در کلاینت Import خواهد شد.

 mkdir /etc/asterisk/keys#

با کامند بالا فولدر keys ساخته می شود.
جهت ایجاد دسترسی لازم از دستور زیر استفاده کنید :

 chown -R root.root /etc/asterisk/keys#

اجرای یک اسکریپت جهت ساخت کلید :
توجه کنید در اینجا نام هاست سرور و همچنین ورژن استریسک با سرور شما مطابقت داشته باشد.

نکته : از این مرحله به بعد تمام رمزهایی که از شما پرسیده شد،میباست یکی باشد.

/usr/share/doc/asterisk-11.17.1/contrib/scripts/ast_tls_cert -C voiptraining -O ” voiptraining ” -d

/etc/asterisk/keys

 

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

با کامند  hostname میتوانید نام هاست خورد را در سرور مشاهده کنید.

سپس جهت Generate کردن کلید کلاینت ها از روی کلید اول کامند زیر را وارد کنید:

/usr/share/doc/ asterisk-11.17.1/contrib/scripts/ast_tls_cert -m client -c /etc/asterisk/keys/ca.crt -k /etc/asterisk/keys/ca.key -C kavatelecom -O ” kavatelecom ” -d /etc/asterisk/keys -o client

توضیحات علامات اختصاری در این کامند ها :

-C   نام هاست سرور
-O  نام سازمان(اختیاری)
-d  مسیر فایل کلید
-m client جهت اجرای اسکریپت صدور گواهینامه کلاینت
-c /etc/asterisk/keys/ca.crt  جهت ساخت فایل ca.crt
-k /etc/asterisk/keys/ca.key ایجاد یک کلید برای گواهینامه ساخته شده
-o  نام دلخواهی که میخواهیم روی کلید ها باشد

خروجی دو اسکریپت بالا در فولدر keys به صورت زیر میباشد :

asterisk.crt

asterisk.csr

asterisk.key

asterisk.pem

client.crt

client.csr

client.key

client.pem

ca.cfg

ca.crt

ca.key

tmp.cfg

در مرحله بعد می بایست در فایل Sip_general_custom.conf  پارامترهای مرتبط با فعال سازی TLS را روی پروتکل SIP اضافه کنید.

tlsenable=yes

tlsbindaddr=0.0.0.0

tlscertfile=/etc/asterisk/keys/asterisk.pem

tlscafile=/etc/asterisk/keys/ca.crt

tlscipher=ALL

tlsclientmethod=tlsv1

نکته : در آخرین مرحله می بایست فایل گواهی نامه با پسوند pem را در کلاینت Import کنیم.دقت کنید قبل از وارد کردن این کلید میبایست آن را باز کرده و کلید Private Key را از آن حذف کنید و آن را در یک فایل دیگر ذخیره نمایید.

نحوه استفاده از Certificate

جهت استفاده از گواهینامه های ساخته شده در کلاینت ها میتوانیم از دو روش متقارن و نامتقارن استفاده کنیم.
ما در اینجا از روش متقارن استفاد میکنیم و تنها با یک فایل گواهینامه کلاینت خود را روی سیپ سرور رجیستر میکنیم.بدیهی است در صورتی که از انتقال TLS استفاده کنیم،کلاینت ها بدون داشتن فایل گواهی نامه قادر به رجیستر شدن روی سیپ سرور نخواهند داشت.
در کلاینت ها میبایست فایل با پسوند pem را Import کنیم.

فعال سازی رمزنگاری SRTP و TLS در الستیکس

جهت فعال کردن این رمز نگاری می بایست در قسمت تنظمیات داخلی ها گزینه Encription را روی(Yes(SRTP Only قرار دهید.

نحوه فعال کردن SRTP و TLS در استریسک

جهت فعال کردن این قابلیت ها در استریسک به فایل  sip.conf رفته و موارد زیر را به داخلی مورد نظر اضافه کنید :

transport=tls

encription=yes

نحوه Import کلید ها در نرم افزار Zoiper

با توجه به تصاویر زیر در نرم افزار Zoiper باید فایل pem را Import کنیم.

از این پس صدا به صورت رمز شده و ارتباط سیگنالینگ با استفاده از گواهینامه خواهد بود.

جهت مشاهده خروجی این تنظیمات میتوانید با استفاده از نرم افزار WireShark ترافیک SIP و RTP را کپچر کنید.پکت های رد و بدل شده میبایست به صورت SRTP  و TLSv1 باشد.

در این آموزش  از نسخه ۲٫۵ الستیکس و نسخه ۳٫۹٫۳۲۱۴۴  استفاده شده است.

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

 

 آشنایی با ورژن جدید برنامه Lync Server به نام 2015 Skype for Business

آموزش نحوه نصب استریسک بروی روتربرد های میکروتیک

اموزش بک آپ در الستیکس

ارتباط سیستم voip الستیکس با نرم افزار ارتباط با مشتری (crm)

سیپ ترانک SIP TRUNK چیست

انتقال خطوط تلفن از یک نقطه به نقطه دیگر

دانلود مقاله اموزش sib trunk newrock