Lo Último en IP@P
- Goblin Mine: La Estrategia Económica Detrás del Juego de Minería que está Fascinando a Todos
- Estos son los nuevos Cargadores UGREEN: potencia y portabilidad en dos versiones que no te puedes perder
- UGREEN Nexode Pro: El Cargador Ultradelgado que revoluciona la carga de dispositivos móviles
- La computación en la nube está transformando los juegos Online y estas son sus grandes ventajas
- Actualizaciones del Programa de Afiliados de TEMU: ¡Hasta MX$500,000 al mes!
En este artículo te explicaremos cómo crear y encriptar tu propio servicio de chat privado y luego cifrarlo de extremo a extremo. ¡No te asustes! porque te explicaremos en detalle todo lo que necesitas saber para que no comentas errores.
Lo primero que te mostraremos es un análisis de cuán seguras son las comunicaciones en los servicios de chat más usados en la actualidad. Luego podrás leer los beneficios que tendrás si usas tu propia mensajería.
También te presentaremos las herramientas que necesitas y una guía para crear tu propia plataforma privada y luego encriptarla. Echa un vistazo a todo el post.
¿Qué tan seguras son las comunicaciones en los servicios de chat más usados en la actualidad?
Un servicio de chat instantáneo es una plataforma virtual que permite enviar mensajes a cualquier usuario que esté registrado en el portal. Para crear y escribir en este chat es necesario que una persona, la cual pasa a llamarse cliente, se comunique con el servidor (de la mensajería) y este entregue la conversación al otro cliente. Es decir, una plataforma de mensajería instantánea funciona con el modelo cliente-servidor-cliente para entregar los mensajes.
El problema radica en la intercepción de los datos, por lo que los servidores cifran esta información para que no pueda ser analizada por nadie. Es por esto que podrás encontrar en WhatsApp, por ejemplo, la leyenda que la comunicación está cifrada de extremo a extremo. Pero hay un detalle que debes tener en cuenta, esto no siempre se cumple, ya que los mensajes no quedan cifrados desde el lado del servidor.
Por lo que cualquier requerimiento de la justicia, o por métodos más invasivos que no es necesario nombrarlos, se puede obtener el historial de conversaciones en formato de texto. Esto ocurre porque los servidores mantienen esa información por tiempo indefinido. Por tal motivo, te explicaremos a continuación para que estés al tanto de todo qué tan seguras son las comunicaciones en los servicios de chat más usados en la actualidad.
Mira a continuación:
Facebook Messenger
Esta mensajería, nacida como Facebook Chat, ha modificado desde hace un tiempo atrás su política de privacidad y seguridad. Las conversaciones están protegidas de extremo a extremo, por lo que para ser leídas es necesario que el usuario acceda a las claves de descifrado. Esto quiere decir que no es posible leer los mensajes en teléfonos u ordenadores en los que no está registrada la cuenta receptora del chat.
Según indican expertos en cifrado, Facebook Messenger no participa en la creación de la codificación, por lo que no debería tener acceso a los mensajes guardados en sus servidores. Pero debes tener en cuenta que al usar el protocolo de cifrado E2EE no implica que, si es requerido el historial de mensajes por autoridades gubernamentales, estas no pueden acceder de una manera mucho más fácil al mismo.
Direct de Instagram
Al igual que Facebook, Instagram perteneciente al mismo grupo de la empresa de Mark Zuckerberg, también utiliza el tipo de cifrado de extremo a extremo en los mensajes directos. Se ha detectado que aquellos usuarios que mantienen dos o más cuentas en un mismo dispositivo, desarrollo de la plataforma facilita el filtrado de información privada.
Si bien es cierto que este error se solucionó hace algunos años, no está del todo claro si en la actualidad funciona de manera completa. Más aún con los problemas públicos que tuvo Facebook por el filtrado de información.
Es otra mensajería instantánea que pertenece al grupo de Facebook. También cifra los mensajes con protocolos de extremo a extremo y la plataforma no intercede para generar las claves de codificación, por lo que solo el remitente y el destinatario acceden a las mismas para conocer el chat enviado.
Pero volvemos al punto que, si alguna autoridad requiere el acceso a los mensajes, la plataforma está dispuesta a darles los textos sin codificación. Esto queda reflejado en la prohibición que tienen los funcionarios de alto rango de la ONU de usar WhatsApp por miedo a la filtración de información confidencial. Otra prueba más es la denuncia que recibió la empresa tecnológica israelí NSO por parte de Facebook en estudiar (y aparentemente) encontrar agujeros de seguridad en el desarrollo de WhatsApp.
Telegram
Telegram es considerada por muchos como una de las plataformas de mensajería instantánea más seguras, la cual está diseñada y pensada para mantener la privacidad de los usuarios. Los mensajes son cifrados, pero hay una gran diferencia en relación con otras plataformas porque en este caso no es de extremo a extremo, sino entre el usuario y el servidor.
En su lugar añade una capa de seguridad en la que se crea la opción de mensajes auto destruibles y de un teclado de navegación en modo incógnito. Pero, para el punto de análisis al que nos referimos en este post, los mensajes privados quedan guardados en el servidor y pueden ser leídos sin ningún inconveniente.
Skype
Los mensajes instantáneos, los vídeos y las transferencias de voz y archivos están protegidos por medio del protocolo de cifrado AES de 256 bits. Pero en este caso, al igual que en Telegram, el servidor de Skype es el que interviene para certificar las claves públicas y de esta manera mantener seguras las conversaciones.
Hace un tiempo atrás que el movimiento internacional de más 7 millones de personas, llamado Amnistía Internacional, le solicita Microsoft que advierta a sus usuarios que organismos gubernamentales tienen acceso a sus mensajes. De esto surge que si estás pensando en enviar chats confidenciales por medio de Skype deberías tener en cuenta toda esta información.
¿Cuáles son los beneficios de utilizar tu propio servicio de chat privado? Razones para hacerlo
Después de haber leído todo lo que te mostramos hasta el momento, si estás pensando en usar tu propio servicio de chat privado ¡no dudes en hacerlo! Porque obtendrás diferentes beneficios, los cuales te explicamos a continuación.
Lee con atención:
- Necesitarás usar dos herramientas completamente gratuitas, por lo que solo deberás preocuparte por contratar un servidor en la nube y un dominio privado. Esto te ahorrará mucho dinero.
- Tendrás el control absoluto del servidor en el cual se alojarán las conversaciones privadas. De esta manera podrás guardarlas o eliminarlas de acuerdo con tus necesidades. Y lo mejor de todo es que nadie podrá acceder a los mismos.
- Los mensajes son cifrados de extremo a extremo, por lo que ningún intruso logrará interceptarlos.
- La aplicación que usarás es compatible con sistemas operativos muy conocidos para móviles y ordenadores.
- Podrás crear diferentes salas de chat logrando que los integrantes compartan la información de una manera muy fácil. Además, tendrás la posibilidad de elegir la función de mensajes directos entre los mismos integrantes.
- Cuando tienes un propio servidor puedes escoger el nivel de seguridad que desees y generar puentes con otras plataformas.
- Si hacen una ingeniería social no podrán captar tus datos privados, tampoco existirá publicidad ni fuga de información en tu servicio de chat privado.
- Si bien es cierto que con Slack (o herramientas similares) puedes tener beneficios parecidos, no es lo mismo que tener tu propio servidor. Esto se debe a que en estas plataformas de servidores externos a tu empresa cualquier intruso, por medio de técnicas de phishing, puede acceder al panel de administración y exponer la información privada de una manera muy fácil. Esto se debe a que siempre los mensajes quedan del lado del servidor en formato de texto y se guardan por tiempo indeterminado.
¿Qué herramientas necesito para crear mi propia plataforma de chat privada y encriptada?
Tal como te mencionamos en puntos anteriores, los servidores de las mensajerías se quedan con el historial de información y lo guardan por un tiempo indefinido. Además, estos datos están en formato de texto, por lo que es posible acceder a los mismos de un modo no tan complicado.
Si tienes una empresa y tu problema es que debes mantener los datos confidenciales que se originan en la misma de una manera segura, es posible crear una sala de chat (o varias) y alojarla en un servidor privado. De esta forma, todo el control de la información y la protección de la seguridad quedarán en manos de la propia organización. Para beneficiarse con esta gran opción de robustecer la privacidad y seguridad es necesario usar dos elementos fundamentales.
Uno es una aplicación que pueda ser instalada en ordenadores con sistemas operativos Windows, MacOS o Linux y también en móviles Android e iOS. Y el otro elemento necesario es un protocolo que permita crear salas de chat para escribir mensajes privados y mantenerlos seguros en un servidor propio. Por lo tanto, te mostraremos a continuación cuáles son las herramientas que necesitarás para crear tu propia plataforma de chat privada y encriptada.
Comencemos:
Matrix Protocol
El protocolo Matrix es un método de información que combina mensajes encriptados de extremo a extremo y los aloja en un servidor. De esta manera es posible crear salas de chats, escribir mensajes y dejar toda esa información dentro de una plataforma o de la propia estructura del servidor privado que se elige.
Es ideal para compartir datos confidenciales porque es posible crear salas de chat codificadas. Además, permite cifrar los servidores y hacer que todo el intercambio de mensajes permanezca bajo el control absoluto de la empresa. El protocolo de comunicación que ofrece es en tiempo real y está descentralizado. Se lo lleva a cabo mediante estándares establecidos por la organización Matrix.org Foundation, la cual no persigue fines de lucro.
Dentro de las ventajas más destacadas que tiene este protocolo se encuentran:
- Permite el cifrado de extremo a extremo en los chats.
- Es posible crear todas las salas de chat que sean necesarias y enviar mensajes a estas para que la información sea conocida por todos los miembros de la sala. O bien, entregar mensajes privados a otro integrante.
- Facilita la creación de ChatBot.
- Cada servidor tiene total soberanía sobre los datos alojados en el mismo, por lo que solo la empresa que es propietaria del mismo tiene acceso a la información confidencial.
- Es de código abierto, lo cual mejora de sobremanera la confianza en esta plataforma.
- Las conversaciones quedan registradas en todos los servidores que se crean, por lo que el acceso a la información por parte de todos los integrantes es 100% efectiva.
- Para la instalación en un ordenador necesitarás tener un nombre de dominio, un servidor virtual y algunos conocimientos de programación de Linux. Por lo que cualquier usuario puede generar su propio servidor privado en Matrix.
- Usa Synapse como la aplicación necesaria para el servidor, mientras que Riot (ahora Element) es el encargado de trabajar en los dispositivos móviles y en los ordenadores de los usuarios. De esto surge que no es necesario grandes herramientas sofisticadas para su empleo.
- Es compatible con otros protocolos, como por ejemplo XMPP. Además, es posible conectar con Gitter, Slack, Facebook, WhatsApp y Telegram, entre otros.
- Es posible tener comunicaciones por medio de Voz por IP (VoIP), por lo que la convierte en una herramienta versátil y de bajo coste para la organización que la usa.
Element (Antes Riot)
A mediados del año 2020 Riot cambió de nombre y pasó a llamarse Element. Esto se debió, en especial, porque existían otras aplicaciones que tenían el mismo nombre y también un poco por la traducción que tiene riot del inglés, la cual significa disturbio y no está para nada relacionado con el objetivo de la app.
Algo te comentamos cuando analizamos Matrix acerca de Riot. Se usa Synapse para el servidor y Element para el cliente como una aplicación necesaria para llevar a cabo el proyecto en Windows, MacOS, Linux, iOS y Android. Con esta herramienta es posible mantener todas las conversaciones privadas y a salvo del análisis de minería de datos que puedas realizar cualquier persona por medio de Internet.
Sus características principales son:
- Aplicación de uso compartido, por lo que es posible mantener salas de chat con varias personas al mismo tiempo.
- Este desarrollo informático se pensó para ser usado en el ámbito empresarial. Esto permite que las características de sus herramientas benefician de sobremanera a los integrantes de una compañía.
- Se puede usar en los principales sistemas operativos.
- Su desarrollo se basa en métodos Open Source, por lo que permite que cualquier informático pueda colaborar en el proyecto para mejorarlo.
Aprende paso a paso cómo crear tu propio servicio de chat con la mejor privacidad y seguridad
Para crear un servicio de chat privado y cifrado y luego alojarlo en tu propio servidor mediante el protocolo Matrix y usando la app Riot será necesario que leas los pasos que te mostraremos a continuación para que lleves a cabo esta tarea sin inconvenientes. Lo primero que tienes que saber es que no es un proceso difícil, solo debes tener en cuenta todos los detalles que te mostramos para que no mueras en el intento y tengas una comunicación en tu empresa 100% segura.
Comencemos:
Contrata un nombre de dominio
Para comenzar con esta tarea necesitarás acceder a un servidor por lo que tendrás que elegir un nombre de dominio. Existe una gran cantidad de plataformas a las que puedes acceder y escoger el que más te guste.
Por ejemplo:
- DonWeb.com
- GoDaddy.com
- Registros.com
- Cdmon.com
- Webempresa.com
- Namecheap.com
- Domains.Google
- Dondominio.com
- Hostinet.com
- Nominalia.com
Una vez que hayas encontrado el que más te guste lo que deberás hacer es descargar Debian como sistema operativo para que puedas crear un servidor en la nube o en un espacio físico. Para ello, tendrás que dirigirte a la página oficial https://www.debian.org
y bajar el código libre. Luego deberás elegir el servidor de la nube, si es que no quieres hacerlo en uno físico. Al igual que ocurre con las plataformas de dominio también puedes encontrar una gran cantidad de servidores.
Algunos de ellos son:
- AWS, es el servidor propiedad de Amazon. Podrás usarlo ingresando a su web oficial
https://aws.amazon.com/es/
. - DigitalOcean, originario de Estados Unidos y considerado como uno de los mejores. Su página es
https://www.digitalocean.com/
. - Gigenet, también reconocido por mucho como un buen servidor digital. Para contratar sus servicios tendrás que entrar a
https://www.gigenetcloud.com/
.
Vincula los DNS del servidor con el nombre de tu dominio
Para ello deberás ingresar, una vez abierta la terminal de Debian, el comando myserver.internetpasoapaso.com. 500 IN A 8.8.8.8
. Tomaremos como ejemplo que el nombre del servidor será myserver.internetpasoapaso.com, mientras que 500 es la dirección IP de los DNS de tu proveedor, A es el registro en texto y 8.8.8.8 es el que tomamos por ejemplo del de Google.
Prepara la instalación de Synapse
Lo que tendrás que hacer ahora es crear un servidor de referencia de Matrix para ser usado en el proceso de comunicación del servicio de chat. Lo que tendrás que hacer ahora es crear una máquina virtual en Debian.
Para ello vas a tener que acceder como usuario root al proveedor del servidor virtual y crear, por medio del protocolo SSH, las funciones para tener acceso remoto. A continuación, deberás estandarizar el repositorio Synapse en Matrix. Esto significa que vas a hacer compatible los archivos que se almacenan en Synapse para obtener los recursos necesarios y de esta manera poder usarlos en el protocolo Matrix.
Esto lo podrás hacer ingresando:
# echo 'deb http://ftp.debian.org/debian ipap-backports main' >> /etc/apt/sources.list
La salida también puede ser aleatoria, como una cadena de 64 caracteres. Por ejemplo, VJLKdqPqIAsrvfvEtgHfY8oZ06F5NMYnhdbHhVbneDiTFTDfdIXPBWDOqaVsR5er, pero continuaremos usando la salida como ipap para simplificar el ejemplo.
Después es recomendable verificar que el SO encuentra el repositorio, por lo que deberás escribir:
# apt-get update && apt-get dist-upgrade -y
Los pasos que te hemos mencionado en esta parte corresponden al método de acceso a través de FTP. Pero esto no implica que sea lo único también lo puedes hacer ingresando desde el servidor. Por lo general se utiliza cPanel como administrador del hosting de tu proveedor.
Mejora tu VM
Más en Seguridad informática
- Problemas de Seguridad en iOS ¿Cuáles son los más peligrosos para la privacidad de mi iPhone?
- ¿Cuáles son los mejores firewall para Linux y proteger tu PC al máximo con cortafuegos de alta protección? Lista 2024
- Seguridad en las Transacciones Online ¿Cómo funciona y cómo identificar E-Commerce fraudulento que no cumple con estas medidas de ciberseguridad?
- Zoombombing o Bombardeo en Zoom ¿Qué es y cómo evitar que se corten tus videoconferencias?
- Cifrado de discos duros y archivos ¿Cómo funciona, cuáles son sus beneficios y qué programas se utilizan para ello?
SÍGUENOS EN 👉 YOUTUBE TV
Al haber realizado los pasos anteriores has creado una máquina virtual que es detectada por Debian, pero está es básica por lo que necesitarás agregarles algunos paquetes que te ayudarán en el proceso.
Esto lo podrás hacer con los comandos:
# apt-get install -y apt-transport-https lsof curl python python-pip
# apt-get install -y certbot -t ipap-backports
Incorpora más repositorios
Ahora tendrás que seguir agregando repositorios de programas para mejorar la máquina virtual. Tendrás que abrir un editor de texto, el cual puede ser Nano, en el que vas a tener que ingresar /etc/apt/sources.list.d/matrix.list
y llamarlo de esta manera.
Para terminar con este paso deberás escribir dentro del archivo del editor de texto que acabas de crear lo siguiente:
deb https://matrix.org/packages/debian/ ipap main
deb-src https://matrix.org/packages/debian/ ipap main
Instala Synapse
Ingresa los siguientes comandos para instalar Synapse:
# curl https://matrix.org/packages/debian/repo-key.asc | apt-key add -
# apt-get update
# apt-get install matrix-synapse -y
Si por algún motivo la instalación falla es porque tienes un conflicto en una biblioteca de códigos python-cffi. Por lo que deberás repararla desde la puerta de salida.
Para esto tendrás que escribir:
# apt install python-cffi/ipap-backports
y luego reintenta con instalación de Synapse.
Ejecuta de nuevo el comando:
# apt-get install matrix-synapse -y
A continuación, deberás ingresar el nombre del hosting de tu servidor, y cual hemos llamado en este ejemplo myserver.internetpasoapaso.com.
Crea un certificado de seguridad global SSL en tu dominio
Matrix trabaja por medio de certificados SSL, por lo que necesitarás que tu dominio que has registrado antes logre transferir los datos de manera cifrada entre cualquier navegador y el hosting. Para ello, necesitarás solicitar a una autoridad certificadora la autenticación de la seguridad en la capa de transporte por medio de protocolos criptográficos.
En este ejemplo usaremos Let´s Encrypt a la que puedes acceder por medio de la dirección URL https://letsencrypt.org/
. Deberás pulsar en el botón Empezar para iniciar el proceso. De lo contrario, puedes usar una herramienta externa llamada certbot para obtener tu certificado TSL.
Para esta última opción tendrás que ingresar el comando # certbot certonly
y luego hacer clic en la opción Activar un servidor web temporal. Debes tener en cuenta que este certificado tiene una duración de 3 meses por lo que si deseas obtener una renovación que se ejecute de forma automática tendrás que ingresar el comando # crontab -e
. Y a continuación deberás insertar @daily certbot renew --quiet --post-hook "systemctl reload nginx"
.
Configura un servidor Proxy inverso
No debes olvidarte de que un Proxy es un servidor o un dispositivo que actúa como intermediario entre las peticiones que se realizan entre el cliente y el servidor en cualquier red. Mientras que un Proxy inverso trabaja como recuperador de recursos desde el punto de vista del cliente. Por tal motivo, es necesario usar algún servidor que sea ligero y de alto rendimiento para cumplir con el objetivo, en este caso se tomará como ejemplo nginx. Este servidor inverso debe ser compatible con el protocolo HTTPS.
Es necesario configurarlo de la siguiente manera:
- Escribe
# apt-get install nginx -y
. - Abre el archivo
/etc/nginx/conf.d/matrix.conf
que lo creaste con el editor de texto.
Escribe a continuación (sin las viñetas que ves al principio):
server { listen 443 ssl; server_name myserver.internetpasoapaso.com; ssl_certificate/etc/letsencrypt/live/myserver.internetpasoapaso.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myserver.internetpasoapaso.com/privkey.pem; ssl_protocolsTLSv1 TLSv1.1 TLSv1.2; ssl_ciphersHIGH:!aNULL:!MD5; location /_matrix { proxy_pass http://localhost:8008; proxy_set_header X-Forwarded-For $remote_addr; } }
Para terminar, reinicia el servidor Proxy inverso nginx escribiendo # systemctl restart nginx
.
Personaliza Synapse
Lo que deberás hacer ahora es agregar un secreto compartido entre los usuarios. Por lo que deberás abrir el archivo /etc/matrix-synapse/homeserver.yaml
y escribir registration_shared_secret: <agregue caracteres aleatorios aquí, lo que quiera que sea su secreto>
. Esto hará que Synapse guarde la conversación en la memoria RAM del servidor.
Si deseas aumentar la capacidad de la memoria RAM para que almacene en el caché toda la información de las conversaciones que se llevan a cabo, tendrás que abrir /etc/default/matrix-synapse
y luego agregarSYNAPSE_CACHE_FACTOR 0.02`
.
Después podrás ejecutar Synapse ingresando los comandos:
# systemctl restart matrix-synapse
# systemctl enable matrix-synapse
Crea cuentas de usuarios
Escribe a continuación los códigos para crear tu primer usuario:
# register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://localhost New user localpart [root]: {add your name/handle here} Password: [escribe aquí tu clave de acceso o la de un usuario] ingresando a /]. Confirm password: Make admin [no]: yes Sending registration request… Success.
Si lo deseas puedes usar nuestro Generador de contraseñas. Si quieres que los nuevos usuarios se habiliten por medio del registro de la interfaz gráfica de Element será necesario que edites el documento /etc/matrix-synapse/homeserver.yaml
e ingreses enable_registration: true
. En caso contrario, deberás escribir register_new_matrix_user -c
e ingresar en /etc/matrix-synapse/homeserver.yaml https://localhost
para incorporar usuarios de manera manual.
Instala Element
Lo que tendrás que hacer en este paso es, en el servidor que acabas de crear, bajar el cliente front-end de fancypants. Para eso tendrás que dirigirte a la página oficial de Element escribiendo la dirección URL https://element.io/
y luego deberás elegir el sistema operativo de tu ordenador para descargar la ISO.
Abre Element
Dirígete a la pantalla de inicio de la aplicación y conéctalo al servidor creado.
Esto lo podrás hacer siguiendo este paso a paso:
- Ingresa al campo Sign in y escribe tu nombre de usuario y contraseña.
- A continuación, marca la casilla Custom server.
- Escribe en la sección Home server URL internetpasoapaso.com (recuerda que este es el ejemplo del nombre del servidor que hemos creado).
- Harás lo mismo en el campo URL del servidor de identidad, por lo que deberás ingresar
myserver.internetpasoapaso.com
.
Crea una sala de chat
Una vez que inicie con tu usuario y contraseña vas a tener que generar una nueva sala de chat y editar las preferencias.
Para esto deberá seguir el siguiente proceso:
- En la pantalla de inicio busca la herramienta Crear sala y pulsa en ella. Escribe un nombre para la misma.
- Dirígete la parte superior del panel de control y haz clic en el icono representado por un engranaje.
- A continuación, busca la opción Habilitar cifrado (Enable encryption) y pulsa en la misma.
- Después guarda los cambios.
Personaliza las configuraciones de seguridad
Lo que deberás hacer ahora para que este proyecto tenga sentido es agregar otras opciones que reforzarán el nivel de seguridad de la sala de chat.
Elige estos criterios:
- Who can access this room? -- Only people who have been invited (default)
- Who can read history? -- Members only (since they joined)
- URL previews -- Disable URL previews
- To invite users in the room -- Moderator. Con esta opción solo podrá invitar el administrador a las salas de chats.
Luego de esto deberás tener en cuenta otras configuraciones. Por ejemplo, la implementación web de Element, un cortafuegos con una tabla de IP, actualizaciones del sistema operativo, proteger el inicio de sesión SSH generar notificaciones por correo electrónico. Por último, podrás crear interacciones con Github, Giphy, buscador de imágenes de Google, Wikipedia, Guggy, Twitter y Slack, entre otras aplicaciones.
Invita a personas a participar del servicio del chat privado
Lo que tendrás que hacer a continuación es invitar a personas para que se unan a las salas privadas y puedan mandar sus mensajes entre los participantes de una manera segura y cifrada.