Unix

  • Hace un tiempo expliqué cómo funcionan los bits SETUID y SETGID. Sin embargo, al final de dicho artículo mencioné los riesgos involucrados al utilizar estos bits de modo, por ello es recomendable evitar o minimizar su uso. Una buena práctica al momento de realizar el hardening de un servidor es listar todos los archivos que tengan SETUID o SETGID, para evitar configuraciones inseguras.

    Este artículo explica cómo utilizar find para buscar y encontrar todos los archivos y directorios que tengan SETUID y/o SETGID. Y de yapa cómo encontrar archivos y directorios con el STICKY bit habilitado (protección contra el borrado).

  • El día de hoy un colega se acercó a preguntarme si era posible utilizar los bits SETUID y SETGID para restringir el acceso a archivos de log creados por una aplicación lanzada por los usuarios. El escenario era el siguiente: una aplicación de escritorio, lanzada por el usuario, crea un registro de actividad en un archivo de log. La necesidad entonces era que el usuario no sea capaz de borrar o modificar luego estos archivos. Pero claro, al lanzar la aplicación el propio usuario, los archivos de log se crean a su nombre, por ende es el propietario de los mismos (lo que significa que puede hacer lo que le plazca con ellos). Entonces, el problema se reduce a lograr que la aplicación lanzada por el usuario cree los archivos de log a nombre de otro usuario. Esto se traduce a que la aplicación corra bajo un usuario diferente al usuario actual. Es aquí cuando puede ser útil recurrir a los bits SUID y SGID en la configuración de permisos del ejecutable.

    Para explicar este problema voy a utilizar directamente un ejemplo.

  • Este artículo explica cómo listar todos los sockets Unix abiertos en un sistema GNU/Linux utilizando la herramienta netstat.

  • El directorio de trabajo es aquel que utiliza un proceso como referencia para las rutas relativas. Es decir, es el directorio donde se encuentra "situado" un proceso. Cada proceso en un sistema operativo puede estar trabajando en un directorio de trabajo diferente (valga la redundancia). De esta forma, se trata de un atributo independiente por proceso. Veamos cómo se utilizan con los comandos pwd y cd para modificar el directorio de trabajo actual, junto con algunos usos especiales.

  • Comparto esta captura de un "DOUBLE PANIC" en un Unix SCO, porque creo que es algo que no se suele ver a diario.

  • Hoy llama por teléfono un usuario diciendo que no podía conectarse a un arcaico (pero lamentablemente aún en uso) sistema de gestión. Este sistema es un viejo SCO OpenServer, una versión de código cerrado de Unix desarrollada por SCO (Santa Cruz Operation) en la década de los 90, empresa que presentó la quiebra y finalmente desapareció en 2011. El servidor corrió en hardware dedicado hasta hace algunos años, cuando fue virtualizado utilizando un procedimiento ad-hoc sobre la plataforma VMware.

  • Este artículo trata de bajar a tierra algunos del los conceptos base acerca de usuarios, grupos, permisos, archivos y directorios en sistemas operativos de la familia Unix. Ya sea como introducción a usuarios novicios, como a modo de repaso para usuarios más veteranos.