再談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 |