Autor: Yolagny Díaz Bermúdez / yolagny.diaz@mtz.jovenclub.cu
Introducción
En la actualidad es fácil encontrar viviendas que cuentan con al menos una computadora, no es la generalidad, pero si es bastante común. Estas son utilizadas por individuos de varias generaciones, desde los pequeños (para jugar o el entretenimiento) hasta los adultos para trabajar o desarrollarse intelectualmente, pero, en la mayor parte de los casos, con el mínimo de los conocimientos de informática relacionados con las mejores prácticas para evitar una contaminación con algún que otro virus. Aún así, es casi una realidad absoluta, que en todos los casos se trabaja desde una cuenta con privilegios administrativos.
Al preguntarles sobre las razones sobre el por qué del uso de este tipo de cuenta de usuario para trabajar exponen diversas razones: “esa es la cuenta que me dejó el informático que la formateó”, “si creo otra cuenta me ocupa mucho espacio en C y carga la máquina”, “con esta cuenta puedo hacer todo”, etcétera, todas por el mismo estilo. En este artículo se expondrán algunos argumentos que apoyarían el uso de una cuenta limitada para todos los usuarios y dejar la cuenta de administrador solo cuando se vaya a administrar el equipo.
Desarrollo
Una cuenta de administrador es una cuenta que le permite realizar cambios que afectan a todo el software instalado así como a otros usuarios. Los administradores pueden cambiar la configuración de seguridad, instalar software y hardware, y obtener acceso a todos los archivos en un equipo. Los administradores también pueden realizar cambios en otras cuentas de usuario. El administrador tiene los permisos necesarios para acceder a todos los rincones del equipo, por lo tanto las aplicaciones que ejecuten, conscientes o inconscientes, podrán llegar, incluso, hasta los registros del sistema, por lo tanto si un virus infecta la computadora cuando se está utilizando una cuenta de administrador, podría tener control total sobre el equipo, resultando más difícil de eliminar. Sin embargo, si la infección se produce utilizando una cuenta de usuario estándar, la limitación en los permisos reducirá mucho los efectos nocivos del mismo, es decir que un rootkit (programa que permite un acceso de privilegio continuo a una computadora pero que mantiene su presencia activamente oculta al control de los administradores) tendría vía libre para hacer y deshacer con la computadora, desde acceder a todos los datos, instalar otros programas maliciosos, hasta llevarse todos los archivos que existan en el disco duro. Una vez que un rootkit se instala en el sistema es sumamente difícil detectarlo porque sobrepasa incluso a programas antivirus y otras herramientas de detección de malware.
Por ejemplo: si se ejecuta un adjunto de un correo que contiene un virus por error, el virus intentará hacer lo que tiene programado, pero éste será lanzado con los privilegios del usuario que lo ha ejecutado y, si se ha logueado como un usuario limitado, el virus no podrá tomar acciones de veras dañinas con el sistema, al carecer de los privilegios necesarios como para, por ejemplo, escribir en el directorio de Windows, o en la rama del registro HKEY_LOCAL_MACHINE. Ahora, si el virus es ejecutado con un usuario administrador…, bueno, si este es el caso está claro que el virus podrá hacer absolutamente todo para lo que fue creado.
Por supuesto que todo lo que hemos visto hasta aquí sería dañino en las estaciones de trabajo, pero en el caso de los servidores sería catastrófico, por lo que es mejor que los servidores no tengan ningún usuario logueado y además en el caso de que el administrador tenga que por necesidad entrar a él, al terminar debe tener la precaución de cerrar la sesión al terminar.
En base a este principio, es recomendable que el usuario mantenga, al menos, dos cuentas: una con privilegios de administrador (para la gestión del sistema e instalación de software) y otra cuenta con permisos reducidos (para su uso cotidiano). Todo usuario adicional que se agregue (personas que comparten el uso del mismo equipo) debe añadirse como cuenta limitada.
Gracias al uso de una cuenta limitada, las acciones que pueden ser llevadas a cabo por otro usuario o por algún tipo de código malicioso están acotadas.
- Acceso a la carpeta “Mis Documentos”
Si un usuario (no administrador) intenta acceder a los documentos de otro usuario recibe un error de “Acceso denegado”. De la misma manera, si el equipo es atacado por malware al utilizar una cuenta con permisos limitados, el código malicioso no puede acceder a las carpetas personales de otros usuarios, imposibilitando así el acceso de éste a otros documentos importantes.
- Escritura en la carpeta del sistema
Si se trata de escribir o borrar contenido de una carpeta crítica para el correcto funcionamiento del sistema (por error o intencionadamente), la acción se impide con un mensaje de “Acceso denegado”.
- Instalación de un driver
Si se intenta instalar un driver (malicioso o legítimo) con una cuenta limitada, se recibe un error de “Acceso denegado”. Esto implica que el código malicioso basado en drivers no puede infectar el sistema.
- Modificación del registro de Windows
El registro de Windows alberga la configuración del sistema operativo y de algunos de los programas instalados. Para persistir en el sistema y comprometer programas, el malware ha de realizar ciertas modificaciones en el registro. Con la utilización de un usuario limitado, muchas de estas acciones están denegadas, reduciendo drásticamente el impacto del malware.
¿Qué hacer si se quiere que un usuario sin privilegios administrativos ejecute una aplicación específica como administrador?
La primera opción podría ser otorgarle permisos administrativos directamente al usuario, sin embargo esto no es recomendable ya que se le dará más privilegios de los que realmente necesita y estaríamos en presencia del caso explicado con anterioridad. Otra opción es modificar manualmente los permisos necesarios tanto a nivel de archivos como de registro para que la aplicación se pueda ejecutar correctamente. Esto puede ser factible siempre y cuando el producto se mantenga más o menos estable, es decir, que con una actualización no se altere la estructura de permisos necesarios. Además se debe averiguar qué carpetas, archivos y claves de registro requiere acceso la aplicación, por lo tanto el trabajo necesario puede llegar a ser bastante laborioso. Las herramientas Filemon, Regmon y Process Explorer de Microsoft Sysinternals, pueden ayudar en estas tareas.
Pero existe otra opción gracias a la combinación del programa runas.exe y el uso de accesos directos.
Por ejemplo, si se desea que un usuario limitado ejecute Internet Explorer como un administrador, pero sin tener que introducir las credenciales cada vez que inicia el programa, se haría lo siguiente:
- Crear un nuevo acceso directo a Internet Explorer en el escritorio (u otra ubicación). En la línea de ejecución del asistente escribimos C:\Windows\system32\runas.exe\user:Administrator\savecred:«C:\Program Files\Internet Explorer\iexplore.exe»
- Escribimos el nombre del acceso directo, por ejemplo «Internet Explorer Admin» y lo guardamos.
Cuando ejecutemos el acceso directo por primera vez, el sistema nos solicitará las credenciales del usuario Administrador, pero gracias al parámetro /savecred, la contraseña se almacena localmente y no se volverá a solicitar, permitiendo así que un usuario limitado ejecute una aplicación como un administrador, sin tener que conocer previamente las credenciales administrativas.
Si el usuario administrativo no es local, sino un usuario de dominio, entonces cambiamos /user:Administrator por /user:DOMINIO\USUARIO_ADMINISTRADOR
A pesar de esto, hay que tener en cuenta que este procedimiento no impide que un usuario limitado modifique el acceso directo y ejecute otros componentes o aplicaciones que no se quiere que ejecute, por lo tanto, es recomendable utilizar esta alternativa sólo si se puede garantizar que el usuario no tenga acceso a otros componentes o a ejecutar otras aplicaciones, por ejemplo, limitando su acceso mediante políticas de grupo.
Conclusiones
Cuantos más privilegios tiene un usuario sobre el sistema, más riesgo existe en la realización de tareas bajo ese perfil, ya que cualquier acción que realice pone en peligro las partes más delicadas de la configuración del Sistema Operativo. Si el perfil tiene un poder restringido, no se pueden realizar tareas de administración, y el uso diario del equipo no resulta tan peligroso.
No se recomienda trabajar logueado como administrador en una computadora, excepto en el momento en que se vaya a realizar alguna acción administrativa, incluso si usted es el administrador del equipo o la red. En las computadoras personales debe tenerse siempre la precaución de crear, al menos, una cuenta de usuario limitada para el trabajo diario con la misma por parte de todos, aunque incluso podría crearse una cuenta de juego en la cual el administrador puede limitar el tiempo que podría estar abierta de forma continua y así evitar que los pequeños permanezcan demasiado tiempo delante de la misma, algo que puede encontrar en la sección El consejero.
Bibliografía
González, M. P. (s.f.). Configuración de cuentas de grupo, equipo y usuario. Consultado el 10 de agosto de 2014. Disponible en: http://www.ditec.um.es/aso/teoria/tema14.pdf”
Reyes, F. (2006). Por favor, no inicies sesión como administrador, utiliza RunAs. Consultado el 10 de agosto de 2014. Disponible en: http://freyes.svetlian.com/RunAs/RunAs.htm
INTECO. (s.f.) “Cuenta de Administrador VS. Cuenta Limitada.pdf”. Cuaderno de notas del Observatorio de la Seguridad de la Información. Consultado el 10 de agosto del 2014. Disponible en: https://www.inteco.es