Skip to content

Security: Xalcker/MiniArch

Security

SECURITY.md

Guia De Seguridad

Este documento resume las consideraciones de seguridad para MiniArch.

Archivo .env

.env puede contener passwords y no debe versionarse.

Recomendaciones:

  • Mantener .env fuera de Git. Ya esta incluido en .gitignore.
  • El instalador lee .env como CLAVE=valor y no lo ejecuta: no hay sustitucion de comandos y las variables reservadas (PATH, IFS, LD_PRELOAD, ...) se rechazan. Usa comillas simples para passwords con simbolos (KIOSK_PASSWORD='pa$$w0rd').
  • Usar permisos restrictivos:
chmod 600 .env
  • Usar passwords reales antes de instalar.
  • Eliminar .env del medio de instalacion cuando termines:
shred -u .env

Passwords

MiniArch bloquea valores de ejemplo como change-me, change-root, kiosk o root salvo que ALLOW_INSECURE_DEFAULT_PASSWORD=true.

Ese modo solo debe usarse en laboratorios o VMs desechables.

En los caminos Cage, ROOT_PASSWORD se exige por defecto. Tambien puedes administrarlo despues con:

sudo passwd root

Sudo

El usuario kiosko queda en wheel con sudo sin password para facilitar mantenimiento local. Si el equipo queda en una red no confiable, endurece /etc/sudoers.d/10-wheel o usa sudo con password.

SSH

Para Cage/YARG se recomienda:

ENABLE_SSH=false

Si habilitas SSH:

  • Deshabilita root remoto.
  • Prefiere llaves publicas.
  • Considera deshabilitar PasswordAuthentication.
  • Limita usuarios permitidos.

Ejemplo de /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers kiosk
X11Forwarding no

Reinicia:

sudo systemctl restart sshd

Samba

El camino Cage/YARG crea el share:

\\<hostname>\YARG-Songs

La configuracion permite guest ok = yes y fuerza escritura como el usuario kiosko para que cargar canciones sea simple.

Los caminos Cage/Clone Hero y Cage/RPCS3 crean shares equivalentes (CloneHero-Songs y RPCS3-Games) con la misma configuracion.

Por defecto los shares (YARG-Songs, CloneHero-Songs y RPCS3-Games) son escribibles sin password desde cualquier host que alcance el puerto 445, y escriben como el usuario kiosko, que tiene sudo sin password. Samba exige SMB2 o superior (server min protocol = SMB2).

No expongas esos shares a redes publicas o no confiables. Para endurecerlos define en .env antes de instalar:

  • SAMBA_GUEST=false: quita guest ok y map to guest; solo entra el usuario Samba del kiosko con la password elegida en la instalacion.
  • SAMBA_HOSTS_ALLOW="192.168.0.0/16 127.": limita las redes permitidas.

Ademas, un firewall que limite SMB a tu LAN.

Firewall

MiniArch no instala firewall por defecto. Para equipos expuestos, considera ufw:

sudo pacman -S ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.0.0/16 to any port 445 proto tcp
sudo ufw enable

Ajusta el rango de red a tu LAN real.

Cage, DBus Y PipeWire

Los wrappers (run-yarg.sh, run-clonehero.sh y run-rpcs3.sh) crean un DBus de sesion con dbus-run-session si el servicio systemd no lo provee. Esto ayuda a que WirePlumber, PipeWire Pulse y apps con integraciones de escritorio funcionen en un kiosko minimo.

El wrapper tambien arranca PipeWire en orden. Si audio falla, revisa:

pactl info
pactl list short sinks
journalctl -u cage-kiosk.service -b

Bluetooth E HID

El instalador habilita Bluetooth e instala una regla udev para hidraw. Reconecta instrumentos despues de instalar para que udev aplique permisos.

Actualizaciones

Mantener Arch actualizado reduce exposicion:

sudo pacman -Syu

Para YARG:

sudo update-yarg

Para Clone Hero y RPCS3:

sudo update-clonehero
sudo update-rpcs3

Nota: si instalaste stable-latest o nightly, update-yarg consulta el latest correspondiente al actualizar.

Proteccion Fisica

En un kiosko publico:

  • Protege BIOS/UEFI con password.
  • Deshabilita boot desde USB si aplica.
  • Limita acceso a puertos fisicos.
  • Considera bloquear cambios de TTY si no necesitas mantenimiento local.

Reporte De Vulnerabilidades

Si encuentras una vulnerabilidad, no abras un issue publico con detalles explotables. Contacta al mantenedor del repo y proporciona:

  • Descripcion.
  • Pasos para reproducir.
  • Impacto.
  • Mitigacion sugerida si la tienes.

Descargas De RPCS3 Y Firmware

El camino Cage/RPCS3 descarga el AppImage desde GitHub (HTTPS) y el firmware de PS3 desde RPCS3_FIRMWARE_URL. La URL oficial de PlayStation que usa por defecto es http://, sin cifrado ni verificacion de integridad por parte del instalador. Si necesitas mas garantias, descarga el PS3UPDAT.PUP por otro medio, compara su hash con el publicado y usa RPCS3_DOWNLOAD_FIRMWARE=false. El firmware lo valida RPCS3 al instalarlo desde su GUI.

There aren't any published security advisories