
çŸåšã誰ããã¢ã¹ã¿ãªã¹ã¯ãä»ã®PBXã«å¯Ÿãã倿°ã®æ»æã«ã€ããŠæžããŠããŸãã å®è·µããã®å®äŸ-åæé®®ã®ä»²éã®ããã«ãŒã¯ãåçŽãªASUSã«ãŒã¿ãŒã®èåŸã«ããã¢ã¹ã¿ãªã¹ã¯ã«ãã©ãçããŸããã§ãã-ãã®çç±ã«ã€ããŠã¯åŸã§èª¬æããŸãããã圌ãã¯ãªããšããããè§£èªããããYealink SIP T-22 IPé»è©±ã®ãã¹ã¯ãŒããååŸããŸããã
ãããè¡ãããšã¯é£ãããããŸããã§ãããæšæºã®ç®¡çè
/管çè
ãã¹ã¯ãŒãã¯ãŸã éåžžã«äººæ°ããããŸãã ãããŠãå®è·µã瀺ããŠããããã«ãããã¯æ°äžã«ãŒãã«ã®è²»çšããããããšããããŸã...
MyAsteriskããŒã ã®å°éå®¶ã¯ãããã«ãŒã®æ»æãåé¿ããã¢ã«ãŠã³ãã®è³éãç¯çŽããã®ã«åœ¹ç«ã€9ã€ã®ã«ãŒã«ãäœæããŸããã
ã«ãŒã«1ïŒãã€ã«ã¹ããŒã³ãããã¯ãŒã¯ããã€ã¹ã®ãã°ã€ã³ãšãã¹ã¯ãŒããåžžã«å€æŽããŸãã ç¹ã«IPé»è©±ãVoIPã²ãŒããŠã§ã€ãªã©ã§ã
å å
¥è
ã管çè
ãã¢ã¹ã¿ãªã¹ã¯ç®¡çè
ãªã©ã®ãã¹ã¯ãŒã å°ãªããšã12æåïŒæåãæ°åã倧æåãšå°æåã®å€æŽïŒã§æ§æãããè€éãªãã°ã€ã³ãšãã¹ã¯ãŒãã䜿çšããå¿
èŠããããŸãã ããã€ãã®æ¢ã«15,000ã«ãŒãã«ã®ãã®åçŽãªã«ãŒã«ãå®ã£ãŠããŸããã
ã«ãŒã«2ïŒéæšæºã®SIPãIAXãSSHããŒãã䜿çšããŸãã
æšæºããŒããä»ã®ããŒãã«å€æŽããŸãã ããã¯æšæºãšã¯ç°ãªããŸã-ããè¯ãã
SIP ïŒããŒãã¯
sipãã¡ã€ã«ã§æ§æãããŸã
ã äžè¬ã»ã¯ã·ã§ã³ã®èšå®ïŒ
ãã€ã³ãããŒã= 5060 =>ãã€ã³ãããŒã= 5172SSH ïŒæ°ããããŒãã¯ãã·ã¹ãã ã§æ¢ã«éããŠããããŒããšç«¶åããªãã¯ãã§ãã ããšãã°ã9321ã䜿çšããŸãã/etc/ssh/sshd_configãç·šéã
ãŸã倿Žåã«ïŒèšå·ãåé€ããŸãã ããŒã9321
次ã«ãsshdãåèµ·åããŠãã³ãã³ãã䜿çšããŠå€æŽãé©çšããŸãã
ãµãŒãã¹sshdã®åèµ·åIAX ïŒ
/etc/asterisk/iax.confã«ç§»åã
ãŸãããŒããåç·ã®ç©ºãããŒãã«å€æŽããŸã; bindport = 4569
ã³ãã³ã
/etc/ininit.d/asterisk restartã䜿çšããŠAsteriskã
åèµ·åããŸãã«ãŒã«3ïŒSSHæš©éãæã€ãŠãŒã¶ãŒã䜿çšããŸãã
ãŠãŒã¶ãŒãäœæããSSHçµç±ã§ã®ã¿ã¢ã¯ã»ã¹æš©ãä»äžããå¿
èŠããããŸãã ããšãã°ããŠãŒã¶ãŒ
myasteriskãäœæãããã¹ã¯ãŒããèšå®ããŸãã ãã¹ã¯ãŒãã«ã¯ã倧æåãšå°æåã倿Žããæåãæ°åãæåãå«ããå¿
èŠããããŸãã
ïŒuseradd myasterisk
ïŒpasswd myasterisk/ etc / ssh / sshd_configã ç·šéããŠã次ã®è¡ã远å ã
ãŸããã ïŒ
AllowUsers myasteriskrootãŠãŒã¶ãŒãSSHçµç±ã§AsteriskãµãŒããŒã«æ¥ç¶ããã®ãé²ããŸãïŒ
PermitRootLogin noã«ãŒã«4ïŒæ¡åŒµãŠãŒã¶ãŒã®èš±å¯ã¢ãã¬ã¹ãèšå®ããŸãïŒæåŠ/èš±å¯ïŒã
ãã®èšå®ã«ãããä¿¡é Œã§ããIPã¢ãã¬ã¹ããã®ã¿å
éšãµãã¹ã¯ã©ã€ããŒãç»é²ããæ©èœãå¶éãããŸãã åæ¡åŒµåã«å¯ŸããŠãã¢ãã¬ã¹ã®ç¯å²ãŸãã¯æå¹ãªIPã¢ãã¬ã¹ãæå®ããŸãã
123
æåŠ= 0.0.0.0 / 0.0.0.0
èš±å¯= 10.10.1.7
èš±å¯= 10.10.2.1 / 24ããã§ã
10.10.2.1 / 24ã¯æ¥ç¶ãè¡ãããããŒã«ã«ã¢ãã¬ã¹ã®ç¯å²ã§ãã ã¢ã¹ã¿ãªã¹ã¯ã¯ãä»ã®ã¢ãã¬ã¹ããã®æ¥ç¶ãåãå
¥ããŸããã
ã«ãŒã«5ïŒã²ã¹ãã³ãŒã«ïŒã²ã¹ãã³ãŒã«ïŒãšç»é²ãç¡å¹ã«ãã
/etc/asterisk/sip.confãç·šéããå¿
èŠããããŸã
Allowguest = yesã
allowguest = noã«çœ®ãæã
ãŸãã ã²ã¹ãã³ãŒã«ãèš±å¯ãŸãã¯æåŠããïŒããã©ã«ãã¯yesïŒãã®ãªãã·ã§ã³ã¯ãã¹ãŠã®ãŠãŒã¶ãŒã«é©ããŠããããã§ã¯ãããŸãããã²ã¹ãã³ãŒã«ãæåŠã§ããªãå ŽåããããŸãã
ã«ãŒã«6ïŒé話å¶éã®èšå®
æ¢ã«ãããã³ã°ãããŠããå Žåãå
éšãµãã¹ã¯ã©ã€ããŒã®èšå®ã§æå®ããã
Call-limit = 1è¡ã¯ãå
éšãµãã¹ã¯ã©ã€ããŒã®åææ¥ç¶ã®æ°ãå¶éãããããå°ãªããéã®æå€±ã«åœ¹ç«ã¡ãŸãã
ã«ãŒã«7ïŒç°ãªãéä¿¡ã«ãŒãã£ã³ã°ã«ãŒã«ã䜿çšãã
é
å»¶ããªãã§ã
Exten => _Xãã1ãHangupãªã©ã®ããã©ã«ãã«ãŒãã䜿çšããŸãã
8495XXXXXXXã8961XXXXXXXXã89XXXXXXXXXXãªã©
ãéœåžã³ãŒããæºåž¯é»è©±äŒç€Ÿãããã³åœéã³ãŒãïŒããå ŽåïŒã
å«ãã«ãŒããå³å¯ã«èŠå®ããå¿
èŠããããŸãã
ã«ãŒã«8ïŒç¡å¹ãªãã¹ã¯ãŒãã«å¯Ÿããå¿çãç¡å¹ã«ãã
ããã©ã«ãã§ã¯ãã¢ã¹ã¿ãªã¹ã¯ã¯ãæ¢åã®ã¢ã«ãŠã³ãã®ãã¹ã¯ãŒããæ£ãããªããšãããšã©ãŒãšãååšããªãã¢ã«ãŠã³ãã®å¥ã®ãšã©ãŒãçæããŸãã ãã¹ã¯ãŒãéžæçšã®ããã°ã©ã ã¯å€æ°ãããããæ»æè
ã¯ç°¡åã«ãã¹ãŠã®çãçªå·ã確èªãããééã£ããã¹ã¯ãŒãããšåçããæ¢åã®ã¢ã«ãŠã³ãã®ãã¹ã¯ãŒãã®ã¿ãåéã§ããŸãã ãããé²ãã«ã¯ã
/ etc / asterisk / sip.confãã¡ã€ã«ã®è¡ã倿ŽããŸã
ã
alwaysauthreject = no alwaysauthreject = yesã§ ãAsteriskãåèµ·åããŸãã
ãã®èšå®åŸãAsteriskã¯ç¡å¹ãª
401 UnauthorizedèªèšŒã«å¯ŸããŠåãããã«å¿çãã詳现ãæäŸããŸããã
ã«ãŒã«9ïŒIptablesãšFail2banã䜿çšãã
Fail2banã¯ãã '127.0.0.1ã§å€±æ-ééã£ããã¹ã¯ãŒããããã³ã127.0.0.1ã§å€±æ-'ãã¢ã¯ç»é²ãããªãããšãã圢åŒã®æååããã£ããããã®ã«åœ¹ç«ã¡ãŸãã
Fail2banã¯ããžã£ã³ã¯SIPãã©ãã£ãã¯ã®éã倧å¹
ã«åæžã§ããŸãã
ãã ããã¢ã¹ã¿ãªã¹ã¯ãã°ã®åæã圹ã«ç«ããªãäžå¿«ãªç¶æ³ãããã€ããããŸãã ããšãã°ãæ»æè
ãèå¥ããŒã¿ãªãã§REGISTERãªã¯ãšã¹ããéä¿¡ããå Žåããééã£ããã¹ã¯ãŒãããšããã¡ãã»ãŒãžã¯ãã°ã«è¡šç€ºãããŸããã
å®éãã¢ã¹ã¿ãªã¹ã¯ã§ã¯ããã¹ãŠã®SIP UDPã·ã°ããªã³ã°ã1ã€ã®ã¹ã¬ããã§åŠçãããŸãã SIPãã©ãã£ãã¯ã®åŠçã¯ãªãœãŒã¹ã倧éã«æ¶è²»ããããã»ã¹ã§ããã7ã8ã¡ã¬ãããã®ã¬ããŒãžãªã¯ãšã¹ãã«ãããã¢ã¹ã¿ãªã¹ã¯ã¯ããã»ããµã³ã¢ãå®å
šã«æ¶è²»ããŸãïŒããšãã°ãIntel E5335ãE5405ïŒã ã³ã¢ãå®å
šã«æ¶è²»ããããšãæçšãªSIPãã©ãã£ãã¯ã眮ãæããããŸã-ã¬ããŒãžã
DTMFã¯ãSIP INFOã䜿çšããã¯ã©ã€ã¢ã³ãã«å¯ŸããŠæ©èœããªããªããŸãã åé¡ã¯ãæ°ããæ¥ç¶ã®ã€ã³ã¹ããŒã«ãšæ¢åã®æ¥ç¶ã®çµäºããå§ãŸããŸãã ãããŠãããã¯ãã«ãŒããã©ãŒã¹ããããã«ãã£ãŠããããããäž»ãªè
åšã§ãã
ããã§ã¯ããã°ã«ã¡ãã»ãŒãžããªãåé¡ã«ã©ã察åŠããã®ã§ããããïŒ éåžžã«ç°¡åã§ã-åé¡ã«ã€ããŠã®ã¡ãã»ãŒãžãèªåã§çæããå¿
èŠããããŸãããã®åŸãã«ãŠã³ã¿ãŒã·ã¹ãã ã®æ®ãã®éšåïŒããšãã°ãfail2banããã°ã©ã ïŒã倿Žããã«æ®ãããšãã§ããŸãã ç·åœããæ»æã®ç¹åŸŽã¯ãåäœæéãããã®å€æ°ã®SIPãã±ããã§ãã
RecentãšåŒã°ãã
iptablesã¢ãžã¥ãŒã«ã䜿çšããŠãåäœæéãããã®ãã±ããæ°ãèšç®ã§ããŸãã ã€ã³ã¿ãŒãããã«ã¯ãæè¿ã®ã¢ãžã¥ãŒã«ã®å©ããåããŠãç¹å®ã®é »åºŠãããé«ãé »åºŠã§å
¥ã£ãŠãããã±ãããç Žæ£ãããæ¹æ³ã®äŸããããããããŸãã ãããããã代ããã«ãæ»ææ€åºã·ã¹ãã çšã®ã¡ãã»ãŒãžãçæããŸãïŒããšãã°ãfail2banïŒã ãã®ã¢ãããŒãã«ã¯é·æãšçæããããŸãã äž»ãªæ¬ ç¹ã¯ãã·ã¹ãã ãªãœãŒã¹ãã¡ãã»ãŒãžã®åŠçã«è²»ããããäžæ¹ã§ããã±ããã®ãããããæ¡ä»¶ä»ãã§ç¡æã«ãªãããšã§ãã
ããå°ãå©ç¹ããããŸãããã¯ã€ããªã¹ãã«ç»é²ãããIPã¢ãã¬ã¹ãæ€åºããããã¹ãŠã®æ»æã®çµ±äžã¢ã«ãŠã³ããªã©ãæ»ææ€åºã·ã¹ãã ã®ãã¹ãŠã®æ©èœãå©çšã§ããŸãã
çè«ããå®è·µãžïŒ iptablesã«ãŒã«ããã¹ã±ã«ãã³ãæºåããŸãã
-Aå
¥å-p udp --dport 5060 -j SCAMBLOCK
-A INPUT -p udp --dport 5060 -m recent --set --name SIP
-A INPUT -p udp --dport 5060 -m recent --update --seconds 2 --hitcount 60 --name SIP \
-j LOG --log-prefixâ SIPãã©ãããæ€åºãããŸããïŒâæåã®ã«ãŒã«ã¯ãããã±ãŒãžãSCAMBLOCKãã§ãŒã³ã«å¯ŸããŠãã§ãã¯ããŸãã ãããã¯ãããIPã¢ãã¬ã¹ã¯ãã®ãã§ãŒã³ã«æ ŒçŽãããŸãããã±ããããã®ãã§ãŒã³ã®ã¢ãã¬ã¹ã®1ã€ãšäžèŽããå Žåããã±ããã¯ç Žæ£ãããŸãã ãã±ããããããããããªãå Žåã2çªç®ã®ã«ãŒã«ã§ã¯ãSIPãšããååã§ã¢ã«ãŠã³ãã£ã³ã°çšã«ããŒã¯ãããŸãã 3çªç®ã®ã«ãŒã«ã¯ãæå®ãããããã±ãŒãžãæå®ãããæéïŒ2ç§ïŒå
ã«æå®ãããéïŒ60ïŒãè¶
ãããã©ãããèæ
®ããŸãã
æ°éãè¶
ããŠããªãå Žåãã«ãŒã«ã¯ç¡èŠãããè¶
ããŠããå Žåãã¢ã¯ã·ã§ã³ãå®è¡ãããŸãã ãã®å Žåããã±ããã«é¢ãã詳现æ
å ±ã¯ããSIP flood detectedïŒãã®è¡ã§å§ãŸãã·ã¹ãã ãã°ã«æžã蟌ãŸããŸãã ãã±ããã®æ°ãšæéã¯ããœãŒã¹ããšã«åå¥ã«èæ
®ãããŸãã ãããã£ãŠããããã¯ãããŠããªãåIPã¢ãã¬ã¹ããã®SIPãã±ããã®åä¿¡é床ã¯ãæ¯ç§30ãã±ããã®ã¬ãã«ã§å¶éãããŠããããšãããããŸãã
ç§ã«ãšã£ãŠããã®å¶éã¯å¿«é©ã§ããäžæ¹ã§ããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã¯ãæå€§ã®ã¯ã©ã€ã¢ã³ãã§ãã£ãŠãã30ãã±ãã/ç§æªæºã®é床ã§1ã€ã®IPã¢ãã¬ã¹ãããã±ãããéä¿¡ããŸãããäžæ¹ã§ã30ãã±ãã/ç§ã¯å®éã«ã¯ã·ã¹ãã ã®åäœã«åœ±é¿ããŸããã ãµãŒããŒã®ããã©ãŒãã³ã¹ããµãã¹ã¯ã©ã€ããŒã®æ°ããã³ã¿ã€ãã«å¿ããŠããã®å€ãããããã®æ¹åã«ä¿®æ£ããå¿
èŠãããå ŽåããããŸãã
äžéšã®ã·ã¹ãã ã§ã¯ã
Hitcountãã©ã¡ãŒã¿ãŒã«å¯Ÿãã
æè¿ã®ã¢ãžã¥ãŒã«ã®çµã¿èŸŒã¿å¶éã¯éåžžã«å°ãããããšãã°ãCentOSã§ã¯ããã®å¶éã¯20ãã±ããã§ãã äžèšã®ã³ãã³ããå®è¡ããããšãããšã次ã®ãšã©ãŒã衚瀺ãããŸãã
iptables -A INPUT -p udp --dport 5060 -m recent --update --seconds 2 --hitcount 60 --name SIP \
-j LOG --log-prefixâ SIPãã©ãããæ€åºãããŸããïŒâ
iptablesïŒäžæãªãšã©ãŒ4294967295
ãŸãã¯ã64ãããã·ã¹ãã ã®å ŽåïŒ
iptables -A INPUT -p udp --dport 5060 -m recent --update --seconds 2 --hitcount 60 --name SIP \
-j LOG --log-prefixâ SIPãã©ãããæ€åºãããŸããïŒâ
iptablesïŒäžæãªãšã©ãŒ18446744073709551615ããŒãæã«ã¢ãžã¥ãŒã«ã«æè¿ã®ç¹å¥ãªãã©ã¡ãŒã¿ãŒãæž¡ãããšã«ãããæå€§å¶éã倿Žã§ããŸãã ãããè¡ãã«ã¯ããã¡ã€ã«
/etc/modprobe.d/ipt.confãäœæããèå³ã®ãããã©ã¡ãŒã¿ãŒãæžã蟌ã¿ãŸãã
ãªãã·ã§ã³ipt_recent ip_pkt_list_tot = 60ãã®å¶éãå¢ãããšãã¯ãææ°ã®ãã±ãããä¿åããã®ã«å¿
èŠãªã¡ã¢ãªãšãããããåŠçããã®ã«å¿
èŠãªããã»ããµãµã€ã¯ã«ã®æ°ãå¢ããããšã«æ³šæããŠãã ããã
ããŠãããã§ãããŒã5060ã®ãã©ããã¯ãã¹ãŠãæè¿ã®iptablesã¢ãžã¥ãŒã«ã䜿çšããŠæ€åºãããŸãã æ€åºããããã©ããã«é¢ããã¡ãã»ãŒãžã¯ãã·ã¹ãã ãã°ã«éä¿¡ãããããã§ãæ°ã«å
¥ãã®æ»ææ€åºã·ã¹ãã ïŒããšãã°ãfail2banïŒã§ç¢ºèªã§ããŸãã iptablesã¯ã·ã¹ãã ãã°ã ãã«éå®ããŸãããã¡ãã»ãŒãžã®ã¬ãã«ãšæ©èœãLOGã¢ã¯ã·ã§ã³ã«æå®ããSyslogèšå®ã§ã¡ãã»ãŒãžããŒã¿ãå¥ã®ãã¡ã€ã«ã«ãªãã€ã¬ã¯ãã§ããŸãã SIPãã©ããã¡ãã»ãŒãžèªäœã¯æ¬¡ã®ããã«ãªããŸãã
6æ17æ¥23:54:44 sip2ã«ãŒãã«ïŒSIPãã©ããæ€åºïŒIN = eth0 OUT = MAC = 00ïŒ21ïŒ5eïŒdbïŒ15ïŒb8ïŒ00ïŒ0fïŒ34ïŒf8ïŒ28ïŒ7fïŒ08ïŒ00 SRC = 184.172.62.3 DST = 192.168.224.217 LEN = 370 TOS = 0x00 PREC = 0x00 TTL = 47 ID = 0 DF PROTO = UDP SPT = 5495 DPT = 5060 LEN = 350
6æ17æ¥23:54:44 sip2ã«ãŒãã«ïŒSIPãã©ããæ€åºïŒIN = eth0 OUT = MAC = 00ïŒ21ïŒ5eïŒdbïŒ15ïŒb8ïŒ00ïŒ0fïŒ34ïŒf8ïŒ28ïŒ7fïŒ08ïŒ00 SRC = 184.172.62.3 DST = 192.168.224.217 LEN = 369 TOS = 0x00 PREC = 0x00 TTL = 47 ID = 0 DF PROTO = UDP SPT = 5495 DPT = 5060 LEN = 349
6æ17æ¥23:54:44 sip2ã«ãŒãã«ïŒSIPãã©ããæ€åºïŒIN = eth0 OUT = MAC = 00ïŒ21ïŒ5eïŒdbïŒ15ïŒb8ïŒ00ïŒ0fïŒ34ïŒf8ïŒ28ïŒã»ã«ã²ã€ã»ã¿ã³ã³ããã ã9çªç®ã®ã«ãŒã«ãããããšãã
MyAsteriskããŒã ã¯ãIPã¢ãã¬ã¹ããã®ã¿ç»é²ããå¯èœæ§ã«ã€ããŠ
SIPãããã€ããŒãšè©±ãåããå¹³åã³ã¹ãã«åºã¥ããŠ1æ¥ãããã®æ¯åºå¶éãèšå®ãã䜿çšããªãå Žåã¯é·è·é¢é»è©±ãšåœéé»è©±ãåæããããçºä¿¡MGãå¯èœã«ããããšããå§ãããŸãMNã¯PINã³ãŒãã®å
¥ååŸã«åŒã³åºããŸãã
ãã®ãããªã®æ¬¡ã®ããŒããŒã«ãªããªãããã«ã
MyAsterisk Teamã®å®å
šèŠåã«åŸã£ãŠãã ããïŒ