Asterisk 安全防護網

    版本為 01:12, 24 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    Asterisk 安全防護實作心得筆記 2010-12-02


    一.前言


    要使 Asterisk 獲得比較安全的方法就是將它置於防火牆之內,不對外開放服務,也就是防火牆不對 Asterisk 開啟任何埠號,
    不過當 Asterisk 需要開放對外服務或所使用的網路電話服務商有不知明的原因需要直接連線才能正常使用時,只有讓防火牆開啟埠號一途.

    要讓防火牆對 Asterisk 開啟埠號,等於讓 Asterisk 門戶洞開,總會讓人對 Asterisk 之安全感到憂心,這也是我長久以來所面臨而亟待解決的問題.

    最近終於從 PBX in a Flash 論壇獲得思考我需要的解決方式,這個方式不全是 PIAF 官方所提出,是我綜合其論壇中各方網友精華所做出的結論,然後將結論實作測試,測試結果非常有效實用,令人十分滿意,特別用小畫家畫了一個流程圖,讓人可一目了然,也將說明如後.

    對有資安專長背景的人來說,這個安全防護機制可能很容易配置,但對局外人的我來說可是如獲至寶.

                                Asterisk 安全防護網流程圖

    Asterisk_Security_safety_net_flowchart.JPG

     

    二.Asterisk 安全防護網流程圖說明  
    1.Firewall Port Mapping:
    • 是否要在防火牆開啟埠號?如果不是則封鎖,如果是則放行.
    • 一般會用的埠號為 IAX 協定的 4569 和 SIP 協定的 5060.
    • 如果在Asterisk主機 bindport 的預設值 4569 或 5060 有改變,在防火牆開啟的埠號也要跟著改變.
       
    2.Firewall Whitelist:
    • 過濾上一層防火牆放行的對象是否在所允許的白名單之內?如果不是則封鎖,如果是則繼續放行.
    • 要先擬定所允許的白名單並列入IPtables規則.
    • 理論上來說,黑客應該到此就被止步了,經我自己實測已成功防堵.
    • PIAF 官方對於 Firewall Whitelist 在其論壇有提出做法,原先提出的 Firewall Blacklist 似不準備使用.

    http://www.pbxinaflash.com/forum/sho...ead.php?t=8735
     

    3.The SunshineNetworks Knock:
    • 過濾上一層白名單放行的對象是否取得 The SunshineNetworks Knock 認證?如果不是則封鎖,如果是則繼續放行.
    • 要先擬定 The SunshineNetworks Knock 所需認證並列入 IPtables 規則.
    • 理論上來說,如果沒有上一層白名單的過濾,黑客到此若未經認證,應該被止步了,經我自己實測已成功防堵.

    http://www.sunshinenetworks.com.au/h...rks-knock.html
     

    4.Fail2ban:
    • 過濾上一層放行的對象是否取得 Asterisk 主機認證,如果不是則封鎖,如果是則繼續放行.
    • Asterisk 主機認證主要指的是分機號碼,密碼和允許的來源 IP.
    • Fail2ban 會將超過所允許錯誤次數的來源 IP 封鎖(關入監獄).
    • 在流程圖上沒有將 OSSEC 與 Fail2ban 並列的原因是經我測試後 Fail2ban 比較有效率,不會讓人失望,希望只是我的錯誤認知.

    http://www.voip-info.org/wiki/view/F...9+And+Asterisk
     

    5.Asterisk Server:
    • Asterisk 主機本身的所有安全設定是否完備?如分機密碼強度,允許的來源IP等等.
    • 有關 Asterisk 的安全設定,站長 alang 有很詳細的說明,請參閱 設置 Asterisk 的安全性 (security).

     

    三.我的 IPTables Rules 的建立  

    剛寫到這裡沒多久,我的心得筆記還沒有完成, PIAF 官網於台北時間(2010-12-4)正式推出 VoIP WhiteList for IPtables
    http://nerdvittles.com/?p=709
    初步看其內容與我的流程圖比較,它捨去了 The SunshineNetworks Knock 功能,原因是說 The SunshineNetworks Knock 曝露於 Internet 上.
    不過我認為 The SunshineNetworks Knock 有其一定之過濾功能,尤其它是 Client 端有人使用浮動 IP 不適合配置 Firewall Whitelist 時之最佳替代配置方案.
    所以我的流程圖內容不會改變, 心得內容也不會改變, 繼續...

    Powered by MindTouch Core