Hodei-Shield Agent: guía beta para Linux¶
Instala la versión 2.20.0 en Linux x86_64 con systemd y OpenSSL 3.
Necesitas root, HTTPS saliente a la URL de tu plataforma y a
hs-agent-releases.s3.gra.io.cloud.ovh.net, un token de inscripción (sirve
una vez; lo crea en la consola el administrador de tu organización o el de tu
MSSP), un id de agente (letras, dígitos, . _ : -; será el nombre
permanente de la máquina) y la URL de la plataforma (https://…).
MEASURED (medido): ejecutado y con salida conservada; NOT RUN: escrito solo
desde el empaquetado. Si un paso falla, detente y escribe a info@hodeitek.com. Los informes de error van a Sentry por defecto: para
desactivarlos antes del primer arranque, mira el final de esta guía.
1. Descarga¶
Solo desde el almacén de versiones, nunca desde un enlace de correo o chat.
V="${V:?set V to the version you were given}"
B=https://hs-agent-releases.s3.gra.io.cloud.ovh.net
mkdir hodei-install && cd hodei-install
curl -fsSLO "$B/agent/$V/hodei-shield-$V-linux-x86_64-musl.tar.gz"
curl -fsSLO "$B/agent/$V/SHA256SUMS"
curl -fsSLO "$B/agent/$V/SHA256SUMS.sig"
Antes de ejecutar nada, comprueba que la descarga es auténtica: verificar una versión del agente y verificar la descarga.
2. Verificación¶
Linux no tiene firma nativa del sistema; el tarball queda cubierto por la firma
de versión (Ed25519) sobre SHA256SUMS. Guarda esto como hodei-shield-release.pub.pem:
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAEUqKd+ot7BESwk+vf6EVBKudMi6F6jmY3dJeHXfCWkQ=
-----END PUBLIC KEY-----
MEASURED sobre una versión publicada. Huella de la clave (detalle: verify-release.md;
openssl pkey -pubin -in hodei-shield-release.pub.pem -outform DER | tail -c 32 | sha256sum):
8b730d2fcbd90e2656bd9b3f265638f1e8e8ac2379d48b0636feb5efe5a88f07. Es la huella de la clave, no el checksum del paquete; el paquete se comprueba con SHA256SUMS.
openssl base64 -d -A -in SHA256SUMS.sig -out SHA256SUMS.sig.raw
wc -c < SHA256SUMS.sig.raw # debe imprimir 64
openssl pkeyutl -verify -rawin -pubin -inkey hodei-shield-release.pub.pem \
-sigfile SHA256SUMS.sig.raw -in SHA256SUMS # Signature Verified Successfully
sha256sum --ignore-missing -c SHA256SUMS # tu .tar.gz debe decir: OK
3. Instalación¶
MEASURED(Debian 12, 2026-10-29).tar xzf "hodei-shield-$V-linux-x86_64-musl.tar.gz" cd "hodei-shield-$V-linux-x86_64-musl" sudo useradd --system --no-create-home --shell /usr/sbin/nologin hodei-shield sudo install -o root -g root -m 0755 hodei-shield /usr/local/bin/hodei-shield sudo install -o root -g root -m 0644 hodei-shield.service /etc/systemd/system/ sudo install -d -o root -g root -m 0755 /etc/hodei-shield sudo install -o root -g hodei-shield -m 0640 platform-ca.pem /etc/hodei-shield/ sudo install -d -o hodei-shield -g hodei-shield -m 0700 /var/lib/hodei-shield sudo -u hodei-shield tee /var/lib/hodei-shield/hodei-shield.toml >/dev/null <<'EOT' platform_url = "https://<platform host>" state_dir = "/var/lib/hodei-shield" EOT sudo systemctl daemon-reload hodei-shield version # imprime: hodei-shield <versión>, y una línea sobre informes de error
4. Inscripción¶
MEASURED(Debian 12, 2026-10-29). Una vez por máquina; el servicio arranca solo después. El token se teclea oculto, nunca en una línea de comandos.Cuando está en marcha con ambos, evalúa y envía de inmediato, y de nuevo cada intervalo de envío (por defecto 3600 segundos). Si va bien, imprimecd / IFS= read -rs HODEI_TOKEN && echo printf '%s' "$HODEI_TOKEN" | sudo -u hodei-shield env \ HODEI_PLATFORM_URL="https://<platform host>" \ HODEI_STATE_DIR=/var/lib/hodei-shield \ /usr/local/bin/hodei-shield enroll --token-stdin --agent-id '<this machine id>' unset HODEI_TOKEN sudo systemctl enable --now hodei-shieldenrolled: producer=endpoint_agent:<id> public_key_id=… tenant_id=…, tras una línea de registro y antes de un comandopin-update-identitypara las actualizaciones automáticas: ejecútalo solo cuando tu administrador confirme sus valores en la consola. Si falla, no reutilices el token: pide uno nuevo. Error de certificado o TLS: no añadas certificados ni desactives comprobaciones; el agente solo confía en/etc/hodei-shield/platform-ca.pem. Envía la salida dehodei-shield diagnosea tu administrador; otros fallos: resolución de problemas.
5. Comprobar en la consola¶
MEASURED (Debian 12, 2026-10-29). systemctl is-active hodei-shield debe decir active. La máquina
aparece en Endpoints de la consola tras su primer ciclo. Registros:
sudo journalctl -u hodei-shield -n 50 --no-pager.
Controles en «Error» en esta beta: algunos controles pueden aparecer como «Error» en sistemas cuyo idioma no es el inglés, o porque el agente se ejecuta sin permisos de administrador. No significa que el control esté fallando: el agente no pudo leerlo con fiabilidad y no lo cuenta como cumplido. La próxima versión beta lo corrige.
6. Actualizar a mano¶
No te inscribas de nuevo. Desde la 2.16.0 un equipo Linux se actualiza solo
únicamente cuando la política firmada de la consola aprueba la versión; si no, o
si prefieres hacerlo tú, actualiza a mano. MEASURED (2.14.0 a 2.14.1, contenedor
aislado): binario sustituido, version imprimió la nueva versión, un ciclo
aceptado, ficheros de clave e identidad idénticos byte a byte; systemctl,
self-test y la reversión no formaron parte de esa prueba. Verifica la versión nueva como en los pasos 1 y 2 y:
V=<nueva versión>
tar xzf "hodei-shield-$V-linux-x86_64-musl.tar.gz" && cd "hodei-shield-$V-linux-x86_64-musl"
sudo systemctl stop hodei-shield
sudo cp -p /usr/local/bin/hodei-shield /usr/local/bin/hodei-shield.prev # copia para revertir
sudo install -o root -g root -m 0755 hodei-shield /usr/local/bin/hodei-shield
sudo install -o root -g root -m 0644 hodei-shield.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo -u hodei-shield sh -c 'cd /var/lib/hodei-shield && exec /usr/local/bin/hodei-shield self-test' \
&& sudo systemctl start hodei-shield
hodei-shield version # la versión nueva
7. Desinstalación¶
MEASURED (Debian 12, 2026-10-29). Antes, pide a tu administrador que revoque la máquina (consola:
Endpoints, el endpoint, Revoke enrolment); un agente revocado registra «credential rejected» y no envía nada.
sudo systemctl disable --now hodei-shield
sudo rm /etc/systemd/system/hodei-shield.service /usr/local/bin/hodei-shield && sudo systemctl daemon-reload
sudo pkill -KILL -u hodei-shield; ! pgrep -u hodei-shield && sudo chown root:root /var/lib/hodei-shield /etc/hodei-shield \
&& sudo chmod 0700 /var/lib/hodei-shield && l="$(sudo find /var/lib/hodei-shield /etc/hodei-shield -xdev ! -type d -links +1 -print -quit)" && [ -z "$l" ] \
&& sudo chown -R root:root /var/lib/hodei-shield /etc/hodei-shield \
&& sudo chmod -R u=rwX,go= /var/lib/hodei-shield && sudo userdel hodei-shield
NOT RUN: pkill/pgrep, el bloqueo de las carpetas y el find, que para la cadena ante un segundo enlace duro (con fs.protected_hardlinks=0
el servicio podría plantar uno a un fichero del sistema para que chown lo reasigne). Si id hodei-shield sigue respondiendo, escribe a Hodeitek.
Queda, propiedad de root para que ninguna cuenta que reciba después el uid liberado lea la clave: /var/lib/hodei-shield (clave privada, cola,
hodei-shield.toml; 0700/0600), /etc/hodei-shield (CA, telemetry-off) y el journal; no hay registro. Purga (irreversible, tras revocar): sudo rm -rf /var/lib/hodei-shield /etc/hodei-shield.
Privacidad y ayuda. Los informes de error (solo fallos, sin datos personales) van a Sentry; para
desactivarlos antes del primer arranque (MEASURED, Debian 12, 2026-10-29): sudo mkdir -p /etc/hodei-shield && sudo touch /etc/hodei-shield/telemetry-off.
Ayuda: info@hodeitek.com o el botón Beta de la consola.