En los foros técnicos de principios de los años 2000, uno de los trucos más populares para Windows XP era modificar el registro para limitar qué programas podían ejecutar los usuarios de un equipo compartido. Mediante la clave RestricRun en HKEY_CURRENT_USER, se podía crear una lista blanca de ejecutables permitidos. Aunque el método era efectivo, era también rudimentario: afectaba a todos los usuarios del equipo, incluidos los administradores, y requería editar el registro manualmente, una práctica arriesgada si no se tenía experiencia.
Hoy en día, Windows 11, Linux y macOS ofrecen mecanismos más robustos, seguros y granulares para controlar la ejecución de aplicaciones. A continuación revisamos cómo implementar esta restricción en cada sistema operativo moderno.
Windows 11 y Windows 10: de RestricRun a AppLocker y directivas de grupo
El método RestricRun del registro sigue existiendo en Windows 10 y Windows 11 por razones de compatibilidad, pero ha quedado obsoleto. Las herramientas modernas recomendadas son AppLocker y las directivas de grupo local.
Método 1: Directiva de grupo local (todas las ediciones)
- Pulsa Win + R, escribe
gpedit.mscy pulsa Intro. - Navega hasta:
Configuración de usuario > Plantillas administrativas > Sistema - Busca la directiva Ejecutar solo las aplicaciones de Windows especificadas.
- Haz doble clic, selecciona Habilitada y pulsa en Mostrar para añadir los nombres de los ejecutables permitidos (por ejemplo,
notepad.exe,chrome.exe). - Pulsa Aceptar y ejecuta
gpupdate /forceen una terminal con permisos de administrador.
Este método aplica solo al usuario que inicia sesión, a diferencia del antiguo RestricRun de Windows XP que afectaba a todo el sistema.
Método 2: AppLocker (ediciones Enterprise y Education)
AppLocker ofrece un control mucho más sofisticado que las listas de ejecutables. Permite crear reglas basadas en el editor del software, la ruta del archivo o el hash del ejecutable.
- Pulsa Win + R, escribe
secpol.mscy pulsa Intro para abrir la Directiva de seguridad local. - Ve a Directivas de control de aplicaciones > AppLocker.
- Haz clic con el botón derecho sobre Reglas ejecutables y selecciona Crear nueva regla.
- Elige el tipo de regla (permitir o denegar) y el criterio (editor, ruta o hash del archivo).
- Completa el asistente y aplica la directiva.
AppLocker requiere que el servicio Application Identity esté en ejecución. Puedes iniciarlo desde services.msc.
Método 3: Control de acceso a carpetas (Windows Defender)
Si tu objetivo es evitar que ciertas aplicaciones accedan a datos sensibles más que bloquear su ejecución, Windows Defender incluye la función de Control de acceso a carpetas.
- Ve a Configuración > Privacidad y seguridad > Seguridad de Windows > Protección contra virus y amenazas.
- Pulsa en Administrar la protección contra ransomware.
- Activa Control de acceso a carpetas y configura las aplicaciones permitidas.
Linux: restricciones mediante AppArmor, SELinux y sudoers
En Linux, la filosofía de seguridad es diferente. En lugar de restringir qué aplicaciones puede abrir un usuario, el sistema controla qué permisos tiene cada aplicación y cada usuario. Sin embargo, existen métodos equivalentes para limitar la ejecución de programas.
Método 1: AppArmor (Ubuntu, Debian, SUSE)
AppArmor es un sistema de control de acceso obligatorio que restringe las capacidades de los programas mediante perfiles de seguridad.
- Verifica que AppArmor esté instalado y activo:
sudo aa-status - Los perfiles se encuentran en
/etc/apparmor.d/. Para restringir una aplicación, crea o edita un perfil:sudo nano /etc/apparmor.d/usr.bin.nombre_app - Define las capacidades permitidas (acceso a archivos, red, etc.). Un perfil restrictivo puede limitar la aplicación a solo leer ciertos directorios.
- Recarga el perfil:
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.nombre_app
Para usuarios sin experiencia en perfiles de AppArmor, existen herramientas gráficas como aa-genprof que facilitan la creación de perfiles mediante un asistente.
Método 2: SELinux (Fedora, RHEL, CentOS)
SELinux opera de forma similar a AppArmor pero con un modelo de seguridad más estricto. En modo enforcing, SELinux puede denegar la ejecución de aplicaciones que no cumplan las políticas definidas.
- Verifica el estado:
sestatus - Las políticas se gestionan mediante módulos. Para restringir una aplicación, modifica el contexto de seguridad del ejecutable:
sudo chcon -t user_home_t /ruta/al/ejecutable - Alternativamente, crea una política personalizada con
audit2allowtras analizar los registros de denegación en/var/log/audit/audit.log.
Método 3: Limitar comandos con sudoers
Si necesitas que un usuario específico solo pueda ejecutar ciertos comandos, edita el archivo sudoers:
sudo visudo
Añade una línea como:
nombre_usuario ALL=(ALL) /usr/bin/allowed_command1, /usr/bin/allowed_command2
Esto restringe al usuario a ejecutar únicamente los comandos listados con privilegios elevados.
macOS: Gatekeeper, Perfiles de configuración y Parental Controls
macOS combina varias capas de seguridad para controlar qué software puede ejecutarse.
Método 1: Gatekeeper y control de aplicaciones
Gatekeeper es la primera línea de defensa. Controla qué aplicaciones se pueden abrir según su origen:
- Ve a Ajustes del Sistema > Privacidad y seguridad > Seguridad.
- En Permitir aplicaciones descargadas de, selecciona App Store para restringir la ejecución a solo aplicaciones oficiales de Apple.
- Para un control más granular, usa Perfiles de configuración (archivos
.mobileconfig) desplegados mediante Apple Configurator o una solución MDM (Mobile Device Management).
Método 2: Controles parentales (Screen Time)
Para usuarios no administrativos, especialmente en entornos familiares o educativos, los Controles parentales de Screen Time permiten limitar el tiempo de uso y las aplicaciones accesibles.
- Ve a Ajustes del Sistema > Tiempo de uso.
- Selecciona la cuenta del usuario que quieres restringir.
- En Límites de apps, configura qué categorías o aplicaciones específicas están permitidas.
Método 3: Perfiles de restricción vía terminal
Para administradores avanzados, macOS permite crear perfiles de restricción mediante la herramienta de línea de comandos profiles:
sudo profiles install -path /ruta/al/perfil_restriccion.mobileconfig
Estos perfiles pueden definir listas blancas de aplicaciones, restricciones de funciones del sistema y políticas de ejecución de código.
Listado comparativo de métodos de restricción
Windows 11/10
- Directiva de grupo local:
gpedit.msc > Configuración de usuario > Sistema > Ejecutar solo aplicaciones especificadas - AppLocker:
secpol.msc > AppLocker(Enterprise/Education) - Control de acceso a carpetas: Windows Defender > Protección contra ransomware
- Registro (legado):
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
Linux
- AppArmor: Perfiles en
/etc/apparmor.d/(Ubuntu/Debian/SUSE) - SELinux: Políticas de contexto de seguridad (Fedora/RHEL)
- sudoers:
visudopara limitar comandos por usuario
macOS
- Gatekeeper: Ajustes del Sistema > Privacidad y seguridad
- Screen Time / Controles parentales: Límites de apps por usuario
- Perfiles de configuración:
.mobileconfigvíaprofileso MDM
Advertencia sobre el método de Windows XP
El truco original de RestricRun en Windows XP tenía una limitación crítica: una vez activada la restricción, si el usuario no podía ejecutar regedit.exe, quedaba bloqueado sin poder deshacer la configuración. Además, afectaba a todos los perfiles de usuario del equipo, incluido el administrador, lo que podía dejar el sistema inutilizable si se configuraba incorrectamente. Por esta razón, siempre se recomendaba crear un punto de restauración del sistema antes de modificar el registro.
En los sistemas operativos modernos, estas restricciones se aplican de forma más segura: las directivas de grupo afectan solo a usuarios específicos, AppLocker permite reglas de excepción, y los sistemas Linux/macOS ofrecen múltiples niveles de control sin arriesgar la estabilidad del sistema operativo.
Restringir la ejecución de aplicaciones sigue siendo una necesidad legítima en entornos compartidos, educativos y corporativos. La clave está en elegir la herramienta adecuada para cada sistema operativo y evitar los métodos obsoletos que comprometen la seguridad y la recuperabilidad del sistema.
