یکی از مهمترین موارد اجرای یک پروژه موفق ویپ ، اهمیت به امنیت سیستم تلفنی است.با توجه به سادگی اسکن پورت های سیگنالینگ ، کافی است در ساده ترین حالت ممکن از یک نرم افزار 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)