وبلاگ نوین‌ویپ

نکات طلائی برای امنیت در استریسک و الستیکس

احتمالا تا به حال به بسیاری از افراد برخورده اید که سیستم تلفنی استریسکی آنها هک شده است و مجبور به پرداخت میلیون ها تومان به مخابرات شده اند و یا حتی شاید خودتان قربانی این حملات بوده اید، یک سرور ویپ همانند هر سرور دیگری نیاز به امن شدن دارد با این تفاوت که سرور های ویپ با توجه به ارزش بسیار بالای ترافیک تلفنی بین الملل دارای جذابیت بسیار زیادی برای هکر ها هستند.

بسیاری از هک های سیستم های تلفنی توسط روبات ها صورت می گیرند و آنها با سیستم های کد بار کاملا آشنا هستند، در صورتی که سیستم استریسک خود را بر روی اینترنت قرار بدهید نیازی به بد شانسی برای هک نیست ! قطعا در یک بازه زمانی هک خواهید شد، پس فراموش نکنید سرور تلفنی خود را هرگز به اینترنت بدون محافظ و درنظر گرفتن نکات ایمنی متصل نکنید.

علاوه بر زیان بسیار مالی که خواهید کرد، این تلفن ها ممکن است شما یا شرکت شما را نیز بواسطه تماس هایی که گرفته می شود، در گیر موارد امنیتی، پلیسی کند که متاسفانه این اتفاق بسیار زیاد رخ می دهد فقط به این خاطر که نصب این سیستم ها توسط افراد غیر حرفه ای صورت می پذیرد.

اگر خود، متخصص الستیکس هستید حتما موارد و نکات زیر را در نظر بگیرید و اگر به عنوان یک کارفرما و یا علاقه مند این مطلب را میخوانید هرگز راه اندازی سیستم تلفنی خود را به اشخاص یا شرکت های غیر تخصصی ویپ نسپارید و حتما در مورد امنیت سرور جویا شوید.

اما نکات کلیدی زیر که می بایست همه این موارد را بر روی سرور استریسکی خود از قبیل الستیکس(Elastix)، ایزو استریسک (AsteriskNow) و یا فری پی بی اکس(Freepbx) اعمال نمایید از این قرار است:

استفاده از IPTables لینوکس

اگر از ایزو استریسکی استفاده کنید به طور حتم روی لینوکس هستید ! فایروال لینوکس که به نام IPTables شناخته می شود بر روی اکثر لینوکس ها به صورت پیشفرض وجود دارد، وظیفه این سرویس حیاتی بستن پورت های شبکه برای همه آی پی های بیرونی و یا دسترسی دادن فقط به یک گروه آی پی خاص است، اگر الستیکس دارید منوی security درواقع همین IPTables لینوکس است پس کار شما برای تغییر rule ها ساده است، اما اگر ایزو های دیگر را دارید با نصب برنامه webmin کار با این سرویس را به صورت گرافیکی انجام دهید و اگر لینوکس کار حرفه ای هستید می توانید با کامند برای IPTables قانون بنویسید.

نکته مهم این است که بدانید چه پورت هایی را سیستم شما نیاز دارد تا از کار نیافتد.

الزامی:

  • پروتکل SIP: پورت 5060 بر روی tcp و udp- پروتکل RTP: پورت 10000 تا 20000 بر روی udp
  • پروتکل IAX2: پورت 4569 بر روی udp

اختیاری:

  • دسترسی محیط وب: پورت 443 بر روی tcp
  • دسترسی SSH: پورت 22 بر روی tcp

تغییر پورتهای شبکه رایج

پورت های برنامه های معروف را تغییر دهید، این کار می تواند تا حد بسیاری شما را از دست سیستم های هک اتوماتیک خلاص کند، از پورت های معروف و مورد استفاده می توانید به موارد زیر اشاره کرد.

  • http:80
  • ssl:443
  • ssh:22

فراموش نکنید وقتی آنها را تغییر می دهید بهتر است یک پورت 4 رقمی و غیر آشنا انتخاب کنید، مثلا پورت 22 را به 2222 تغییر ندهید !

استفاده از NAT

NAT دوست شماست ! از آن حتما استفاده کنید، یعنی سرور خود را برای دسترسی به اینترنت، پشت NAT قرار دهید یا به عبارتی دسترسی از روی اینترنت به سرور شما مستقیم نباشد و از یک واسط استفاده شود، البته فراموش نکتید وقتی سرور پشت NAT قرار می گیرد باید مراقب ملاحظات پروتکل SIP نیز باشید.

استفاده از Fail2Ban

برنامه Fail2Ban برای جلوگیری از هک کاربر و رمز یک سیستم بواسطه تست صحیح و خطا تولید شده است، با سرویس ها و برنامه های مختلفی کار می کند، لاگ آنها را خوانده و در صورتی که ببینید کسی در حال سعی برای یافتن رمز یک کاربر است آی پی آدرس فرد را تا مدت زمان دلخواه شما بواسطه IPTables مسدود می کنید. در دل این برنامه الگوریتم خواندن لاگ های استریسک 11 نیز وجود دارد و نیاز زیادی به تغییرات نیست، Fail2Ban خیال شما را از این بابت راحت می کند، این برنامه را از این سایت بگیرید.

اجازه ندهید داخلی شما از روی هر آی پی آدرسی رجیستر شود

اگر در استریسک (الستیکس، فری پی بی اکس) یک داخلی بسازید، یکی از پارامتر های آن permit و دیگری deny است، که می توانید یک آی پی خاص و یا یک محدوده آدرس تعیین نمایید تا فقط در صورتی که داخلی از روی این آی پی ها درخواست رجیستر شدن ارسال کرد استریسک مجوز آن را بدهد.

با این کار اگر داخلی و رمز آن به سرقت برود دیگر کسی از آی پی آدرس های غیر مجاز، نمی تواند با آن داخلی رجیستر شود، فرمت وارد کردن آی پی آدرس ها به شکل زیر است:

 

permit=<ipaddress>/<network mask>

deny=<ipaddress>/<network mask>

از Outbound های خود محافظت کنید.

می دانید Outbound ها در واقع راه های خروج از سیستم به سمت یک مخابرات و یا سرویس دهند های اینترنتی هستند، مقاصدی که برای ارسال تماس هزینه زیادی پرداخت می کنید، در واقع بخش نگران کننده هک شدن سرور شما همین قسمت است، تمام تلاش را می کنیم تا یک هکر به مسیر های خروجی تماس  سیستم تلفنی ما درسترسی پیدا نکند.

در یک سیستم استریسکی بخصوص سیستم هایی که از Freepbx استفاده می کنند، شما در حین تعریف یک Outbound Route می توانید مواردی را درنظر بگیرید که کار یک هکر را سخت تر کند به عنوان مثال:

  1. برای Outbound Route های خود رمز بگذارید.
  2. Outbound Route های خود را فقط برای افراد محدودی قابل استفاده کنید، این کار بواسطه کاراکتر / در Dial Pattern نویسی امکان پذیر است.
  3. Outbound Route های خود را فقط برای یک بازه زمانی خاص فعال کنید، این امکان بواسطه Time Group استریسک امکان پذیر است. نیازی نیست مسیر تماس های بین الملل (00) شرکت شما در شب نیز که کسی در محل کار نیست فعال باشد!

استفاده از رمز های عبور خفن !

بابت کلمه خفن ببخشید ! می خواستم از کلمه قوی استفاده کنم ولی دیدم معمولا کسی به این نکته دقت نمی کنه خواستم تاکید بیشتری کرده باشم، شما با همین نکته بسیار ساده جلوی بسیاری از هکر های Bot (اتوماتیک) را می گیرید، به همین سادگی، فقط هنگام تعریف رمز روی اعصاب خود مسلط باشید !

یک رمز قوی تا این لحظه یعنی سال 2015 یک کلمه ترکیبی از عدد، حروف (کوچک و بزرگ)، نشانه و با طول حداقل 12 کاراکتر است، اگر فکر می کنید سخت است کافی است آن را با کلماتی بسازید که در ذهن شما می ماند و برای انتخاب رمز بعدی از همین الگوریتم استفاده نمایید، مثلا من می خواهم برای داخلی های استریسک خود رمز بگذارم.

داخلی 1101 رمز: GoRbEYeChAgH@!1101

داخلی 1102 رمز: GoRbEYeChAgH@!1102

داخلی 1103 رمز: GoRbEYeChAgH@!1103

می بینید، حفظ کردن همه رمز ها ساده است حتی اگر 1000 تا داخلی بسازم درحالی که رمز من بسیار پیچیده است.

تعداد مکالمات همزمان امکان پذیر را کاهش دهید.

در الستیکس 2.5 یا بهتره بگویم روی استریسک 11 این امکان وجود دارد که شما به راحتی تعداد مکالماتی که یک داخلی به طور همزمان می تواند انجام دهد را محدود نمایید، شاید یک داخلی اگر روی یک گوشی 4 خطه هم باشد باز به بیش از 4 امکان تماس به بیرون در آن واحد نیاز نداشته باشد خود هنگام تعریف داخلی کافی است گزینه Outbound Concurrency Limit را با عدد دلخواه پر کنید.

همین طور در بحث ترانک های نیز می توانید در گزینه Maximum Channels تعدا مکالمات همزمان امکان پذیر روی ترانک را محدود کنید که این گزینه هم کمک می کند در صورتی که هک می شوید ضرر زیادی نکنید.

لاگ های خود را همیشه بررسی کنید.

خوشبختانه روی استریسک 11 که الستیکس 2.5 نیز از همین نسخه استفاده می کند، یک نوع لاگ برای امنیت Security در نظر گرفته شده است که در صورت بروز مشکلات امنیتی در استریسک و لاگ فایل جزئیات آن با تگ Security درج می گردد.

خوب حتما می دانید مسیر لاگ های استریسک در پوشه :   /var/log/asterisk است.

اما نکته این جاست که این نوع لاگ به طور پیش فرض در الستیکس غیر فعال است و ما باید آن را فعال کنید، برای این منظور راه کار زیر را پیروی کنید:

  1. فایل /etc/asterisk/logger_logfiles_custom.conf را جهت ویرایش باز کنید (می توانید از Winscp استفاده کنید)
  1. خط زیر را به فایل اضافه نمایید.

security => security

  1. حال شما در پوشه /var/log/asterisk یک فایل جدید خواهید داشت به نام security که لاگ های امنیتی شما را نگهداری می کند.

استفاده از فایر وال

همیشه سرور ویپ خود را پشت یک فایروال قوی و حرفه ای بگذارید، تمام نکات بالا را انجام دادیم اما یک فایروال خارج از سیستم می تواند امنیت ما را تضمین کند، این فایروال باید برای ترافیک ویپ، حملات ویپ و نکات مهم در این تکنولوژی تنظیم شود، پس علاوه بر فایروال به یک متخصص امنیت و آشنا به ویپ نیاز دارید تا این محصول را برای شما به درستی تنظیم کند.

امن کردن مکالمه با TLS/SRTP

10 نکته قبلی برای مقابله با هکر ها بود، کسانی که دنبال نفوذ به سیستم و دزدیدن ترافیک هستند، اما هنوز صحبت های شما قابل شنود است و حتی اطلاعات مکالمه ممکن است به راحتی در اختیار افراد قرار گیرد، خوب پروتکل SIP همانند HTTP کاملا آشکار (Clear) است، شما بر روی استریسک با امکان TLS پیام های کنترلی را رمز گزاری می کنید و همچنین با استفاده از SRTP پیام های صوتی یا همان صوت را رمز گزاری می کنید که دیگر کسی امکان شنود مکالمه را نیز نداشته باشد.

کار شما برای راه اندازی TLS کمی زیاد خواهد بود، می توانید با مقاله داخل wiki استریسک این کار را انجام دهید، برای این مورد نیاز به Self Signed Certification است دقیقا مثل سایت های HTTPS.

اما راه اندازی SRTP راحت است، کافی است شما پس از ساخت داخلی دوباره وارد تنظیمات آن روی سرور بروید و گزینه Encryption را برابر Yes قرار دهید، البته از این لحظه به بعد IPPhone یا Softphone شما نیز باید با SRTP فعال شده اقدام به برقراری تماس کند.

***

برای دریافت اطلاعات بیشتر درباره VoIP با بخش پشتیبانی نوین ویپ تماس بگیرید. 91029108-021

برچسب ویپ
بدون دیدگاه
مشاوره تلفنی رایگان
مشاوره رایگان با واتس‌اپ