jueves, 3 de agosto de 2017

Puerta de Enlace para escritorio Remoto

La conexión de Escritorio Remoto permite trabajar con un equipo mediante una conexión remota, ya sea una máquina virtual o un servidor de sesiones. ¿Pero que pasa cuando el usuario no se encuentra dentro de la red interna, sino que tiene que hacer la conexión desde el exterior? No puede hacer la conexión remota directa mediante Internet a los equipos internos. Bien, no se tendría que poder hacer. Ya he visto alguna que otra instalación publicando el puerto 3389 o, incluso, rangos enteros que apuntan a las máquinas internas. Sin ningún tipo de control ni seguridad. (Abrir comillas de sarcasmo) “Quieres acceder a tu máquina desde fuera, no hay problema, IP pública dos puntos y el puerto que le corresponda.” (cerrar comillas de sarcasmo) NO, NO y NO. Así NO. Después nos pasa lo que nos pasa y no sabemos el porque.
Podemos conectar directamente desde fuera sin tener que utilizar una conexión VPN en la red interna ni inventos de puertos de comunicación. Simplemente con la publicación del puerto TCP 443 en un servicio de proxy reverso que se encargará de controlar quien se puede conectar, quien no y dónde. Y es posible gracias al servicio de puerta de enlace de Escritorio Remoto.
A grandes rasgos consiste en hacer pasar la petición de conexión remota, puerto TCP 3389, por dentro de un túnel SSL que se establece entre el servidor de la puerta de enlace y el cliente sólo para esta finalidad. Es una petición a un servicio Web, por lo que no esperéis utilizar el navegador para ver ninguna página web a diferencia del portal web de Escritorio Remoto. Esta conexión se realiza con el cliente.
Diagrama de concepte de la porta enllaç Escriptori Remot.
Diagrama de concepto de la puerta enlace Escritorio Remoto.

En esta entrada veremos como instalar y configurar la puerta enlace de Escritorio Remoto en un servidor, para permitir la conexión desde el exterior sin necesidad de establecer previamente una VPN.

Habilitar la puerta enlace escritorio remoto

Para seguir el ejemplo de esta entrada, se utilizará el mismo servidor que se desplegó en la entrada de portal web de Escritorio Remoto. Normalmente, en entornos productivos este rol se encontrará en otro servidor.
Abrir el Administrador del servidor en el servidor donde deba tener este rol. Asegurar que el administrador del servidor tiene dados de alta todos los servidores que forman parte de la implementación de escritorio remoto. Para comprobar que los servidores que necesitamos están dados de alta, hacer clic en Todos los servidores para verlos.
Porta enllaç Escriptori Remot - pantalla configuració 01
Hecha la comprobación, en el menú de la izquierda, existe la opción de gestionar el entorno de Escritorio Remoto. Hacer clic en Servicios de Escritorio Remoto.
Porta enllaç Escriptori Remot - pantalla configuració 02
En la pantalla principal de Información general, en el apartado Información general de implementación, hacer clic en puerta enlace de Escritorio Remoto.
Porta enllaç Escriptori Remot - pantalla configuració 03
Seleccionar el servidor que debe tener el rol de puerta enlace de Escritorio Remoto, añadirlo en el apartado de Seleccionada. Hacer clic en el botón Siguiente.
Porta enllaç Escriptori Remot - pantalla configuració 04
Indicar el nombre por el que se accederá al servicio de puerta enlace de escritorio remoto. Al necesitar un certificado, el sistema creará uno con este nombre auto firmado, que no será el que tenemos que utilizar. El nombre se tendrá que poder resolver públicamente para llegar al servicio.
Sin embargo, si el servicio de puerta enlace se ubica en el mismo servidor que el portal web de Escritorio Remoto. El nombre público debe ser el mismo porque utilizan el mismo puerto de entrada. Hacer clic en el botón Siguiente.
Porta enllaç Escriptori Remot - pantalla configuració 05
Resumen de las operaciones a realizar. Si todo está correcto, hacer clic en el botón Agregar.
Porta enllaç Escriptori Remot - pantalla configuració 06
Terminada la instalación del rol, queda pendiente la configuración del certificado. Hacer clic en el enlace de Configurar certificado.
Porta enllaç Escriptori Remot - pantalla configuració 07
Se abre la ventana de propiedades de la implementación por el apartado de certificados. Se comprueba que la puerta enlace no dispone de un certificado asignado. Se puede utilizar un certificado de la entidad propia o de una entidad comercial, en ambos casos los clientes deben confiar con la entidad emisora del certificado.
En el ejemplo, como que también hay instalado el portal web de Escritorio Remoto que también utiliza el puerto HTTPS (TCP-443), el certificado debe ser el mismo. Hacer clic en puerta enlace de Escritorio Remoto. Hacer clic en el botón Seleccionar certificado existente.
Porta enllaç Escriptori Remot - pantalla configuració 08
Indicar el certificado que contiene la clave privada correspondiente, tal como se vió en el apartado de certificados en la entrada portal web de Escritorio Remoto. Hacer clic en el botón Aceptar.
Porta enllaç Escriptori Remot - pantalla configuració 09
Hacer clic en el botón agregar aplicar los cambios.
Porta enllaç Escriptori Remot - pantalla configuració 10
Al revisar ahora la información general de implementación, se comprueba que se ha creado la puerta enlace de Escritorio Remoto.
Porta enllaç Escriptori Remot - pantalla configuració 11
Si se editan las propiedades de la implementación, hacer clic en Tareas > Editar propiedades de la implementación.
Porta enllaç Escriptori Remot - pantalla configuració 12
En el apartado de certificados, se ha cargado correctamente el certificado de la puerta enlace.
Porta enllaç Escriptori Remot - pantalla configuració 13
También tenemos un nuevo apartado, la puerta enlace de Escritorio Remoto. Donde se configura, en rasgos generales, el nombre del acceso a la puerta enlace y el tipo de autenticación a utilizar. Asegurar que el nombre externo a utilizar por la puerta enlace coincide con el certificado.
Porta enllaç Escriptori Remot - pantalla configuració 14

Administrar la puerta enlace de Escritorio Remoto

La puerta enlace de Escritorio Remoto se administra mediante una herramienta propia fuera del entorno general del administrador del servidor. En el menú superior de la derecha, desplegamos la opción Herramientas > Terminal Services > Administrador de la puerta enlace de Escritorio Remoto.
Porta enllaç Escriptori Remot - pantalla configuració 15
Para el funcionamiento correcto de la puerta enlace, hay tres parámetros a configurar: el servidor, las directivas de autorización de conexiones y las directivas de autorización de recursos. A continuación se describe la parte de configuración de cada parámetro.
Porta enllaç Escriptori Remot - pantalla configuració 16

Servidor

Para configurar los parámetros del servidor, hay que hacer clic con el botón derecho sobre el nombre del servidor, hacer clic en Propiedades.
Porta enllaç Escriptori Remot - pantalla configuració 17
  • General. Para limitar el número de conexiones. Por defecto queda seleccionada la opción conexiones ilimitadas.
Porta enllaç Escriptori Remot - pantalla configuració 18
  • Certificado SSL. Comprobar que sea el correcto. Desde este apartado también se puede cambiar.
Porta enllaç Escriptori Remot - pantalla configuració 19
  • Configuración de transporte HTTP y UDP. Por qué dirección y puerto escuchará el servidor. Como que no queremos  complicar el tema de puertos a los usuarios, dejamos el TCP 443. Porta enllaç Escriptori Remot - pantalla configuració 20
  • Almacén CAP. Donde se encuentran las directivas de autorización de conexiones. Para no complicar en estos momentos la configuración, se utiliza el almacén local.Porta enllaç Escriptori Remot - pantalla configuració 21
  • Granja de servidores. Sí, es posible disponer de una granja de servidores de puerta enlace para múltiples conexiones y alta disponibilidad. Tampoco es el caso. Porta enllaç Escriptori Remot - pantalla configuració 22
  • Auditoria. Como su nombre indica, permite registrar quien se conecta, si lo hace de forma correcta o no, etc… Porta enllaç Escriptori Remot - pantalla configuració 22a
  • Protocolo de puente SSL. En caso de hacer saltos entre servidores, por ejemplo en el encadenamiento de servidores en una DMZ. Porta enllaç Escriptori Remot - pantalla configuració 23
  • Mensajería. Útil para enviar mensajes a los usuarios que se conecten para informar de mantenimientos o aviso legal. Porta enllaç Escriptori Remot - pantalla configuració 24
Hacer clic en el botón Aceptar cuando lo tengamos a nuestro gusto.

Directivas de autorización de conexiones

Se define quien se puede conectar mediante la puerta enlace de escritorio remoto. Por defecto, el instalador ya ha creado una que se puede aprovechar para modificar según nuestras necesidades o bien deshabilitar.
Se pueden crear tantas directivas como sean necesarias, teniendo en cuenta diferentes perfiles de usuarios – equipos a los que poder conectar, por ejemplo.
Porta enllaç Escriptori Remot - pantalla configuració 25
Botón derecho sobre la directiva de autorización de conexión, hacer clic en el botón Propiedades.
Porta enllaç Escriptori Remot - pantalla configuració 26
  • General. Indica el nombre descriptivo de la directiva. Intentar que sea comprensible para vosotros mismos. Porta enllaç Escriptori Remot - pantalla configuració 27
  • Requerimientos. Como se tiene que hacer la autenticación: Por contraseña, por tarjeta o ambas. Dejar por Contraseña. A que grupo de usuarios debe pertenecer el usuario para poder validar. Por defecto hay Usuarios del dominio. No hace falta decir que no es nada recomendable este grupo. Haciendo clic en el botón Agregar grupo se puede seleccionar un grupo de seguridad más adecuado para permitir el acceso a quien realmente debe acceder.Porta enllaç Escriptori Remot - pantalla configuració 28
  • Redirección de dispositivos. Por defecto está todo habilitado, pero puede ser que no interese que el usuario tenga acceso a sus unidades locales desde la sesión remota. En la imagen sólo se permite el uso del portapapeles entre el dispositivo y la conexión de escritorio remoto.Porta enllaç Escriptori Remot - pantalla configuració 29
  • Tiempo de espera. ¿Que hacemos cuando el usuario deja la conexión abierta pero no hace nada? ¿Y la sesión abierta, pero cierra la aplicación de conexión? Se nos puede colapsar el servidor con conexiones abiertas que no se utilizan. Limitar los tiempos de espera e inactividad es una buena manera de sanear estas conexiones. Los valores por defecto pueden ser los adecuados, pero todo depende del comportamiento de vuestros usuarios.   Porta enllaç Escriptori Remot - pantalla configuració 30
Hacer clic en el botón Aceptar cuando lo tengamos a nuestro gusto.

Directivas de autorización de recursos

Esta directiva es un casamiento entre usuarios y equipos a los que se pueden conectar. Tan sencillo como esto. Al igual que el anterior se puede utilizar la que ha creado por defecto o crear de nuevas.Porta enllaç Escriptori Remot - pantalla configuració 31
Botón derecho sobre la directiva de autorización de recursos, hacer clic en el botón PropiedadesPorta enllaç Escriptori Remot - pantalla configuració 32
  • General. Indica el nombre descriptivo de la directiva. Intentar que sea comprensible para vosotros mismos. Porta enllaç Escriptori Remot - pantalla configuració 33
  • Grupos de usuarios. Los grupos de Active Directory que tendrán acceso a los recursos que indicaremos a continuación. No hay que volver a recordar que el grupo Usuarios del dominio no es adecuado. Porta enllaç Escriptori Remot - pantalla configuració 34
  • Recursos de red. El grupo de seguridad de el Active Directory que contiene las cuentas de los equipos a los que se permite la conexión al grupo de seguridad de usuarios anterior. Tampoco hay que decir que el grupo Equipos del dominio no es el adecuado, ya que incluye a todos los equipos del dominio.Porta enllaç Escriptori Remot - pantalla configuració 35
  • Puertos permitidos para la conexión de escritorio remoto. Por defecto se utiliza el puerto 3389, pero se puede dar el caso de que hayáis modificado este puerto en alguno de los servidores y requiera cambiar el puerto.Porta enllaç Escriptori Remot - pantalla configuració 36
Hacer clic en el botón Aceptar cuando lo tengamos a nuestro gusto
Y sí, ya hemos terminado la configuración. Ahora sólo queda publicar el puerto TCP 443 para que vaya al servidor que tiene la puerta enlace en nuestro cortafuegos y configuar los clientes para poder conectar desde fuera mediante la puerta enlace.


Referencia:https://www.jmsolanes.net/es/puerta-enlace-escritorio-remoto/

jueves, 22 de junio de 2017

Debian Jessie PHP access Oracle Database (OCI8) (Linux)

Se necesita instalar un PHP Web Server para poder acceder a la base de datos Oracle.
        Configurar PHP con OCI8
    1. Primero instalamos Apache y  PHP
    1. Bajamos los dos paquetes necesarios para Oracle:
Oracle Instant Client Downloads for Linux x86-64
Instant Client Package – Basic Lite: Smaller version of the Basic package, with only English error messages and Unicode, ASCII, and Western European character set support
Download instantclient-basiclite-linux.x64-12.1.0.2.0.zip (31,302,454 bytes) (cksum – 3592144768)
Instant Client Package – SDK: Additional header files and an example makefile for developing Oracle applications with Instant Client
Download instantclient-sdk-linux.x64-12.1.0.2.0.zip (667,174 bytes) (cksum – 1047596065)
Nota: si no están estas dos versiones no importa se puede bajar la mas actual.
Oracle_Instant_Client

    1. Subir los dos paquetes al Servidor, descomprimirlos en la carpeta (luego los moveremos de lugar):
Creamos un link del archivo libclntsh.so.12.1 a libclntsh.so
Asegurarse que los archivos y carpetas se encuentran dentro del skd/:
ls -alt /usr/lib/oracle/12.1/client64/lib/
De manera opcional agregamos el LD_LIBRARY dentro del archivo: /etc/ld.so.conf.d/x86_64-oracle.conf
Corremos el comando ldconfig para aplicar los cambios.
    1. Instalamos OCI8 para PECL
http://pecl.php.net/package/oci8
Use la extension OCI8 para accesar a Oracle Database. PHP OCI8 2.1 creados en PHP 7.
Use ‘pecl install oci8-2.0.10’ para instalar OCI8 para PHP 5.2 – PHP 5.6.
Use ‘pecl install oci8-1.4.10’ para instalar PHP OCI8 1.4 para PHP 4.3.9 – PHP 5.1.
Debian Jessi comes with PHP 5.6, when it ask the path for library give it the directory where the library located:
Crear un el archivo oci8.ini para php: /etc/php5/mods-available/oci8.ini
Referencias:
http://php.net/manual/en/oci8.installation.php
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
En caso de que arroje el siguiente mensaje de error al iniciar Apache:
# cat error.log
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20131226/oci8.so’ – libaio.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
[Mon Oct 17 16:06:28.407599 2016] [mpm_prefork:notice] [pid 21276] AH00163: Apache/2.4.10 (Debian) configured — resuming normal operations
[Mon Oct 17 16:06:28.407640 2016] [core:notice] [pid 21276] AH00094: Command line: ‘/usr/sbin/apache2’
Asegurese que el archivo oci8.so existe:
# ls /usr/lib/php5/20131226/oci8.so
E instale Libaio:
# apt-get install libaio1