24 de junio de 2016

TCPCRYPT. El protocolo que permite cifrado extremo a extremo sin configuración

El protocolo Tcpcrypt nos permite cifrar todo el tráfico de nuestra red local y también de nuestra conexión a Internet contra un servidor remoto. A diferencia de otros protocolos de seguridad, Tcpcrypt funciona sin necesidad de configuración, cambios en las propias aplicaciones y servicios de red e incluso sin necesidad configurar nada en nuestro router.
Este protocolo permitirá el tráfico cifrado extremo a extremo, siempre y cuando ambos extremos soporten Tcpcrypt, de lo contrario toda la comunicación se realizará en texto plano porque no funcionará el cifrado, tendremos una simple conexión TCP. De cara al rendimiento con este protocolo, no se verá afectada negativamente, no hay un impacto importante en el rendimiento de las comunicaciones ni tampoco en el consumo de CPU de los equipos.
Razones para utilizar Tcpcrypt
  • La principal razón para utilizar un protocolo de cifrado de comunicaciones es para que los usuarios malintencionados no puedan leer nuestras comunicaciones, aunque estas comunicaciones sean interceptadas, algo típico en las redes Wi-Fi de aeropuertos e incluso en hoteles.
  • Los nuevos ordenadores y servidores tienen procesadores que soportan el juego de instrucciones AES-NI, esto nos permite cifrar datos al vuelo proporcionando el mismo rendimiento que si no estuvieran cifrados. Según las pruebas del equipo de desarrollo de Tcpcrypt, podremos enviar tráfico cifrado a una velocidad de hasta 10Gbps sin problemas.
  • Otra razón de peso de utilizar Tcpcrypt es que funciona detrás de la NAT que hacen nuestros routers, por lo que no tendremos que redireccionar puertos ni tampoco realizar ningún tipo de configuración específica.
Cómo funciona Tcpcrypt
  • Este protocolo proporciona cifrado extremo a extremo, pero si uno de ellos no “habla” Tcpcrypt, la comunicación no será cifrada. Por defecto, este protocolo no es vulnerable a los ataques pasivos, es decir, cuando un usuario malintencionado captura nuestro tráfico, no lo podrá leer.
  • Sin embargo, sí es vulnerable a ataques activos en los que un atacante se pone en medio de la comunicación, ya que podría manipular la comunicación para “decirnos” que el extremo no soporta Tcpcrypt y por tanto, la comunicación se realizaría en claro. El equipo de desarrollo de Tcpcrypt ha creado un sistema de autenticación con secreto compartido (una contraseña), para autenticarnos y que sea el destinatario quien nos lo diga realmente, el usuario malintencionado al no conocer la contraseña no se podrá hacer pasar por él.
  • Tcpcrypt es compatible con los sistemas operativos Microsoft Windows, Linux, Mac OS X y también FreeBSD, por lo que no tendremos excusa para no utilizar este protocolo que nos permite cifrar nuestras comunicaciones.
Instalación en cualquier sistema Linux
Para instalarlo en cualquier sistema operativo basado en Linux, simplemente deberemos descargarnos el proyecto, compilarlo y ejecutarlo.
$ git clone git://github.com/scslab/tcpcrypt.git
$ cd tcpcrypt
$./bootstrap.sh
$./configure
$ make
$ sudo ./launch_tcpcryptd.sh
El propio script se encargará de configurar nuestro firewall iptables para que todo el tráfico viaje a través de este protocolo, excepto SSH por ejemplo que ya utiliza cifrado. Cuando nos salimos del script el firewall volverá a los valores anteriores, por tanto los cambios no son permanentes.
Una vez instalado, podemos probar que funciona correctamente entrando con nuestro navegador web en esta dirección, nos indicará si la conexión es cifrado o si no lo está, además siempre podremos utilizar tcpdump para verificar si el tráfico está cifrado o no lo está.
Más información
Fuente: Redeszone.net