¿Existe una forma segura de tener un servidor de terminal con acceso público?

17

TL; DR Estamos analizando la apertura del puerto 3389 para un servidor de terminal. Todo lo que he visto es que es suicida, pero sin una buena explicación de por qué. ¿Es realmente tan malo?

Estamos considerando configurar un servidor de terminal para que el personal pueda acceder de forma remota. Van a utilizar una gran cantidad de dispositivos que incluyen iPads, Divices de Android, Windows (XP a 8), OSX, Linux, casi cualquier cosa con un cliente RDP.

Quiero que esto sea estúpido simple y funcione en todo. Mi plan es configurar remote.example.com (obviamente con nuestro nombre de dominio real) para apuntar a nuestro servidor y luego asegurarlo mediante:

  1. Cortafuegos todo excepto el puerto 3389.
  2. Establezca el nivel de cifrado más alto (con un certificado) y no permita "Negociar"
  3. Bloquee las cuentas con más de 7 intentos fallidos y vea tal vez algún script para bloquear en función de las direcciones IP con inicios de sesión fallidos ( enlace )
  4. Otras cosas obvias, como las actualizaciones del sistema operativo y los antivirus.

Sin embargo, cuando hablo sobre la configuración de un RDP orientado al público, las respuestas generalmente están en línea con:

"No abra el puerto 3389, coloque una VPN delante de él" , pero, por lo que puedo ver, los dos argumentos principales para esto son el cifrado (¿RDP ya hace esto? ) y una mejor autenticación porque la gente usará fuerza bruta RDP. Ya tenemos una configuración PPTP VPN pero solo usa la misma combinación de nombre de usuario y contraseña de la cuenta para autenticarse como lo haría nuestro servidor de Terminal Server, por lo que no veo un servidor de Terminal Server en nuestra superficie de ataque. El único argumento que creo que tiene algún peso es configurar una VPN (como Cisco) que admita la autenticación de dos factores, que suena bien pero que reducirá enormemente la cantidad de dispositivos compatibles.

"No lo hagas, usa una puerta de enlace de Escritorio remoto" Hasta donde puedo ver que lee enlace , las ventajas de una Puerta de enlace de RD son:

Administre múltiples servidores desde un único punto de entrada con un control detallado sobre quién puede conectarse a qué y así sucesivamente. - Suena bien, pero solo tenemos un servidor de terminal.

Utiliza el puerto 443 / HTTPS para que las personas que se encuentran detrás de cortafuegos de salida mal configurados puedan conectarse. Suena bien, pero RDP ya ofrece cifrado y cambiar el puerto no agrega seguridad. Además, para toda la facilidad adicional de no tener que lidiar con los cortafuegos salientes, viene la falta de soporte de la mayoría de los clientes RDP (la última vez que verifiqué que los clientes OSX no podían conectarse a la Puerta de enlace de Escritorio remoto)

"No use RDP, use (Hamachi / Team Viewer / Jump Desktop / VNC ... en serio / alguna otra herramienta RDP) es más seguro" Para mí, cualquiera de estas sugerencias va desde poner todos sus huevos en una cesta (Microsoft) hasta poner todos sus huevos en otra cesta (Hamachi) pero sin un beneficio de seguridad tangible.

¿Solo estoy siendo desdeñoso? ¿Es una mala idea configurar un servidor RDP público?

    
pregunta Hybrid 09.04.2013 - 10:56
fuente

3 respuestas

12

RDP es un protocolo complejo que requiere implementaciones complejas y, por lo tanto, es probable que contenga errores. Las versiones iniciales del protocolo no incluían mucho cifrado. Las versiones posteriores son mejores y pueden usar un sistema de cifrado casero (que puede o no puede usar un certificado para incrustar la clave pública del servidor), o SSL / TLS (que necesariamente utiliza un certificado de servidor). Tenga en cuenta que, en este último caso, los registros TLS se encapsulan en paquetes específicos de RDP, por lo que no puede contentarse diciendo "esto es solo SSL".

No hay ninguna razón conceptual que haga que RDP sea inseguro de manera inherente; pero toda la torre de protocolos internos y la falta general de documentación decente es un problema. Ya es difícil saber qué características de serán compatibles con un cliente determinado. La implementación de Microsoft tuvo su gran cantidad de explotaciones remotas, por ejemplo. éste y que uno .

La respuesta de Microsoft es que si desea seguridad, necesita Remote Desktop Gateway, que agrega otra capa, pero en el exterior: un SSL / TLS estándar, con autenticación de usuario y RDP en Es (así que terminas con un sándwich SSL-RDP-SSL-RDP). La idea es que un servidor SSL de cara al público es una situación conocida con código que se ha depurado completamente, a través de años de exposición (en IIS, para servidores web HTTPS). RD Gateway no evitará los agujeros de RDP, pero las vulnerabilidades se limitarán a las personas que pueden obtener el SSL externo, es decir, las personas que pueden abrir una sesión en el propio servidor y ya tienen mucha energía. Por supuesto, RD Gateway no es gratuito, por lo que es el mejor interés de Microsoft vender licencias para él.

Tenga en cuenta que el soporte del cliente para la Puerta de enlace de Escritorio remoto no es un hecho, cuando el software del cliente no es la implementación de Microsoft.

Para resumir , solo hay una fuente autorizada para RDP (Microsoft) y ellos mismos han renunciado a la idea de afirmar que su producto está lo suficientemente libre de errores como para ser público. Esto no augura nada bueno. Algunos de los discursos alarmistas sobre el tema podrían ser impulsados por la necesidad de vender licencias de Puerta de enlace de RD, pero tiene sentido que hacer que la implementación de RDP de Microsoft sea difícil, debido a la complejidad y la larga historia de del código.

    
respondido por el Thomas Pornin 09.04.2013 - 12:47
fuente
1

Puedes usar OpenVPN, que es independiente de los métodos de Windows VPN. Puede instalar un servidor ssh (como Bitvise WinSSHD) y canalizar todo el tráfico a través de SSH. Sin embargo, no puedo decirle si esto es más seguro que la situación actual.

    
respondido por el SPRBRN 22.05.2014 - 12:51
fuente
1

Hay algunas formas de proteger RDP.

  • No use el puerto público # 3389. Es la mejor manera de disminuir los intentos de fuerza bruta.
  • Permitir solo ciertas direcciones IP (o rango de direcciones IP) para la dirección IP pública. Utilice enrutadores inteligentes. Uso mikrotik ( enlace ) o Cisco.
  • Configure el bloqueo del cortafuegos para muchos intentos. Utilizo herramientas de terceros para bloquear el tráfico. Una herramienta gratuita es de enlace . Hay varios más pero este me gusta porque es gratis. Esta herramienta analiza los registros de eventos en busca de inicios de sesión fallidos y luego agrega IP al firewall de Windows para el bloqueo.
respondido por el Mant 14.01.2016 - 17:19
fuente

Lea otras preguntas en las etiquetas