Guía de Endurecimiento de Seguridad
Esta guía proporciona pasos prácticos para mejorar la seguridad de tu sistema MiniOS. Dado que MiniOS es un sistema en vivo, las principales preocupaciones de seguridad son proteger los datos del usuario en el almacenamiento persistente y controlar el acceso al sistema en ejecución. La configuración predeterminada prioriza la comodidad para el uso portátil, pero puede no ser óptima para todos los escenarios. Las siguientes recomendaciones te ayudarán a configurar el sistema para una mayor seguridad.
Seguridad de las Cuentas de Usuario y Root
Por defecto, MiniOS realiza el inicio de sesión automático sin contraseña. Esto proporciona comodidad para el uso portátil, pero puede representar un riesgo de seguridad en algunos escenarios.
Credenciales predeterminadas:
- Usuario:
live/evil - Root:
root/toor
⚠️ Estas credenciales son de conocimiento público y deben cambiarse inmediatamente para cualquier uso en red o en producción.
Creación de una Contraseña Encriptada
Antes de configurar las contraseñas, se recomienda crear un hash de contraseña encriptada:
# The command will prompt you to enter a password and output the hash
mkpasswd -m yescrypt
# Example output: $y$j9T$...(long hash)...$Spig/F.uPConfiguración de Contraseñas
Puedes establecer contraseñas de dos maneras: se recomienda encarecidamente usar contraseñas encriptadas.
Importante: La configuración de contraseñas y parámetros de cuentas de usuario mediante parámetros de arranque y archivos de configuración solo tiene efecto en el primer arranque del sistema. Después de eso, las contraseñas solo pueden cambiarse usando los métodos estándar de Linux (passwd, sudo passwd).
Vía Parámetros de Arranque
Agrega los parámetros a la línea de comandos del kernel en el menú de arranque (GRUB para UEFI o SYSLINUX para BIOS):
Para contraseñas encriptadas (recomendado):
user-password-crypted='$y$j9T$...(hash).../'
root-password-crypted='$y$j9T$...(hash).../'Para contraseñas en texto plano (no recomendado):
user-password='your_password'
root-password='root_password'Importante: Las contraseñas en texto plano son visibles en la línea de comandos del kernel y pueden ser leídas por otros usuarios del sistema.
Vía Archivo de Configuración
Edita el archivo minios/config.conf en el directorio raíz de la unidad USB:
Para contraseñas encriptadas:
LIVE_USER_PASSWORD_CRYPTED="$y$j9T$...(hash).../"
LIVE_ROOT_PASSWORD_CRYPTED="$y$j9T$...(hash).../"Para contraseñas en texto plano:
LIVE_USER_PASSWORD="your_password"
LIVE_ROOT_PASSWORD="root_password"Cambio de Contraseñas Después del Arranque
Después del primer arranque del sistema, las contraseñas pueden cambiarse usando los comandos estándar de Linux:
# Change current user password
passwd
# Change root user password (requires sudo)
sudo passwd root
# Change specific user password (requires sudo)
sudo passwd usernameDeshabilitar el Inicio de Sesión Automático
Después de establecer contraseñas, desactiva el inicio de sesión automático para requerir autenticación:
Vía Parámetros de Arranque
noautologinVía Archivo de Configuración
LIVE_CONFIG_CMDLINE="components noautologin"Desactivación parcial del autologin:
nox11autologin- desactiva solo el inicio de sesión automático gráfico (el gestor de inicio de sesión requerirá autenticación)nottyautologin- desactiva solo el inicio de sesión automático en consola (ya desactivado por defecto)
Gestión de Privilegios de Usuario
Por defecto, el usuario live tiene privilegios de administrador completos sin solicitar contraseña tanto en consola (sudo) como en aplicaciones gráficas (a través de polkit). Esto proporciona comodidad para el uso del sistema en vivo, pero puede requerir ajustes para una mayor seguridad.
Habilitar Solicitud de Contraseña para sudo
Para requerir la introducción de contraseña al usar sudo, ejecuta después de iniciar el sistema:
# Change rule to require password
echo "live ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/liveDespués de esto, los comandos sudo solicitarán la contraseña del usuario.
Habilitar Solicitud de Contraseña para Aplicaciones Gráficas
Para que los programas administrativos gráficos soliciten contraseña, elimina la regla de polkit:
sudo rm /usr/share/polkit-1/rules.d/sudo_on_live.rulesDespués de esto, los instaladores de software, la configuración del sistema y otras aplicaciones administrativas con interfaz gráfica solicitarán contraseña.
Deshabilitación Completa de Derechos Administrativos (noroot)
Para máxima seguridad, puedes deshabilitar completamente sudo y el acceso root:
Vía parámetros de arranque:
norootVía archivo de configuración:
LIVE_CONFIG_NOROOT=trueEfecto: El comando sudo no funcionará, el inicio de sesión como root estará deshabilitado y no habrá acciones administrativas disponibles.
Seguridad de Red
Configuración SSH Predeterminada
Por qué SSH está habilitado por defecto: MiniOS está diseñado como un sistema de recuperación y diagnóstico para reparar hardware defectuoso. SSH está habilitado con configuraciones permisivas para proporcionar acceso remoto cuando la pantalla local no está disponible, está dañada o se trabaja con sistemas sin monitor.
Configuración actual de SSH:
- El servicio SSH está habilitado y se inicia automáticamente
- Se permite el acceso root vía SSH
- La autenticación por contraseña está habilitada
Implicaciones de seguridad: Esta configuración genera riesgos de seguridad en redes no confiables, pero es necesaria para escenarios de recuperación.
Deshabilitar SSH
Si no se necesita acceso remoto, desactiva SSH completamente:
Vía parámetros de arranque:
disable-services=ssh,avahi-daemonVía archivo de configuración:
DISABLE_SERVICES=ssh,avahi-daemonConfiguración Segura de Acceso SSH
Si SSH es necesario, asegúralo usando los siguientes métodos:
1. Establecer Contraseñas Fuertes
Utiliza los métodos de configuración de contraseñas descritos anteriormente.
2. Autenticación por Clave SSH
Coloca los archivos authorized_keys en el directorio raíz de la unidad USB:
authorized_keys.root- para el usuario rootauthorized_keys.live- para el usuario liveauthorized_keys.username- para otros usuarios
Un componente del sistema los desplegará automáticamente en los directorios home al arrancar.
3. Endurecimiento de Seguridad SSH
Después de iniciar el sistema, edita la configuración de SSH:
sudo nano /etc/ssh/sshd_config.d/minios.confCambia los ajustes por otros más seguros:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yesReinicia el servicio SSH:
sudo systemctl restart sshImportante: Siempre prueba el acceso por clave SSH antes de deshabilitar la autenticación por contraseña.
Seguridad de Arranque
Secure Boot UEFI
MiniOS es totalmente compatible con Secure Boot, ya que utiliza el kernel estándar de Debian con gestores de arranque firmados. Secure Boot proporciona protección contra malware previo al arranque (bootkits) y se recomienda para una mayor seguridad.
Contraseña BIOS/UEFI
Para seguridad física, establece una contraseña en la BIOS/UEFI de tu equipo para evitar que usuarios no autorizados arranquen desde otros dispositivos o cambien la configuración de arranque.