Autotest
redder-selftest comprueba, dentro del sistema arrancado, que las protecciones están realmente
activas. Se ejecuta con la entrada Autotest y apagar de GRUB (redderos.selftest=1), imprime
cada comprobación con ✔ o ✘ y termina con:
===== RESULTADO: PASS =====o FAIL si alguna falla. Después apaga el equipo. Los resultados publicados están en
Transparencia.
Qué comprueba
| Bloque | Comprobación |
|---|---|
| Estado general | Todo lo de redder-status: Tor, cortafuegos, lockdown, AppArmor, IPv6, raíz en RAM, swap y MAC. |
| sysctl | Cada clave del fichero de endurecimiento tiene el valor esperado. |
| Módulos | dccp, sctp, tipc, bluetooth, firewire-core, thunderbolt y cramfs no se pueden cargar. |
| Amnesia | Volcados de memoria a 0 y journal solo en la RAM. |
| Privilegios | anon no tiene sudo. |
| Disco del equipo | Ninguna partición del disco del equipo está montada. |
| Tor | Escucha en los puertos 9040, 9050 y 5353. |
| Fugas | Como anon: una conexión TCP directa y una consulta DNS acaban en Tor (suben los contadores del cortafuegos); ping no sale; un paquete UDP directo se descarta y queda registrado. |
Perfiles en dos arranques
Con redderos.selftest.profiles=create o =check y un disco de pruebas en /dev/vdb, el autotest
prueba también los perfiles:
Primer arranque (create)
- Inicializa la bóveda y crea un perfil en el hueco 5.
- El usuario del perfil escribe un fichero en su
/homey es su dueño. - Al cerrar el perfil, el usuario desaparece del sistema.
- Conocimiento cero:
blkidno reconoce nada en el disco ni en ninguno de los 8 huecos (ni LUKS ni ext4); ni el nombre, ni la etiqueta, ni el contenido del fichero aparecen en claro; no queda rastro en/etc/passwd,/etc/shadowni/etc/group.
Segundo arranque (check)
- El sistema no sabe que el perfil existe antes de abrirlo.
- Una frase incorrecta y un perfil inexistente dan exactamente el mismo error, y con la frase incorrecta no se monta nada.
- Con la frase correcta se abre y el fichero del primer arranque sigue ahí.
- El
/homese monta connosuidynodev.
Pruebas en QEMU
En la carpeta tests/ del código del SO. Necesitan qemu-system-x86; para UEFI, ovmf; para la
prueba gráfica, socat e ImageMagick.
Primero, una ISO que arranque el autotest por defecto:
sudo BASE=ubuntu GRUB_DEFAULT=3 ISO_NAME=redderos-selftest ./build.sh| Script | Qué hace |
|---|---|
tests/run-qemu.sh | Arranca la ISO en BIOS y en UEFI con un disco «del equipo» que tiene una partición swap, y comprueba que el resultado es PASS (y que esa swap no se usa). |
tests/run-profiles.sh | Los dos arranques de perfiles sobre la misma bóveda de 320 MB. |
tests/run-gui.sh | Arranca la entrada normal de GRUB con una gráfica VGA estándar, espera a la pantalla de entrada, prueba una frase incorrecta y la correcta, y guarda capturas. |
tests/run-qemu.sh out/redderos-selftest.iso
tests/run-profiles.sh out/redderos-selftest.iso work/iso/casper
tests/run-gui.sh out/redderos-ubuntu-amd64.iso tests/logs/vault.imgLos registros y capturas quedan en tests/logs/.
Lo que el autotest no cubre
Se ejecuta en QEMU, con red simulada. No prueba el arranque de Tor en una red real, ni hardware físico (Wi-Fi, gráficas, Secure Boot). La lista de pendientes está en Transparencia.