diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile index 0a8d2773dc6e116ca84e62aac9e1cbd44c4a4e36..cfdba46212adcd51bf9397647db66dd7b83adea4 100644 --- a/dev/docker/Dockerfile +++ b/dev/docker/Dockerfile @@ -18,7 +18,7 @@ RUN mkdir -p /opt/rdpgw && cd /opt/rdpgw && \ openssl rsa -passin pass:$random -in server.pass.key -out key.pem && \ rm server.pass.key && \ openssl req -new -sha256 -key key.pem -out server.csr \ - -subj "/C=US/ST=VA/L=SomeCity/O=MyCompany/OU=MyDivision/CN=localhost" && \ + -subj "/C=US/ST=VA/L=SomeCity/O=MyCompany/OU=MyDivision/CN=rdpgw" && \ openssl x509 -req -days 365 -in server.csr -signkey key.pem -out server.pem # add user diff --git a/dev/docker/Dockerfile.xrdp b/dev/docker/Dockerfile.xrdp new file mode 100644 index 0000000000000000000000000000000000000000..d1743a2fb3530e0daa3b1369a271c50871951e92 --- /dev/null +++ b/dev/docker/Dockerfile.xrdp @@ -0,0 +1,7 @@ +FROM rattydave/docker-ubuntu-xrdp-mate-custom:20.04 + +RUN cd /etc/xrdp/ && \ + openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 \ + -subj "/C=US/ST=VA/L=SomeCity/O=MyCompany/OU=MyDivision/CN=xrdp" + +COPY xrdp.ini /etc/xrdp/xrdp.ini diff --git a/dev/docker/docker-compose-arm64.yml b/dev/docker/docker-compose-arm64.yml index b8c508e744de2da36982d4ff676a4dc392d11d77..f41985ac7081812888cc9bbb58ba1bfb83adbd46 100644 --- a/dev/docker/docker-compose-arm64.yml +++ b/dev/docker/docker-compose-arm64.yml @@ -28,7 +28,7 @@ services: xrdp: container_name: xrdp hostname: xrdp - image: rattydave/docker-ubuntu-xrdp-mate-custom:20.04 + image: bolkedebruin/docker-ubuntu-xrdp-mate-rdpgw:20.04 ports: - 3389:3389 restart: on-failure diff --git a/dev/docker/docker-compose.yml b/dev/docker/docker-compose.yml index 81d86f87fd28d07789e9daad9a9ce17d4ca237c4..1ad2f4cb09c12f2f6e00d32faea10da260758910 100644 --- a/dev/docker/docker-compose.yml +++ b/dev/docker/docker-compose.yml @@ -32,7 +32,7 @@ services: xrdp: container_name: xrdp hostname: xrdp - image: rattydave/docker-ubuntu-xrdp-mate-custom:20.04 + image: bolkedebruin/docker-ubuntu-xrdp-mate-rdpgw:20.04 ports: - 3389:3389 restart: on-failure diff --git a/dev/docker/xrdp.ini b/dev/docker/xrdp.ini new file mode 100644 index 0000000000000000000000000000000000000000..821349c3aecc79a04abeaf92b3842ad4213a8f11 --- /dev/null +++ b/dev/docker/xrdp.ini @@ -0,0 +1,208 @@ +[Globals] +; xrdp.ini file version number +ini_version=1 + +; fork a new process for each incoming connection +fork=true +; tcp port to listen +port=3389 +; regulate if the listening socket use socket option tcp_nodelay +; no buffering will be performed in the TCP stack +tcp_nodelay=true +; regulate if the listening socket use socket option keepalive +; if the network connection disappear without close messages the connection will be closed +tcp_keepalive=true +#tcp_send_buffer_bytes=32768 +#tcp_recv_buffer_bytes=32768 + +; security layer can be 'tls', 'rdp' or 'negotiate' +; for client compatible layer +security_layer=negotiate +; minimum security level allowed for client +; 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 +certificate=cert.pem +key_file=key.pem +; set SSL protocols +; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2' +ssl_protocols=TLSv1, TLSv1.1, TLSv1.2 +; set TLS cipher suites +#tls_ciphers=HIGH + +; Section name to use for automatic login if the client sends username +; and password. If empty, the domain name sent by the client is used. +; If empty and no domain name is given, the first suitable section in +; this file will be used. +autorun= + +allow_channels=true +allow_multimon=true +bitmap_cache=true +bitmap_compression=true +bulk_compression=true +#hidelogwindow=true +max_bpp=16 +new_cursors=false +; fastpath - can be 'input', 'output', 'both', 'none' +use_fastpath=both +; when true, userid/password *must* be passed on cmd line +#require_credentials=true +; You can set the PAM error text in a gateway setup (MAX 256 chars) +#pamerrortxt=change your password according to policy at http://url + +; +; colors used by windows in RGB format +; +blue=009cb5 +grey=dedede +#black=000000 +#dark_grey=808080 +#blue=08246b +#dark_blue=08246b +#white=ffffff +#red=ff0000 +#green=00ff00 +#background=626c72 + +; +; configure login screen +; + +; Login Screen Window Title +#ls_title=My Login Title + +; top level window background color in RGB format +ls_top_window_bg_color=009cb5 + +; width and height of login screen +ls_width=350 +ls_height=430 + +; login screen background color in RGB format +ls_bg_color=dedede + +; optional background image filename (bmp format). +#ls_background_image= + +; logo +; full path to bmp-file or file in shared folder +ls_logo_filename= +ls_logo_x_pos=55 +ls_logo_y_pos=50 + +; for positioning labels such as username, password etc +ls_label_x_pos=30 +ls_label_width=60 + +; for positioning text and combo boxes next to above labels +ls_input_x_pos=110 +ls_input_width=210 + +; y pos for first label and combo box +ls_input_y_pos=220 + +; OK button +ls_btn_ok_x_pos=142 +ls_btn_ok_y_pos=370 +ls_btn_ok_width=85 +ls_btn_ok_height=30 + +; Cancel button +ls_btn_cancel_x_pos=237 +ls_btn_cancel_y_pos=370 +ls_btn_cancel_width=85 +ls_btn_cancel_height=30 + +[Logging] +LogFile=xrdp.log +LogLevel=debug +EnableSyslog=true +SyslogLevel=error +; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug + +[Channels] +; Channel names not listed here will be blocked by XRDP. +; You can block any channel by setting its value to false. +; IMPORTANT! All channels are not supported in all use +; cases even if you set all values to true. +; You can override these settings on each session type +; These settings are only used if allow_channels=true +rdpdr=true +rdpsnd=true +drdynvc=true +cliprdr=true +rail=true +xrdpvr=true +tcutils=true + +; for debugging xrdp, in section xrdp1, change port=-1 to this: +#port=/tmp/.xrdp/xrdp_display_10 + +; for debugging xrdp, add following line to section xrdp1 +#chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210 + + +; +; Session types +; + +[Xorg] +name=Xorg - Resizing. +lib=libxup.so +username=ask +password=ask +ip=127.0.0.1 +port=-1 +code=20 + +#[X11rdp] +#name=X11rdp +#lib=libxup.so +#username=ask +#password=ask +#ip=127.0.0.1 +#port=-1 +#xserverbpp=24 +#code=10 + +[Xvnc] +name=Xvnc - Screen Sharing. +lib=libvnc.so +username=ask +password=ask +ip=127.0.0.1 +port=-1 +xserverbpp=16 +#delay_ms=2000 + +[Reconnect] +name=Reconnect +lib=libvnc.so +ip=127.0.0.1 +port=ask5910 +username=ask +password=ask +#delay_ms=2000 + +#[vnc-any] +#name=vnc-any +#lib=libvnc.so +#ip=ask +#port=ask5900 +#username=na +#password=ask +#pamusername=asksame +#pampassword=asksame +#pamsessionmng=127.0.0.1 +#delay_ms=2000 + +#[sesman-any] +#name=sesman-any +#lib=libvnc.so +#ip=ask +#port=-1 +#username=ask +#password=ask +#delay_ms=20