天天看點

如何在XSwitch中開啟TLS

如何在XSwitch中開啟TLS

随着時代的發展,TLS也慢慢成了SIP通信的标配,下面我們來看一下如何在XSwitch中開啟TLS支援。

使用自簽名證書

TLS需要使用證書,XSwitch預設安裝會有一個自簽名的證書

/usr/local/freeswitch/certs/tls.pem

,我們先使用該證書示範TLS配置。

首先,打開【進階】⇨【SIP】,選擇一個SIP Profile,進入,修改并開啟所有TLS相關的配置參數,如:

  • tls

    true

    ,是否開啟TLS支援
  • tls-bind-params

    transport=tls

    ,綁定TLS參數,會出現在Contact等頭域中
  • tls-cert-dir

    $${certs_dir}

    ,這是一個全局變量,預設值是

    /usr/local/freeswitch/certs/

    ,指定證書路徑
  • tls-ciphers

    $${sip_tls_ciphers}

    ,全局變量,代表使用的加密算法,預設值是``
  • tls-only

    false

    ,如果改為True,則僅支援TLS,不支援UDP/TCP。
  • tls-passphrase

    :如果證書有密碼保護,需要填,否則留白。
  • tls-sip-port

    $${sip_tls_port}

    ,全局變量,預設為

    5061

  • tls-verify-data

    :是否檢查日期。
  • tls-verify-depth

    2

    ,設定允許的TLS驗證鍊的最大深度。
  • tls-verify-in-subjects

    :預設為空。
  • tls-verify-policy

    none

  • tls-version

    $${sip_tls_version}

    ,預設值為:

    tlsv1,tlsv1.1,tlsv1.2

然後,點選右上角的重新開機,或在控制台上執行

reload mod_sofia

就可以了,如果在詳細資訊中看到如下内容,表示TLS配置好了:

tls-bind-url: sips:[email protected]:5061;maddr=172.18.0.3;transport=tls           

複制

可以使用如下

openssl

指令檢查是否可以連接配接,如:

-----BEGIN CERTIFICATE-----...           

複制

下面,就可以嘗試通過SIP用戶端連接配接了,不過,不是所有用戶端都支援自簽名證書。有的用戶端支援不驗證TLS證書,如果有的話可以嘗試開啟該選項測試。

使用權威機構簽發的TLS證書

如果在生産環境使用,需要使用權威機構簽發的TLS證書。很多權威機構也提供免費的證書,比如國内的一些雲廠商,國外的Let's Encrypt等。

XSwitch需要

pem

格式的TLS證書,如果你收到的證書不是

pem

格式的,可以轉換成

pem

格式的,以GoDaddy的證書為例:

cat 客戶提供的證書.pem chain.pem > fullchain.pemcat fullchain.pem 客戶的私鑰.pem > tls.pem           

複制

使用它替換掉XSwitch中的

tls.pem

即可。

注意:RFC 5922:https://www.rfc-editor.org/rfc/rfc5922.html#section-7.2明确規定SIP協定必須不支援泛域名證書。是以,請不要使用泛域名證書。

本文的内容同樣适用于FreeSWITCH。