読者です 読者をやめる 読者になる 読者になる

【LIVA】【Ubuntu server14.04】Asteriskサーバで050plus収容(セキュリティ強化)

技術メモだからね。一応書かないとってことで。

 

乗っ取りなどで勝手に外線された場合を想定して最低限のことをしておきます。

$sudo vi /etc/asterisk/extensions.conf

[globals]

MYNUMBER=050xxxxxxxx

 

[default]

;050plus
;---注意点
;先頭のダミー番号について、先頭3を付与すると
;Auto fallthrough, channel 'SIP/XXXXX' status is 'UNKNOWN'
;とasterisk -vvvvcrを実行した時に表示され、外線発信できない。

;理由は不明。また、先頭5以外で許容される番号は不明(調べる気はあまりない)

 

exten => _567.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _567.,2,Set(CALLERID(name)=${MYNUMBER})
exten => _567.,3,Dial(SIP/${EXTEN:3}@050plus,120,T)

; 00 を禁止
exten => _56700., 1, Answer()
exten => _56700., 2, Wait(1)
exten => _56700., 3, Hanup
exten => _56718[46]00., 1, Answer()
exten => _56718[46]00., 2, Wait(1)
exten => _56718[46]00., 3, Hanup
; 010 を禁止
exten => _567010., 1, Answer()
exten => _567010., 2, Wait(1)
exten => _567010., 3, Hanup
exten => _56718[46]010., 1, Answer()
exten => _56718[46]010., 2, Wait(1)
exten => _56718[46]010., 3, Hanup

今回の設定に関連するものだけ抜粋してます。

まず、

exten => _567.,3,Dial(SIP/${EXTEN:3}@050plus,120,T)

ですが、「_567.」でダイヤル番号の先頭を偽装します。

普通は「_0.」と設定することで発信先番号(090xxxxxxxx)とSIPフォンソフトで発信することができますが、「_567.」と設定することで、567090xxxxxxxxとダイヤルした時のみ外線発信できるようになります。

ポイントは「SIP/${EXTEN:3}です。EXTEN:3を設定することで先頭の3桁を除いてAsteriskでダイヤル処理をします。つまり、567090xxxxxxxxでSIPフォンソフトで発信したら、Asteriskで567を除外した上で090xxxxxxxxで発信してくれます。

 

次に

exten => _56700., 1, Answer()
exten => _56700., 2, Wait(1)
exten => _56700., 3, Hanup 

ですが、56700が先頭に入っていたら外線発信させずに切断します。

先頭567をつければ外線発信出来てしまうことがバレてしまった場合の国際発信のガード処理と言えます。

 

exten => _56718[46]00., 1, Answer()
exten => _56718[46]00., 2, Wait(1)
exten => _56718[46]00., 3, Hanup

 は、184,186が設定された場合。

010の記載も理屈は同じです。

 

ただ、上記は国際発信をガード出来るだけなので、国内発信は該当しません。

そもそもAsteriskにアクセスさせない等のガード処理をいろいろ設定する必要があります。