Asterisk 安全防護網

    版本為 08:35, 6 Oct 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 在其論壇有提出做法.

    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

    Powered by MindTouch Core