امنیت ویپ (VoIP)، یک موضوع بسیار گسترده و مهم می باشد و می توان برای آن تعاریف مختلفی ارائه کرد؛ به طوری که هیچ یک از این تعاریف قطعی و ثابت نخواهند بود، چراکه امنیت در ارتباط با مسائلی است که هر روز در حال تغییر و تحول می باشند. البته در اینجا امنیت در سیستم های تلفنی مبتنی بر VoIP مطرح می باشد.
امنیت تنها از بین بردن مشکلات یک المان مشخص نیست، بلکه مجموعه ای از ابزارها و فرآیندها می باشد؛ به عبارت دیگر امنیت همچون زنجیری است که اگر یکی از حلقه های آن ضعیف باشد، آن زنجیر به سادگی از هم گسیخته خواهد شد.
هدف از این مقاله برقراری ۱۰۰% امنیت در سیستم شما نیست، بلکه تنها برخی مسائل مهم و پایه ای و ابزارهای مرتبط با آن مورد بررسی قرار گرفته اند. از آنجایی که هر سیستم تعاریف و طراحی مختص به خود را دارد، هیچ مستندی نمی تواند به شما این تضمین را بدهد که امنیت کامل در سیستم شما برقرار می گردد.
نکته ی قابل توجه دیگر این است که برقراری امنیت از یک تابع نمایی پیروی می کند. به عبارت دیگر ممکن است تا حدود ۶۰ درصد امنیت سیستم خود را با انجام برخی تنظیمات و تعریف سیاست های امنیتی، برقرار کنید، بدون اینکه نیاز به تجهیزات سخت افزاری خاصی داشته باشید. اما برای آنکه این میزان را به ۹۵ درصد افزایش دهید، باید از تجهیزات خاصی استفاده نمایید که برای شما هزینه خواهد داشت و اگر بخواهید این میزان را به ۹۹ درصد برسانید، هزینه ها به شدت افزایش خواهد یافت. نکته ی مهم دیگر این است که هیچگاه به امنیت ۱۰۰ درصد دست نخواهید یافت.
با توجه به گزارشات اخیر مبنی بر حمله به سیستم های تلفنی VoIP، دپارتمان آموزش شرکت ساعیان ارتباط بر آن شد تا مقاله ای در مورد امنیت VoIP برای شما علاقمندان به این حوزه تهیه کند که در آن به بررسی آسیب پذیری ها، روش ها و ابزارهای مقابله با این تهدیدات امنیتی بر روی سیستم های تلفنی مبتنی بر VoIP پرداخته و در آخر یک راه حل برای افزایش امنیت تا حدود ۹۵ درصد ارائه می شود.
سیستم های تلفنی
در این مقاله سعی شده است تا راهکار های ارائه شده، قابل استفاده برای اکثر سیستم های تلفنی مبتنی بر IP باشد، اما به دلیل رایج بودن سیستم های تلفنی مبتنی بر نرم افزارهای متن باز همچون Asterisk و FreeSwitch، سیستم استریسک در مثال ها بکارگرفته شده است.
لایه های امنیتی VoIP
برقراری امنیت دارای لایه های مختلف می باشد؛ به عبارت دیگر در جهت امن سازی یک سیستم، باید سطوح مختلفی از امنیت را پیاده سازی کرد. لایه هایی شامل فایروال، احراز هویت و مانیتورینگ از جمله آن می باشد. این معماری ساده ترین سطوح امنیتی را پوشش می دهد، به طوری که با پیاده سازی درست این لایه ها و تکنیک های مناسب و مرتبط با آن ها، می توان امنیت سیستم را به صورت قابل توجهی بهبود بخشید. چه بسا همانطور که در مقدمه اشاره شد، برای افزایش سطح امنیت، تعداد لایه ها و نوع ابزارهای مرتبط با هر لایه، تغییر خواهد کرد.
حملات داخلی و یا خارجی
یکی دیگر از مسائل مهم که کمتر به آن توجه می شود، منشا تهدیدات امنیتی است. معمولا تصور می شود که حملات تنها منشا اینترنتی و خارجی دارند، این در صورتی است که تهدیدات امنیتی داخلی نادیده گرفته می شوند؛ در حالی که از داخل، دسترسی به منابع سیستم راحت تر بوده و بسیاری از فیلترهای امنیتی وجود نخواهد داشت.
یکی از رایج ترین جمله هایی که شنیده می شود این است که “کارمندان دانش کافی برای نفوذ به سیستم را ندارند”؛ در حالی که نصب یک بدافزار با قابلیت ذخیره سازی نام کاربری و رمز عبور مربوط به تلفن ها، توسط کارمندی که از داخل به سیستم دسترسی دارد، امنیت سیستم تلفنی را به شدت تهدید کرده و امکان نفوذ به سیستم را از بیرون افزایش میدهد. بر این اساس، باید امنیت سیستم را از داخل و خارج شبکه مورد توجه قرار داد و همه ی سیاست های امنیتی را بر روی هر دو دامنه اعمال کرد.
انواع حملات بر روی سیستم های تلفنی مبتنی بر VoIP
حملات و نفوذهای صورت گرفته بر روی سرورهای تلفنی معمولا دو هدف را دنبال می کنند:
- سرقت خطوط تلفنی شهری و یا ترانک ها.
- آسیب رساندن به سیستم تلفنی و ایجاد توقف در سرویس دهی.
در حملات نوع اول که متاسفانه در کشور ما بسیار رایج است، نفوذگر از خطوط ارتباطی سیستم تلفنی براری برقراری تماس های تلفنی خارجی که پرهزینه هستند، استفاده می کند. به عبارت دیگر از طریق سیستم تلفنی هدف، با دو نقطه مختلف تماس برقرار می گردد و سپس این دو تماس را به هم متصل می کنند و از این طریق از خطوط تلفنی، سوء استفاده می گردد. حملات رایج برای این منظور عبارتند از:
SIP Registration, Scan attack, Dictionary attack, Brute Force.
در روش دوم، هدف اصلی به خطر انداختن یک کسب و کار و ایجاد اختلال در ارتباطات تلفنی آن هاست، که معمولا کارمندان ناراضی و یا رقبا اقدام به این کار می کنند. حملاتی همچون SIP Scan ،Port Scan ،SSH Brute Force ،DoS و DDoS برای این منظور مورد استفاده قرار می گیرند.حملات و تهدیدات امنیتی سیستم های تلفنی به این دو روش ختم نمی شوند؛ به عنوان نمونه ممکن است نفوذ با هدف سرقت اطلاعات تماس و یا اطلاعات کاربران یک سیستم تلفنی، و یا دست یابی به زیرساخت شبکه باشد.
همانطور که در مقدمه گفته شد برای جلوگیری از انواع این تهدیدات و رسیدن به 99 درصد امنیت، تجهیزات سخت افزاری و نرم افزاری خاصی مورد نیاز است؛ در نتیجه در ادامه به بررسی راه حل هایی می پردازیم که احتمال بروز حملات رایج را کاهش می دهد.
آسیب پذیری های امنیتی سیستم های تلفنی مبتنی بر VoIP
– رمز عبور
رمزهای عبور و یا به اصطلاح Secret در دنیای VoIP، یکی از مهم ترین آسیب پذیری های سیستم های تلفنی می باشد. به طوری که یک نفوذگر با یافتن یک نام کاربری و رمز عبور آن می تواند از طریق سیستم تلفنی شما تماس رایگان برقرار کند. در نتیجه، در صورت اصلاح رمزهای عبور، به میزان قابل توجهی امنیت سیستم تلفنی افزایش خواهد یافت.
معمولا کاربران از رمزهای عبور ساده برای تست سیستم استفاده می کنند و بدون بررسی سیستم از لحاظ امنیتی، آن را زیر بار می برند؛ و رمزهای عبور ساده و قابل تشخیص، به عنوان یک حفره امنیتی در سیستم باقی می مانند.
اهمیت رمزهای عبور برای هر داخلی (Extension) زمانی که کاربران راه دور و بیرونی داشته باشید، مشخص می گردد. چرا که در این صورت با یافتن رمز عبور به راحتی می توان از سیستم تلفنی سوء استفاده شود.
یکی دیگر از اشتباهات رایج تشابه رمز عبور با شماره داخلی و استفاده از رمزهای عبور پیش فرض می باشد. به عنوان نمونه داخلی 201 با رمز عبور 201؛ این رمز عبور مانند این است که کاربر رمز عبوری ندارد.
رمزهای عبور باید ساختار مناسبی از لحاظ تعداد کاراکترها و نوع آن ها داشته باشند. به عنوان مثال رشته 55178 را در نظر بگیرید. این رمز عبور ضعیف است، چرا که ابزارهای نفوذ خیلی ابتدایی هم می توانند با چندین مرتبه تست آن را پیدا کنند. یا رشته test123 نیز به همین صورت قابل تشخیص خواهد بود. برخی الگوهای رایج و بسیار ساده که در دقایق اول به وسیله ابزارهای نفوذ، شکسته می شوند در سال 2014 به صورت زیر لیست شده اند:
- 123456
- 123456789
- Password
- 1234
- 12345
- 1234567
- 12345678
- abc123
- Qwerty
- 123123
اما رشته SE55na8tE از لحاظ تعداد کاراکتر و ترکیب حروف و اعداد دارای ساختار مناسبی می باشد. البته رمزهای عبور این چنینی بسیار سخت به خاطر سپرده می شوند، به همین دلیل به نگهداری نیاز دارند.
شاید جالب باشد بدانید در صورتی که مکانیزمی برای بلاک کردن در سیستم وجود نداشته باشد، یک بد افزار می تواند حدود 30 تا 40 درخواست رجیستر در ثانیه، بر روی یک خط ADSL با پهنای باند 1Mbps، ارسال کند؛ که بر این اساس می تواند در طول چند ساعت یک لغت نامه را به صورت کامل تست کند. (Dictionary Attack)
در بسیاری از موارد که سیستم تلفنی مورد حمله قرار گرفته است، حجم پیام های ارسالی به حدی بالا بوده است که کل شبکه نیز مختل شده است و یا کیفیت سایر مکالمات تلفنی به شدت تحت تاثیر قرار گرفته است.
به عنوان نکته ی آخر مرتبط با رمزهای عبور، باید به این نکته توجه داشت که رمز عبور تنها مربوط به داخلی ها نیست بلکه در تعریف ترانک ها میان سیستم های تلفنی و یا گیت وی های VoIP نیز باید نکات امنیتی ذکر شده، رعایت شوند.
– غیر فعال کردن قابلیت ها و یا ماژول های بدون استفاده
یکی دیگر از اقداماتی که باید در حین راه اندازی سیستم های تلفنی مورد توجه قرار گیرد، غیرفعال کردن امکانات و یا ماژول هایی است که در حال حاضر از آن ها استفاده نمی شود یا به نحوی برای عملکرد اصلی سیستم، الزامی نیستند. چرا که بسیاری از این قابلیت ها نوعی درگاه ورود به سیستم محسوب می گردند و یا نفوذگر از طریق آن ها، می تواند از سیستم سوء استفاده کند.
به عنوان مثال در سیستم استریسک، باید ماژول pbx_spool را در صورتی که از آن استفاده نمی شود، غیر فعال کرد. این ماژول امکان شماره گیری لیستی از شماره تلفن ها را فراهم می کند که ابزاری بسیار مناسب برای نفوذگران می باشد.
– غیر فعال کردن و یا تغییر در تنظیمات پیش فرض
علاوه بر این که توصیه می شود رمزهای عبور پیش فرض مورد استفاده قرار نگیرند، باید تنظیمات و تعاریف پیش فرض نیز تغییر کنند و یا غیر فعال شوند. چرا که اگر نفوذگر با ساختار سیستم شما آشنایی داشته باشد، از این مقادیر و تعاریف پیش فرض به راحتی به منظور رخنه به سیستم تلفنی بهره خواهد برد.
به عنوان مثال در سیستم استریسک، باید Context پیش فرض را غیر فعال کنید. به این صورت که معمولا داخل این Context عملی صورت نمی گیرد و کاملا خالی است.
– حذف برخی اطلاعات از بدنه پیام های ارسالی
پیام های مربوط به پروتکل های SIP در بدنه ی خود اطلاعاتی دارند که برخی از آن ها می تواند اطلاعات مورد نیاز نفوذگران را در اختیارشان قرار دهد؛ در نتیجه توصیه می گردد تا این اطلاعات با مقادیر بی اهمیت جایگزین گردند. در حالت کلی، باید از انتشار هر گونه اطلاعاتی که ساختار و توپولوژی شبکه VoIP را نمایان می کند، جلوگیری گردد که اصطلاحا گفته می شود باید Topology hiding صورت گیرد.
به عنوان مثال در بدنه پیام های پروتکل SIP فیلدی به نام “:Server” وجود دارد که در سیستم های تلفنی به صورت پیش فرض حاوی برند و مدل دستگاه و یا نرم افزار می باشد؛ و از این طریق نفوذگر تشخیص می دهد که با چه سیستمی و چه نسخه و یا چه مدلی مواجه است.
در سیستم های تلفنی مبتنی بر استریسک این فیلدها را می توانید در sip.conf مقدار دهی کنید:
useragent=NotAsterisk
sdpsession=NotAsterisk
– تعاریف مشخص برای ترافیک های ورودی و خروجی
در سیستم های تلفنی باید به ازای تماس های ورودی و خروجی رول های مشخصی تعریف می گردد و مسیر ورودی و خروجی به درستی از هم تفکیک گردد. به طوری که ترافیک های ورودی تنها در صورت نیاز و پس از تشخیص سیستم بتوانند به بخش خروجی دسترسی داشته باشند.
در برخی از موارد شناسایی شده، نفوذگر از طریق مسیر ورودی توانسته است به مسیر خروجی دست یابد و از منابع خروجی سیستم برای اهداف شوم خود استفاده نماید.
یکی دیگر از سیاست های مهم برای ترافیک خروجی، جلوگیری از برقراری تماس های بین المللی می باشد و در صورت نیاز تنها باید برای کاربران خاص این امکان فراهم گردد.
در سیستم های تلفنی مبتنی بر استریسک، می توان دو Context مجزا برای تماس های ورودی و خروجی تعریف کرد، به طوری که نفوذگر در صورت ورود به Context ورودی نتواند به Context خروجی دست یابد.
– رد درخواست های SIP دریافتی از منبع ناشناس
یکی از روش های مهم به منظور محافظت سیستم تلفنی در برابر حملات SIP Scan، عدم پذیرش درخواست های SIP با منبع ناشناس (Anonymous) می باشد.
برخی از بدافزارها با یافتن سیستم تلفنی شروع به ارسال درخواست های SIP به آن کرده و سعی می کنند با بررسی الگوهای مختلف، راه نفوذ به سیستم را بیابند. با رد این درخواست ها می توان از اینگونه حملات جلوگیری کرد.
علاوه بر این در سیستم های تلفنی نباید برای اشتباه بودن رمزعبور و یا عدم وجود نام کاربر، Response code های مختص به آن ها را ارسال کرد؛ این کار باعث می گردد تا نفوذگر با آگاهی بیشتری درخواست های خود را ارسال نماید. به عنوان مثال در صورتی که نفوذگر با یک نام کاربری و رمز عبور فرضی درخواست های خود را به سیستم ارسال نماید، در صورتی که سیستم Response code مربوط به عدم وجود کاربری را در پاسخ ارسال نماید، نفوذگر متوجه می شود که باید یک نام کاربری دیگر را امتحان کند. اما در صورتی که سیستم تلفنی تنها در پاسخ خود عدم صحت در اطلاعات مورد نیاز جهت احراز هویت را ارسال نماید، نفوذگر نمی داند نام کاربری اشتباه است و یا رمز عبور. این کار نفوذگر را به چالش خواهد کشید.
در سیستم های تلفنی مبتنی بر استریسک، می توانید تنظیمات فوق را در sip.conf، به صورت زیر انجام دهید:
allowguest=no
alwaysauthreject=yes
– محدود کردن آدرس های IP مجاز برای داخلی ها
یکی از ساده ترین روش هایی که می توان از رجیستر شدن کاربران به صورت غیرمجاز جلوگیری کرد، ایجاد محدودیت بر روی آدرس IP مجاز برای رجیستر شدن می باشد. به عبارت دیگر برای یک داخلی که از یک آدرس ایستا و یا رنج آدرس مشخصی استفاده می کند، نباید مجوز رجیستر شدن از روی اینترنت داده شود؛ و تنها به داخلی هایی که این امکان را نیاز دارند، مجوز داده شود تا از روی اینترنت رجیستر شوند.
در سیستم های مبتنی بر استریسک می توان به صورت زیر در تنظیمات هر داخلی این قابلیت را فعال کرد:
permit=<ipaddress>/<network mask>
deny=<ipaddress>/<network mask>
– تغییر پورت های پیش فرض
نفوذگران از ابزارهای مختلفی برای یافتن سیستم هدف استفاده می کنند که رایج ترین روش مورد استفاده در این ابزارها، اسکن پورت های پیش فرض پروتکل های VoIP همچون پورت 5060 برای پروتکل SIP می باشد. ابزار اسکن، هر سیستمی را که بر روی این پورت گوش می دهد را در اختیار نفوذگر قرار می دهد و پس از شناسایی سیستم هدف توسط نفوذگر، حمله صورت می پذیرد.
بر این اساس، ساده ترین راه برای در امان ماندن از ابزار های اسکن، تغییر پورت های پیش فرض سیستم با شماره های ناشناس می باشد. علاوه بر این می توان تنظیمات Port Forwarding را بر روی روتر اینترنت فعال کرد. به عبارت دیگر درخواست های ارسالی به یک پورت ناشناس بر روی روتر به سمت سیستم تلفنی با پورت پیش فرض فرستاده می شود.
آسیب پذیری سیستم های مرتبط با شبکه VoIP
علاوه بر این موارد که مختص به سیستم های تلفنی مبتنی بر IP می باشند، برخی آسیب پذیری های موجود در ساختار یک شبکه VoIP و یا حتی سرور میزبان سیستم تلفنی، امکان نفوذ به سیستم را فراهم می کند. در این بخش به برخی از این آسیب پذیری ها می پردازیم.
– فیلتر کردن ترافیک های ورودی
مهم ترین المان مورد نیاز برای شبکه های IP از جمله VoIP، فایروال ها می باشند. فایروال با فیلتر کردن ترافیک های ورودی / خروجی، آدرس های IP و پورت ها، و به صورت کلی با ایجاد یک مانع بر سر راه ترافیک های ورودی، مانع از بروز بسیاری از حملات می گردد.
در شبکه های بزرگ و حساس معمولا تجهیزات مستقل به عنوان فایروال شبکه، مورد استفاده قرار می گیرند این در صورتی است که در شبکه های کوچک به امکانات فایروال بر روی روترها بسنده می شود. بسیاری از سیستم های تلفنی دارای فایروال درونی می باشند که کمتر مورد استفاده قرار می گیرند و فایروال-روتر های شبکه جایگزین آن ها می گردند. به صورت کلی پیشنهاد می گردد که هر دو فایروال مورد استفاده قرار گیرند چرا که در فایروال سیستم های تلفنی، ترافیک های مرتبط به آن را بیشتر می توان تحت کنترل قرار داد.
فایروال-روترها قابلیت های زیر را برای شما فراهم می کند:
– NAT: یکی از قابلیت های مهم برای استفاده از سرویس های تلفنی در محیط خارجی می باشد و به شما این امکان را می دهد تا بدون اینکه سیستم تلفنی را در محیط اینترنت قرار دهید، به آن متصل شوید.
– Port forwarding
– VPN
– محدود کردن آدرس های مجاز ورودی
– محدود کردن پورت های مورد استفاده
– فیلترینگ پروتکل های انتقال (UDP/TCP)
مهم ترین نکته در خصوص فایروال های شبکه این است که به دلیل عدم توانایی در آنالیز بخش دیتای بسته ها، قادر به شناسایی پروتکل های VoIP نبوده و تنها بخش IP بسته های دریافتی را می توانند فیلتر کنند. این کاستی باعث می شود تا حملات مرتبط با پروتکل های VoIP در صورتی که در سرآیند IP آن ها محدودیت امنیتی وجود نداشته باشد، به شبکه وارد شوند.
در سیستم های تلفنی، استفاده از NAT، Port forwarding، تغییر پورت پیش فرض، جلوگیری از ورود ترافیک با منبع ناشناس، غیرفعال کردن Ping، محدود کردن پورت های مربوط به پروتکل RTP و اتصال کاربران راه دور از طریق VPN به سیستم، راه حل های مناسبی برای جلوگیری از نفوذ می باشند.
– محدود کردن دسترسی ها بر روی سرور میزبان
یکی از مشکلات امنیتی مهمی که در سرور میزبان سیستم تلفنی نادیده گرفته می شود، اعمال مجوزهای درست به کاربران و محدود کردن دسترسی ها می باشد. به عبارت ساده تر هرکسی تنها به هر چیزی که نیاز دارد، باید دسترسی داشته باشد.
فرض کنید بر روی سیستم تلفنی، سرویس FTP را راه اندازی کرده اید؛ در صورتی که مجوزها به درستی داده نشود، فایل های سیستم به راحتی در دسترس خواهند بود و نفوذگر می تواند بدافزار های مورد نیاز خود را بر روی سرور نصب کند. نکته ی مهم دیگر این است که امکان نصب نرم افزار بر روی سرور، تنها باید در اختیار مدیر سیستم باشد و تنها از طریق مدیر سیستم بتوان در آن تغییر ایجاد کرد.
از دیگر آسیب پذیری های امنیتی سیستم های تلفنی مبتنی بر VoIP، نرمافزار های تحت وب مرتبط می باشد، چرا که عمدتا نفوذگران از طریق http راحت تر می توانند به سیستم نفوذ کنند. بنابراین توصیه می گردد که دسترسی به نرم افزارهای وب برای کاربران خارجی غیرفعال گردد و تنها از طریق VPN و یا tunneling SSH در دسترس قرار گیرند.
آسیب پذیری دیگر، فعال بودن کاربر root در سیستم می باشد. نفوذگران معمولا به دنبال یافتن رمزعبور کاربر root می باشند که با یافتن آن می توانند به راحتی سیستم را در اختیار بگیرند. بهترین راه حل برای رفع این رخنه، غیر فعال کردن کاربر root و ایجاد یک کاربر با نام کاربری متفاوت اما با دسترسی های مشابه root می باشد.
یکی دیگر از پروتکل هایی که در سرورهای تلفنی باید محدود شوند و یا امکان آن غیر فعال گردد، SSH می باشد. این پروتکل باید در فایروال و سیستم تلفنی محدود گردد و تنها به آدرس IP مشخص و کاربر مشخص مجوز آن داده شود. همچنین پیشنهاد می گردد که پورت پیش فرض آن از 22 به مقدار دیگر تغییر داده شود.
ارائه راه حل جامع امنیتی برای سیستم های تلفنی
با توجه به آسیب پذیری های امنیتی شناخته شده در سیستم های تلفنی VoIP، راهکارهای مختلفی برای افزایش امنیت این سیستم ها ارائه گردیده است؛ راهکارهایی که به صورت پراکنده برای رفع بخشی از این آسیب پذیری ها و افزایش امنیت بیش از پیش ارائه گردیده اند. ابزارهایی همچون Fail2ban، سیستم های تشخیص نفوذ (IDS/IPS) و بکارگیری پروتکل های امن، از جمله رایج ترین این راه حل هاست. اما همانطور که گفته شد، پراکندگی و عدم یکپارچگی این ابزارها و حتی پیچیدگی در پیاده سازی، خود می تواند آسیب پذیری های امنیتی دیگری را بر روی سیستم تلفنی ایجاد کند.
بر این اساس، یک راه حل امنیتی جامع و یکپارچه برای شبکه های VoIP با عنوان Session Border Controller یا SBC ارائه شده است. شرکت ساعیان ارتباط، پیشگام در زمینه ارائه سخت افزارها و تکنولوژی های مبتنی بر VoIP، این محصول را برای بالا بردن امنیت سیستم تلفنی شما عرضه می کند.
SBC چیست؟
SBC به زبان ساده، المانی است که منحصرا به شبکه های VoIP اختصاص دارد و این که هر مکالمه یا “Session” چگونه شروع می شود، چگونه ادامه می یابد و چگونه ختم می شود، را در لبه ی ورودی شبکه “Border”، کنترل میکند.
SBC هچون یک روتر، میان سرویس دهنده (یک سیستم تلفنی IP-PBX، یک سیستم UC و یا ITSP) و دریافت کنندگان سرویس (کاربران و یا سیستم های دیگر) قرار می گیرد و از این طریق تنها تماس های مجاز، میان دو شبکه ی مورد اعتماد (داخلی) و شبکه ی غیر قابل اعتماد (خارجی)، برقرار خواهند شد؛ از این طریق توپولوژی و معماری شبکه VoIP که در پشت این المان قرار گرفته اند، از دید همگان مخفی خواهد ماند.
به صورت کلی SBC همچون فایروالی برای شبکه های ویپ (VoIP) می باشد که علاوه بر برقراری امنیت، مسیریابی و یکپارچه سازی را نیز در این شبکه ها فراهم می کند.
جایگاه قرارگیری SBC همچون فایروال های شبکه، لبه ی ورودی شبکه VoIP می باشد، که معماری رایج آن در شکل زیر نشان داده شده است.
SBC در مقابل فایروال
از آنجایی که مهم ترین علت بکارگیری SBC در شبکه های VoIP، امنیت می باشد، معمولا سوالاتی که مطرح می گردند، عبارتند:
– از اینکه تفاوت SBC و فایروال های شبکه چیست؟
– آیا با وجود یک فایروال در لبه ی شبکه IP، نیازی به المان دیگری همچون SBC می باشد؟
– آیا فایروال شبکه برای برقراری امنیت شبکه ی IP و VoIP کافی نیست؟
پاسخ این سوالات ارتباط تنگاتنگی با شناخت از شبکه ی VoIP و آسیب پذیری این شبکه دارد. در ادامه با بررسی قابلیت ها و امکاناتی که یک SBC فراهم می کند، به این سوالات پاسخ داده خواهد شد.
SBC برای امنیت
مهم ترین وظیفه ی یک SBC در شبکه VoIP، ایجاد یک لایه ی امنیتی و حفظ سیستم تلفنی از سوء استفاده توسط هکرها و کلاه برداران تلفنی می باشد. این المان کنترل سیگنالینگ و مدیا را که جهت برقراری یک مکالمه الزامیست، بر عهده دارد. به عبارت دیگر SBC یک B2BUA یا Back to Back User Agents می باشد؛ درخواست های رسیده در لبه ی بیرونی را دریافت کرده و برای آن ها، یک درخواست جدید در طرف مقابل ایجاد می کند.
این قابلیت، به SBC اجازه می دهد تا کلیه ارتباطات VoIP را کنترل و آنالیز کرده و سیاست های امنیتی را به صورت پویا اعمال کند.
پنهان سازی توپولوژی (Topology Hiding)
عبور هر پیام مربوط به پروتکل سیگنالینگ SIP، از المان های مختلف شبکه VoIP، باعث می شود تا فیلدی با عنوان “Via” به آن پیام اضافه گردد. در این صورت، هر پیام در هنگام خروج از شبکه، دارای مجموعه ای از این فیلدهاست که مسیر طی شده توسط آن پیام را نشان می دهد. این اطلاعات می تواند توپولوژی و ساختار شبکه VoIP را در اختیار نفوذگران قرار دهد. SBC با استفاده از قابلیت B2BUA، این فیلدها را حذف کرده و فقط یک فیلد “Via” که آدرس خودش را در آن قرار می دهد، درخواست های رسیده را به طرف دیگر منتقل می کند؛ و در نتیجه توپولوژی شبکه VoIP داخلی برای محیط بیرونی، مخفی می ماند.
NAT Traversal
یکی از مهمترین دلایلی که باعث می شود تا سیستم های تلفنی به صورت مستقیم در شبکه اینترنت قرار داده شوند و از این طریق مورد حمله قرار گیرند، مشکلات مربوط به NAT Traversal می باشد؛ که از قابلیت های SBC، رفع این مشکلات می باشد. در فایروال های شبکه به دلیل آن که از بدنه پیام های پروتکل SIP، شناختی وجود ندارد، تنها فرایند NAT در سرآیند IP بسته های مربوط به ترافیک VoIP، صورت می گیرد و تغییری در بدنه پیام SIP و یا SDP مربوطه، انجام نمی شود. به همین دلیل در بسیاری از موارد حتی با انجام برخی تنظیمات NAT در سیستم تلفنی، در صورتی که مکالمات برقرار شوند، بدون صدا خواهند بود و یا انتقال صدا تنها از یک سمت صورت می پذیرد. SBC با قرار گرفتن در لبه ی شبکه و آنالیز ترافیک ها، می تواند NAT را تشخیص دهد؛ و با باز نگه داشتن پورت های مورد نیاز بر روی فایروال و اصلاح آدرس های IP در بدنه و سرآیند پیام، مشکل NAT را رفع کند.
تشخیص و جلوگیری از نفوذ
یکی دیگر از تفاوت های مهم SBC و فایروال، امکان تشخیص حملات و جلوگیری از بروز آن ها می باشد. SBC این قابلیت را دارد که الگوی درخواست های ارسالی را شناسایی کند و مانع از انتقال ترافیک غیر عادی به داخل و یا خارج شبکه گردد. با استفاده از این مکانیزم تشخیص، SBC این قابلیت را دارد تا حملات DoS/DDoS، اسکن SIP Registration و حتی حملات Fuzzing همچون SIP Malformed Packet (ارسال پیام هایی که ساختار درستی ندارند)، را نیز تشخیص دهد و منبع ارسال کننده را مسدود کند.
یکی دیگر از نگرانی های امنیتی درحال حاضر، در ارتباط با BYOD می باشد. بسیاری از کاربران با تجهیزات شخصی خود، به شبکه محل کار متصل می گردند و ممکن است اپلیکیشن خاصی را نصب کنند، در حالی که این اپلیکیشن، یک بدافزار بوده و قصد سوء استفاده از بستر ارتباطی را دارد. SBC از طریق مکانیزم های تشخیص، می تواند این دسته از ترافیک ها را نیز شناسایی کرده و مسدود نماید.
پروتکل های امن
همانطور که قبلا نیز به آن اشاره شد، یکی از روش های امن سازی ارتباطات تلفنی بر روی بسترهای عمومی همچون اینترنت، بکارگیری پروتکل های امن همچون پروتکل TLS به منظور امن سازی سیگنالینگ و پروتکل SRTP به منظور محافظت از کانال های صوتی می باشد. SBC این امکان را فراهم می کند تا با استفاده از سخت افزار مستقل، پردازش های مربوط به رمزنگاری ترافیک صورت پذیرد و از این طریق، بدون هیچ گونه خللی در توان پردازشی سیستم، به صورت کامل از ظرفیت آن بهره برد.
*قابلیت های اشاره شده، از جمله مهم ترین تفاوت های میان SBC و فایروال شبکه بوده و بر همین اساس نمی توان یک SBC را با یک فایروال شبکه جایگزین کرد. چه بسا که این دو المان در کنار هم می توانند سطح قابل توجهی از امنیت را برای شبکه VoIP، ایجاد کنند. از همین رو SBC دارای یک فایروال داخلی نیز میباشد.
SBC برای مسیریابی
به دلیل قرار گرفتن SBC در لبه ی شبکه VoIP، نیاز است تا پس از آنالیز ترافیک دریافتی و اعمال سیاست های امنیتی، ترافیک مجاز به سمت مقصد مورد نظر، مسیریابی گردد. قابلیت مسیریابی تماس ها به سمت داخلی ها، سیستم تلفنی، ترانک ها و … به صورت پیشرفته، بر اساس پارامترهای مختلف، از دیگر قابلیت هایی است که SBC فراهم می کند.
قابلیت بکارگیری پارامترهای مختلف که از دیتابیس استخراج می گردند، و پارامترهای پروتکل SS7 که در پیام های SIP بسته بندی شده اند، از دیگر قابلیت هایی است که در مسیریابی تماسها می توان از آن بهره برد. نمونه ای ساده از مسیریابی تماس ها در زیر نشان داده شده است.
ایجاد تعادل در مسیریابی تماس ها و مسیریابی کمترین هزینه بر اساس پارامترهای تعریف شده نیز از دیگر امکانات پیشرفته مسیریابی در SBC می باشد. با استفاده از این امکانات می توان میان ترافیک انتقالی بر روی ترانک ها، تعادل ایجاد کرد و یا مکالمات را از کوتاه ترین و کم هزینه ترین مسیر به سمت مقصد هدایت کرد.
SBC برای یکپارچه سازی
گسترش سیستم های تلفنی و بهره مندی از تکنولوژی های مختلف در ارتباطات، باعث شده است تا یکپارچه سازی این راه حل ها، از مهم ترین نیازمندی های هر سازمان تلقی گردد. بسیاری از سازمان ها، سیستم تلفنی IP-PBX را به همراه تجهیزات آنالوگ و یا دیجیتال VoIP برای ارتباط با شبکه مخابرات، مورد استفاده قرار می دهند؛ این در صورتی است که اگر نیاز به راه اندازی سیستم های UC همچون ماکروسافت Lync پدید آید، یکپارچه کردن این راه حل ها، به دلایل گوناگون همچون ناسازگاری پروتکل های انتقال و یا کدک ها، پیچیده خواهد بود.
یکی دیگر از قابلیت هایی که SBC فراهم می کند، یکپارچه کردن کلیه سیستم های مرتبط به شبکه VoIP می باشد. از طریق این المان در شبکه VoIP، می توان تجهیزات مختلف همچون گیت وی ها، IP-PBX و سیستم UC را به هم متصل کرده و یک سیستم واحد از دید کاربر، ایجاد کرد. به عبارت بهتر، SBC با قابلیت تعریف ترانک های مختلف، مسیریابی، پشتیبانی از پروتکل های مختلف انتقال همچون UDP ،TCP و TLS، و تبدیل کدک های متفاوت به هم، برقراری ارتباط میان تمامی اجزای شبکه VoIP را به بهترین نحو فراهم می کند.
ارتباط میان سیستم های تلفنی پراکنده در نقاط مختلف و یا دسترسی کاربران به صورت راه دور، یکی دیگر از نمونه های رایج یکپارچه سازی است. با قرار گرفتن SBC در نقطه ی مرکزی و یا در هر یک از نقاط ارتباطی، می توان یک سیستم تلفنی یکپارچه، امن و با سطح کیفیت بالا ایجاد کرد و از مزایای تکنولوژی VoIP به صورت کامل بهره برد. در شکل زیر، نمونه ای از نحوه ی برقراری ارتباط میان سیستم های تلفنی در نقاط مختلف و کاربران راه دور، نشان داده شده است.
SBC برای مانیتورینگ
کنترل ترافیک های ورودی و یا خروجی شبکه VoIP و مانیتورینگ لحظه ای و آنلاین آن ها، از جمله روش هایی است که به منظور برقراری امنیت در شبکه VoIP، بر آن تاکید می شود. متاسفانه بسیاری از سیستم های تلفنی این قابلیت را ندارند و برای مدیران سیستم دشوار است که Log های سیستم را به صورت مداوم چک کنند.
SBC به دلیل عملکرد در لایه های مختلف، این امکان را فراهم می کند تا به صورت آنلاین و در لحظه، بتوان ترافیک تلفنی جاری را مانیتور کرد. همچنین با فراهم کردن جزییات تماس (CDR) که قابلیت یکپارچه شدن با سرور Radius را نیز دارد، می توان تماس ها را به صورت دقیقتر مورد بررسی قرار داد.
از دیگر امکانات کنترلی که SBC فراهم می کند، گزارشات مربوط به RTCP می باشد. به عبارت دیگر، خروجی این پروتکل کنترلی توسط SBC ثبت شده و آمار مربوطه در اختیار مدیر سیستم قرار داده می شود که با استفاده از آن می توان کیفیت ترافیک را سنجید.
SBC کیفیت سرویس (QoS) را با امکان تعریف ToS و یا DSCP نیز فراهم می کند و از این طریق، مانیتورینگ کیفیت سرویس در سطح IP را در اختیار قرار می دهد. در شکل زیر نحوه ی اعمال QoS بر روی ترافیک شبکه، نشان داده شده است.
نتیجه گیری
با توسعه تکنولوژی VoIP و افزایش سوء استفاده از آسیب پذیری های آن، برقراری امنیت و جلوگیری از نفوذ به این شبکه ها، از موضوعات حساس برای کاربران آن می باشد. در سال های اخیر، اخبار گوناگونی از حملات صورت گرفته به سیستم های تلفنی کسب و کارها، شنیده می شود؛ این که نفوذگران قبض های تلفن میلیونی را برای آن ها به یادگار گذاشتهاند. در همین راستا، برای برقراری امنیت در شبکه های VoIP و جلوگیری از بروز آسیب های جبران ناپذیر، المانی با عنوان Session Border Controller یا SBC معرفی شده است.
SBC همچون فایروال شبکه های IP، در لبه ی شبکه VoIP قرار می گیرد و از این طریق کلیه ترافیک ورودی/خروجی را کنترل و آنالیز می کند. این المان، با اعمال مکانیزم های مختلف، حملات را تشخیص داده و مانع از بروز آن ها می شود. همانطور که در ابتدا اشاره شد، برای افزایش امنیت به میزان قابل توجه، علاوه بر روش های رایج، نیاز به تجهیزات خاصی می باشد که برای این منظور طراحی شده اند. SBC از جمله این تجهیزات می باشد، که برای این منظور ارائه گردیده است. با بکارگیری این المان و همچنین نکاتی که در بخش اول این مقاله ارائه گردید، می توان امنیت شبکه های VoIP را به میزان بسیار زیادی تامین کرد.