返回列表 發帖

再談Asterisk / ATA 保安 - Dial Plan 篇

想再深入討論一下,要怎樣寫Dial Plan 才會比較安全兼有效率。

之前有版友提出的的寫法可能是:

以香港為例:

[23689]X.

這樣寫法,我個人覺得仍有改善空間,因為,只是禁止了0、1、5、7字頭打出,但並沒有限制所撥出數字的多寡,很容易被有心人鑽空子,撥打多位數字的號碼。

如果將它寫成:

1XXX                ; 限制 1 字頭 4 位數字只可以打部份公共服務,例如1883
1XXXX                ; 限制 1 字頭 5 位數字只可以打部份公共服務,例如PCCW 18503
1XXXXXX                ; 限制 1 字頭 7 位數字只可以打部份公共服務,例如天文台 1878200
[23689]XXXXXXX        ; 限制只讓 8 位數字打出

上述限制應可防止誤打IDD情況出現,只有4、5、7、8位號碼才撥出,保證打不到一般9位或以上的長途號碼或衛星號碼了。而且因應自己需要可再在DP前面加入Prefix 號碼。

要防止打 99X 應該點寫?  在ATA裡,是99!,但在ASTERISK裡,是不是也一樣呢? 請指教。



長途電話方面,普遍香港人現在都不用001 了。若想打之前加入密碼認證,可以這樣寫,不過我覺得應該還有更強力的寫法,請大家提供。

exten => _00[68][08]X.,1,Authenticate(1234,,4)                       
exten => _00[68][08]X.,n,Dial(DAHDI/1/${EXTEN},,r)
exten => _00[68][08]X.,n,Congestion

回復 1# bubblestar

ATA的Dial Plan這樣寫的話可能太長了! 而且有些人像我這樣確是需要用IDD功能. 我曾經想過限定我同事撥打某幾個電話號碼, 但又想想覺得不好!
Welcome to my TaoBao shop: http://mandymak520.taobao.com/

TOP

在公司或家庭的基礎上,設定限制,應該較易推行或得到諒解。但如果是朋友間商借使用的情況下,例如雯雯的情形,的確比較難進行。但上次衛星電話誤打一事,應該正好是推行的好時機,不是限制她們打,只是想限制她們怎樣去打,相信在免費打電話的前提下,大家會合作的。

至於ATA上的確麻煩一點,我也正在想辦法,希望改善ATA的DP寫法,既簡潔又要安全。因為ATA總不會不用的,我不想等到ASTERISK SERVER 壞了時,才去改ATA。

TOP

嗯~這個是不錯的話題呢...

我覺得Dial Plan寧願繁複一點...總好過被誤撥時才後悔好...
而且我覺得即使有hacker入侵後...也不容易撥出需收費的號碼...
香港號碼設定不詳談了...bubblestar兄也提及過...

我自己本身也有用0088 IDD無限任打...
因為本身0088也有不少地區是有限制的(例如美國會有一大堆號碼是不能撥的)...
http://www.threebb.com.hk/chi/00 ... ix_Table_101112.pdf
所以我會在Calling rule中先把一堆不能撥的先設定好...例如...
(PS:IDD的撥號方法是00+國家號碼+地區號碼+電話號碼...之後若系統准許撥出的話才加上0088撥出)
exten =  _001242.,1,Hangup
exten =  _001467.,1,Hangup
exten =  _001246.,1,Hangup
exten =  _001264.,1,Hangup
...
exten =  _001907.,1,Hangup
去到最後才加上...
exten = _001.,1,Macro(trunkdial-failover-0.3,${trunk_1}/0088${EXTEN:2},,trunk_1,)

雖然會很繁複...但是這樣做會避免了誤撥收費的地區...
名單是0088那邊提供的...若有錯漏是0088那邊問題了(除非是自己set漏了...)
我是寧願有些號碼設定漏了再加上...總好過貪一時方便...到被收費時便頭痛了...

TOP

绝對同意,怕麻煩永遠是自己最大的敵人,HACKER 或 誤打誤撞的失魂魚可能令自己損失不菲。

電腦超人兄的DP 有 0088 官方提供了的名單,已經做少了一半工夫了。很不錯,規則即是先全部不放過,然後逐一開通給有正確打法的人撥出使用。

就像我地SET Codec  一樣,只開放給三種Codec 使用。

disallow=all
allow= ulaw,alaw,gsm

TOP

本帖最後由 Qnewbie 於 2010-12-1 06:39 編輯

My fake authentication method is:
exten => _12340086.,1,Dial(DAHDI/1/${EXTEN:4},,r)) ; 1234 is the "auth" code
exten => _12340086.,n,Hangup()

It would be great that a list with "forbidden" numbers could be assembled to a file with explanation using a format that be able converted to DP. Then we might use cut&paste to setup our list and generate the DP.

For instance:
; 0088, Australia forbidden number(mobile number)
614

The shell script might just read the file, skip line starting with ";", and generate a DP line with
exten => _00614.,1,Hangup()

TOP

希望你們能提一個list 供大家使用。

TOP

本帖最後由 bubblestar 於 2010-12-1 11:05 編輯

Qnewbie 兄 和 ckleea 兄兩位的建議都好好,大家都應朝這方向走。希望寫script 較有經驗的朋友能慷慨分享一下你地的 DP list,好讓大家都可以在一個安全環境下放心使用Asterisk。

TOP

期待你地既 DP list 可以俾我地呢 d 新手參考同埋學習

TOP

所以我“强烈建议”大家学Asterisk Programming Language,而不是用GUI,那么在网上的scripts就可以用。

角色

TOP

Elastix 點set?

TOP

謝謝分享!!

TOP

返回列表