FreeSWITCH的TLS加密

聽着很高大上(實際也很實用)的加密機制,在FreeSWITCH裏配置支持居然這麼簡單!安全

Greate FreeSWITCH and Greate Programmer!服務器

① cd /usr/local/freeswitch/bin(以默認的安裝路徑爲例)加密

② 產生root的證書spa

./gentls_cert setup -cn 你的域名 -alt DNS:dns服務器的域名 -org 企業名稱

③ 產生Server的證書code

./gentls_cert create_server -cn 你的域名 -alt DNS:dns服務器的域名 -org 企業名稱

④ 查看證書的明細orm

openssl x509 -noout -inform pem -text -in /usr/local/freeswitch/conf/ssl/agent.pem

⑤ 修改vars.xml文件server

<!-- Internal SIP Profile -->
  <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
  <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
  <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
  <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
  <X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
將internal_ssl_enable=false改成true

至此,重啓reload mod_sofia服務器已經支持TLS了,可是此時全部的客戶端下載的都是root的證書。這種狀況下服務器可能會遭受MITM攻擊(Man-in-the-Middle Attack)。xml

更安全的作法是爲每個客戶端生成一個客戶端證書。blog

⑥ 產生客戶端證書dns

./gentls_cert create_client -cn client -out client

OK,抓包看看吧。

支持TLS的客戶端的註冊等信令交互已經肉眼沒法識別了。

若是這個客戶端還支持SRTP,好吧,媒體流也加密了,這下安全級別就上去了。

相關文章
相關標籤/搜索