VirtualBox

source: vbox/trunk/doc/manual/en_US/dita/topics/vrde-crypt.dita@ 98657

Last change on this file since 98657 was 98549, checked in by vboxsync, 2 years ago

Docs: bugref:10302. Uploading .dita user manual files we received from the doc team on 25th Jan.

  • Property svn:eol-style set to native
File size: 5.3 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
3<topic xml:lang="en-us" id="vrde-crypt">
4 <title>RDP Encryption</title>
5
6 <body>
7 <p>
8 RDP features data stream encryption, which is based on the RC4
9 symmetric cipher, with keys up to 128-bit. The RC4 keys are
10 replaced at regular intervals, every 4096 packets.
11 </p>
12 <p>
13 RDP provides the following different authentication methods:
14 </p>
15 <ul>
16 <li>
17 <p><b outputclass="bold">RDP 4</b> authentication was
18 used historically. With RDP 4, the RDP client does not
19 perform any checks in order to verify the identity of the
20 server it connects to. Since user credentials can be
21 obtained using a man in the middle (MITM) attack, RDP4
22 authentication is insecure and should generally not be used.
23 </p>
24 </li>
25 <li>
26 <p><b outputclass="bold">RDP 5.1</b> authentication
27 employs a server certificate for which the client possesses
28 the public key. This way it is guaranteed that the server
29 possess the corresponding private key. However, as this
30 hard-coded private key became public some years ago, RDP 5.1
31 authentication is also insecure.
32 </p>
33 </li>
34 <li>
35 <p><b outputclass="bold">RDP 5.2 or later</b>
36 authentication uses Enhanced RDP Security, which means that
37 an external security protocol is used to secure the
38 connection. RDP 4 and RDP 5.1 use Standard RDP Security. The
39 VRDP server supports Enhanced RDP Security with TLS protocol
40 and, as a part of the TLS handshake, sends the server
41 certificate to the client.
42 </p>
43 <p>
44 The <codeph>Security/Method</codeph> VRDE property sets
45 the desired security method, which is used for a connection.
46 Valid values are as follows:
47 </p>
48 <ul>
49 <li>
50 <p><b outputclass="bold">Negotiate.</b> Both
51 Enhanced (TLS) and Standard RDP Security connections are
52 allowed. The security method is negotiated with the
53 client. This is the default setting.
54 </p>
55 </li>
56 <li>
57 <p><b outputclass="bold">RDP.</b> Only Standard RDP
58 Security is accepted.
59 </p>
60 </li>
61 <li>
62 <p><b outputclass="bold">TLS.</b> Only Enhanced RDP
63 Security is accepted. The client must support TLS.
64 </p>
65 <p>
66 The version of OpenSSL used by Oracle VM VirtualBox supports
67 TLS versions 1.0, 1.1, 1.2, and 1.3.
68 </p>
69 </li>
70 </ul>
71 <p>
72 For example, the following command enables a client to use
73 either Standard or Enhanced RDP Security connection:
74 </p>
75 <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> --vrde-property "Security/Method=negotiate"</pre>
76 <p>
77 If the <codeph>Security/Method</codeph> property is set to
78 either Negotiate or TLS, the TLS protocol will be
79 automatically used by the server, if the client supports
80 TLS. However, in order to use TLS the server must possess
81 the Server Certificate, the Server Private Key and the
82 Certificate Authority (CA) Certificate. The following
83 example shows how to generate a server certificate.
84 </p>
85 <ol>
86 <li>
87 <p>
88 Create a CA self signed certificate.
89 </p>
90 <pre xml:space="preserve">openssl req -new -x509 -days 365 -extensions v3_ca \
91 -keyout ca_key_private.pem -out ca_cert.pem</pre>
92 </li>
93 <li>
94 <p>
95 Generate a server private key and a request for signing.
96 </p>
97 <pre xml:space="preserve">openssl genrsa -out server_key_private.pem
98openssl req -new -key server_key_private.pem -out server_req.pem</pre>
99 </li>
100 <li>
101 <p>
102 Generate the server certificate.
103 </p>
104 <pre xml:space="preserve">openssl x509 -req -days 365 -in server_req.pem \
105 -CA ca_cert.pem -CAkey ca_key_private.pem -set_serial 01 -out server_cert.pem</pre>
106 </li>
107 </ol>
108 <p>
109 The server must be configured to access the required files.
110 For example:
111 </p>
112 <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> \
113 --vrde-property "Security/CACertificate=path/ca_cert.pem"</pre>
114 <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> \
115 --vrde-property "Security/ServerCertificate=path/server_cert.pem"</pre>
116 <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> \
117 --vrde-property "Security/ServerPrivateKey=path/server_key_private.pem"</pre>
118 </li>
119 </ul>
120 <p>
121 As the client that connects to the server determines what type
122 of encryption will be used, with <userinput>rdesktop</userinput>,
123 the Linux RDP viewer, use the <codeph>-4</codeph> or
124 <codeph>-5</codeph> options.
125 </p>
126 </body>
127
128</topic>
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette