miércoles, 30 de enero de 2019

File './repo/repoindex.xml' not found on medium



Cómo solucionar el error "Problem retrieving the repository index file for service 'SUSE_Linux_Enterprise_Server" al intentar actualizar un SUSE Linux Enterprise Server.



Recientemente me he encontrado con un problema al tratar de actualizar un sistema SUSE Linux Enterprise Server. Al ejecutar el comando de actualización del sistema (zypper dup), el SLES me ha mostrado un error de conexión hacia los repositorios:

HOST# zypper dup Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Refreshing service 'SUSE_Linux_Enterprise_Server_12_SP4_x86_64'. Problem retrieving the repository index file for service 'SUSE_Linux_Enterprise_Server_12_SP4_x86_64': File './repo/repoindex.xml' not found on medium 'http://scc.suse.com/access/services/1610?cookies=0&credentials=SUSE_Linux_Enterprise_Server_12_SP4_x86_64' Check if the URI is valid and accessible.

Para solucionar esto, lo que me ha funcionado a mi ha sido re-sincronizar la licencia del SLES con el servidor de licencias de SUSE de la siguiente forma:

HOST# SUSEConnect --rollback Starting to sync system product activations to the server. This can take some time...

Una vez hecho esto, he vuelto a lanzar la actualización de sistema operativo y ya ha funcionado:

HOST# zypper dup Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Refreshing service 'SUSE_Linux_Enterprise_Server_12_SP4_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Software_Development_Kit_12_SP4_x86_64'. Refreshing service 'Web_and_Scripting_Module_12_x86_64'. Loading repository data... Reading installed packages... Computing distribution upgrade... The following NEW package is going to be installed: libunwind-devel The following 6 packages are going to be upgraded: grub2 grub2-i386-pc grub2-snapper-plugin grub2-systemd-sleep-plugin 6 packages to upgrade, 1 new. Overall download size: 6.2 MiB. Already cached: 0 B. After the operation, additional 2.4 MiB will be used. Continue? [y/n/...? shows all options] (y):

Llegados a este punto, el sistema se ha actualizado normalmente.
0

miércoles, 23 de enero de 2019

Pasar de FTP a FTPS en Windows Server



Cómo configurar FTPS en un servidor Windows Server para realizar conexiones FTP seguras.



En la entrada anterior, ya comenté las diferencias entre FTP, FTPS, FTPES, SFTP, FXP y TFTP, poniendo espcial énfasis en el problema de seguridad que supone realizar conexiones FTP.

Recordemos que el protocolo FTP envía los datos al destino sin cifrar, lo cual significa que si alguien se pone a capturar paquetes en la red origen o destino, puede encontrar fácilmente datos como el nombre de usuario que ha iniciado la conexión FTP, su password, los comandos enviados, etc. Y lo que es peor, si usamos FTP y nuestra red está comprometida, el atacante puede capturar todos los archivos enviados y/o recibidos y quedarse una copia sin que lo detectemos. Por lo tanto, usar FTP puede resultar en una fuga de información no detectable.

Para evitar este problema, es recomendable no usar FTP para la transferencia de archivos. Hoy en día, casi la totalidad del software que podemos encontrar en el mercado soporta SFTP o FTPS - protocolos que cifran los datos antes de enviarlos - por lo que es casi obligatorio usar SFTP o FTPS en vez de FTP cuando tengamos que transferir archivos hacia un servidor.


¿Cómo pasar de FTP a FTPS en Windows Server?



Digamos que tenemos un Windows Server corriendo con FTP habilitado en el puerto 21 y queremos seguir manteniendo la IP y el puerto donde los usuarios se conectan. La mejor solución es pasar de FTP a FTPS, de modo que las comunicaciones cliente-servidor estarán cifradas y la funcionalidad y forma de conectar será la misma a ojos del usuario final.

En Windows Server, tenemos varias opciones a la hora de configurar FTPS. Podemos desplegar un IIS y habilitar el protocolo FTPS, por ejemplo. Podemos usar software de pago de terceros. O podemos usar una solución open source. Personalmente, prefiero usar open source. Entre las soluciones open source, destaca un programa fácil de configurar: FileZilla Server.

Podemos obtener la última versión de FileZilla Server desde:

https://filezilla-project.org/download.php?type=server

Una vez instalado el programa, nos pedirá un puerto al que conctarnos para administrar el servidor, así como un password de acceso para proteger el panel de administración:



En la ventana principal del programa, veremos un mensaje en rojo que nos avisa de que FTP sobre TLS no está activo, por lo que los inicios de sesión no son seguros:



Antes de remediarlo, vayamos al menú Edit > Settings y empecemos configurando el puerto donde vamos a ejecutar FTP sobre TLS (por defecto, en el puerto 21):



Ahora ya podemos activar FTP sobre TLS en el apartado FTP over TLS:

- Activamos el uso de FTP over TLS (FTPS).
- Deshabilitamos la opción de que se pueda usar FTP plano.
- Generamos un nuevo certificado para que se use en las conexiones.



Ahora toca añadir usuarios. Nos vamos al menú Edit > Users:

- Clicamos Add user y le damos un nombre.
- Le damos un password al usuario.
- Marcamos “Force TLS for user login”.



Vamos al apartado "Shared folders" y elegimos a qué carpetas podrá acceder cada usuario, así como qué podrá hacer en ellas: leer, escribir, borrar archivos...




Palabras finales



Ya tenemos el acceso al servidor asegurado por FTP sobre TLS. Con FileZilla Server es un proceso la mar de sencillo y rápido, además de intuitivo. Para terminar, decir que navegando por los menús encontraréis muchas más opciones con las que personalizar vuestro servicio de FTPS.


Fuentes:

https://riunet.upv.es/bitstream/handle/10251/75627/Servidor%20FTPWindows%202012%20r2_v2.pdf
https://es.wikipedia.org/wiki/FTPS
https://wiki.filezilla-project.org/Network_Configuration
0

miércoles, 16 de enero de 2019

Comparando FTP, FTPS, FTPES, SFTP, FXP y TFTP



Veamos qué diferencia los protocolos de transferencia de archivos FTP, FTPS, FTPES, SFTP, FXP y TFTP, cuál es el más seguro y cuales no se deberían usar ya a día de hoy.



Antiguamente, cuando se querían subir o descargar archivos desde un servidor, se usaba el protocolo FTP, el cual permite realizar transferencias de archivos por TCP.

En la década de los '90, como veremos más adelante, se vió que el protocolo FTP era inseguro, así que se le añadió una capa de encriptación (SSL) durante la conexión con el servidor para hacerlo seguro, creando lo que se conoce como FTPS o FTP sobre SSL (más adelante conocido como FTP sobre TLS).

En 1997, SFTP entró en escena como parte del paquete SSH, y dejó atrás los protocolos de transferencia de archivos anteriormene mencionados en pro de mejores medidas de encriptación. Por este motivo, hoy en día, todas las transferencias de archivos se deberían realizar por SFTP, o en su defecto, por FTPS.

Veamos las características de todos los protocolos mencionados, uno a uno.


¿Qué es FTP?



FTP (File Transfer Protocol) es un protocolo de transferencia de archivos cliente-servidor creado en 1971. Su funcionamiento es el siguiente: un PC cliente inicia una conexión a un servidor y luego le envia archivos o descarga archivos del servidor. La conexión cliente->servidor se llama "modo pasivo" mientras que la conexión servidor a cliente es el "modo activo".

Ya en los años '90, se sabía que el tráfico FTP entre un PC cliente y una máquina servidor era inseguro, y que se podían capturar fácilmente datos como el usuario y el password con el que un cliente se conectaba a un servidor. Esto es posible porque, en conexiones FTP, las credenciales son enviadas en texto plano desde el cliente hacia el servidor. Como no hay ningún tipo de encriptación, si hay alguien analizando el tráfico en la red local donde se encuentra el PC cliente o en la red donde se encuentra el servidor, esta persona podrá capturar el usuario y password de conexión al servidor, así como crear copias de los archivos enviados y recibidos.


¿Qué es FTPS?



FTPS es la evolución de FTP, añadiendo cifrado por SSL/TLS en las conexiones para encriptar los datos enviados en una sesión cliente-servidor. De esta forma, usuario, password y datos enviados quedan cifrados y ya no son visibles en texto plano en caso de que alguien intercepte paquetes en nuestra red.

El cifrado de las transferencias se solía realizar a través del protocolo Secure Sockets Layer (SSL), aunque hoy en día se usa su sucesor, Transport Layer Security o TLS. Por lo tanto, cuando hablamos de FTPS estamos hablando de FTP sobre TLS.

Hay dos tipos tipos de configuraciones FTPS:

• FTP sobre TLS (explicit encryption): el cliente establece una conexion TCP al puerto X del servidor y comienza una sesión FTP estándar, es decir, sin cifrar. En el momento en que el servidor pide al cliente las credenciales, se establece una segunda conexión sobre TLS, por la cual se envían los datos sensibles. Esta conexión se pone en marcha usando el comando AUTHSSL. Añadir que anteriormente era FTP sobre SSL, pero se cambió el protocolo SSL por TLS cuando se creó el protocolo TLS.

• FTP sobre SSL (implicit encryption): es un método más antiguo y, por ello, obsoleto en favor de las conexiones explícitas. El cliente se conecta a un puerto distinto del servidor (normalmente el 990) y se realiza una negociación SSL previa a enviar cualquier comando. Es decir, el canal seguro es establecido antes de ejecutar comandos en el servidor.


¿Qué es FTPES?



FTPES no es más que FTPS explícito, de ahí la E.


¿Qué es SFTP?



SFTP es la abreviatura de Secure File Transfer Protocol (Protocolo de transferencia segura de archivos). Este protocolo permite transferir datos cifrados entre dos máquinas cliente-servidor.

El estándar SFTP fue desarrollado por el IETF (Internet Engineering Task Force) como una extensión de la segunda versión del SSH (Secure Shell Protocol) para proporcionar a los usuarios una transferencia segura de archivos. SFTP se ha convertido con el tiempo en el estándar de oro en el campo de los protocolos de transferencia de archivos por su seguridad, facilidad de uso y versatilidad.

El IETF afirma que aunque SFTP está definido en el contexto del protocolo SSH2, SFTP es en realidad un estándar independiente del resto del conjunto de protocolos SSH2 (por lo que no está limitado por los propios conceptos y definiciones del SSH2).

Aunque SFTP es nativo de entornos *NIX, también se puede usar en Windows con programas de terceros o con los nuevos builds de OpenSSH para Wndows que Microsoft lanzó el año pasado.


¿Qué es FXP?



No mucha gente conoce el protocolo FXP. FXP (File eXchange Protocol) es un método de transferencia de datos entre dos servidores orquestrado por un cliente, es decir, un PC controla las transferencias entre dos servidores sin que los achivos pasen por el PC cliente.

Para ponerlo en perspectiva, la comunicación convencional FTP consiste en un solo servidor y un solo cliente y la transferencia de datos se realiza entre ambos. Durante una sesión FXP, en cambio, un cliente mantiene conexiones estándares con dos servidores, dirigiendo cualquiera de los dos servidores que se conecte al otro para iniciar una transferencia de datos. Este método permite a un cliente con poco ancho de banda intercambiar datos entre dos servidores con más ancho de banda sin el retraso asociado a recibir él los archivos del servidor 1 para enviarlos posteriormente al servidor 2. A lo largo de este proceso, sólo el cliente es capaz de acceder a los recursos de los dos servidores.

FXP tuvo su auge a principios de los 2000, pero ha caído en desuso, ya que usar FXP expone a un servidor a sufrir un ataque de FTP bounce, lo cual supone un riesgo de seguridad para toda la red local.


¿Qué es TFTP?



TFTP son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial). TFTP es un protocolo de transferencia de archivos muy simple, el cual no requiere usuario ni password. Se usa para transferir pequeños archivos entre dos dispositivos conectados entre sí. Por ejemplo, se puede usar para actualizar el firmware de un switch, entre otras cosas.

Características del TFTP:

• Utiliza UDP (puerto 69) como protocolo de transporte.
• No puede listar el contenido de los directorios.
• No existen mecanismos de autenticación (usuario/contraseña) o cifrado.
• Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail". Los dos primeros corresponden a los modos "ascii" e "imagen" (binario) del protocolo FTP.


Fuentes:

https://blog.neothek.com/cuales-son-las-diferencias-entre-ftp-sftp-y-ftps/
https://www.smartfile.com/blog/comparison-of-ftp-ftps-sftp/
https://securityintelligence.com/news/fbi-warns-about-ftp-server-vulnerability/
https://www.ssh.com/ssh/ftp/server
https://www.secpoint.com/what-is-sftp.html
https://es.wikipedia.org/wiki/File_eXchange_Protocol
http://www.proftpd.org/docs/howto/FXP.html
https://es.wikipedia.org/wiki/TFTP
0

miércoles, 9 de enero de 2019

La IA detrás de 'Inbox' de Gmail



Inbox by Gmail Son varios los proyectos de Google que se sustentan sobre inteligencia artificial y machine learning. Veamos como nació uno de ellos: Inbox by Gmail.

Image and video hosting by TinyPic

Hace unos meses me crucé con un paper de 2015 llamado A Neural Conversational Model. Este documento habla sobre la creación de una inteligencia artificial destinada a mantener conversaciones. El paper explica el proceso de creación de una IA que sea capaz de relacionar las preguntas que le va realizando un humano con las respuestas que ella misma va dando, para así anticiparse a las posibles preguntas que el humano le pueda formular con el fin de poder responderlas con coherencia.

Para cargar de contenido a la IA, los ingenieros de Google usaron dos métodos:

1. Una base de datos con casos prácticos de problemas y soluciones de un helpdesk IT.
2. Una base de datos con subtítulos de películas.


Caso 1: problemas y soluciones de un helpdesk IT



En el primero de los casos, en el que ponen a la IA como chatbot de un helpdesk de IT de una compañía, los usuarios le comentan sus problemas a la IA, a lo cual esta les ofrece soluciones basadas en las descripciones que estos usuarios le facilitan.

Por ejemplo, en una conversación, un usuario le dice que tiene problemas con la conexión a la VPN corporativa y la IA le pregunta qué sistema operativo está usando y qué error le da el programa. A través de estas respuestas, la IA crea una relación de conceptos y le ofrece la solución correcta al usuario. Esto es el principio del fin para los que trabajan en helpdesk... pero ese es otro tema.


Caso 2: subtítulos de películas



El otro caso expuesto en el paper es la creación de un bot con un vocabulario de unas 100.000 palabras a quien han entrenado dándole subtítulos de películas extraídos de la página OpenSubtitles.

Image and video hosting by TinyPic

En una conversación, el humano le dice su nombre a la IA y a continuación le pregunta "¿cómo me llamo?" a lo cual la IA responde el nombre proporcionado por el humano. El humano le dice entonces que su nombre es otro y le vuelve a preguntar al bot por su nombre, a lo que este responde con el nuevo nombre. Del mismo modo, el humano hace una pregunta con dos opciones y el bot responde con una de ellas. El humano invierte el orden de las opciones y el bot vuelve a dar la misma opción como respuesta, reafirmándose. Personalmente, me parece un hito conseguir ese tipo de comportamiento en una máquina a través de una conversación de tú a tú.

Otra de las conversaciones que nos muestra el paper trata sobre moralidad, y las respuestas que da la máquina no tienen desperdicio, hasta el punto en que llega a decir "no tengo ganas de hablar de filosofía" y el humano le pregunta de qué quiere hablar y la máquina responde "de nada".

En otro caso, le preguntan a la IA quién es [Luke] Skywalker y esta responde "un heróe" ¿y Bill Clinton? "un billonario", responde.

Me pregunto si ofreciendo a la IA textos donde la maldad sea predominante, estos transformarían su forma de razonar haciendo que las acciones malvadas o dañinas fueran vistas como correctas por la IA. No recuerdo ningún momento en Star Wars en que se diga que Luke es un héroe, así que no estoy seguro de que esa respuesta sea extraída de una línea de un guión o si es una relación de conceptos.


Inbox by Gmail



Al llegar al final del documento me quedé con ganas de más. Quería saber si se le había dado algún uso práctico a la IA. Al ver que uno de los ingenieros de Google que firman el documento tiene un apellido catalán (Vinyals), decidí ponerme en contacto con él y preguntárselo directamente.

Su respuesta fue que esa misma IA estaba siendo usada en el producto "Inbox by Gmail" de Google (https://inbox.google.com) del cuál yo no había oído hablar hasta el momento.

Image and video hosting by TinyPic
NOTA: la imagen está sacada de Google Imágenes puesto que mi cuenta de Gmail está vacía.

Según parece, Inbox es una aplicación que ordena tus e-mails (de Gmail) según su contenido (Redes Sociales, newsletters, amigos, etc.) y cuando vas a responder un mail, te ofrece 3 respuestas generadas por la IA, las cuales puedes editar a tu gusto antes de enviar la respuesta al destinatario.


Pensamientos finales



Me parece un uso muy curioso de una IA y me pregunto si en un futuro delegaremos todas las funciones de responder mails y generar agendas a IAs que controlarán nuestras vidas y lo sabrán absolutamente todo sobre nosotros. Da miedo sólo de pensarlo.
0

martes, 1 de enero de 2019

Mi experiencia con Yoigo (resumen: horrible)



Hacía muchos años que era cliente de Yoigo. Más de 10. Me ofrecían servicio de telefonía móvil a un precio bajo, así que nunca tuve por qué cambiarme a otro operador de telefonía durante esos años. Hasta que me mudé a otro piso....

Índice del artículo

1. Cambio de domicilio
2. Esperando a un técnico
3. Los teléfonos de atención al cliente de Yoigo
4. La permanencia
5. Internet dejó de funcionar
6. Gestión de incidencias de Yoigo
7. Facebook de Yoigo
8. Cambio de compañia
9. Actualización: Yoigo tras el cambio de compañia
10. Conclusión sobre Yoigo




1. Cambio de domicilio



Mis problemas con Yoigo comenzaron cuando me mudé a otro piso. Llamé a Yoigo para informarles del cambio de domicilio; llamé para que me dieran de baja el servicio de internet en la dirección antigua y me vinieran a instalar el router en el piso nuevo.

Según el servicio de atención al cliente de Yoigo, este trámite dura un máximo de 5 días, dentro de los cuales te llama Yoigo para cerrar cita con un técnico que acudirá a tu domicilio a instalar su router.




2. Esperando a un técnico



Pasaron 5 días y nadie me llamó.
Llamé a Yoigo para averiguar por qué no me habían llamado. Me dijeron que me llamarían en unos días.
No me llamó nadie en otros 5 días. Les volví a llamar reclamando. Me dijeron que me llamarían.
No me llamaron. Volví a reclamar. A diario.
Y suma y sigue.
Y sigue
Y sig...
Y s...

En total, estuve esperando más de 2 meses a que Yoigo me enviase un técnico a instalar su router. Y todo ese tiempo, pagando por un servicio que no me estaban proporcionando, claro está.




3. Los teléfonos de atención al cliente de Yoigo



Durante esos meses, estuve llamándoles una media de 2 veces al día para reclamar, con esperas de unos 30-40 minutos por llamada para poder hablar con un agente, que luego no sabía nada, ni se enteraba de nada, y te decía que en unos días todo estaría arreglado y luego nada. Podría escribir un libro entero acerca de los conversaciones que llegué a tener con los operadores de Yoigo.

Además, tenía que llamar al número de cambios de domicilio/bajas - 800 622 053 - desde otro móvil que no fuera el mío, ya que si llamas desde un número Yoigo a ese departamento, su centralita te redirige automáticamente al 622 - Atención al cliente - y ahí te dicen que debes llamar al otro número, que es donde en realidad has llamado. Un loop interminable.

En resumen, el servicio de gestión de llamadas en Yoigo es deplorable, obra de un inepto.




4. La permanencia



¿Por qué no cambiabas de operador si tanto tardaba Yoigo? te puedes estar preguntando. La respuesta es sencilla: si me cambiaba de compañía, Yoigo me hacía pagar 125 € de penalización por la permanencia que me habían colado al dar de alta una nueva línea en el nuevo piso. Me tenían totalmente atrapado con esto, ya que en este punto, no me daba la gana de pagar la penalización. No quería darles ni 1€ más de lo estrictamente necesario.




5. Internet dejó de funcionar



Como decía, tuve que esperar 2 meses para que Yoigo se dignase a mandarme un técnico a ponerme un router en casa. El tipo vino - un tio autónomo que nada tenía que ver con Yoigo, muy agradable por cierto - me instaló el router y me dejó internet funcionando en casa.

Despues de una semana funcionando internet en casa con normalidad - ¡por fin! - y tras una espera de 2 meses para que me pusieran un router, la conexión a internet dejó de funcionar. Sin más. Llamé entonces a Yoigo y abrieron avería. Me mandaron un técnico a casa al día siguiente el cual miró la instalación, probó otro router y me dijo que estaba todo OK, que debía ser cosa de central. Y se marchó.




6. Gestión de incidencias de Yoigo



El ticket de avería que tenía abierto en Yoigo fue cerrado por Yoigo sin previo aviso, y sin haberme solucionado la avería. Llamando a atención al cliente lo averigué. Abrí otro ticket. Lo cerraron. Y jugamos al gato y el ratón con los tickets durante unas 3 semanas, donde me fueron cerrando los tickets de avería sin volver a darme servicio.




7. Facebook de Yoigo



Alguien me dijo que por mensaje privado en Facebook, Yoigo solucionaba los problemas más rápidamente que por teléfono, y sin las eternas esperas, así que lo probé:



Como no podía ser de otra forma, nunca obtuve respuesta alguna a mis preguntas.

Mirando la página de Facebook de Yoigo más detenidamente, vi que no era el único al que tratan así:







etc.




8. Cambio de compañia



No obtuve nunca respuesta ni explicación de por qué internet no me iba en casa.
Pasados 4 meses del cambio de domicilio, tomé la decisión de cambiarme a Jazztel, aun teniendo que pagar penalización por romper la permanencia.

Escogí Jazztel por el simple hecho de que en el tejado del edificio había dos splitters: uno de Telefónica y otro de Jazztel, así que decidí ir con Jazztel por ser más baratos que Telefónica. Así, si ocurre algún problema con el circuito, ellos son los dueños del mismo y podrán solventar las incidencias más rápidamente. O eso quiero pensar.

Jazztel me mandó un técnico el mismo día en que les llamé para cambiar de compañía, me puso el router y no he tenido ningún problema con ellos desde ese día.




9. Actualización: Yoigo tras el cambio de compañia



Tras el cambio de compañía, Yoigo me cobró importes raros (17 € en febrero, 6 € en marzo...). Tengamos en cuenta que yo me fui de Yoigo en diciembre y ya no era cliente de Yoigo al recibir estos cobros, por lo que no tenía nada contratado con ellos. Obviamente, devolví todos los recibos.

Además, quisieron cobrarme el coste del router, el cual también cancelé, pues llamé hasta 3 veces preguntando cómo devolverlo - según ellos, ellos te mandan un mensajero a casa para recogerlo. Nunca mandaron nadie y quisieron cobrarme directamente el coste del aparato. Pago cancelado.




10. Conclusión sobre Yoigo



Creo que sobran las palabras para describir a esta compañía. Cuando veáis o oigáis "Yoigo", huid.
0