Whonix: Privacidad superior a nivel de sistema

El aumento generalizado de la vigilancia a nivel global está llevando a una disminución de nuestras libertades. Este fenómeno se manifiesta a través de la incorporación de leyes más estrictas, el uso indiscriminado de tecnologías de monitoreo y una mayor presencia policial en los espacios digitales. Esto a menudo implica silenciar la disidencia y restringir la libertad de expresión.

Whonix es un sistema operativo basado en Kicksecure dieñado para operar bajo un nivel avanzado de seguridad, privacidad y anonimato. La arquitectura de Whonix se basa en el uso de dos componentes principales:

  • Whonix Gateway se conecta a internet a través de la red Tor. Gestiona la red y asegura que todos los paquetes son anonimizados para ocultar la identidad del usuario.
  • Whonix Workstation es el entorno donde el usuario realiza sus operaciones. Incluye varias aplicaciones preinstaladas y preconfiguradas de forma segura por defecto. Se conecta a internet a través de la conexión proporcionada por Whonix Gateway.

Esta guía es esencialmente una síntesis de varios elementos que pueden encontrarse en la documentación oficial y pretende servir como introducción al sistema operativo. En este caso, se mostrarán los pasos a seguir para ejecutar el sistema bajo una máquina virtual KVM en un host Kicksecure.

Instalación de Kicksecure como host

Kicksecure es el sistema base de Whonix. Al mismo tiempo, Kicksecure está basado en Debian. Actualmente, la vía más adecuada para instalar este sistema es realizando previamente una instalación limpia de Debian y convirtiéndolo en Kicksecure a posteriori.

Instalación limpia de Debian

Obtén Debian en su repositorio oficial:

Si necesitas ayuda para este paso, puedes seguir esta guía:

Es preferible que el nombre del usuario principal sea user.

Cuando hayas instalado Debian, necesitarás realizar estas operaciones para dejarlo listo antes de convertirlo en Kicksecure.

Actualiza el sistema:

$ su -
# apt update
# apt full-upgrade

Instala sudo y adduser:

# apt install --no-install-recommends sudo adduser

Crea el grupo console:

# /usr/sbin/addgroup --system console

Añade el usuario principal a los grupos sudo y console:

# /usr/sbin/adduser user console
# /usr/sbin/adduser user sudo

Reinicia el sistema:

# reboot

Instalación de Kicksecure

Con Debian puesto en marcha, ya puedes convertirlo en Kicksecure.

Empieza instalando el paquete extrepo y habilita a continuación el repositorio de Kicksecure:

$ sudo apt install extrepo
$ sudo extrepo enable kicksecure

Ahora instala el paquete kicksecure-xfce-host:

$ sudo apt install --no-install-recommends kicksecure-xfce-host

Activa el repositorio de Kicksecure y deshabilítalo en extrepo:

$ sudo repository-dist --enable --repository stable
$ sudo extrepo disable kicksecure

Ya que sources.list es reemplazado en /etc/apt/sources.list.d/debian.list, elimina el archivo o muévelo a otro sitio:

$ sudo mv /etc/apt/sources.list ~/
$ sudo touch /etc/apt/sources.list

Ahora Kicksecure está listo para usarse. Información adicional:

Preparación de KVM

Para instalar KVM, empieza por añadir tu usuario al grupo sudo y reinicia la sesión o el sistema:

$ su -
# adduser user sudo && /usr/sbin/reboot

Actualiza la lista de paquetes desde los repositorios e instala los paquetes necesarios para hacer funcionar KVM:

$ sudo apt update
$ sudo apt install --no-install-recommends qemu-kvm qemu-system-x86 libvirt-daemon-system libvirt-clients virt-manager gir1.2-spiceclientgtk-3.0 dnsmasq-base qemu-utils iptables

Añade a tu usuario a los grupos de KVM:

$ sudo adduser user libvirt
$ sudo adduser user kvm

Vuelve a reiniciar el sistema:

$ sudo reboot

Asegúrate de que la red de KVM está habilitada y en línea:

$ sudo virsh -c qemu:///system net-autostart default
$ sudo virsh -c qemu:///system net-start default

Instalación de Whonix

A continuación descarga el paquete de Whonix:

Descomprime el archivo descargado:

$ tar -xvf Whonix*.libvirt.xz

Deberás aceptar el acuerdo de licencia. Para ello, crea el siguiente archivo en el mismo directorio donde has descomprimido los archivos.

$ touch WHONIX_BINARY_LICENSE_AGREEMENT_accepted

Importa y activa las redes virtuales:

$ sudo virsh -c qemu:///system net-define Whonix_external*.xml
$ sudo virsh -c qemu:///system net-define Whonix_internal*.xml
$ sudo virsh -c qemu:///system net-define Whonix_internal*.xml
$ sudo virsh -c qemu:///system net-start Whonix-External
$ sudo virsh -c qemu:///system net-autostart Whonix-Internal
$ sudo virsh -c qemu:///system net-start Whonix-Internal

Importa Whonix Gateway y Workstation:

$ sudo virsh -c qemu:///system define Whonix-Gateway*.xml
$ sudo virsh -c qemu:///system define Whonix-Workstation*.xml

Mueve los archivos de almacenamiento virtual a la ruta por defecto donde se almacenan las imagenes para libvirt:

$ sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/Whonix-Gateway.qcow2
$ sudo mv Whonix-Workstation*.qcow2 /var/lib/libvirt/images/Whonix-Workstation.qcow2

Ya puedes iniciar ambos sistemas desde la interfaz gráfica de virt-manager. Si lo prefieres, puedes editar previamente el hardware virtual al abrir la ventana de una máquina.

Dentro de Whonix Gateway encontrarás el panel de control de Tor en la bandeja del entorno gráfico, donde podrás administrar tu conexión a la red, añadir puentes e inspeccionar los circuitos.

Postinstalación

Estos pasos pueden aplicarse tanto en Whonix como en Kicksecure.

1. Actualiza el sistema

Para actualizar el sistema, Whonix dispone de su propio script para realizar la operación sin depender de una cuenta de administrador.

$ upgrade-nonroot

2. Cambia la distribución del teclado

Cambia la distribución del teclado en Xfce accediendo a Applications > Settings > Keyboard > Layout. Añade la nueva distribución y elimina la establecida por defecto.

3. Actualiza la contraseña

Tanto en Whonix Gateway como en Whonix Workstation, la contraseña por defecto es changeme. Deberías actualizarla cuanto antes.

$ sudo passwd user

Enlaces de interés

Algunos enlaces por si quieres documentarte más al respecto:


napalm@cryptolab.net