Apuntes de Kirby
  • 👀whoami
  • 🦉Redes
    • Introducción Redes
      • Organizaciones
      • Historia
      • Puntos de conexión
      • Métodos de acceso a la red
    • Clasificación de las redes
    • Topología de las red
    • Direccionamiento IP
      • IPv4
        • Subredes IPv4
        • Superredes IPv4
        • VLSM
      • IPv6
      • MAC
      • NAT
    • Enrutamiento estático
    • Enrutamiento dinámico
      • RIPv1 & RIPv2
      • Tablas de enrutamiento
      • 🚧Redes conmutadas
    • CML
      • 🚧1er CML lab
    • CISCO
      • ¿Qué son las VLAN?
        • Ejemplo 1 de VLAN
        • Ejemplo 2 de VLAN
      • Acceso y password
      • NAT / PAT
    • Firewalls
      • Tipos de firewalls
      • ZPF
        • Funcionamiento
        • Configurando un ZPF
      • Sophos Firewall XG
        • Sophos home
        • Aprendiendo a usar Sophos
      • pfSense
        • Instalando pfSense
        • OpenVPN en pfSense
        • Port Forward
        • Alias
    • Proxy
      • Squid en pfSense
        • Squid Proxy Server
        • SquidGuard Proxy
      • Proxy reverse Nginx
    • 🚧Suricata
  • 🐝Servicios
    • Servidores Web
      • Nginx
        • NGINX, hosts virtuales
        • Hosts virtuales basados en dominio
        • PHP-FPM
        • Nginx: PHP y MySQL
          • MySQLi - PHP
        • En Alpine linux
        • 🚧Proxy
    • Servidores de correo
      • Seguridad en el correo
      • Postfix
      • hMailServer
      • Clientes de correo
        • Mailutils
        • Mutt
    • Servidores de FTP
      • FileZilla
      • VSFTPD
      • FTP vía IIS
    • Servidores DNS
      • DNS - Windows Server 2016
      • DNS - Ubuntu Server 22.04
      • Systemd
    • Servidores DHCP
      • DHCP-Windows Server 2016
      • DHCP-Ubuntu Server 22.04
    • Servidores MySQL
    • 🚧Mensajería instantánea
      • Ejabberd
    • 🚧Imágenes - Vídeos
      • FFMPEG + YT-DLP
      • Plex
      • Jellyfin
      • Plesk
      • RTMP
      • SRT
    • Webmin + Virtualmin
  • NextCloud
  • 🔑Seguridad
    • NAS
      • Instalación Synology NAS en VirtualBox
        • Creación de volúmenes y su uso
        • Actualización Synology NAS
        • Creación de usuarios y carpetas compartidas
        • Funciones del panel de control
          • Acceso por SSH
          • Configuración de los servicios de archivos
          • Configuración de red
          • Copias de seguridad (restauración)
          • Seguridad
          • Personalizar páginas de inicio
          • Servicio de notificaciones
        • Centro de paquetes Synology
          • Servidores multimedia
          • Paquetes de utilidades
          • Cloud Sync
          • Hyper Backup
          • Synology Office
      • Truenas
        • Rsync en Truenas
      • OpenmediaVault
    • Backups
      • Rsync
        • Ejemplo de rsync
    • ¿Qué son las ACL?
    • SOPS/AGE
    • RAID
      • mdadm
  • 🐳Virtualización
    • Proxmox
      • Instalar en VMWare
      • Instalar en VirtualBox
      • Entorno Proxmox
      • Almacenamiento local
      • Añadir discos
      • Clonar
      • Qemu agent
      • Linux container - LXC
      • Clúster
      • Red Interna
      • 🚧Proxmox Backup
      • 🚧Otras consideraciones
    • Alpine Linux
    • Contenedores
      • Docker
        • YAML
        • Instalando Docker
        • Portainer
          • Instalando Portainer
          • Dentro de Portainer
        • Docker volumen
        • Docker compose
          • Docker: PHP y MySQL
          • Importar sitio web en Docker
          • Instalando Wordpress
      • Pi-hole
        • Instalando Pi-hole en Docker
        • Instalando Pi-hole en Debian
        • RDP
          • RDP - Docker
  • 🐞Misceláneas
    • Datos - codificación
    • IPTables
    • Túnel con Cloudflare
    • Servidor de video
    • Comandos de Linux
    • Anaconda & Spyder
    • CGI - NGINX
    • Arduino
      • Capítulo 0 Blink
      • Capítulo 1 Led
      • Capítulo 2 Botton & LED
  • ⁉️Interesante
    • Curioso
    • Ideas
Powered by GitBook
On this page
  • Protocolo de escritorio remoto
  • Funcionamiento
  • Seguridad
  • Instalando xrdp en docker
  • Links

Was this helpful?

Edit on GitHub
  1. Virtualización
  2. Contenedores
  3. Pi-hole

RDP

En Docker

Protocolo de escritorio remoto

RDP es un protocolo de escritorio remoto disponible para la mayoría de los sistemas operativos. Este protocolo permite que el escritorio de un PC sea controlado a distancia por un usuario remoto.

RDP está encapsulado y cifrado dentro de TCP y se usa para la comunicación entre un terminal server y un cliente. Este protocolo se basa y es una extensión de la familia de estándares de protocolo T-120, siendo compatible con diferentes canales permitiendo canales virtuales independientes para llevar información del tipo: datos, comunicación de dispositivo serie, Información de licencias, datos altamente cifrados, como el teclado, la actividad del mouse, etc.

Funcionamiento

El protocolo RDP habilita un canal de red específico para enviar datos de ida y vuelta entre el escritorio remoto y el PC cliente a través del puerto 3389.

  • Los movimientos del ratón, las pulsaciones de teclas, la visualización del escritorio y el resto de datos necesarios se envían a través de este puerto por TCP/IP (protocolo de transporte).

  • También cifra los datos para que las conexiones a través de la Internet pública sean más seguras.

  • Dado que las pulsaciones del teclado y del ratón tienen que ser codificadas y transmitidas a través de Internet, es habitual que se produzcan ligeros retrasos, como es el caso de la visualización del escritorio tiene que ser transmitida de vuelta al usuario.

Seguridad

RDP tiene algunas vulnerabilidades de seguridad. Entre las vulnerabilidades más importantes tenemos:

  • Credenciales de inicio de sesión de usuario débiles. La mayoría de PC están protegidas por una contraseña que puede no ser muy segura. En muchas ocasiones es utilizada dicha contraseña para iniciar sesión remota vía RDP. Las empresas no suelen gestionar este tipo de contraseñas y dejan las conexiones remotas abiertas a ataques de fuerza bruta.

  • Acceso al puerto sin restricciones. El puerto por defecto de RDP es el 3389, que puede ser utilizado para llevar a cabo ataques en ruta, entre otros.

  • Otra de las vulnerabilidades más graves de RDP se denomina BlueKeep (CVE-2019-0708). Dicha vulnerabilidad permite a los atacantes ejecutar cualquier código que deseen en un PC si envían una solicitud al puerto (generalmente 3389). Se trata de un gusano que puede propagarse a todas los equipos de una red sin mediación de los usuarios.

    • Microsoft emitió un parche que corrige esta vulnerabilidad en 2019 y es esencial que los administradores del sistema lo instalen.

  • El RDP no necesita de una VPN para su uso y puede ser interesante para el trabajo en remoto, sin embargo los usuarios pueden experimentar retardo, si su conexión a Internet es lenta, por lo que puede ser una experiencia frustrante. Finalmente, tiene vulnerabilidades de seguridad graves que lo dejan expuesto a ciberataques.

Instalando xrdp en docker

Me copié la versión Docker cli:

docker run -d \
  --name=rdesktop \
  --security-opt seccomp=unconfined `#optional` \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -p 3389:3389 \
  -v /var/run/docker.sock:/var/run/docker.sock `#optional` \
  -v /path/to/rdesktop/data:/config `#optional` \
  --device /dev/dri:/dev/dri `#optional` \
  --shm-size="1gb" `#optional` \
  --restart unless-stopped \
  lscr.io/linuxserver/rdesktop:latest

Eliminé las líneas marcadas como #optional porque solo quiero hacer una prueba básica. Más adelante si haremos una configuración más completa. De este modo estamos lanzando un contenedor a partir de una instancia de una imagen.

docker run -d \
  --name=rdesktop \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -p 3389:3389 \
  lscr.io/linuxserver/rdesktop:latest

Nota: El nombre de usuario y contraseña son: abc/abc.

Podemos comprobar que se nos ha creado el contenedor rdesktop y que está en ejecución.

Ahora necesitamos probar a conectarnos. Para ello necesitamos una aplicación cliente de escritorio remoto. En mi caso utilizaré Remmina porque me quiero conectar desde un PC con Debian. Remmina es una aplicación de código abierto diseñada para brindar acceso remoto a otros equipos y es compatible con protocolos como RDP, VNC, SSH.

Al acceder a la aplicación Remmina, se levanta una pantalla como la siguiente donde ponemos la IP:port por defecto de acceso:

Y listo, ya tenemos acceso al contenedor donde tenemos instalado el escritorio remoto.

To be continued ...

Links

PreviousInstalando Pi-hole en DebianNextRDP - Docker

Last updated 9 months ago

Was this helpful?

Desde linuxserver:

Si quisiera instalar XRDP en modo standalone:

🐳
https://docs.linuxserver.io/images/docker-rdesktop/
https://docs.linuxserver.io/images/docker-rdesktop/
https://hayhost.am/knowledgebase/349/-How-to-Install-XRDP-Server-Remote-Desktop-on-Debian-11or12.html
https://www.cloudflare.com/es-es/learning/access-management/what-is-the-remote-desktop-protocol/
Contenedor lscr.io/linuxserver/rdesktop:latest
Remmina
User: abc | Password: abc
El escritorio remoto