En la actualidad el uso de internet se ha convertido en algo cotidiano, todos los días leemos las noticias, enviamos correos, nos metemos en redes sociales, miramos la cuenta del banco, y una multitud de cosas más, y en muchas de ellas enviamos información que debería ser confidencial, como nombres de usuario, contraseñas o números de cuenta. Para ayudarnos a mantener estos datos a buen recaudo se creó el protocolo HTTPS.
¿Por qué usar HTTPS?
A estas alturas todos conocemos casos en los que se ha robado alguna cuenta de Facebook o han intentado entrar en una cuenta de correo electrónico. Los ciberataques son algo cotidiano y debemos estar preparados para intentar evitarlos y las conexiones de internet son uno de los puntos a proteger si queremos estar protegidos.
«Man in the Middle»
El método más común para obtener información a través de las conexiones a internet es el conocido como hombre de en medio o en inglés man in the middle, que consiste en que el atacante se «coloca» entre el ordenador del usuario y la conexión a internet haciendo que toda la información que se envía a internet pase por él (a esto se le llama esnifar datos). Esto implica que todo lo que enviemos en texto plano (quiere decir, con conexión HTTP normal) está expuesto a que el intruso lo pueda leer, esto incluye consultas, páginas e incluso nombres de usuario y contraseñas. Si a esto le unimos la costumbre que tiene casi todo el mundo de reutilizar la misma contraseña para varios sitios, nuestra seguridad queda muy comprometida.
Sobre todo esto se puede dar en redes públicas, como salas de ordenadores de uso público, cibercentros o redes WIFI abiertas o de comercios. En estos lugares, sobre todo en el caso de redes WIFI, no podemos controlar quién está conectado y al no tener experiencia sobre la velocidad de la conexión nos es más difícil advertir la presencia de algún ataque. ¿Cómo podemos evitar que roben nuestras contraseñas?
Certificado SSL
La mejor forma de protegernos de un man in the middle es el protocolo HTTPS (Hyper Text Transfer Protocol Secure), de esta forma toda la información entre nosotros y la web va encriptada con un certificado SSL, haciéndola ilegible para el intruso. Los certificados SSL pueden ser o autofirmados, que dan un error en la mayoría de los navegadores, o expedidos por una autoridad certificadora, que da fe de su validez. También hay niveles de certificados, ya que con el paso del tiempo la exigencia de seguridad va aumentando. Estos certificados están basados en cadenas muy largas de carácteres procesadas con un algoritmo muy complejo, lo que hace que sea muy difícil conseguir sacar algo de información de el tráfico capturado. ¿Cómo trabaja el certificado en el protocolo HTTPS?
[bctt tweet=»La mejor forma de protegernos de un man in the middle es el protocolo HTTPS» username=»indexdesarrollo»]
Clave pública y clave privada
Cuando conectamos a una web que trabaja con protocolo HTTPS nos envía una clave pública para cifrar toda la información que le enviemos. Ésta clave sólo sirve para encriptar, nunca para desencriptar, para eso es necesaria la clave privada que se conserva en el servidor y que no está disponible desde el exterior, y gracias a ella la web puede descifrar toda la información enviada. Una característica del protocolo HTTPS es que hay que instalarlo en la página, por lo que no depende del usuario que éste funcione o no, pero sí que es importante observar si está activado para garantizar nuestra seguridad.
Podemos comprobar que una web tiene activado el protocolo HTTPS por varios métodos: Uno es que la URL en vez de empezar con http:// empieza con https://, otra es que junto a la URL en el navegador aparece un candado verde, mostrando que la conexión es segura. Es muy importante que en webs en las que se introducen datos como nombres de usuario y contraseña, direcciones o datos bancarios esté activo este protocolo.
¿En qué webs debe haber HTTPS?
La mayoría de los sitios web importantes ya usan el protocolo HTTPS, todas las redes sociales, e incluso el buscador Google (se puede averiguar muchas cosas de alguien por sus búsquedas), pero a nivel inferior no todas las webs que debieran lo tienen activado. Éstas son las páginas que deberían llevarlo siempre activado:
- Tiendas online. Las pasarelas de pago, ya sean de un banco o de Paypal, suelen tener siempre activada la conexión por protocolo HTTPS por defecto, pero en algunas tiendas los desarrolladores no lo activan en el resto de la tienda, o lo hacen sólo en la zona de cliente. Ésto puede comprometes la seguridad de los usuarios ya que estaría entrando con usuario y contraseña en texto plano, y un intruso podría capturarlo fácilmente, pudiendo acceder al resto de los datos personales guardados en la web, como direcciones, teléfonos o compras.
- Webmails. El acceso a un correo electrónico es uno de los sitios más comprometidos que puede haber, y debe estar protegido al máximo posible, ya que dentro de los correos hay desde información personal hasta contraseñas de otros servicios.
- Zonas de gestión. Si tenemos una web con una zona privada desde la que gestionarla o back-end, es conveniente que tenga activado el protocolo HTTPS desde la pantalla de acceso, así evitamos que puedan tomar el control de la misma capturando la contraseña. En estos casos se podría utilizar un certificado autofirmado ya que no es una sección abierta al público y no importa tanto el reconocimiento por parte de los navegadores.
- Formularios con información personal. En muchas páginas, oficiales y privadas, para realizar algunas gestiones hay que introducir datos tales como DNI, dirección o teléfono. Éstas webs deberían también tener un certificado SSL que no comprometa esos datos, pero a día de hoy en muchas, incluso pertenecientes al estado, todavía se accede sin cifrado.
- Páginas con registro y login. Webs como foros, redes sociales o de noticias que tienen un formulario de registro o de acceso mediante usuario y contraseña son un punto débil en el que hay que tener mucho cuidado, sobre todo en páginas de descargas y similares en las que no sabemos quién puede haber detrás. Una recomendación para este tipo de sitios es usar un correo temporal y una contraseña que no uses en ningún otro sitio, ya que no sabemos si va a estar cifrada en la base de datos o el administrador va a tener total acceso a ella.
Otros servicios con cifrado SSL
Como no sólo de webs vive el hombre, hay otros servicios de internet que son igualmente susceptibles de ser capturados por un intruso. Para ellos hay protocolos equivalentes al HTTPS también a través de certificados SSL.
- Correo electrónico. Si usas un cliente de correo electrónico como Thunderbird, Outlook o el que viene instalado en tu teléfono móvil, es importante que tanto las conexiones SMTP como IMAP o POP3 sean bajo certificado SSL, ya que en caso contrario toda la información de los correos se enviaría por texto plano, quedando al alcance de cualquier hacker que pueda haber en la red. La conexión con SSL suele utilizar los puertos 465 o 587 para el SMTP, el 993 para el POP3 y el 995 para el IMAP.
- FTP. Es el método clásico para subir y bajar archivos a los servidores web y por defecto se envían todos los datos en texto plano. En el caso del FTP hay varios protocolos seguros alternativos, por un lado está el SFTP, que lo que hace es aprovechar un túnel SSH, que es seguro en sí mismo, y el FTPS, que es FTP pero con certificado SSL. Cualquiera de las dos opciones es válida a la hora de asegurar nuestra transferencia de archivos.
- Servicios de mensajería instantánea. Desde los IRC hasta los chats de móvil hasta hace casi nada no se le daba ninguna importancia a la privacidad, de hecho hasta hace poco tiempo los mensajes de Whatsapp se enviaban en texto plano. Si bien no es posible en todos los casos conocer si hay un cifrado de las conversaciones, sí que hay que tener en cuenta no dar según qué datos en ciertos servicios de mensajería.
- Aplicaciones móviles. No es fácil saber si las aplicaciones que tenemos instaladas en el teléfono usan certificado para el envío de datos, pero sí que sería recomendable que lo tuviesen para garantizar la privacidad de las transmisiones.
¿Y si no hay HTTPS?
Nos ponemos en el caso de que obligatoriamente has de acceder a una web en la que no hay posibilidad de acceder mediante HTTPS por la razón que sea. ¿Cómo actuar?
Si estás en tu casa y tienes la certeza de que no hay ningún intruso en la red no debería haber ningún problema, si estás en una red pública tienes la opción de esperar a estar en una red segura o arriesgarte. En caso de ser una tienda online, si no tiene HTTPS lo mejor es buscar una alternativa segura, ya que la falta del certificado podría ser una señal de que la web no es de confianza. Si es una página oficial, no suele quedar más remedio que usarla tal cual está, ya que muchas están muy desactualizadas. En el caso de páginas en las que no importa la veracidad de tus datos directamente invéntatelos, evitaras spam y evitarás riesgos.
Una forma de comprobar que no hay alguien esnifando datos es entrar en una página que sabes que usa https, por ejemplo Google, y si da un error en el certificado es que hay un intruso.
Empieza a ser obligatorio para un uso normal de internet estar al día en los riesgos que hay y las herramientas que tenemos para minimizarlos, y el uso de certificados es uno de nuestros mayores aliados. ¿Empezarás a tenerlos en cuenta?