; security layer can be 'tls', 'rdp' or 'negotiate'
; for client compatible layer
security_layer=negotiate
; minimum security level allowed for client for classic RDP encryption
; use tls_ciphers to configure TLS encryption
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high
; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
; note this needs the user xrdp to be a member of the ssl-cert group, do with e.g.
;$ sudo adduser xrdp ssl-cert
certificate=
key_file=
; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1.2, TLSv1.3
; set TLS cipher suites
#tls_ciphers=HIGH
[ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied
...
[INFO ] Non-TLS connection established from ::ffff:127.0.0.1 port 45676: encrypted with standard RDP security
要使用此私钥,您需要进行额外的操作:
sudo adduser xrdp ssl-cert
sudo service xrdp restart
此后,TLS 将被启用:
客户端将显示警告
检查这是您的系统上安装的证书:
在服务器上运行命令
openssl x509 -text -noout -in /etc/xrdp/cert.pem
在客户端中单击View Certificate
并比较字段Serial Number:它们必须匹配。
瞧:TLS 已启用
[INFO ] TLS connection established from ::ffff:127.0.0.1 port 55732: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
客户端和服务器在建立连接时就如何保护数据达成一致。该过程中的主要角色由服务器承担。服务器设置文件
xrdp
位于/etc/xrdp/xrdp.ini
。Windows 中的 RDP 客户端支持两种不同的隐私机制:
RDP 安全性设置起来更容易一些,而且它支持加密算法和 CPU 负载不同的多个级别。由于该协议不提供服务器身份验证,因此存在中间人攻击的风险。
TLS 使用第三方库来保护流量,因此如果及时更新此类库,它代表了最现代和最有效的机制。此外,在 TLS 握手期间,会验证服务器证书以防止中间人攻击。
该参数
security_layer=[tls|rdp|negotiate]
决定了将使用什么来保护流量。如果是这种情况negotiate
,客户端和服务器将协商是否使用 tls 或 rdp。我从来没有用过它
TLS
,内置RDP
工具对我来说已经足够了。RDP 保护级别由参数决定
crypt_level=[low|medium|high|fips]
low
无加密medium
40位流密码high
AES-128fips
- 请勿使用。创建此选项是为了让 RDP 能够在美国政府机构中使用。默认值
因此,默认情况下,XRDP 允许客户端和服务器协商安全协议。如果选择 RDP 加密协议,则流量将使用带有 128 位密钥的 AES 加密。
当您安装时
xrdp
,文件就会出现/etc/xrdp/cert.pem
/etc/xrdp/key.pem
。这些是 XRDP 默认用来保护传入连接的。但!这些实际上是文件的符号链接这些文件由 Ubuntu/Debian 安装程序生成。从某种意义上说,这些是您的服务器的唯一标识符。
但是,开箱即用的 XRDP 使用 RDP 加密。原因是 XRDP 服务代表用户运行
xrdp
,而该用户无权访问 /etc/ssl/private/ 文件夹:要使用此私钥,您需要进行额外的操作:
此后,TLS 将被启用:
客户端将显示警告
检查这是您的系统上安装的证书:
View Certificate
Serial Number
:它们必须匹配。瞧:TLS 已启用