Este documento resume las consideraciones de seguridad para MiniArch.
.env puede contener passwords y no debe versionarse.
Recomendaciones:
- Mantener
.envfuera de Git. Ya esta incluido en.gitignore. - El instalador lee
.envcomoCLAVE=valory 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
.envdel medio de instalacion cuando termines:
shred -u .envMiniArch 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 rootEl 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.
Para Cage/YARG se recomienda:
ENABLE_SSH=falseSi 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 sshdEl 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: quitaguest okymap 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.
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 enableAjusta el rango de red a tu LAN real.
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 -bEl instalador habilita Bluetooth e instala una regla udev para hidraw.
Reconecta instrumentos despues de instalar para que udev aplique permisos.
Mantener Arch actualizado reduce exposicion:
sudo pacman -SyuPara YARG:
sudo update-yargPara Clone Hero y RPCS3:
sudo update-clonehero
sudo update-rpcs3Nota: si instalaste stable-latest o nightly, update-yarg consulta el
latest correspondiente al actualizar.
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.
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.
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.