2 - ADMINISTRACION BÁSICA
 
 

[ CONCEPTOS BÁSICOS ] - [ ADMINISTRACION ELEMENTAL ] - [ AUTENTIFICACION DE USUARIOS ] - [ POLITICAS DE SEGURIDAD ] - [ SEGURIDAD EN EL NUCLEO ] -
[ COPIAS DE SEGURIDAD ] - [ BIBLOGRAFIA ]



2.1 - EL FICHERO /etc/passwd
2.2 - PERMISOS BÁSICOS
2.3 - CREACION DE NUEVOS USUARIOS
2.4 - SETUID - SETGID
2.5 - MONTAR Y DESMONTAR UNIDADES
2.6 - UTILIDADES MTOOLS
2.7 - GLOSARIO BASICO PARA TRABAJAR CON ARCHIVOS



 
 

Utilizando el sistema operativo Linux como ejemplo, configurare una serie de parametros básicos que se deberian revisar en cualquier sistema informatico minimamente seguro.

2.1 - EL FICHERO /etc/passwd

Los ficheros /etc/passwd y el /etc/shadow contienen informacion sobre los usuarios que pueden conectarse al sistema. Las entradas del fichero /etc/passwd tienen el siguiente formato:

--1----:2:-3--:-4-:--5---:----6--------:----7----
p.ej:
al052354:x:1071:100:Javier:/home/al052354:/bin/bash

Cada numero corresponde a:

Ademas del /etc/passwd tambien existe el /etc/shadow, el cual se compone de los siguientes campos:

---1---:-------2-----:--3--:-------4---
p.ej:
al052354:asd43fcas909;:10640:99999::::

Cada numero corresponde a:

En las primeras versiones Linux solo existia el /etc/passwd, debido a ciertas medidas de seguridad se decidio separar en dos, por ello parte de la informacion la contiene el /etc/passwd y la informacion extrictamente confidencial la tiene el /etc/passwd/.
En caso que quisieramos echar un vistazo a estos ficheros, es tan facil como utilizar un editor de texto (el emacs, por ejemplo) y visualizarlos e incluso modificarlos. Tambien existe una orden que permite modificar dicho fichero. Si en un terminal escribimos passwd podremos modificar ciertos parametros de este archivo sin saber apenas nada de él. Por ejemplo, si queremos modificar nuestro password como usuario, una vez iniciada una sesion, abrimos un terminal, escribimos passwd nos pedira nuestra actual contraseña, la nueva contraseña y una verificacion  de la nueva contraseña. Es posible que no se pueda cambiar el password debido a ciertos parametros temporales o sintacticos, es decir, una maquina nos puede denegar el cambio de password en un plazo de una semana desde la ultima modificación o bien exigirnos que nuestra nueva password contenga ciertos caracteres que poseia la antigua.

La seguridad de la particion de estos dos ficheros radica en que el fichero /etc/passwd tiene permiso de lectura global , mientras que el /etc/shadow solo puede leerlo el root del sistema. De esta forma, todos los programas pueden conocer todos los atributos de cualquier usuario, excepto la informacion relativa al password.
La cualidad de super-usuario no se debe al hecho de llamarse "root", sino que en el campo UID esta a 0, por lo que es posible crear otro usuario con nombre Juan, pero con permisos de root, lo unico que se debe tener en cuenta es que solo aparezca una entrada con UID=0.

2.2 - PERMISOS BÁSICOS

En linux la mayoria de los mecanismos de proteccion se basan en la proteccion de ficheros, estos se basan en una seria de permisos que segun usuarios dejan realizar determinadas operacion sobre ellos o no. Distinguiremos tres operaciones lectura, escritura, ejecucion de un fichero.
Es básico conocer notablemente los permisos de los ficheros y directorios: rwxrwxrwx


captura de pantalla de mi maquina como ejemplo para ilustrar el sistema de permisos de linux

En la imagen se puede comprobar como haciendo un ls -l en un terminal de linux nos aparece informacion de los ficheros encontrados en un directorio. Primero, la primera de las "-" indica si es un directorio o no. En la imagen no existe ningun directorio, si lo hubiera apareceria una "d".
Los permisos estan agrupados de tres en tres:

Para entender mejor el sistema de permisos cogere un archivo de la imagen y lo analizare. Por ejemplo, el archivo "vigenere.c" posee unas caracteristicas -rw-r--r--. El primer campo nos indica que no es un directorio. Los tres primeros parametros me indican que yo tengo permiso para leer y escribir sobre ese fichero, los tres siguientes me indican que los miembros del grupo en que yo me encuentre tendran poder para leer ese fichero, y finalmente el resto de usuarios que accedan a la maquina tendran capacidad para leer ese fichero.

2.3 - CREACION DE NUEVOS USUARIOS

Para la creacion de nuevos usuarios podriamos distinguir tres caminos principales: creacion "a mano" de un usuario, la utilizacion de useradd o bien la utilizacion de algun programa de entorno gráfico.
Explicare brevemente los dos primeros metodos. La creacion a mano es la mas compleja sin duda.


ejemplo de un trozo del fichero /etc/passwd
La segunda opcion bastaria con abrir un termina y invocar al comando #useradd -m pepe. Las de interfaz grafica son mas faciles e intuitivas de utlizar, por ello ocultan ciertos pasos del proceso haciendolos totalmente transparentes al usuario.

2.4 - SETUID - SETGID

Ademas de los bits de proteccion basicos hay tres bits mas que son bastante interesantes, de los cuales comentaremos el SETUID y el SETGUD. El SETUID es un bit que aplicado a un fichero establece ciertos parametros en su ejecucion. Es decir un fichero setuidado parace en el campo de ejecucion una "s" en lugar de una "x", en el primer grupo de permisos (el que se refire al usuario).


fragmento del archivo /usr/bin
En la imagen de arriba se nos muestra un fragmento del archivo /usr/bin y podemos observar como en un par de ficheros se ha establecido el permiso "s". Pues bien, cuando este bit está activo en un fichero ejecutable, el proceso que se lanzará a partir de este ejecutable tendrá los permisos del propietario del fichero y no del usuario que lo ejecute.
Por ejemplo, si al editor de textos vi le establecemos el permiso "s" #chmod +s /bin/vi , cualquier usuario podrá ver cualquier archivo del sistema con tal de utilizar vi para editarlo. Y si pusieramos un parametro "s" en la orden rm (borrar fichero) tendriamos potestad para borrar lo que quisieramos.

El bit de seguridad SETGID se comporta de forma analoga al SETUID, actua de la misma forma aunque este a nivel de grupo. Es decir, cuando este bit está activo en un fichero ejecutable, el proceso que se lanzará a partir de este ejecutable tendrá los permisos del grupo del fichero ejecutable y no del grupo del usuario que lo ejecute.

2.5 - MONTAR Y DESMONTAR UNIDADES

El sistema de ficheros de linux utiliza unos enlaces para conectar los dispositivos de almacenamiento fisico a su sistema de ficheros. Es decir , no tenemos una letra asignada a cada dispositivo de almacenamiento fisico como en windows, en linux los dispositivos se montan a libre antojo. Lo que supone una mejora respecto a windows, ya que montamos y desmontamos unidades a nuestro libre antojo.
Para montar unidades utilizaremos el comando de terminal mount. Si ejecutamos el comando sin ningun argumento, el sistema nos informara del estado de puntos de montaje en que se encuentra nuestra maquina, algo asi:


ejemplo de mount
Para montar un sistema de ficheros se utilizan mount con dos parametros. /dev/fd0 es el fichero especial por el que se accede a la primera disquetera y /mnt/floppy/ es un directorio "normal" que existe en el sistema. Los directorios sobre os que se montan sistemas de archivos se llaman puntos de montaje.
# mount /dev/fd0 /mnt/floppy/
La inversa de este proceso es desmontar un sistema de almacenamiento, con el comando unmount , es decir, para poder extraer físicamente el disco del sistema es obligatorio desmontarlo.
#unmount /mnt/floppy/
En principio la tarea de montar y desmontar es exclusivamente del super-usuario. Tambien podemos hacer que el sistema operativo monte automaticamente los dispositivos al arrancar. La informacion se encuentra en el fichero /etc/fstab , se trata de una tabla que contiene informacion sobre los dispositivos y los puntos de montaje, asi como informacion sobre como se deben montar cada uno de ellos. Seria una cosa asi:
Se debe de tener especial atencion con los tipos de sistemas de ficheros, ya que cada sistema operativo puede variar en cuanto a este factor. Existen un buen grupo de sistemas de ficheros tales como el FAT32, ext2, vfat o ntfs. En el caso de que se implantrara un sistema de ficheros sobre un sistema operativo que no utiliza podriamos acarrear serio problemas de perdidas de informacion de nuestros dispositivos. Tambien es posible que determinados componentes utilicen ciertas caracteristicas especiales, las mas importantes son las utilizadas por las operaciones: 2.6 - UTILIDADES MTOOLS

Las mtools son un conjunto de instrucciones que emulan la forma de trabajar de ms-dos, es decir nos aportan los clasicos comandos del DOS , dir, format, copy ,etc...
Las mtools se componen de las siguientes intrucciones: mattrib, mbadblocks, mcat, mcopy, mdel, mdeltree, mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount, mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype, mwrite, mzip.
Por ejemplo:


como si en MS-DOS hubieramos tecleado dir a:
El fichero de configuracion /etc/mtools.conf contiene la configuracion que indica las asociaciones entre dispositivos UNIX y letra de MS-DOS. Las mtools no son un fichero de root setuidado, por lo que si queremos que los usuarios puedan utilizar las ordenes "mtools" tendremos que habilitar los permisos correspondientes en los ficheros especiales que utilizamos. #chmod 666 /dev/fd?
El primer parametro que recibe cualquier programa cuando se pone en ejecucion es el nombre del fichero desde el que se ejecuta. Algunas ordenes UNIX utilizan el propio nombre del fichero para hacer varias cosas. Para conseguir este efecto no es necesario tener muchas copias del fichero, podemos hacer enlaces duros o enlaces simbolicos. Con lo que se consigue tener ordenes eficientes utilizando muy poco disco. #ln -s /usr/bin/ssh ~/bin/xpc02.

2.7 - GLOSARIO BASICO PARA TRABAJAR CON ARCHIVOS
 

            # socket -ls 3040 -p "cat /etc/ssh2/hostkey.pub" &


 
 

[ CONCEPTOS BÁSICOS ] - [ ADMINISTRACION ELEMENTAL ] - [ AUTENTIFICACION DE USUARIOS ] - [ POLITICAS DE SEGURIDAD ] - [ SEGURIDAD EN EL NUCLEO ] -
[ COPIAS DE SEGURIDAD ] - [ BIBLOGRAFIA ]