TLS(传输层安全)是一种网络安全协议,用于加密互联网上的数据传输并确保其安全。它在两个通信设备(如服务器和客户端)之间建立加密通道,以确保传输的数据不会被截获或篡改。
本文提供了一个在模拟网关 FXS 和 Yeastar S20 之间配置 TLS 的示例。配置完成后,当模拟网关上的电话 1001 拨打Yeastar S20 上的电话 1002 时,数据将使用 TLS 加密。
注意:本文中的配置示例使用的是自签名 TLS 证书,其安全性相对较弱。不建议在正式生产环境中使用。
步骤 1.在Yeastar S20 上创建扩展名 1001 和 1002
如果要使用 SRTP 加密通话,请启用 SRTP。
在Yeastar S20 上启用TLS
步骤 2. 使用 OpenSSL 工具为 1001 和 1002 生成服务器证书和客户端证书。
要生成证书,我们需要使用 openssl 工具,包括根证书和用户证书。在生成证书的具体步骤之前,我们需要了解与证书相关的几种文件格式。所有这些格式都属于 PKCS(公钥密码标准)标准:
.key 文件: 私钥文件,通常使用 RSA 算法,私钥需要自己保存,不需要提交给 CA 机构。
.csr 文件: 证书签名请求(CSR)文件,包含公钥信息。CSR 文件使用自己的私钥生成。
.crt 文件: CA 认证证书文件,"证书 "缩写。
.crl 文件: 证书吊销列表(CRL)文件。
.pem 文件: 用于导出和导入的证书格式。该文件实际上是 .crt 和 .key 文件的组合,类似于 Windows 上的 .pfx,但不同之处在于 .pem 使用 base64 字符存储,而 .pfx 使用二进制存储。
生成 CA 根证书的步骤
1.生成 CA 私钥(.key)
2.生成 CA 的证书签名请求(CSR)(.csr)
3.自行签署 CSR 以获取根证书 (.crt)
# Generate CA private key
openssl genrsa -out ca.key 2048
# Generate CSR
openssl req -new -key ca.key -out ca.csr
# Generate Self Signed certificate
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
通常,在内部网络部署的服务会使用自签名证书。只有在部署面向公众的服务时,才会向 CA 申请证书。
生成服务器端证书的步骤如下:
1.生成私钥(.key)。
2.生成证书签名请求(.csr)。
3.使用 CA 根证书签署证书并获取已签署的证书(.crt)文件。
# private keyopenssl genrsa -des3 -out asterisk.key 1024
# generate csropenssl req -new -key asterisk.key -out asterisk.csr
# generate certificateopenssl ca -in asterisk.csr -out asterisk.crt -cert ca.crt -keyfile ca.key
生成扩展证书的步骤如下:
1.生成私钥(.key)。
2.生成证书签名请求(.csr)。
3.使用 CA 根证书签署证书并获得已签署证书(.crt)文件。
# private keyopenssl genrsa -des3 -out 1001.key 1024
# generate csropenssl req -new -key 1001.key -out 1001.csr
# generate certificateopenssl ca -in 1001.csr -out 1001.crt -cert ca.crt -keyfile ca.key
生成 .pem file
cat asterisk.crt asterisk.key > asterisk.pem
cat 1002.crt 1002.key > 1002.pem
Step 3.将证书上传到 Yeastar S20
步骤 4.在模拟网关 FXS 上启用 TLS,并为分机 1001 上传客户密钥和证书。
转到 VoIP->SIP 账户安全,启用 TLS,并为分机 1001 上传客户密钥和证书。
步骤 5.在模拟网关 FXS 上注册分机 1001,并将其绑定到 FXS 端口。
注册分机 1001,并选择 TLS 作为传输模式。
如果要使用 SRTP 加密通话,请将加密更改为是(仅限 SRTP)
转到模拟 → 通道设置,将分机 1001 绑定到 FXS 端口。
步骤 6.在软电话上注册分机 1002。
在本例中,我们使用免费软电话软件 Blink 进行测试。
配置账户时,请注意以下与 TLS 相关的参数:
如果要使用 SRTP,请更改软电话上的 SRTP 配置。
测试呼叫
使用 1002 呼叫 1001,软电话上将显示加密图标。