Quiero bloquear la creación de enlaces y cruces simbólicos para un directorio de Windows en particular por motivos de seguridad. Entonces, ¿es posible hacer esto y, en caso afirmativo, qué API de Windows debo usar?
Revisé muchos artículos y blogs pero no pude encontrar ninguna solución.
Respuesta1
Crear enlaces simbólicos es un privilegio del usuario, no un permiso del sistema de archivos. Como tal, no se puede controlar para un directorio de Windows en particular como desee. Sólo se puede permitir o denegar a nivel de usuario/grupo. De forma predeterminada, está habilitado solo para el grupo de administradores locales.[1]
Quieres usar elFunciones de la Autoridad de Seguridad Local (LSA)para trabajar con el privilegio SeCreateSymbolicLinkPrivilege.
Un administrador del sistema puede utilizar herramientas administrativas, como el Administrador de usuarios, para agregar o eliminar privilegios para cuentas de usuarios y grupos. Los administradores pueden utilizar mediante programación las funciones de la Autoridad de seguridad local (LSA) para trabajar con privilegios. Las funciones LsaAddAccountRights y LsaRemoveAccountRights agregan o eliminan privilegios de una cuenta. La función LsaEnumerateAccountRights enumera los privilegios que posee una cuenta específica. La función LsaEnumerateAccountsWithUserRight enumera las cuentas que tienen un privilegio específico.
Valor constante | Descripción |
---|---|
SE_CREATE_SYMBOLIC_LINK_NAME | Requerido para crear un enlace simbólico. |
TEXTO("SeCreateSymbolicLinkPrivilege") | Derecho de usuario: crear enlaces simbólicos. |