Sie sind auf Seite 1von 12

INSTITUTO TECNOLGICO SUPERIOR DE LA SIERRA NEGRA DE AJALPAN ADMINISTRACIN DE SERVIDORES II ARMANDO ROSAS GONZLEZ TEMAS: FUSE LOS PRIVILEGIOS

O TIPOS DE PERMISOS EN LINUX Y PERMISO A USUARIO Y A GRUPOS DESDE LINEA DE COMANDO... ENCRIPTAR Y DESENCRIPTAR UN DOCUMENTO DETECTAR ATAQUE MITM HOT PLUS-SERVIDOR MANTENIMIENTO DE UN SAID O DE UN SERVIDOR

FUSE (Linux)

Arquitectura del Sistema FUSE Filesystem in Userspace (FUSE, Sistema de archivos en Espacio de usuario) es un mdulo cargable de ncleo para sistemas operativos de computador tipo Unix, que permite a usuarios no privilegiados crear sus propios sistemas de archivos sin necesidad de editar el cdigo del ncleo. Esto se logra mediante la ejecucin del cdigo del sistema de archivos en el espacio de usuario, mientras que el mdulo FUSE slo proporciona un "puente" a la interfaz del ncleo real. FUSE fue oficialmente fusionado con la corriente principal del kernel Linux en la versin 2.6.14. FUSE es realmente til para la creacin de sistemas de archivos virtuales. A diferencia de los tradicionales sistemas de archivos, que, en esencia, guardan y recuperan los datos desde un disco, los sistemas de archivos virtuales en realidad no almacenan datos propios. Actan como una visualizacin o traduccin de un sistema de archivos existente o dispositivo de almacenamiento. PRIVILEGIOS EN LINUX Los privilegios En un sistema GNU/Linux, se atribuyen privilegios a todos los archivos por 3 identidades:

el propietario- es el usuario que ha creado el archivo o el usuario que root ha designado como propietario el grupo (que no es necesariamente el grupo del propietario) los otros (aquellos que no hacen parte del grupo)

El comando ls l nos permite mostrar los privilegios de un archivo en GNU/Linux. Para cada identidad (ver ms arriba), existen 3 privilegios para acceder:

r - read (privilegio de lectura) w - write (privilegio de escritura)

x - execute (privilegio de ejecucin)

La visualizacin de los privilegios est representada por una cadena de 9 caracteres, precedida de un carcter, que representa el tipo de archivo. Estos 9 caracteres, reagrupados de 3 en 3 (rwx rwx rwx), definen las 3 identidades (propietario, grupo y los otros). Para cada privilegio existente vemos una letra entre r,w o x (ver ms arriba) y si no existe un privilegio utilizamos un guion (no confundir con el primer guion que significa archivo regular). Significado Smbolo Propietario Grupo Otros __________________________________________________________________ ____ archivo regular directorio d perifrico carcter c perifrico bloc b rwx rwx rwx enlace simblico l tube llamado p socket local s __________________________________________________________________ ____ Ejemplo: -rwxr-x--Lo que significa que:

se trata de un archivo regular (el 1er carcter es un guion -) el propietario tiene todos los privilegios (ReadWriteExecute o sea LeerEscribirEjecutar) los miembros del grupo tienen el privilegio de Leer (el 1er carcter es r) y Ejecutar (el 3er carcter es x), en cambio no tienen el privilegio de Escribir (el 2do carcter es un guion -) los otros no tienen ningn privilegio, ni de lectura, ni de escritura, ni de ejecucin (los 3 caracteres son guiones - )

Los privilegios especiales 1. El Sticky bit El Sticky bit es un privilegio especial en el que el comportamiento es diferente para los archivos ejecutables y directorios.

Corresponde a la letra t o al nmero 1000. Si los privilegios de ejecucin no son dados entonces es la letra T que corresponde.

los archivos ejecutables el programa permanecer en memoria para ser ejecutado posteriormente los directorios si el sticky bit es otorgado en un directorio, slo el propietario podr eliminar sus archivos (es el caso de los directorios /tmp y /var/tmp en GNU/Linux)

Ejemplo: $ ls -l / | grep tmp;ls -l /var | grep tmp drwxrwxrwt 12 root root 1024 2006-07-22 14:18 tmp drwxrwxrwt 4 root root 4096 2006-07-22 10:23 tmp Para mostrar los privilegios de /tmp y /var/tmp. Se observa que el ltimo carcter en la serie de los 9 en los privilegios es una t y no una x o un guin. 2. Los privilegios de endoso SetUID y SetGID Los privilegios de endoso en GNU/Linux estn representados por: la letra s (si se ha otorgado el privilegio x) la letra S (si no se ha otorgado el privilegio x)

Numricamente el privilegio de endoso est representado de la manera siguiente: 4000 para el endoso de la identidad del propietario 2000 para el endoso de la identidad del grupo

El comportamiento de los privilegios de endoso. Para los archivos de programas o ejecutable SUID = 4000 el proceso tiene los privilegios del propietario del programa ejecutado SGID = 2000 - el proceso tiene los privilegios del grupo del programa ejecutado Para los directorios SGID = 2000 los archivos que se encuentran en el directorio pertenecen al grupo del directorio

Los privilegios de endoso son muy importantes para la seguridad. En lugar de dar el acceso a un archivo, se da el privilegio de acceso a un comando. El kernel o ncleo, al momento de la ejecucin del comando endosa la identidad del propietario o del grupo del comando en lugar de la del usuario que ha ejecutado el comando. Por lo tanto el acceso al archivo se hace por medio del comando y no directamente. Cuando un usuario se conecta a un sistema GNU/Linux, ste posee 2 UID (UserIDentity) y 2 GID (GroupIDentity): el real y el efectivo. Al momento de la ejecucin de un comando los UID y GID son los reales, los efectivos son atribuidos al comando. Cuando los privilegios de endoso no son otorgados, entonces los UID y GID efectivos son idnticos a los UID y GID reales. Si los privilegios de endoso son otorgados entonces el UID y/o GID efectivos son los del comando. Lo que quiere decir que los UID y GID efectivos son los que controlan los privilegios de acceso a un comando.

Para conocer los archivos con los privilegios de endoso de su sistema escriba en un terminal el comando siguiente: # find / -perm -2000 -o -perm -4000 -exec ls -l {} \; 2>/dev/null

Un buen ejemplo es el comando crontab. Este comando crea un archivo en /var/spool/cron/crontabs para el usuario que ha ejecutado el comando crontabs. El acceso al directorio /var/spool/cront/crontabs es prohibido a los usuarios excepto root. $ cd /var/spool/cron/crontabs/ bash: cd: /var/spool/cron/crontabs/: Permiso no concedido

Cuando el usuario lanza el comando crontab e (para editar su archivo /var/spool/cron/crontabs/nom_user), el comando se ejecuta con el UID y GID real del usuario pero con el UID y GID efectivo de root. $ ls -l /usr/bin/crontab -rwxr-sr-x 1 root crontab 26872 2004-07-28 22:44 /usr/bin/crontab

Vemos que el comando crontab es el propietario de root y que hace parte del grupo crontab con el privilegio SGID. Y como root tiene el privilegio de crear en /var/spool/cron/crontabs el archivo. # ls -l /var/spool/cron/crontabs/lami20j -rw------- 1 lami20j crontab 225 2006-07-22 16:00 /var/spool/cron/crontabs/lami20

Podemos ver que el usuario lami20j es el propietario del archivo y que tiene los privilegios de lectura y escritura. Sin embargo no lo puede hacer directamente. Los comandos 1. Chmod El comando Chmod (CHangeMODe) permite definir y cambiar los privilegios de acceso de un archivo o un conjunto de archivos. Entre las opciones del comando chmod (las que no son numerosas ver man chmod) citar solamente dos:

v para verbose (visualizacin en la salida estndar STDOUT del resultado del comando) R trata los directorios recursivamente (aplicacin del comando al rbol de directorios completo del directorio en cuestin)

Hay dos modos de usar el comando chmod: de modo literal de modo numrico

El modo literal Si ha ledo atentamente hasta aqu, entonces debera adivinar el modo literal. Este es el uso de letras que ya le son conocidas r, w y x para especificar los privilegios que se deseen. La novedad es que vamos a utilizar tambin letras para designar las identidades de las que hemos hablado lneas arriba: el propietario, el grupo y los otros. Chmod utiliza la notacin siguiente:

u- para el propietario (user) g- para el grupo (group) o-para los otros (other)

a- para todos (all)

Otra notacin ser utilizada para atribuir y/o retirar privilegios. + (ms) para atribuir - (menos) para retirar = (igual) para fijar el acceso exacto

Aqu un pequeo esquema de construccin para chmod Identidad Operador Tipo de acceso _____________________________________ u + r chmod g w o = x a _____________________________________

No podemos imaginar todas las combinaciones posibles, aun si eso parece posible considerando que existen pocos operadores y privilegios. Lo que complica las cosas es ms bien el nmero de usuarios, el nmero de archivos y su reparticin en el(los) disco(s) y las particiones de las que no se conoce tampoco el nmero, etc. En cambio algunas reglas le ayudarn si alguna vez utiliza el comando chmod. Varias identidades y tipos de acceso pueden ser utilizadas.

Ej: chmod go-wx archivo para los miembros del grupo y los otros retiramos el privilegio de escritura y ejecucin. varios conjuntos de operadores y tipos de acceso pueden ser utilizados.

Ej: chmod o+r-w archivo atribuye el privilegio de lectura pero retira el privilegio de escritura para los otros. Ej: chmod u+x,og-w archivo atribuye el privilegio de ejecucin para el propietario y retira los derechos de escritura para los miembros del grupo y los otros. Atencin! No hay ningn espacio entre las cadenas separadas por las comas.

las cadenas pueden ser combinadas separndolas por comas.

Para aplicar el comando chmod a un directorio y su contenido (subdirectorios, archivos) se utiliza el comando chmod -R privilegios Directorio

Trucos: Cuando se ha omitido la identidad, ser utilizado el valor a

chmod -R +w directorio

el tipo de acceso puede ser omitido si el signo igual (=) es utilizado para eliminar todos los accesos

chmod o= archivo

El modo numrico Proprietario Grupo Otros __________________________________________________________________ LecturaEscrituraEjec LecturaEscrituraEjec LecturaEscrituraEjec __________________________________________________________________ 400 200 100 40 20 10 4 2 1

Para comprender el uso de chmod con el modo numrico a continuacin un ejemplo. Ejemplo: en un archivo deseamos establecer los privilegios siguientes: -propietario Lectura + escritura +ejecucin = 400 + 200 + 100 =700 -grupo Lectura + ejecucin = 40 + 10 = 50 -los otros Lectura + ejecucin = 4 + 1 = 5 En total esto da 700 + 50 + 5 = 755 Ahora vamos a utilizar el resultado obtenido con chmod. chmod -v 0755 archivo o chmod 0755 archivo pero en este caso el resultado del comando no es mostrado en la salida estndar Podemos escribir simplemente chmod 755 archivo En resumen, el principio no es complicado. Establecemos los privilegios que deseamos para cada identidad y hacemos la adicin. Por el resto chmod se

encarga. Ahora que hemos visto el modo numrico de utilizar el comando chmod, supongo que quizs haya encontrado la respuesta a una pregunta que tal vez le haya atravesado el espritu. Se trata de la atribucin de los privilegios de endoso. SUID SGID Sticky bit __________________________ 4000 2000 1000 __________________________ Para agregar un privilegio de endoso, aparte de los privilegios habituales, inserte en el clculo el o los privilegios de endoso que necesite. Tomemos el caso precedente 700 + 50 + 5 = 755 Para agregar el privilegio de endoso del grupo escribimos 2000 + 700 + 50 + 5 = 2755 Recuerde! Se trata de los privilegios para un comando, lo que significa que el privilegio de ejecucin debe ser otorgado. Que yo sepa no hay manera de regresar a los privilegios precedentes una vez que haya ejecutado el comando. Si conoce uno, seria simptico que me lo diga. Una idea descabellada sera guardar en primer lugar los privilegios existentes en un archivo con ls -l o ls Rl y enseguida crear un script para analizar este archivo, pero esto complicara las cosas y a decir verdad nunca he necesitado hacerlo. Otra idea, tambin descabellada, seria salvar con tar par luego, en caso que perdiera los privilegios, regresar a la configuracin original. Por consiguiente antes de modificar los privilegios de un archivo o un rbol de directorios primero d una ojeada a los privilegios que ya existen. 2. umask El comando umask permite definir los privilegios por defecto de un archivo o directorio al momento de ser creados. Dicho de otro modo, ste indica los privilegios que se deben retirar al momento de su creacin. El comando umask, al igual que el comando umask (modo numrico) toma como argumentos 3 cifras, que esta vez representan los privilegios que no deseamos otorgar. $ umask 0022 archivo

Hay que saber que el periodo de vida del comando umask est limitado a la sesin shell activa. Para una duracin permanente ver los archivos de configuracin de su shell. Para el shell bash podemos utilizar el archivo ~/.bashrc Personalmente slo utilizo el comando umask para pequeos test con el nico propsito de comprender el comando chmod. La comprensin de los privilegios para los archivos en un sistema GNU/Linux est bastante ligada a la gestin de los usuarios y grupos. Adems de los privilegios que hemos visto lneas arriba, en un sistema GNU/Linux encontramos tambin los ACLs (Access Control List) que permiten otorgar privilegios suplementarios, los cuales detallaremos en otro artculo. ENCRIPTANDO UN ARCHIVO EN LINUX Para encriptar un archivo sencillo, usar el siguiente comando gpg: $ gpg -c nombreDelArchivo Por ejemplo, para encriptar el archivo infoFinanciera.txt, escribir el comando: $ gpg -c infoFinanciera.txt la salida esperada ser: Enter passphrase: TuClaveAqu Repeat passphrase: TuClaveAqu Esto crear un archivo llamado infoFinanciera.txt.gpg. Opciones: -c : Encripta con un cifrador simtrico. Precaucin: Si te olvidas de la clave (alias passphrase), no podrs recobrar la informacin pues se usa una encriptacin muy fuerte. DESENCRIPTAR EL ARCHIVO Para desencriptar el archivo usar el siguiente comando gpg: $ gpg infoFinanciera.txt.gpg La salida esperada ser: gpg infoFinanciera.txt.gpg gpg: CAST5 encrypted data Enter passphrase: TuClaveAqu Para desencriptar el archivo pero escribir la salida en otro archivo llamado respaldoFinanciero.txt ejecuta el siguiente comando: $ gpg infoFinanciera.txt.gpg o respaldoFinanciero.txt

Es bueno apuntar tambin que si la extensin del archivo es .asc, se trata de un archivo encriptado ASCII y si l extensin es .gpg, es un archivo encriptado binario.

MAN IN THE MIDDLE

Man In The Middle es un ataque, bastante comn, en el que el atacante crea la posibilidad de leer, inyectar o modificar informacin que hay en un canal entre 2 mquinas sin que ninguna de esas mquinas conozca esta situacin. En otras palabras, un usuario con malas intenciones, se colocar entre el equipo 1 y el equipo 2. Cuando el equipo 1 enve trfico al equipo 2, dicho trfico pasar por el equipo de la vctima en primer lugar. El trfico que le llega al equipo vctima antes que al equipo 2, en un ataque bsico deber enviarse al equipo 2, para que ste no perciba prdida de conexin o que su comunicacin con el equipo 1 se ha perdido. Ejemplo terico de envenenamiento ARP El atacante usar alguna herramienta, como pueden ser can, ettercap o nemesis entre otras, para realizar un ARP Spoofing o tambin conocido como ARP Poisoning. Este tipo de ataques se realiza en redes switcheadas y no con hubs. El atacante envenenar las tablas ARP de las vctimas, enviando mensajes ARP engaando a los objetivos. Como ejemplo, se puede imaginar algo como lo siguiente: Tabla ARP Objetivo 1, mquina con IP 10.0.0.3 Direccin IP 10.0.0.1 (router) con MAC CA:FE:CA:FE:CA:FE Tabla ARP Objetivo 2, mquina con IP 10.0.0.1 Direccin IP 10.0.0.3 con MAC CA:FE:FE:CA:CA:FE El atacante con sus malvadas peticiones ARP modificar el valor de las tablas ARP de las otras 2 mquinas, quedar algo tal que: Nota: La MAC del atacante pongamos que es AA:AA:AA:BB:BB:BB

Tabla ARP Objetivo 1, mquina con IP 10.0.0.3 Direccin IP 10.0.0.1 (se piensa que es el router) con MAC AA:AA:AA:BB:BB:BB Tabla ARP Objetivo 2, mquina con IP 10.0.0.1 Direccin IP 10.0.0.3 con MAC AA:AA:AA:BB:BB:BB Con lo que todos los envos que realice la mquina objetivo 1 a Internet, por ejemplo, pasarn por la mquina del atacante y los envos que el objetivo 2 (por ejemplo, el router) realice hacia la mquina objetivo 1 pasarn tambin por el atacante.

Das könnte Ihnen auch gefallen