به جهت احراز هویت قوی با استفاده از پروتکل 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 باشد.
در این آموزش از نسخه ۲٫۵ الستیکس و نسخه ۳٫۹٫۳۲۱۴۴ استفاده شده است.
نکته : در این آموزش از روش رمز نگاری متقارن استفاده شده است و شما از کلید استریسک(در این آموزش دو کلید ساخته شده است) نیز به جای کلاینت می توانید استفاده کنید.
دیدگاه های این مطلب
هیچ نظری ارسال نشده است.