Защита на звездичката от неразрешени връзки. Защита на Asterisk от хакване

В днешно време много често се сблъскваме с различни видове атаки срещу Звездичкаи аналози. Неправилна настройкаи невежество прости правилаводят до финансови загуби за предприятието, което използва PBX Asterisk.

В тази статия ще разгледаме първоначалните механизми за сигурност Звездичка 13след инсталирането и няма да вземе предвид механизмите за сигурност на Linux. По-долу ще опишем няколко правила, които ще ви помогнат да защитите вашата система:

1. Устойчиви на хакване пароли и влизания на всички мрежови устройства (Asterisk, IP телефони, VoIP шлюзове).

Пароли за SIP акаунти, администратори, мениджъри на Asterisk и мрежови устройстватрябва да се състои от най-малко 13 знака (букви, цифри, специални символи, промяна на регистъра). Не използвайте влизания в системата като напр администратор, администратор, мениджъри т.н.

2. Правилна SIP конфигурация в Asterisk - sip.conf.

За да се предпазите от скенери, трябва да промените стандартния SIP порт, да забраните повиквания и регистрации на гости, припокриване на набиране, абонамент за информация за състоянието на канала и т.н. Пълно описаниепараметри общ sip.confописани в статията. По-долу е sip.conf, който конфигурирах за сървъра на Asterisk с коментари:
context=default ;Присвояване на неизползван контекст за изходящи повиквания по подразбиране allowguest=no ;Забрана на връзките на гост (без удостоверяване) match_auth_username=no ;Забрана на използването на полето "потребителско име" вместо "от" allowoverlap=no ;Забрана на едноцифрено набиране;allowtransfer= не ;Забраняваме използването на пренасочване realm=CUCM11.5(1)SU3 ;Използваме собствени Име на домейн сървър (скриваме тази звездичка) ;domainsasrealm=no ;recordonfeature=automixmon bindport=9050 ;Промяна на SIP сигнализиращия порт udpbindaddr=0.0.0.0 ;UDP адрес по подразбиране tcpenable=yes ;Активиране на 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 transport=udp ;Транспорт по подразбиране srvlookup=yes ;Разрешаване на повиквания чрез DNS имена;pedantic= да ;tos_sip=cs3 ;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 ;defaultexpiry= 120 ;submaxexpiry=360 0 ; subminexpiry=60 ;mwiexpiry=3600 ;maxforwards=70 qualifyfreq=60 ;Настройте проверката за наличност на хоста на 60 секунди;qualifygap=100 ;qualifypeers=1 ;keepalive=60 ;notifymimetype=text/plain ;buggymwi=no ;mwi_from=asterisk ; vmexten=гласова поща ;preferred_codec_only=да disallow=all ;Забраняване на всички кодеци allow=alaw ;Разрешаване на Alaw allow=ulaw ;Разрешаване на Ulaw ;autoframing=да ;mohinterpret=по подразбиране ;mohsuggest=по подразбиране ;parkinglot=plaza language=ru ;Направете руски език в системата по подразбиране tonezone=ru ;Определяне на глобалната тонална зона в Ru relaxdtmf=yes ;Активиране на разпознаване на лошо разпознати DTMF сигнали;trustrpid = не ;sendrpid = да rpid_update=yes ;Незабавно уведомяване на идващия сървър за промени в състоянието на линията; trust_id_outbound = no ;prematuremedia=no ;progressinband=no callerid=CUCM11.5(1)SU3 ;Ако някъде нямаме инсталиран CallerID, направете го символичен useragent=Cisco-SIPGateway/IOS-12.x ;И като PBX us Cisco-SIPGateway ;promiscredir = не ;usereqphone = не dtmfmode=rfc2833 ;Задаване на тона за натискане на бутони на телефона;compactheaders = да videosupport=да ;Активиране на поддръжка за видео разговори;textsupport=не maxcallbitrate=2048 ;Максимален битрейт на видео authfailureevents= yes ;Задайте състояние на Peer ако не може да влезе=rejected alwaysauthreject=yes ;Ако заявката за удостоверяване е била отхвърлена, тогава отговорът НЯМА да казва, че потребителят е въведен неправилно, защита за потребителски имена с груба форсировка auth_options_requests=yes ;Ние изискваме упълномощаване при изпращане на OPTION и INVITE ; accept_outofcall_message = не ;outofcall_message_context = съобщения auth_message_requests=yes ;Активиране на удостоверяване на заявка за MESSAGE ;g726nonstandard = да ;outboundproxy=proxy.provider.domain:8080 ;supportpath=yes ;rtsavepath=yes ;ma tchexternaddrлокално = да; динамично_изключване_статично = да ;отказ за контакт=0. 0.0.0/0.0.0.0 ;contactpermit=172.16.0.0/255.255.0.0 ;contactacl=named_acl_example ;rtp_engine=звездичка ;regcontext=sipregistrations regextenonqualify=yes ;Ако качеството е активирано за партньор и не успее, тогава * убива това разширение от regcontext ; legacy_useroption_parsing=да ;send_diversion=не ;shrinkcallerid=да ;use_q850_reason = не ;refer_addheaders=да autocreatepeer=не ;Деактивиране на регистрацията на UAC без удостоверяване t1min=200 ;Минимално забавяне за преминаване на съобщенията към хоста и обратно;timert1=500 ; timerb=32000 rtptimeout= 600 ;Прекъсване на повикването, ако няма активност на RTP медийни потоци след 600 секунди rtpholdtimeout=300 ;Прекратяване на повикването, ако няма активност на RTP медийни потоци в режим на задържане след 300 секунди;rtpkeepalive= ;session- timers=originate ;session-expires=600 ;session-minse=90 ;session-refresher=uac ;sipdebug = да ;recordhistory=да ;dumphistory=да ;allowsubscribe=не ;subscribecontext = подразбиране ;notifyringing = не ;notifyhold = да ; notifycid = да callcounter=да ;Активиране на брояча на повиквания t38pt_udptl=да ;Активиране на поддръжка за T.38 с FEC корекция на грешки faxdetect=да ;Активиране на откриване на CNG и T.38 nat=auto_force_rport,auto_comedia ;Намиране на Nat автоматично и медийни данни на портът, от който Asterisk го е получил, а не това, което е получил в SDP ;media_address = 172.16.42.1 ;subscribe_network_change_event = yes ;icesupport = yes directmedia=no ;Ние препращаме RTP трафик директно между партньори, заобикаляйки Asterisk ;directrtpsetup=yes ;directmediadeny=0.0 .0.0/0 ;directmediapermit=172.16.0.0/16 ;directmediaacl=acl_example ;ignoresdpversion=yes sdpsession=SIP повикване ;Промяна на името на SDP сесията sdpowner=CiscoSystemsSIP-GW-UserAgent ;Промяна на потребителските полета в низа на собственика на SDP ;шифроване =не ;encryption_taglen=80 ;avpf=да ;force_avp=да ;rtcachefriends=да ;rtsavesysname=да ;rtupdate =да ;rtautoclear=да ;ignoreregexpire=да ;domain=customer.com,customer-context ;allowexternaldomains=не ;allowexternaldomains =no ;fromdomain=mydomain.tld ;snom_aoc_enabled = yes jbenable=yes ;Активиране на използването на RTP буфера за компенсиране на забавянията; jbforce = не jbmaxsize=200 ;Set максимален размер RTP буфер 200 ms;jbresyncthreshold = 1000;jbimpl = фиксиран;jbtargetextra = 40;jblog = не

3. Използваме нестандартен IAX порт.

За да направите това във файла /etc/asterisk/iax.confв раздел променете параметъра bindport=4569на параметър bindport=9069

4. Asterisk трябва да се стартира като различен потребител (не root). Как да направите това е написано в статията.

5. Задайте разрешени IP адреси или мрежи за SIP разширения.

deny=0.0.0.0/0.0.0.0 ;Откажи всичко permit=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. Свързваме всички телефонни устройства към отделен Voice 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_applications.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 noload => res_ari_sounds.so noload => res_pjsip .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.so noload => chan_modem_i4l. so 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 чрез Firewall.

Ако планирате да предоставите отдалечен достъпза упълномощени служители е най-добре да го организирате на Помощ за VPNсървър (например Open VPN).

В наши дни много често трябва да се сблъскваме с различни видове атаки срещу Asterisk и аналози. Неправилната конфигурация и непознаването на прости правила водят до финансови загуби за предприятие, което използва PBX Asterisk.

В тази статия ще разгледаме първоначалните механизми за сигурност на Asterisk 13 след инсталирането и няма да обхващаме механизмите за сигурност на Linux. По-долу ще опишем няколко правила, които ще ви помогнат да защитите вашата система:

1. Устойчиви на хакване пароли и влизания на всички мрежови устройства (Asterisk, IP телефони, VoIP шлюзове).

Паролите за SIP акаунти, администратори, мениджъри на Asterisk и за мрежови устройства трябва да се състоят от най-малко 13 знака (букви, цифри, специални символи, промяна на регистъра). Не използвайте влизания в системата като администратор, администратор, мениджър и др.

2. Правилна SIP конфигурация в Asterisk – sip.conf.

За да се предпазите от скенери, трябва да промените стандартния SIP порт, да забраните повиквания и регистрации на гости, припокриване на набиране, абонамент за информация за състоянието на канала и т.н. Пълно описание на общите параметри на sip.conf е описано в статията. По-долу е sip.conf, който конфигурирах за сървъра на Asterisk с коментари:

Context=default ;Присвояване на неизползван контекст за изходящи повиквания по подразбиране allowguest=no ;Забрана на връзките на гост (без удостоверяване) match_auth_username=no ;Забрана на използването на полето "username" вместо "from" allowoverlap=no ;Забрана на едноцифрено dialing;allowtransfer= no ;Ние забраняваме използването на пренасочване realm=CUCM11.5(1)SU3 ;Ние използваме името на домейна на нашия сървър (скриваме тази звездичка) ;domainsasrealm=no ;recordonfeature=automixmon bindport=9050 ;Промяна на SIP сигнализирането порт udpbindaddr=0.0.0.0 ;UDP адрес по -по подразбиране tcpenable=yes ;Активиране на TCP поддръжка (в случай, че имате Avaya) tcpbindaddr=0.0.0.0 ;TCP адрес по подразбиране;tlsenable=no ;tlsbindaddr=0.0.0.0 ;tcpauthtimeout = 30 ; tcpauthlimit = 100 ;websocket_enabled = true ; websocket_write_timeout = 100 transport=udp ;транспорт по подразбиране srvlookup=yes ;Разрешаване на повиквания към DNS имена;pedantic=yes ;tos_sip=cs3 ;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 ;defaultexpiry=120 ;submaxexpiry=3600 ;subminexpiry=60 ;mwiexpiry=3600 ;maxforwards=70 qualifyfreq=60 ;Задаване на проверка на наличността на хоста към 60 секунди;qualifygap= 100 ;qualifypeers=1 ;keepalive=60 ;notifymimetype=text/plain ;buggymwi=no ;mwi_from=asterisk ;vmexten=гласова поща ;preferred_codec_only=yes disallow=all ;Disallow all codecs allow=alaw ;Allow Alaw enable =ulaw ;Разрешаване на Ulaw ;autoframing=yes ;mohinterpret=default ;mohsuggest=default ;parkinglot=plaza language=ru ;Направете руски език по подразбиране в системата tonezone=ru ;Определяне на глобалната tonezone в Ru relaxdtmf=yes ;Активиране на разпознаването на лошо разпознати DTMF сигнали;trustrpid = не ;sendrpid = да rpid_update=да ;Незабавно известяване на идващия сървър за промени в състоянието на линията;trust_id_outbound = не ;prematuremedia=не ;progressinband=не callerid=CUCM11.5(1)SU3 ; Ако някъде нямаме инсталиран CallerID, направете го неговия символичен useragent=Cisco-SIPGateway/IOS-12.x ;И като PBX имаме Cisco-SIPGateway ;promiscredir = no ;usereqphone = no dtmfmode=rfc2833 ;Задайте тона за натискане на бутони на телефона;compactheaders = yes videosupport=yes ; Ние активираме поддръжката на видео разговори; textsupport=no maxcallbitrate=2048 ;Максимален битрейт на видео комуникация authfailureevents=yes ;Задайте състояние на Peer, ако не може да влезе =rejected alwaysauthreject=yes ;Ако заявката за удостоверяване е била отхвърлена, отговорът НЯМА да казва, че потребителят е въвел неправилно, защита при търсене на потребителско име auth_options_requests=yes ;Изискване на оторизация при изпращане на OPTION и INVITE ;accept_outofcall_message = no ;outofcall_message_context = messages auth_message_requests=yes ;Активиране на удостоверяване на 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=звездичка ;regcontext=sipregistrations regextenonqualify=yes ;Ако качеството е активирано за партньор и не успее, тогава * убива това разширение от regcontext ; legacy_useroption_parsing=да ;send_diversion=не ;shrinkcallerid=да ;use_q850_reason = не ;refer_addheaders=да autocreatepeer=не ;Деактивиране на регистрацията на UAC без удостоверяване t1min=200 ;Минимално забавяне за преминаване на съобщенията към хоста и обратно;timert1=500 ; timerb=32000 rtptimeout= 600 ;Прекъсване на повикването, ако няма активност на RTP медийни потоци след 600 секунди rtpholdtimeout=300 ;Прекратяване на повикването, ако няма активност на RTP медийни потоци в режим на задържане след 300 секунди;rtpkeepalive= ;session- timers=originate ;session-expires=600 ;session-minse=90 ;session-refresher=uac ;sipdebug = да ;recordhistory=да ;dumphistory=да ;allowsubscribe=не ;subscribecontext = подразбиране ;notifyringing = не ;notifyhold = да ; notifycid = да callcounter=да ;Активиране на брояча на повиквания t38pt_udptl=да ;Активиране на поддръжка за T.38 с FEC корекция на грешки faxdetect=да ;Активиране на откриване на CNG и T.38 nat=auto_force_rport,auto_comedia ;Намиране на Nat автоматично и медийни данни на портът, от който Asterisk го е получил, а не това, което е получил в SDP ;media_address = 172.16.42.1 ;subscribe_network_change_event = yes ;icesupport = yes directmedia=no ;Ние препращаме RTP трафик директно между партньори, заобикаляйки Asterisk ;directrtpsetup=yes ;directmediadeny=0.0 .0.0/0 ;directmediapermit=172.16.0.0/16 ;directmediaacl=acl_example ;ignoresdpversion=yes sdpsession=SIP повикване ;Промяна на името на SDP сесията sdpowner=CiscoSystemsSIP-GW-UserAgent ;Промяна на потребителските полета в низа на собственика на SDP ;шифроване =не ;encryption_taglen=80 ;avpf=да ;force_avp=да ;rtcachefriends=да ;rtsavesysname=да ;rtupdate =да ;rtautoclear=да ;ignoreregexpire=да ;domain=customer.com,customer-context ;allowexternaldomains=не ;allowexternaldomains =no ;fromdomain=mydomain.tld ;snom_aoc_enabled = yes jbenable=yes ;Активирайте използването на RTP буфера за компенсиране на забавянията; jbforce = не jbmaxsize=200 ;Задайте максималния размер на RTP буфера на 200 ms;jbresyncthreshold = 1000 ;jbimpl = фиксирано ;jbtargetextra = 40 ;jblog = не

3. Използваме нестандартен IAX порт.

За да направите това във файла /etc/asterisk/iax.confв раздел променете параметъра bindport=4569на параметър bindport=9069

4. Asterisk трябва да се стартира като различен потребител (не root). Как да направите това е написано в.

5. Задайте разрешени IP адреси или мрежи за SIP разширения.

deny=0.0.0.0/0.0.0.0 ;Откажи всичко permit=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. Свързваме всички телефонни устройства към отделен Voice 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_applications.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 noload => res_ari_sounds.so noload => res_pjsip .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.so noload => chan_modem_i4l. so 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 чрез Firewall.

Ако планирате да предоставите отдалечен достъп на оторизирани служители, най-добре е да го организирате с помощта на VPN сървъри(напр. Open VPN).

14. Задайте ограничени права за директории.

Всяко използване на материали от сайта е възможно само с разрешението на автора и при задължително посочване на източника.

В днешната статия ще говорим за това как да защитите IP PBX от неоторизиран достъп и ще дадем няколко прости съвета, следвайки които можете значително да увеличите сигурността на вашата телефонна централа. Примерите, които ще бъдат дадени в тази статия, се отнасят до базирани на Asterisk IP-PBX, но много от тях се отнасят за всички VoIP-PBX без изключение.

Първо, нека разберем какво заплашва дупките в сигурността и какви са последствията, пред които е изправен бизнесът, ако хакер получи достъп до IP PBX.

Хакерска заплаха

За разлика от хакването персонален компютърили поща, хакването на PBX означава безплатни разговори за хакера, за които собственикът на PBX ще трябва да плати. Има много случаи, в които хакери са похарчили огромни суми пари, след като са прекарали само няколко часа на хакната PBX.

Като правило, целите на нападателите са IP-PBX, които са достъпни от обществена мрежа. Използвайки различни SIP скенери и изследвайки уязвимостите на системата, те избират места за атака. Пароли по подразбиране, отворени SIP портове, неправилно управлявана защитна стена или нейното отсъствие - всичко това може да причини неоторизиран достъп.

За щастие, всички тези уязвимости могат да бъдат коригирани и напълно безплатно.

Лесни стъпки за подобряване на сигурността

Както можете да видите, защитата на IP-PBX от външни прониквания не е толкова трудна, като следвате предложените съвети, можете значително да увеличите сигурността и надеждността на системата.

Телефонията може да бъде евтина
и функционален!

Фирма ИТ КУБ предоставя широка гама от услуги за инсталиране, интегриране и конфигуриране на IP телефония

ИТ услугите могат да бъдат с високо качество!

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 има способността да поддържа QoS. За SIP и IAX трябва да инсталирате следното:

T.O.S. _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) регистър на състоянието не е намерено, създаден
APF версия 9.6< 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, Райън Макдоналд< This email address is being protected from spambots. You need JavaScript enabled to view it. >
Тази програма може да се разпространява свободно съгласно условията на GNU GPL
използване /usr/local/sbin/apf
-s|--start ........................... зареди всички правила на защитната стена
-r|--рестартиране .................... спиране (промиване) и презареждане на правилата на защитната стена
-f|--стоп...... ................. спиране (промиване) на всички правила на защитната стена
-l|--списък ........................... списък на всички правила на защитната стена
-t|--статус ........................ извежда журнал на състоянието на защитната стена
-e|--refresh ........................... опресняване и разрешаване на DNS имена в доверие
правила
-a HOST CMT|-разрешаване на КОМЕНТАР ЗА ХОСТ ... добавяне на хост (IP/FQDN) към
allow_hosts.rules и незабавно зареждане на ново правило в защитната стена
-d ХОСТ CMT|--откажи ХОСТ КОМЕНТАР .... добавяне на хост (IP/FQDN) към
deny_hosts.rules и незабавно зареждане на ново правило в защитната стена
-u|--премахване на ХОСТ ................... премахване на хост от
*_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) зареждане на preroute.rules http://r-fx.ca/downloads/reserved http://feeds.dshield.org/top10-2.txt
http://www.spamhaus.org/drop/drop.lasso
apf(3489): (sdrop) анализира drop.lasso в /etc/apf/sdrop_hosts.rules
apf(3489): (sdrop) зареждане на sdrop_hosts.rules
apf(3489): (glob) зареждане на общи портове за отпадане
..........подрязан за този документ.........
apf(3489): (glob) спад на входа по подразбиране (ingress).
apf(3445): (glob) защитната стена е инициализирана
apf(3445): (glob) !!РЕЖИМЪТ НА РАЗРАБОТКА Е РАЗРЕШЕН!! - защитната стена ще се изтрие
на всеки 5 минути.

Виждаме, че APF стартира, изтеглихме няколко правила от dshield.org и spamhaus.org. Сега нека тестваме влизането в сървъра на Asterisk (Trixbox) чрез SSH, за да се уверим, че сте конфигурирали всичко правилно. Ако не можете да се свържете, трябва да изчакате 5 минути и след това APF ще премахне блокирането. След като сте сигурни, че можете да влезете през SSH, можем да променим conf.apf DEVEL_MODE = "1" на DEVEL_MODE = "0" и да рестартираме 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. Има лесен начин да поправите това. Има файл functions.apf в /etc/apf/internals. Трябва да редактираме този файл ръчно. Има няколко места, където трябва да добавим един ред. Търсим секцията TOS_ във файла functions.apf. Ще изглежда така:

ако [! "$TOS_0" == "" ]; тогава
за i в `echo $TOS_0 | tr "," ""`; направи
i=`echo $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 се намира в /usr/local/bfd и се нарича conf.bfd. Този файл, подобно на APF файла, съдържа много коментари. Ще разгледаме само някои от настройките.

Първата конфигурационна променлива, която ще разгледаме, е TRIG; това е броят на неуспешните опити, преди нападателят да бъде блокиран. По подразбиране е 15. Имайте предвид, че това е броят опити не от един акаунт, а от един IP адрес. Така че, ако има 15 неуспешни опита за влизане от 1 IP адрес с различни акаунти, той пак ще бъде блокиран.

BFD има добра функция - изпращане имейликогато бъде открита груба сила. За да активирате тази опция, задайте EMAIL_ALERTS на 1; не забравяйте да посочите адреса, на който искате да получавате известия - EMAIL_ADRESS.

BFD се стартира от cron на всеки 3 минути и се намира в /etc/cron.d.

Можете да получите списък със забранени IP адреси, като използвате командата:

За да стартирате BFD, използвайте следната команда:

bfd -s

Резюме

Това завършва нашия преглед на сигурността на Asterisk (Trixbox).

Тази статия разглежда само основните принципи на защитата на Asterisk (Trixbox). Естествено изграждането на сигурни VoIP системи не се ограничава до това.

Можете да прочетете оригиналната статия на линка



Зареждане...
Връх