مخاطرات و راهکارهای برقراری امنیت ویپ (قسمت پنجم)

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

همانطور که در قسمت دوم سری مقالات امنیت ویپ با نام هفده روش امنیت مراکز تلفن متن باز گفته شد یکی از مهمترین مکانیزم های امنیت در امنیت ویپ پروتکل های TLS و SRTP هستند. در این آموزش نحوه برقراری امنیت SRTP و TLS در استریسک و الستیکس را یاد خواهید گرفت. به صورت پیش فرض انتقال صدا در شبکه به صورت غیر رمز منتقل می گردد. با فعال کردن 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 اضافه کنید.

Sip_general_custom.conf
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

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

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

sip.conf
transport=tls
encription=yes

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

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

Zoiper
Zoiper2

 

سخن آخر: از این پس صدا به صورت رمز شده و ارتباط سیگنالینگ با استفاده از گواهینامه خواهد بود. جهت مشاهده خروجی این تنظیمات می توانید با استفاده از نرم افزار WireShark ترافیک SIP و RTP را کپچر کنید. پکت های رد و بدل شده به صورت SRTP  و TLSv1 خواهد بود. در این آموزش  از نسخه ۲٫۵ الستیکس و نسخه ۳٫۹٫۳۲۱۴۴  استفاده شده است.

این مقاله اولین بار در سال 95 در این سایت منتشر شده است

من هومن حیدری هستم. دانشجوی رشته MBA گرایش بازاریابی. 8 سال سابقه فعالیت در زمینه سخت افزار و فناوری اطلاعات دارم و از این مدت 4 سال هست که به عنوان کارشناس فنی و فروش در زمینه سیستم های تلفنی مبتنی بر استریسک و سخت افزارهای مرتبط فعالیت میکنم. مشاوره در زمینه راه کارهای ویپ، امور مرتبط با مارکتینگ و تولید محتوای صوتی، تصویری، متنی و آموزش از علاقه مندی های من هست. تجربه هایی در زمینه مستند سازی سازی و ارائه دیاگرام زیرساخت شبکه، VMS و تجهیزات مدار بسته، پسیو شبکه، طراحی اتاق سرور و مانیتورینگ و مدیریت شبکه های کامپیوتری کوچک دارم و بسیار علاقه مند به فراگیری مباحث جدید در حوزه کسب و کار، فناوری اطلاعات و علاقه مند به کسب و کارهای خلاق هستم.

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.

سایدبار کشویی