miércoles, 30 de septiembre de 2020

Conectar vía FTPS desde Linux



Cómo conectar usando FTPS (FTP implícito sobre TLS) desde Linux.



Para realizar un intercambio de archivos entre un servidor de la empresa A y un servidor de la empresa B, tuve que hacer que la empresa A conectara con un servidor de la empresa B usando FTPS (FTP implícito sobre TLS) desde un servidor Linux.

Existen varias opciones (programas) para realizar una conexión FTPS desde Linux. Yo elegí lftp.

Para conectarnos vía FTPS desde Linux con lftp, el manual de lftp dice que debemos usar esta sintaxis:

HOST # lftp -p puerto -u usuario,password ftps://host

Pero si usamos esta sintaxis sin más, veremos el siguiente error:

HOST # lftp -p puerto -u usuario,password ftps://host lftp usuario@host:~> ls ls: Fatal error: Certificate verification: Not trusted

Como vemos, hay un certificado (TLS) en la conexión, y lftp no nos muestra ninguna opción para aceptarlo o guardarlo. Para eludir este error, podemos usar diferenets métodos.

Por un lado, podemos indicarle a lftp que no compruebe el certificado TLS durante la conexión:

HOST # lftp -p puerto -u usuario,password ftps://host -e "set ssl:verify-certificate false"

De esta forma, podremos conectar con el host sin problemas, pero la conexión no será cifrada punto a punto, es decir, no será segura. Usar esta opción sería lo mismo que hacer una conexión FTP plana.

Para conectar de forma segura con el host de destino, debemos importar el certificado ofrecido por el host remoto en nuestro host. Para hacer esto, debemos ver primero el certificado del host remoto.

Para ver el certificado del host al que nos queremos conectar podemos usar la utilidad openssl:

HOST # openssl s_client -showcerts -connect host:puerto CONNECTED(00000003) depth=0 CN = host, C = ES, ST = Spain, L = Madrid, O = Company, OU = Company, emailAddress = usuario@host.com verify error:num=18:self signed certificate verify return:1 depth=0 CN = host, C = ES, ST = Spain, L = Madrid, O = Company, OU = Company, emailAddress = usuario@host.com verify return:1 --- Certificate chain 0 s:/CN=host/C=ES/ST=Spain/L=Madrid/O=Company/OU=Company/emailAddress=usuario@host.com i:/CN=host/C=ES/ST=Spain/L=Madrid/O=Company/OU=Company/emailAddress=usuario@host.com -----BEGIN CERTIFICATE----- MIIDzDCCArSgAwIBAgIEF59rnf gUURFEfe7GDtunFR67HFd3GHJ45regTYu7jh8 OTQuMTQyLjIwMS4yNTQxCzAJBgNVBAYTAkVTMQ4wDAYDVQQIDAVTcGFpbjEPMA0G A1UEBwwGTWFkcmlkMRYwFAYDVQQKDA1BbWFkZXVzIFNwYWluMRYwFAYDVQQLDA1B bWFkZXVzIFNwYWluMS4wLAYJKoZIhvcNAQkBFh9hbHZhcm8uZ2FyY2lhYW5ndWxv QGFtYWRldXMuY29tMB4XDTIwMTIwMTE2MzQ0OVoXDTIxMTIwMTE2MzQ0OVowgacx 59mnermTxTujODDTHBdffs9342rTBHfghfg66GVdfsdfg)g534GDFGsfsDTGSFsf U3BhaW4xDzANBgNVBAcMBk1hZHJpZDEWMBQGA1UECgwNQW1hZGV1cyBTcGFpbjEW MBQGA1UECwwNQW1hZGV1cyBTcGFpbjEuMCwGCSqGSIb3DQEJARYfYWx2YXJvLmdh cmNpYWFuZ3Vsb0BhbWFkZXVzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAL++EGGUDSIWgJUkvgFXk1Zjo2RXrmToHF6zmBrkl052jFJQXj0sPSuX Lt+CJu8whg2xnnCNb6BwTCB7J+a9hDJJQR9m7uanzLn/1RlEcrcm0AyHA0tZ8UKw H589/QlWlfVwJLFqLMpYUowECh15jCh69TzHuSW6/mPc5Eo008LS20Cx28YKtfV5 g+qCv2BizkbEEiSCDe498H0+n/Kv1JeKFbJESJDaMNhuKxzQbfirNysgxTuf0rOR hhFTSLLsIa5NZMFXWESMpukU/0vYez0Mf3psOhNGEVKyQo1mbKT0eCDpLsZaPRzX IG/m1duwIyTMjN4c+hiXYlda1t7JLUsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA l4vJUVhgOPzqgr516r5QDynF8o9I8xgJZj5ZA/Jma8lUoYO3+g5lTv8NM2JqeRdP fKhdUK3t7MofPh3YKHg/NubUz6vtJi6vpzfqkAjUY3z7z2RzITbmAtTqgnqWPzK9 pfdGsT99acNeUoYzAnCRN46sftQ9dS4mCUZdIP+vUObXBGJhxB6LOxwYs1EeGEPa 8p6C/rErdHNVu7nO+CEOkXiN2QnBYacYdV2q90oS/eZ5XEVCet4mjMltcKwX1mCL or8fnfvsdgDH$/rwegdrh/$GDHFGJSG575757RHRTRGdfgdfg4d4h3f33hf33h4h DaszVAQqxS687mfneI5vgQw== -----END CERTIFICATE----- --- Server certificate subject=/CN=host/C=ES/ST=Spain/L=Madrid/O=Company/OU=Company/emailAddress=usuario@host.com issuer=/CN=host/C=ES/ST=Spain/L=Madrid/O=Company/OU=Company/emailAddress=usuario@host.com --- No client certificate CA names sent --- SSL handshake has read 1635 bytes and written 387 bytes ...

Cogemos el certificado, es decir, lo que hay entre BEGIN CERTIFICATE y END CERTIFICATE (ambas líneas incluidas) y lo metemos en un archivo .crt. A continuación, editamos el fichero /etc/lftp.conf, última línea, y lo enlazamos en el apartado set ssl:ca-file:

## SSL default settings #set ssl:ca-file "/etc/ssl/ca-bundle.pem" set ssl:ca-file "/ruta/hacia/el/archivo.crt"

Una vez hecho esto, ya podremos conectar con el host usando la encriptación punto a punto con:

HOST # lftp -p puerto -u usuario,password ftps://host
0

miércoles, 23 de septiembre de 2020

Qué es y cómo apuntarse a Windows Insider



¿Qué es Windows Insider? ¿Cómo enrolar un ordenador al programa?



Windows Insider es una iniciativa de Microsoft destinada a los usuarios de Windows que permite a quien esté apuntado en ella probar versiones preliminares (o nuevas características) del sistema operativo Windows antes de que estas sean lanzadas al gran público. A cambio, Microsoft pide a los Insiders sus opiniones respecto a las nuevas funcionalidades de cara a mejorar el producto.

Este programa fue anunciado el 30 de septiembre de 2014 junto con Windows 10. A finales de ese mismo año, alrededor de 1,5 millones de personas ya se habían instalado la primera preview de la siguiente build de Windows 10 y ya estaban flighting.


Flighting



Flighting es un término inventado por el departamento de marketing de Microsoft usado para denominar el proceso de ejecutar las compilaciones de Windows 10 Insider Preview. Este proceso incluye:

• Configurar nuestro dispositivo en uno de los canales de Windows Insider.
• Instalar las actualizaciones preview (de vista previa) de ese canal.
• Ejecutar y probar esas compilaciones previas.


Canales



Microsoft divide el programa Insider en 5 canales, donde 2 de ellos son sólo para uso interno, es decir, solo visibles por sus empleados.

El primer canal se llama Canary, y es donde los desarrolladores de Microsoft proponen y prueban por primera vez nuevas funciones para Windows.

Una vez creada una nuva función, esta llega al canal Dev y se libera al público para que de su feedback.

Una vez testeadas en el canal Dev, las actualizaciones vuelven a un canal interno, el canal Microsoft, donde además de los desarrolladores, el resto de empleados de Microsoft pueden también probarlas.

Una vez pulidas por los programadores tras el feedback recibido desde Dev, las actualizaciones pasan del canal Microsoft al canal Beta, volviendo a ser públicas.

En última instancia, las actualizaciones llegan al canal "Release Preview", donde los Insiders reciben las próximas actualizaciones acumulativas unos días antes de su lanzamiento oficial, para acabar de pulir incompatibilidades o problemas derivados de hardware poco común.

No hace falta decir que al canal Dev llegan muchas más actualizaciones que al canal Beta, pero cuando las actualizaciones llegan al canal Beta, estas ya han sido pulidas y funcionan mejor que cuando llegaron a Dev. Por último, las Release Preview apenas recibirán builds, aunque días antes de que se lance una gran actualización se envían allí para que puedan ser probadas anticipadamente por los Insiders.


Ventajas y desventajas



La ventaja principal de este programa es la posibilidad de ser una de las primeras personas en probar cada nueva función de Windows. Otra ventaja de Insider es que siendo miembro del programa tienes Windows gratis, pues una vez que inscritos en el programa podemos descargarnos la ISO de la última build disponible de Windows dntro del programa.

En el otro lado se encuentra la inestabilidad que puede padecer un PC al usar versiones no finales de un producto, con culegues ocasionales y problemas varios.


Cómo apuntarse a Windows Insider



Para apuntarse a Windows Insider, hace falta un ordenador con Windows 10.

Ir a Inicio, botón derecho y clic en configuración:


Una vez allí, ir a Actualización y seguridad y luego a Programa Windows Insider:


A continuación, clicar el botón "Comenzar" y acto seguido, vincular una cuenta:


Nos registramos en el programa Windows Insider y aceptamos las condiciones de uso:


Y por último, elegimos el canal que queramos probar.


A partir de este momento, ya recibiremos las actualizaciones lanzadas desde el canal seleccionado.


Fuentes:

https://insider.windows.com/es-es/
0

miércoles, 16 de septiembre de 2020

Rutas estáticas persistentes en SLES



Cómo crear (y eliminar) rutas estáticas persistentes en un SUSE Linux Enterprise Server.



Si añadimos una ruta estática a un SUSE Linux Enterprise Server con el comando ip route add y reiniciamos la máquina después, comprobaremos que las rutas añadidas de esta manera se pierden tras un reinicio, es decir, son temporales.

Para añadir rutas estáticas persistentes a un SLES, es decir, rutas que se mantengan en el sistema operativo tras reiniciar la máquina, deberemos editar dos archivos: /etc/sysconfig/network/routes y /etc/sysconfig/network/ifroute-* y añadirlas en uno de ellos.


Archivos



La tabla de rutas persistentes de un SUSE Linux Enterprise Server se encuentra en el archivo:

/etc/sysconfig/network/routes

Adicionalmente, se pueden añadir rutas a un adpatador específico editando un archivo del tipo:

/etc/sysconfig/network/ifroute-*

Es decir, si tenemos un adaptador llamado eth0 configurado en el archivo ifcfg-eth0, podemos crear rutas estáticas que afecten solamente a este adaptador editando el archivo:

/etc/sysconfig/network/ifroute-eth0


Añadir ruta estática



Las entradas en los archivos de configuración de enrutamiento pueden seguir uno de estos 3 patrones:

DESTINO GATEWAY MÁSCARA INTERFAZ
DESTINO GATEWAY PREFIJO INTERFAZ
DESTINO/PREFIJO GATEWAY INTERFAZ

Para omitir el GATEWAY, MÁSCARA o PREFIJO escribir - (guión).

El destino siempre se escribe en la primera columna. Este puede ser tanto un host como una red, así como un FQDN que la máquina sepa resolver (por ejemplo, host.dominio.com).

La segunda columna contiene el gateway (desde donde se enviará el tráfico al destino).
La palabra clave default, por su parte, indica que la ruta usa la puerta de enlace predeterminada.

La tercera columna está obsoleta; solía contener la máscara de red IPv4 del destino, del tipo máscara (por ejemplo 255.255.255.0) o prefijo (/24). Hoy en día se usa una combinación de host o red con su prefijo directamente en la primera columna. Por ejemplo, 192.168.0.0/16 para IPv4 o fc00::/ 7 para IPv6.

Por último, la cuarta columna nos indica la interfaz a usar.


Mostrar rutas



Hay dos formas de visualizar las rutas estáticas persistentes de un sistema: por comando o por archivo.

Podemos usar el comando ip route show para ver las rutas estáticas configuradas en un sistema:

HOST# ip route show default via 192.168.4.1 dev eth0 192.168.4.0/24 dev eth0 proto kernel scope link src 192.168.4.2 192.168.7.0/24 dev eth1 proto kernel scope link src 192.168.7.2

(Recordar que el comando ip route sustituye el antiguo comando netstat -nr).

De otro modo, podemos mirar el contenido de uno de los archivos mencionados anteriormente:

HOST# cat /etc/sysconfig/network/routes 192.168.4.0 192.168.4.1 255.255.255.0 eth0 192.168.7.0 192.168.7.1 255.255.255.0 eth1

Sea cual sea el método elegido, deberíamos ver las mismas rutas.


Eliminar ruta estática



Para eliminar alguna ruta, basta simplemente con borrarla del archivo en cuestión.


Fuentes:

https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-network.html#sec-network-man...
https://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch14s05.html
0

miércoles, 9 de septiembre de 2020

Especificar IP de origen desde proxy NGINX



Cómo enviar peticiones desde una IP de origen concreta en un proxy inverso NGINX.



Puede que tengamos un servidor web que solo acepte conexiones de un determinado rango IP y que tengamos un NGINX por delante actuando de reverse proxy que no disponga de una IP de ese rango o que sí disponga de ella, pero no la use a la hora de enviar tráfico a dicho servidor, por lo que los paquetes no lleguen desde el NGINX al servidor final.

Para solucionar este problema, podemos asignar una IP secundaria a nuestro NGINX y especificar que para ese servidor, usaremos esa IP secundaria como origen a la hora de enviarle tráfico.

Para especificar desde qué IP se envía tráfico hacia un servidor web final, podemos usar la directiva proxy_bind antes de proxy_pass en el bloque location dentro del bloque server de un dominio:

server { server_name dominio1.com; ... location /app1/ { proxy_bind 127.0.0.1; proxy_pass http://example.com/app1/; } } server { server_name dominio2.com; ... location /app2/ { proxy_bind 127.0.0.2; proxy_pass http://example.com/app2/; } }

La dirección IP también se puede especificar con una variable, p.e $server_addr.

Primero declaramos la variable y su valor:

set $server_addr "127.0.0.1";

A partir de aquí, ya la podemos usar dentro de la directiva proxy_bind de cuantos dominios queramos:

server { server_name dominio3.com; ... location /app3/ { proxy_bind $server_addr; proxy_pass http://example.com/app3/; } } server { server_name dominio4.com; ... location /app4/ { proxy_bind $server_addr; proxy_pass http://example.com/app4/; } } ...

De esta forma, podemos usar dicha variable en varios dominios y si algún día cambiamos la IP desde la que se origina el tráfico, no hará falta ir línea por línea cambiando su valor sino que podremos cambiarla una sola vez en la declaración de la variable.


Fuentes:

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
0

miércoles, 2 de septiembre de 2020

Acceder a Google Drive desde el escritorio



Cómo acceder a Google Drive desde nuestro explorador de Windows, Mac o Linux.



Google Drive es un servicio de alojamiento de archivos en la nube creado por Google en 2012. Este servicio nos permite disponer de hasta 15 GB por cuenta para guardar fotos, documentos, copias de seguridad, etc. alojados en servidores de Google sin gasto alguno.

Para disfrutar de Google Drive, deberemos usar una cuenta de gmail o vincular una cuenta de correo electrónico existente con Google. Una vez hecho esto, ya podremos usar Google Drive desde el navegador web y/o desde la aplicación de escritorio.

Para acceder a Google Drive desde el escritorio de nuestro ordenador como si de una carpeta más del sistema se tratara, deberemos descargar "Backp and Sync" (Copia de seguridad y sincronización) desde:

https://www.google.com/intl/es-419_ALL/drive/download/backup-and-sync/

Al inicio de la instalación, el programa nos pide iniciar sesión a nuestra cuenta Google:



Luego debemos elegir si queremos maneter sincronizadas las carpetas de fotos, vídeos y documentos de nuestro sistema operativo o si queremos mantener Google Drive como una carpeta independiente:



A continuación, y muy importante, debemos marcar "sincronizar mi unidad con este ordenador". Si no lo marcamos, no veremos los cambios que hagamos en nuestro PC en el Drive ni viceversa.



Una vez hecho esto, ya podremos acceder a nuestros archivos contenidos en el Drive como si de una carpeta más del ordenador se tratase:



Solo recordar que el límite de espacio del plan gratuito para este servicio es 15 GB.
0