حماية النجمة من التوصيلات غير المصرح بها. حماية النجمة من القرصنة

الآن في كثير من الأحيان يتعين على المرء أن يتعامل مع أنواع مختلفة من الهجمات النجمةونظائرها. وضع خاطئوالجهل قواعد بسيطةيترتب عليها خسائر مالية للمنشأة التي تستخدم النجمة PBX.

في هذه المقالة ، سنلقي نظرة على آليات الأمان الأولية النجمة 13بعد التثبيت ولن يتم النظر في آليات أمان Linux. فيما يلي بعض القواعد التي ستساعد في الحفاظ على نظامك آمنًا:

1. كلمات المرور وتسجيلات الدخول المقاومة للقرصنة على جميع أجهزة الشبكة (النجمة ، هواتف IP ، بوابات VoIP).

كلمات المرور لحسابات SIP والمسؤولين ومديري النجمة و أجهزة الشبكةيجب أن يتكون من 13 حرفًا على الأقل (أحرف وأرقام ورموز خاصة وتغيير حالة الأحرف). لا تستخدم عمليات تسجيل الدخول في النظام مثل مسؤل, مدير, مديرإلخ.

2. تصحيح تكوين SIP في النجمة - sip.conf.

للحماية من الماسحات الضوئية ، يجب عليك تغيير منفذ SIP القياسي ، وتعطيل مكالمات الضيوف والتسجيلات ، ومجموعات التداخل ، والاشتراك في معلومات حالة القناة ، وما إلى ذلك. وصف كاملحدود العامة sip.confالموصوفة في المقالة. يوجد أدناه sip.conf الذي قمت بتكوينه لخادم النجمة مع التعليقات:
السياق = افتراضي ؛ تعيين سياق غير مستخدم للمكالمات الصادرة افتراضيًا allowguest = لا ؛ عدم السماح بالضيف (بدون مصادقة) اتصالات match_auth_username = لا ؛ عدم السماح باستخدام حقل "اسم المستخدم" بدلاً من "من" allowoverlap = لا ؛ تعطيل رقم واحد الاتصال ؛ allowtransfer = لا ؛ تعطيل استخدام مجال إعادة التوجيه = CUCM11.5 (1) SU3 ؛ استخدم منطقتنا اسم النطاق server (إخفاء النجمة) ؛ domainsasrealm = لا ؛ Recordonfeature = automixmon bindport = 9050 ؛ تغيير منفذ إشارة SIP udpbindaddr = 0.0.0.0 ؛ عنوان UDP الافتراضي tcpenable = نعم ؛ تمكين دعم TCP (ربما لديك Avaya) tcpbindaddr = 0.0 .0.0 ؛ افتراضي عنوان TCP ؛ tlsenable = لا ؛ tlsbindaddr = 0.0.0.0 ؛ tcpauthtimeout = 30 ؛ tcpauthlimit = 100 ؛ websocket_enabled = true ؛ websocket_write_timeout = 100 نقل = udp ؛ النقل الافتراضي srvlookup = نعم ؛ أسماء DNS ؛ المتحذلق = نعم ؛ tos_sip = cs_audio ؛ tos_audio = ef؛ tos_video = af41؛ tos_text = af41؛ cos_sip = 3؛ cos_audio = 5؛ cos_video = 4؛ cos_text = 3؛ maxexpiry = 3600؛ minexpiry = 60؛ default expiry = 120؛ subaxexpiry = 3600؛ minexpiry = 60؛ mwiexpiry = ؛ maxforwards = 70 Qualifyfreq = 60 ؛ تعيين فحص توفر المضيف على 60 ثانية ؛ Qualifygap = 100 ؛ Qualifypeers = 1 ؛ Keepalive = 60 ؛ notifymimetype = text / simple ؛ buggymwi = لا ؛ mwi_from = علامة النجمة ؛ vmexten = البريد الصوتي ؛ favour_codec_only = نعم عدم السماح = الكل ؛ تعطيل كافة برامج الترميز تسمح = أ law؛ Allow Alaw allow = ulaw؛ Allow Ulaw؛ autoframing = نعم؛ mohinterpret = افتراضي؛ mohsuggest = افتراضي؛ parkinglot = plaza language = ru؛ اجعل اللغة الروسية في النظام افتراضيًا tonezone = ru ؛ حدد نغمة عالمية في Ru Relaxdtmf = نعم ؛ تمكين التعرف على إشارات DTMF التي تم التعرف عليها بشكل سيئ ؛ trustrpid = لا ؛ sendrpid = نعم rpid_update = نعم ؛ إخطار فوري للخادم المعاكس بشأن تغييرات حالة الخط ؛ trust_id_outbound = لا ؛ prematuremedia = لا ؛ progressinband = no callerid = CUCM11.5 (1) SU3 ؛ إذا لم يكن لدينا CallerID تم تعيينه في مكان ما - فنحن نجعله وكيل مستخدم رمزي = Cisco-SIPGateway / IOS-12.x ؛ وبصفتنا PBX لدينا Cisco-SIPGateway ؛ promiscredir = no ؛ usereqphone = no dtmfmode = rfc2833 ؛ اضبط الزر اضغط على نغمة على الهاتف ؛ Compactheaders = نعم دعم الفيديو = نعم ؛ تمكين دعم مكالمات الفيديو ؛ textsupport = لا maxcallbitrate = 2048 ؛ الحد الأقصى لمعدل البت لمكالمات الفيديو ، فشل المصادقة = نعم ؛ عيّن حالة النظير إذا لم يتمكن من تسجيل الدخول = رفض دائمًا eject = yes ؛ إذا تم رفض طلب المصادقة ، فلن يقول الرد أنه تم إدخال المستخدم بشكل غير صحيح ، حماية تعداد اسم المستخدم auth_options_requests = نعم ؛ نحن نطلب التفويض عند إرسال OPTION و INVITE ؛ Accept_outofcall_message = لا ؛ outofcall_message_context = messages auth_message_requests = نعم ؛ تمكين مصادقة طلب MESSAGE ؛ g726nonstandard = نعم ؛ outboundproxy = proxy.provider.domain: 8080 ؛ supportpath = نعم ؛ rtsavepath = نعم ؛ matchexternaddrlocally = نعم ؛ dynamic_exclude_static = نعم ؛ contactdeny = 0. 0.0.0 / 0.0.0.0 ؛ contactpermit = 172.16.0.0 / 255.255.0.0 ؛ contactacl = named_acl_example ؛ rtp_engine = asterisk ؛ regcontext = sipregistrations regextenonqualify = نعم ؛ إذا تم تمكين الجودة لنظير وانقطعت ، * يقتل هذا الامتداد من regcontext ؛ legacy_useroption_parsing = نعم ؛ send_diversion = لا ؛ shrinkcallerid = نعم ؛ use_q850_reason = لا ؛ إحالة_addheaders = نعم autocreatepeer = لا ؛ تعطيل تسجيل UAC بدون مصادقة t1min = 200 ؛ الحد الأدنى من التأخير للرسائل من وإلى المضيف ؛ timert1 = 500 ؛ timerb = 32000 rtptimeout = 600 ؛ قم بإلغاء المكالمة إذا لم يكن هناك نشاط دفق وسائط RTP بعد 600 ثانية rtpholdtimeout = 300 ؛ قم بإلغاء المكالمة إذا لم يكن هناك نشاط دفق وسائط RTP في وضع Hold بعد 300 ثانية ؛ rtpkeepalive = ؛ مؤقت الجلسة = إنشاء ؛ session-expires = 600؛ session-minse = 90؛ session-refresher = uac؛ sipdebug = نعم؛ سجل التسجيل = نعم؛ dumphistory = نعم؛ allowubscribe = لا؛ Subscribecontext = افتراضي؛ notifyringing = no؛ notifyhold = نعم؛ notifycid = نعم callcounter = نعم ؛ تمكين العدادات للمكالمات t38pt_udptl = نعم ؛ تمكين دعم T.38 مع FEC error correction faxdetect = نعم ؛ تمكين CNG و T.38 اكتشاف nat = auto_force_rport، auto_comedia ؛ نجد نات تلقائيًا وبيانات الوسائط على المنفذ الذي استلمتها النجمة منه وليس ما تم استلامه في SDP ؛ media_address = 172.16.42.1 ؛ subscribe_network_change_event = نعم ؛ icesupport = نعم directmedia = لا ؛ حركة مرور RTP مباشرة بين الأقران ، وتجاوز العلامة النجمية ؛ directrtpsetup = نعم ؛ Directmediadeny = 0.0.0.0 / 0 ؛ Directmediapermit = 172.16.0.0 / 16 ؛ directmediaacl = acl_example ؛ ignoresdpversion = نعم sdpsession = SIP Call ؛ تغيير اسم جلسة SDP sdpowner = CiscoSystemsSIP-GW-UserAgent ؛ تغيير حقول المستخدم في سلسلة مالك SDP ؛ التشفير = لا ؛ encryption_taglen = 80 ؛ avpf = نعم ؛ force_avp = نعم ؛ rtcachefriends = نعم ؛ rtsavesysname = نعم ؛ rtupdate = نعم ؛ rtautoclear = نعم ؛ ignoreregexpire = نعم ؛ المجال = customer.com ، سياق العميل ؛ allowexternaldomains = لا ؛ allowexternaldomains = لا ؛ fromdomain = mydomain.tld ؛ snom_aoc_enabled = نعم jbenable = نعم ؛ تمكين الاستخدام عازلة RTP لتعويض التأخير ؛ jbforce = no jbmaxsize = 200 ؛ ضبط أكبر مقاسالمخزن المؤقت RTP 200 مللي ثانية ؛ jbresyncthreshold = 1000 ؛ jbimpl = ثابت ؛ jbtargetextra = 40 ؛ jblog = لا

3. نحن نستخدم منفذ IAX غير قياسي.

لهذا في الملف /etc/asterisk/iax.confفي قسم تغيير المعلمة منفذ الربط = 4569لكل معلمة منفذ الربط = 9069

4. يجب تشغيل علامة النجمة كمستخدم مختلف (وليس جذر). كيفية القيام بذلك مكتوب في المقالة.

5. تعيين عناوين IP أو الشبكات المسموح بها لملحقات SIP.

deny = 0.0.0.0 / 0.0.0.0 ؛ رفض تصريح كل شيء = 10.0.0.0 / 255.0.0.0 ؛ السماح بالتصريح المعروف = 172.20.0.0 / 255.255.0.0 ؛ السماح بالتصريح المعروف = 192.168.0.0 / 16 ؛ السماح المعروف

6. تعيين حد المكالمات المتزامنة.

Call-Limit = 2 ؛ اضبط القيمة على 2 حتى يتمكن المستخدم من إجراء التحويل

7. قم بإعداد قواعد توجيه مختلفة للخارج لكل مستخدم.

من الضروري إزالة جميع المسارات المستخدمة افتراضيًا وتعيين المسار الخاص بك مع تمييز السياقات:

  • المجموعات المحلية
  • المكالمات المحلية
  • مكالمات المنطقة
  • مكالمات بعيدة المدى
  • مكالمات دولية
يمكن الحصول على قائمة كاملة برموز ABC و DEF من المورد الرسمي لـ Rossvyaz.
للطريق الافتراضي تفعل exten => _X.، 1، Hangup ()

8. استخدم IPtables

9. استخدم Fail2Ban

10. نعرض جميع أجهزة الهاتف في شبكة VLAN صوتية منفصلة. هنا من الضروري إجهاد المسوقين الشبكيين.

11. نولي اهتماما خاصا للاتجاه الدولي 8-10.

نضع فقط الاتجاهات المستخدمة في المنظمة ونضيفها (توسيع) حسب الضرورة. نقوم أيضًا بإرسال إشعار بالبريد الإلكتروني إذا استخدم مستخدم أو مهاجم وجهة دولية غير معروفة ووضع حدًا لكل اتصال وعلى عدد المكالمات المتزامن. تم وصف الحل الجاهز لحماية الاتجاه 8-10 في المقالة.

12. تعطيل القنوات والخدمات غير المستخدمة.

على سبيل المثال ، إذا كنت لا تستخدم البروتوكول MGCPأو نحيف، قم بتعطيل هذه الوحدات في الملف /etc/asterisk/modules.conf:
noload => pbx_gtkconsole.so noload => chan_alsa.so noload => chan_console.so noload => res_ari.so noload => chan_dahdi.so noload => codec_dahdi.so noload => res_ari_device_states.so noload => > res_ari_channels.so noload => res_ari_events.so noload => res_ari_playbacks.so noload => res_ari_endpoints.so noload => res_ari_recordings.so noload => res_ari_bridges.so noload => res_ari_asterisk.so noloads => res_ari_asterisk. .so noload => cdr_mysql.so noload => res_phoneprov.so noload => cdr_odbc.so noload => cdr_pgsql.so ؛ ======================== = ==== ؛ PBX - noload => pbx_ael.so ؛ القنوات - noload => chan_mgcp.so noload => chan_skinny.so noload => chan_unistim.so noload => chan_pjsip.so noload => chan_modem.so noload => chan_modem_aopen.so noload => chan_modem_bestdata. لذلك noload => chan_alsa.so noload => chan_oss.so ؛ برامج الترميز - noload => codec_lpc10.so ؛ التنسيقات - noload => format_au.so noload => format_gsm.so noload => format_h263.so noload => format_ilbc.so noload => format_jpeg.so؛ التطبيقات - noload => app_image.so noload => app_zapateller.so noload => app_zapbarge.so noload => app_zapscan.so noload => res_config_ldap.so

13. تقييد الوصول عن بعد إلى IP-PBX باستخدام جدار الحماية.

إذا كنت تخطط لتقديم الوصول عن بعدللموظفين المعتمدين ، من الأفضل تنظيمها عندما مساعدة VPNالخادم (على سبيل المثال ، Open VPN).

الآن في كثير من الأحيان يتعين على المرء أن يتعامل مع أنواع مختلفة من الهجمات على النجمة ومثيلاتها. يؤدي التكوين غير الصحيح والجهل بالقواعد البسيطة إلى خسائر مالية للمؤسسة التي تستخدم Asterisk PBX.

في هذه المقالة ، سنلقي نظرة على آليات الأمان الأولية لـ Asterisk 13 بعد التثبيت ولن تغطي آليات أمان Linux. فيما يلي بعض القواعد التي ستساعد في الحفاظ على نظامك آمنًا:

1. كلمات المرور وتسجيلات الدخول المقاومة للقرصنة على جميع أجهزة الشبكة (النجمة ، هواتف IP ، بوابات VoIP).

يجب أن تحتوي كلمات المرور لحسابات SIP والمسؤولين ومديري النجمة وعلى أجهزة الشبكة على 13 حرفًا على الأقل (أحرف وأرقام وأحرف خاصة وتغيير حالة الأحرف). لا تستخدم عمليات تسجيل الدخول في النظام مثل المسؤول أو المسؤول أو المدير وما إلى ذلك.

2. تصحيح تكوين SIP في النجمة - sip.conf.

للحماية من الماسحات الضوئية ، يجب عليك تغيير منفذ SIP القياسي ، وتعطيل مكالمات الضيوف والتسجيلات ، ومجموعات التداخل ، والاشتراك في معلومات حالة القناة ، وما إلى ذلك. وصف كامل لمعلمات sip.conf العامة موصوفة في المقالة. يوجد أدناه sip.conf الذي قمت بتكوينه لخادم النجمة مع التعليقات:

السياق = افتراضي ؛ تعيين سياق غير مستخدم للمكالمات الصادرة افتراضيًا allowguest = لا ؛ عدم السماح بالضيف (بدون مصادقة) اتصالات match_auth_username = لا ؛ عدم السماح باستخدام حقل "اسم المستخدم" بدلاً من "من" allowoverlap = لا ؛ تعطيل رقم واحد الطلب ؛ allowtransfer = لا ؛ منع استخدام مجال إعادة التوجيه = CUCM11.5 (1) SU3 ؛ استخدم اسم مجال الخادم الخاص بك (إخفاء النجمة) ؛ domainsasrealm = no ؛ recordonfeature = automixmon bindport = 9050 ؛ تغيير منفذ SIP للإشارة udpbindaddr = 0.0 .0.0 ؛ عنوان UDP بواسطة -default tcpenable = نعم ؛ تمكين دعم TCP (ربما لديك Avaya) tcpbindaddr = 0.0.0.0 ؛ عنوان TCP الافتراضي ؛ tlsenable = لا ؛ tlsbindaddr = 0.0.0.0 ؛ tcpauthtimeout = 30 ؛ tcpauthlimit = 100 ؛ websocket_enabled = صحيح ؛ websocket_write_timeout = 100 نقل = udp ؛ النقل الافتراضي srvlookup = نعم ؛ السماح بمكالمات DNS ؛ المتحذلق = نعم ؛ tos_sip = cs3 ؛ tos_audio = ef ؛ tos_video = af41 ؛ tos_text = af41 ؛ cos_sip = 3 ؛ cos_audio = 5 ؛ cos_video = 3 4 ؛ شارك s_text = 3 ؛ maxexpiry = 3600 ؛ minexpiry = 60 ؛ default expiry = 120 ؛ subaxexpiry = 3600 ؛ subminexpiry = 60 ؛ mwiexpiry = 3600 ؛ maxforwards = 70 مؤهل = 60 ؛ تعيين فحص توفر المضيف على 60 ثانية ؛ فجوة مؤهلة = 100 ؛ نوع مؤهل = 1 ؛ keepalive = 60 ؛ notifymimetype = نص / عادي ؛ buggymwi = لا ؛ mwi_from = علامة نجمية ؛ vmexten = البريد الصوتي ؛ prefer_codec_only = نعم عدم السماح = الكل ؛ تعطيل جميع برامج الترميز allow = alaw ؛ السماح Alaw allow = ulaw ؛ السماح لـ Ulaw ؛ التأطير التلقائي = نعم ؛ mohinterpret = افتراضي ؛ mohsuggest = افتراضي ؛ parkinglot = plaza language = ru ؛ اجعل اللغة الروسية في النظام افتراضيًا tonezone = ru ؛ حدد منطقة النغمة العامة في Ru relaxdtmf = نعم ؛ تمكين التعرف على إشارات DTMF سيئة التعرف ؛ trustrpid = لا ؛ sendrpid = نعم rpid_update = نعم ؛ إخطار فوري للخادم المقابل بشأن تغييرات حالة الخط ؛ trust_id_outbound = لا ؛ prematuremedia = لا ؛ هو حرف useragent = Cisco -SIPGateway / IOS-12.x ؛ A في كا بصفتنا PBX ، لدينا Cisco-SIPGateway ؛ promiscredir = لا ؛ usereqphone = لا dtmfmode = rfc2833 ؛ اضبط نغمة الضغط على الأزرار الموجودة في مجموعة الهاتف ؛ Compactheaders = yes videosupport = نعم ؛ تمكين دعم مكالمات الفيديو ؛ textsupport = لا maxcallbitrate = 2048 ؛ الحد الأقصى لمعدل نقل بيانات مكالمات الفيديو authfailureevents = نعم ؛ قم بتعيين حالة النظير إذا لم يتمكن من تسجيل الدخول = رفض دائمًا authreject = نعم ؛ إذا تم رفض طلب المصادقة ، فلن يقول الرد أنه تم إدخال المستخدم بشكل غير صحيح ، حماية تعداد اسم المستخدم auth_options_requests = نعم ؛ طلب الإذن عند إرسال OPTION و INVITE ؛ Accept_outofcall_message = لا ؛ outofcall_message_context = messages auth_message_requests = نعم ؛ تمكين مصادقة الطلب MESSAGE ؛ g726nonstandard = نعم ؛ outboundproxy = proxy.provider.domain: 8080 ؛ rtspath = نعم = نعم ؛ dynamic_exclude_tactden = نعم = 0. 0.0.0 / 0.0.0.0 ؛ contactpermit = 172.16.0.0 / 255.255.0.0 ؛ contactacl = named_acl_example ؛ rtp_engine = asterisk ؛ regcontext = sipregistrations regextenonqualify = نعم ؛ إذا تم تمكين الجودة لنظير وانقطعت ، * يقتل هذا الامتداد من regcontext ؛ legacy_useroption_parsing = نعم ؛ send_diversion = لا ؛ shrinkcallerid = نعم ؛ use_q850_reason = لا ؛ إحالة_addheaders = نعم autocreatepeer = لا ؛ تعطيل تسجيل UAC بدون مصادقة t1min = 200 ؛ الحد الأدنى من التأخير للرسائل من وإلى المضيف ؛ timert1 = 500 ؛ timerb = 32000 rtptimeout = 600 ؛ قم بإلغاء المكالمة إذا لم يكن هناك نشاط دفق وسائط RTP بعد 600 ثانية rtpholdtimeout = 300 ؛ قم بإلغاء المكالمة إذا لم يكن هناك نشاط دفق وسائط RTP في وضع Hold بعد 300 ثانية ؛ rtpkeepalive = ؛ مؤقت الجلسة = إنشاء ؛ session-expires = 600؛ session-minse = 90؛ session-refresher = uac؛ sipdebug = نعم؛ سجل التسجيل = نعم؛ dumphistory = نعم؛ allowubscribe = لا؛ Subscribecontext = افتراضي؛ notifyringing = no؛ notifyhold = نعم؛ notifycid = نعم callcounter = نعم ؛ تمكين العدادات للمكالمات t38pt_udptl = نعم ؛ تمكين دعم T.38 مع FEC error correction faxdetect = نعم ؛ تمكين CNG و T.38 اكتشاف nat = auto_force_rport، auto_comedia ؛ نجد نات تلقائيًا وبيانات الوسائط على المنفذ الذي استلمتها النجمة منه وليس ما تم استلامه في SDP ؛ media_address = 172.16.42.1 ؛ subscribe_network_change_event = نعم ؛ icesupport = نعم directmedia = لا ؛ حركة مرور RTP مباشرة بين الأقران ، وتجاوز العلامة النجمية ؛ directrtpsetup = نعم ؛ Directmediadeny = 0.0.0.0 / 0 ؛ Directmediapermit = 172.16.0.0 / 16 ؛ directmediaacl = acl_example ؛ ignoresdpversion = نعم sdpsession = SIP Call ؛ تغيير اسم جلسة SDP sdpowner = CiscoSystemsSIP-GW-UserAgent ؛ تغيير حقول المستخدم في سلسلة مالك SDP ؛ التشفير = لا ؛ encryption_taglen = 80 ؛ avpf = نعم ؛ force_avp = نعم ؛ rtcachefriends = نعم ؛ rtsavesysname = نعم ؛ rtupdate = نعم ؛ rtautoclear = نعم ؛ ignoreregexpire = نعم ؛ المجال = customer.com ، سياق العميل ؛ allowexternaldomains = لا ؛ allowexternaldomains = لا ؛ fromdomain = mydomain.tld ؛ snom_aoc_enabled = نعم jbenable = نعم ؛ تمكين الاستخدام jbforce = no jbmaxsize = 200 ؛ اضبط الحد الأقصى لحجم المخزن المؤقت RTP على 200 مللي ثانية ؛ jbresyncthreshold = 1000 ؛ jbimpl = ثابت ؛ jbtargetextra = 40 ؛ jblog = لا

3. نحن نستخدم منفذ IAX غير قياسي.

لهذا في الملف /etc/asterisk/iax.confفي قسم تغيير المعلمة منفذ الربط = 4569لكل معلمة منفذ الربط = 9069

4. يجب تشغيل علامة النجمة كمستخدم مختلف (وليس جذر). كيفية القيام بذلك مكتوب في.

5. تعيين عناوين IP أو الشبكات المسموح بها لملحقات SIP.

deny = 0.0.0.0 / 0.0.0.0 ؛ رفض تصريح كل شيء = 10.0.0.0 / 255.0.0.0 ؛ السماح بالتصريح المعروف = 172.20.0.0 / 255.255.0.0 ؛ السماح بالتصريح المعروف = 192.168.0.0 / 16 ؛ السماح المعروف

6. تعيين حد المكالمات المتزامنة.

Call-Limit = 2 ؛ اضبط القيمة على 2 حتى يتمكن المستخدم من إجراء التحويل

7. قم بإعداد قواعد توجيه مختلفة للخارج لكل مستخدم.

من الضروري إزالة جميع المسارات المستخدمة افتراضيًا وتعيين المسار الخاص بك مع تمييز السياقات:

  • المجموعات المحلية
  • المكالمات المحلية
  • مكالمات المنطقة
  • مكالمات بعيدة المدى
  • مكالمات دولية

يمكن الحصول على قائمة كاملة برموز ABC و DEF من المورد الرسمي لـ Rossvyaz.
للطريق الافتراضي تفعل

Exten => _X.، 1، Hangup ()

8.

9.

10. نعرض جميع أجهزة الهاتف في شبكة VLAN صوتية منفصلة. هنا من الضروري إجهاد المسوقين الشبكيين.

11. نولي اهتماما خاصا للاتجاه الدولي 8-10.

نضع فقط الاتجاهات المستخدمة في المنظمة ونضيفها (توسيع) حسب الضرورة. نقوم أيضًا بإرسال إشعار بالبريد الإلكتروني إذا استخدم مستخدم أو مهاجم وجهة دولية غير معروفة ووضع حدًا لكل اتصال وعلى عدد المكالمات المتزامن. تم وصف الحل الجاهز لحماية الاتجاه 8-10 في المقالة.

12. تعطيل القنوات والخدمات غير المستخدمة.

على سبيل المثال ، إذا كنت لا تستخدم بروتوكول MGCP أو Skinny ، فقم بتعطيل هذه الوحدات النمطية في الملف /etc/asterisk/modules.conf:

noload => pbx_gtkconsole.so noload => chan_alsa.so noload => chan_console.so noload => res_ari.so noload => chan_dahdi.so noload => codec_dahdi.so noload => res_ari_device_states.so noload => > res_ari_channels.so noload => res_ari_events.so noload => res_ari_playbacks.so noload => res_ari_endpoints.so noload => res_ari_recordings.so noload => res_ari_bridges.so noload => res_ari_asterisk.so noloads => res_ari_asterisk. .so noload => cdr_mysql.so noload => res_phoneprov.so noload => cdr_odbc.so noload => cdr_pgsql.so ؛ ======================== = ==== ؛ PBX - noload => pbx_ael.so ؛ القنوات - noload => chan_mgcp.so noload => chan_skinny.so noload => chan_unistim.so noload => chan_pjsip.so noload => chan_modem.so noload => chan_modem_aopen.so noload => chan_modem_bestdata. لذلك noload => chan_alsa.so noload => chan_oss.so ؛ برامج الترميز - noload => codec_lpc10.so ؛ التنسيقات - noload => format_au.so noload => format_gsm.so noload => format_h263.so noload => format_ilbc.so noload => format_jpeg.so؛ التطبيقات - noload => app_image.so noload => app_zapateller.so noload => app_zapbarge.so noload => app_zapscan.so noload => res_config_ldap.so

13. تقييد الوصول عن بعد إلى IP-PBX باستخدام جدار الحماية.

إذا كنت تخطط لتوفير الوصول عن بُعد للموظفين المصرح لهم ، فمن الأفضل تنظيمه باستخدام خوادم VPN(مثل OpenVPN).

14. تعيين حقوق محدودة إلى الدلائل.

لا يمكن استخدام أي مواد في الموقع إلا بإذن المؤلف ومع الإشارة الإلزامية للمصدر.

في مقال اليوم ، سنتحدث عن كيفية حماية IP-PBX من الوصول غير المصرح به ونقدم بعض النصائح البسيطة ، والتي يمكنك بعدها زيادة أمان مقسم الهاتف بشكل كبير. تشير الأمثلة التي سيتم تقديمها في هذه المقالة إلى IP PBXs المستندة إلى النجمة ، ولكن العديد منها ينطبق على جميع VoIP PBXs دون استثناء.

بادئ ذي بدء ، دعنا نتعرف على "الثغرات" الأمنية التي تهدد وما هي العواقب التي تهدد الشركة إذا تمكن المهاجم من الوصول إلى IP PBX.

تهديد القرصنة

على عكس القرصنة كمبيوتر شخصيأو البريد ، اختراق PBX - هذه مكالمات مجانية للمتسلل ، يتعين على مالك PBX الدفع مقابلها. هناك العديد من الحالات التي أنفق فيها المتسللون مبالغ هائلة ، حيث أمضوا بضع ساعات فقط على PBX مخترق.

كقاعدة عامة ، IP-PBXs ، والتي يمكن الوصول إليها من شبكة عامة. باستخدام مختلف الماسحات الضوئية SIP وفحص نقاط الضعف في النظام ، يختارون أماكن للهجوم. يمكن أن تتسبب كلمات المرور الافتراضية ، وفتح منافذ SIP ، وجدار الحماية المفقود أو الذي تتم إدارته بشكل سيء ، في حدوث وصول غير مصرح به.

لحسن الحظ ، يمكن القضاء على جميع نقاط الضعف هذه مجانًا تمامًا.

خطوات بسيطة لتحسين الأمان

كما ترى ، حماية IP-PBX من التدخلات الخارجية ليست صعبة للغاية ، باتباع النصائح المقترحة ، يمكنك زيادة أمان وموثوقية النظام بشكل جدي.

يمكن أن تكون الاتصالات الهاتفية رخيصة
والوظيفية!

يوفر ITCUBE مجموعة واسعة من الخدمات لتثبيت وتكامل وتكوين المهاتفة عبر بروتوكول الإنترنت

يمكن أن تكون خدمات تكنولوجيا المعلومات ذات جودة عالية!

chmod 755 install_apf_bfd.sh

./install_apf_bfd.sh

تكوين APF موجود في /etc/apf/conf.apf

لبدء تحرير ملف ، استخدم الأمر التالي:

nano /etc/apf/conf.ap F

قمنا بتعيين IFACE_IN و IFACE_OUT لواجهة الشبكة المواجهة للإنترنت. لواجهة الشبكة تبحث في شبكه محليه، قم بتعيين IFACE_TRUSTED.

SET_TRIM = "0"

APF لديه القدرة على دعم جودة الخدمة. بالنسبة إلى SIP و IAX ، تحتاج إلى تعيين ما يلي:

شروط الخدمة _8="21,20,80,4569,5060,10000_20000"

إذا قمت بتغيير منفذ SSH ، فأنت بحاجة إلى تحرير ملف conf.apf لمطابقة هذا المنفذ الجديد.

HELPER_SSH_PORT = "2222"

تأكد من استبدال 2222 برقم المنفذ الصحيح الذي تختار إدارة SSH عليه.

يتم استخدام تصفية حركة المرور الواردة لفتح المنافذ للوصول ؛ TCP و UDP لهما إعدادات منفصلة. بالنسبة إلى Asterisk (Trixbox) ، يجب فتح المنافذ التالية ؛ ويتم سرد TCP و UDP. إذا كنت لا تستخدم TFTP ، فلا تفتح المنفذ 69. لا تنس تغيير منفذ SSH. خلاف ذلك ، لن تكون قادرًا على الوصول ؛ نحن هنا نستخدم المنفذ 2222 من مثالنا الأخير. لم نقم بتضمين منافذ IAX في هذا الإعداد. يأكل طريقة سهلةتأكد من أن مضيفين معينين فقط يمكنهم استخدام IAX ، والذي سنفتحه لاحقًا. يكون هذا مفيدًا إذا كنت تستخدم IAX لإحضار جذوع بين المكاتب غير مرئية للعالم الخارجي.

IG_TCP_CPORTS = "2222،69،80،5060،6600،10000_20000"
IG_UDP_CPORTS = "69،5060،10000_20000"

لا أستخدم التصفية الصادرة ، لذلك لم يتم تناولها في هذه المقالة. تم تعيينه على EGF = "0" ، معطل افتراضيًا.

لرؤية قائمة الخيارات سطر الأوامرتشغيل apf بدون أعلام.

#apf
apf (3402): سجل الحالة (glob) غير معثور عليه، مخلوق
الإصدار 9.6 من APF< This email address is being protected from spambots. You need JavaScript enabled to view it. >
حقوق النشر (C) 1999-2007 ، R-fx Networks< This email address is being protected from spambots. You need JavaScript enabled to view it. >
حقوق النشر (C) 2007 ، Ryan MacDonald< This email address is being protected from spambots. You need JavaScript enabled to view it. >
يمكن إعادة توزيع هذا البرنامج بحرية بموجب شروط GNU GPL
الاستخدام / البيرة / المحلية / sbin / apf
-s | - بدء ......................... تحميل كافة قواعد جدار الحماية
-r | - إعادة التشغيل ....................... إيقاف (تدفق) وإعادة تحميل قواعد جدار الحماية
-f | - إيقاف ........ ............. إيقاف (مسح) كافة قواعد جدار الحماية
-l | - قائمة ......................... قائمة بجميع قواعد جدار الحماية
-t | --الحالة ........................ سجل حالة جدار حماية الإخراج
-e | - تحديث ....................... تحديث وحل أسماء DNS في الثقة
قواعد
-a HOST CMT | - السماح بتعليق المضيف ... أضف مضيف (IP / FQDN) إلى
allow_hosts.rules وتحميل قاعدة جديدة على الفور في جدار الحماية
-d HOST CMT | - Deny HOST COMMENT .... إضافة مضيف (IP / FQDN) إلى
deny_hosts.rules وقم على الفور بتحميل قاعدة جديدة في جدار الحماية
-u | - إزالة HOST ................... إزالة المضيف من
* _hosts.rules وإزالة القاعدة فورًا من جدار الحماية
-o | --ovars ........................ إخراج جميع خيارات التكوين

لبدء APF نستخدم الأوامر التالية:

# apf -s
apf (3445): (glob) تفعيل جدار الحماية
apf (3489): (glob) محدد (IFACE_IN) يحتوي eth0 على العنوان 192.168.1.31
apf (3489): (glob) محدد (IFACE_OUT) يحتوي eth0 على العنوان 192.168.1.31
apf (3489): (glob) تحميل قواعد تمهيدية http://r-fx.ca/downloads/reserved http://feeds.dshield.org/top10-2.txt
http://www.spamhaus.org/drop/drop.lasso
apf (3489): تحليل drop.lasso إلى /etc/apf/sdrop_hosts.rules (sdrop)
apf (3489): (sdrop) تحميل sdrop_hosts.rules
apf (3489): (glob) تحميل منافذ الإسقاط المشتركة
... تم قصه لهذه الوثيقة .........
apf (3489): إسقاط الإدخال الافتراضي (glob)
apf (3445): تم تفعيل جدار الحماية (glob)
apf (3445): (glob) !! تمكين وضع التطوير !! - سوف يتدفق جدار الحماية
كل 5 دقائق.

يمكننا أن نرى أن APF قيد التشغيل ، ويقوم بتنزيل بعض القواعد من dshield.org و spamhaus.org. الآن دعنا نختبر تسجيل الدخول إلى خادم Asterisk (Trixbox) عبر SSH للتأكد من أنك قمت بتكوين كل شيء بشكل صحيح. إذا لم تتمكن من الاتصال ، يجب أن تنتظر 5 دقائق ثم يقوم APF بتحرير الكتلة. بمجرد أن تتأكد من أنه يمكنك دخول SSH ، يمكننا تغيير DEVEL_MODE = "1" إلى DEVEL_MODE = "0" في conf.apf وإعادة تشغيل APF. سيبدأ APF ولا يصدر تحذيرًا بأنه في DEVELOPMETN_MODE.

APF: ضبط إضافي

هذه ليست نهاية الإعداد إذا كنت تريد توصيل خوادم Asterisk (Trixbox) عبر IAX. للقيام بذلك ، ستحتاج إلى إضافة منافذ IAX إلى conf.apf. سيعمل هذا الخيار مع عناوين IP الثابتة أو DynDNS. يسمح الأمر apf -a بالوصول إلى عنوان IP محدد. سيسمح هذا للمضيف عالميًا بالاتصال بـ Asterisk (Trixbox) لتجاوز قواعد جدار الحماية.

apf -a 192.168.1.216

سيسمح ذلك للنظام 192.168.1.216 بالاتصال بأي منفذ على الخادم المحمي بجدار الحماية ، وبالتالي تجاوز قواعد جدار الحماية. إذا كنت تقوم بتشغيل APF على كل من Asterisk (Trixbox) ، فتأكد من القيام بنفس الشيء على المضيف الآخر باستخدام عنوان IP الصحيح.

APF يسمح أيضا مدير النظامحظر مضيف أو شبكة فرعية كاملة. يكون هذا مفيدًا إذا رأيت شخصًا يحاول الاتصال بجهازك عبر FTP و Telnet و SSH وما إلى ذلك. لحظر مضيف معين ، استخدم ما يلي: تأكد من استخدام عنوان IP الذي تريد حظره.

apf -d 192.168.1.216

لحظر شبكة فرعية كاملة (CIDR):

apf -d 202.86.128.0/24

APF لا يدعم QoS لحزم UDP. TCP فقط. هناك طريقة سهلة لإصلاح هذا. / etc / apf / internals له ملف function.apf. يجب علينا تحرير هذا الملف يدويًا. هناك عدة أماكن نحتاج فيها لإضافة سطر واحد. نحن نبحث عن قسم TOS_ في ملف jobs.apf. سيبدو مثل هذا:

لو[! "$ TOS_0" == ""] ؛ ثم
لأني في `صدى $ TOS_0 | tr "،" "" `؛ يفعل
أنا = `صدى $ i | tr "_" ":" `
$ IPT -t mangle -A PREROUTING -p tcp --sport $ i -j TOS --set-tos 0
$ IPT -t mangle -A PREROUTING -p udp --sport $ i -j TOS --set-tos 0
منتهي
فاي

يجب عمل هذا السطر الإضافي لجميع وحدات بت TOS التي تستخدمها.

BFD

يتم استخدام الكشف عن القوة الغاشمة (هجوم القاموس) لتعقب محاولات تسجيل الدخول غير المصرح بها.

يوجد ملف التكوين الخاص بـ BFD في / usr / local / bfd ويسمى conf.bfd. يحتوي هذا الملف ، مثل ملف APF ، على العديد من التعليقات. سنلقي نظرة فقط على بعض خيارات التخصيص.

متغير التكوين الأول الذي سننظر إليه هو TRIG ؛ هذا هو عدد المحاولات الفاشلة قبل حظر المهاجم. الافتراضي هو 15. ضع في اعتبارك أن هذا هو عدد المحاولات ليس من حساب واحد ، ولكن من عنوان IP واحد. لذلك ، إذا جاءت 15 محاولة تسجيل دخول غير ناجحة من عنوان IP واحد باستخدام حسابات مختلفة ، فسيظل مغلقًا.

BFD لديه ميزة لطيفة - إرسال رسائل البريد الإلكترونيعند الكشف عن القوة الغاشمة. لتمكين هذا الخيار ، اضبط EMAIL_ALERTS على 1 ؛ لا تنس تحديد العنوان الذي تريد تلقي الإشعارات إليه - EMAIL_ADRESS.

يتم تشغيل BFD بواسطة cron كل 3 دقائق ويقع في /etc/cron.d.

يمكنك الحصول على قائمة بعناوين IP المحظورة باستخدام الأمر:

لبدء BFD ، استخدم الأمر التالي:

bfd-s

ملخص

هذا يكمل مراجعة أمان النجمة (Trixbox).

تتناول هذه المقالة فقط المبادئ الأساسية لحماية النجمة (Trixbox). بطبيعة الحال ، لا يقتصر بناء أنظمة VoIP الآمنة على ذلك.

يمكن العثور على المقالة الأصلية على الرابط



تحميل...
قمة