مخاطرات و راهکارهای برقراری امنیت در مراکز تلفن متن باز_بخش پنجم

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

همان طور که در قسمت دوم سری مقالات امنیت ویپ، هفده روش امنیت مراکز تلفن متن باز را معرفی کردیم، یکی از مهم ترین مکانیزم های امنیت در ویپ TLS و SRTP است.

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

مخاطرات و راهکارهای برقراری امنیت در مراکز تلفن متن باز_بخش پنجم

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

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

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

tlssrtp-1

پروتکل (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

tlssrtp-2

در صورت بروز خطا در ساخت کلید ، نام هاست در فایل 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 قرار دهید.

tlssrtp-3

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

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

transport=tls

encription=yes

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

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

tlssrtp-4

tlssrtp-5

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

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

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

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

رای شما با موفقیت ثبت شد.

ثبت رای شما با پیغام خطا همراه بود.

دیدگاه های این مطلب

هیچ نظری ارسال نشده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *