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

comments0 نظر views بازدید
اشتراک گذاری/نشانه گذاری

راهنمای پیاده سازی 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 باشد.

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

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

 

پاسخ دهید

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