Você está na página 1de 97

Diseo de Sistemas Operativos

Introduccin a la Administracin de Sistemas UNIX RAOSDI

ndice

Introduccin Directorios del sistema Gestin de usuarios Arranque del sistema Variantes de shells Discos y sistemas de ficheros Servicios de red

Servicios internos Instalacin de nuevo software Terminales grficos Interoperabilidad con otros SSOO Auditora del sistema Seguridad en sistemas Unix
2

Introduccin

Tareas del administrador:


Servicio a los usuarios. Mantenimiento y actualizacin del software.

Auditoria de seguridad y rendimiento del

sistema. Gestin de recursos.

Herramientas de Administracin
Casi todos los sistemas operativos UNIX tienen su propio conjunto de herramientas de administracin:

admintool (Sun Solaris) control-panel (Linux-RedHat) Yast (Linux-SuSe). smit (IBM AIX). sysadmsh (XENIX).
4

Tipos de Instalaciones
Se pueden dividir las instalaciones en tres diferentes categoras:
Estaciones de trabajo monousuario.

Servidores multiusuario.
Clusters de maquinas.

Conocimientos del Administrador


Es recomendable para el administrador el conocimiento de:
Funcionamiento interno del sistema.

Seguridad y comunicaciones.
Programacin (scripts, perl, awk, ...). Instalacin de componentes hardware. Otros sistemas operativos.

rbol de Directorios UNIX


/bin: Ejecutables bsicos del SSOO. /dev: Ficheros especiales asociados a dispositivos. /etc: Configuracin del sistema. /home: Directorio de cuentas de usuarios. /lib: Libreras bsicas del sistema.

/ /bin
/dev /etc /home /lib /mnt /opt /proc /sbin /tmp /usr /var /bin /etc /include /lib /man /local
8

rbol de Directorios UNIX


/mnt: Directorio de montaje de ciertos sistemas de ficheros. /opt: Aplicaciones adicionales del sistema. /proc: Sistema de ficheros virtual para la gestin de recursos. /sbin: Ejecutables de administracin del SSOO.

/ /bin
/dev /etc /home /lib /mnt /opt /proc /sbin /tmp /usr /var /bin /etc /include /lib /man /local
9

rbol de Directorios UNIX


/tmp: Directorio para ficheros temporales. /usr: Aplicaciones adicionales del SSOO. /usr/local: Programas locales del sistema. /var: Directorio para ficheros de log y colas de trabajos.

/ /bin
/dev /etc /home /lib /mnt /opt /proc /sbin /tmp /usr /var /bin /etc /include /lib /man /local
10

Directorio /dev
Agrupa entradas de tres diferentes tipos:
Dispositivos de tipo carcter. Dispositivos de tipo bloque.

Dispositivos virtuales (/dev/zero).

Todos estos dispositivos tienen asociado un minor y un major number.

11

Directorio /proc
Se corresponde con un sistema de ficheros virtual (no tiene soporte en disco). Las entradas del directorio son:
Procesos en ejecucin.
Informacin del sistema. Mapping de recursos del sistema.

12

Directorios Dependientes de la Versin de Sistema Operativo /boot: Directorio de la imagen del kernel (Linux).

/kernel: Idem (Solaris/SunOS). /osf_boot: Idem (OSF/1). /u: Cuentas de usuarios (AIX y otros). /usr/ucb: Aplicaciones de University of California, Berkeley (Solaris, OSF/1 y otros). /devices: Dispositivos asignados por controladoras (Solaris/SunOS). /usr/openwin: Sistema de Ventanas Openwin (SunOS).
13

Propietarios de los Directorios

La mayora de directorios y ficheros pertenecen al usuario root o a otros usuarios privilegiados del sistema. Las excepciones son:

Cuentas de usuario: /home Ficheros temporales: /tmp Entradas de las colas de trabajos: /var Las imgenes de los procesos: /proc
14

Propietarios de los Directorios

Si ciertos usuarios requieren accesos especiales a ciertos ficheros, esto se resuelve haciendoles pertenecer a grupos privilegiados.
Grupos: disk, printer, adm, ...

Llamadas: chown, chgrp, chmod, chattr, ...


15

Gestin de Usuarios
Creacin de un usuario:

Insertarlo en el fichero de usuarios. Asignarle un passwd. Definir parmetros (limites). Crear el directorio home. Copiar ficheros iniciales (/etc/skel). Cambiar el propietario del home. Dar de alta en mail, quota, ...
16

Gestin de Usuarios

Fichero de usuarios: /etc/passwd


usuario:passwd:uid:gid:desc:home:shell

Fichero de grupos: /etc/group


grupo:<reserved>:gid:usuarios...

Fichero de Passwords: /etc/shadow


usuario:passwd:parmetros...

Gestin de usuarios distribuida: NIS


17

Login de un Usuario
Al conectarse un usuario al sistema:
Se evala si el modo de conexin (local o

remoto) es vlido para dicho usuario (en base al getty).


Se arranca el programa shell asociado. Configuracin de la sesin: general

(/etc/profile) y de usuario (~/.profile).


18

Deshabilitar Usuarios

Para cerrar o deshabilitar una cuenta (sin borrar su contenido):


Bloquear el password de la cuenta (*).

Cambiar el shell de acceso (mensaje).

#!/bin/tail +2 La cuenta se encuentra bloqueada. Hable con el adiministrador


19

Cambio de Usuario
Para cambiar de usuario al iniciar una sesin se usa el comando su:
su - usuario: Cambia de usuario y carga

su configuracin. su usuario: Slo cambia de usuario. Si no se indica el usuario se cambia al usuario root.
20

Usuarios de Sistema

root: Administrador (UID 0). daemon: Ejecutas procesos de servicio del sistema (UID 1). bin: Propietario de ejecutables (UID 2). sys: Ficheros de sistema (UID 3). adm: Ciertos log (UID 4). nobody: Usuario sin privilegios.
...
21

Arranque del Sistema

Arranque del kernel. Montar el sistema de ficheros raz. Arranque del proceso init (PID 1).
Montaje del resto de sistemas de ficheros. Inicializacin de los terminales. Activacin del runlevel (demonios).
22

Runlevels Estndar

Runlevel 0: Parada del sistema. Runlevel 1: Modo mantenimiento. Runlevel 2: Multiusuario sin red (NFS). Runlevel 3: Multiusuario. Runlevel 4: <Reservado> Runlevel 5: Terminal grfico. Runlevel 6: Rearranque del sistema.
23

Fichero /etc/inittab
Cada entrada tiene el formato:
id:runlevels:action:process args id: Identificador nico. runlevels: Niveles en los que se ejecuta. action: Modo de ejecucin. process args: Proceso a ejecutar.

24

Tipos de Acciones Estndar


Las acciones habituales son:
wait:

Arranca el proceso y espera a su finalizacin antes de seguir. respawn: Arranca el proceso automticamente en el caso de que muera. once: Si no esta arrancado arrancalo (sin esperar). boot: Ejecuta slo en el arranque (sin esperar). off: Si el proceso est en ejecucin mtalo.
25

Inicializacin de Terminales
init
fork

Login:chema password: ******

init

exec

getty

exec

login

exec

sh
fork

/dev/tty0

sh
# ls

exec

ls

26

Modificacin del Runlevel en Ejecucin


Se puede reiniciar el proceso init, (por ejemplo al cambiar la configuracin) mandando una seal HUP.
El nivel de ejecucin actual se puede cambiar invocando a init con el nuevo runlevel como argumento.
27

Scripts del Sistema


El directorio /etc/init.d/ es el usado para mantener los scripts de arranque de los servicios del sistema.
Son scripts (/bin/sh) no binarios.
Reciben diferentes argumentos (start,

stop, status, restart, ...).

28

Scripts del Runlevel

Directorio de scripts del sistema: /etc/init.d/


/ /etc /init.d /rc3.d

Directorio de cada runlevel: /etc/rc3.d/

/network /S10network

Symbolic link

S K start/stop

S10network
orden

script
29

Parada del Sistema

Notificacin a los usuarios. Enva una seal a los procesos para su terminacin. Entrada en modo monousuario (saca los usuarios y mata al resto de procesos). Sincronizacin de los sistemas de ficheros (sync).
30

Shells del Sistema


Existen diversas familias de shells:

Bourne shell (sh/bash). Korn shell (ksh). C shell (csh). TC shell(tcsh).

Con otras funcionalidades:


Restricted shell (r-sh). Secure shell (ssh).
31

Configuracin del Shell


Existen dos niveles de ficheros de configuracin:
General: /etc/profile /etc/bashrc, /etc/cshrc, ... De usuario: ~/.profile ~/.bashrc, ~/.cshrc
32

Otros Servicios
Ciertos servicios se filtran basndose en el shell del usuario que lo invoca.
El fichero /etc/shells indica qu ejecutables son shells vlidos para el resto de servicios.

33

Shells de Programacin

Perl:
Tratamiento de expresiones regulares. Interfaz con C y Libreras de utilidades.

AWK:
Precesador de campos.

Tcl / Tk:
Componentes grficos (ventanas).
34

Gestin de Dispositivos de Almacenamiento


Las fases de uso de un soporte de almacenamiento son:
Dar formato al soporte (no siempre necesario).

Particionamiento (si es aplicable).


Creacin del sistema de ficheros. Utilizacin del soporte.

35

Tipos de Dispositivos
UNIX define dos tipos de dispositivos:
Dispositivos de tipo bloque (discos). Dispositivos de tipo carcter (cintas).

En ciertos UNIX el mismo dispositivo fsico puede ser gestionado en modo bloque y modo carcter.
36

Particionamiento de Discos
El formato de las particiones y caractersticas, depende del SO:
Linux: fdisk, diskdruid.

Solaris/SunOS: format.
AIX: smit.

37

Creacin de un Sistema de Ficheros


Tambin depende del SO y del sistema de ficheros que soporte. Opciones:
Espacio reservado al root. Nmero de i-nodos. Opciones de verificacin.

Linux: mkfs
38

Modelos de Sistemas de Ficheros


Existen diferentes modelos de sistemas de ficheros:
Sistemas de ficheros tradicionales: ext2fs,

ufs, minix, ... Sistemas de ficheros transaccionales: jfs, afs, ...

Diferentes ventajas en la verificacin de integridad (fsck).


39

Estrategias
Es recomendable la creacin de los siguientes SF independientes:
/ (Sistema tamao justo). /usr (Aplicaciones tamao justo). /home (Cuentas mucho tamao). /usr/local - /opt (Mucho tamao). /var (Logs bastante tamao). swap - /tmp (Depende de la carga).
40

Estrategias
Se recomienda:
Mantener las cuentas en un disco diferente del

sistema. Separar los SF de mayor acceso en diferentes discos (swap y sistema). Ubicar las particiones de forma que sea posible redistribuir los discos. Vigilar el porcentaje de disco libre.
41

Automatizacin del Montaje de Sistemas de Ficheros


Tras montar la particin / el sistema monta el resto de sistemas de ficheros:
Linux: /etc/fstab

Solaris: /etc/ufstab
AIX: /etc/filesystems ...

42

Dispositivos sin Sistema de Ficheros


Ciertas utilidades pueden usarse para acceso a dispositivos sin uso de sistema de ficheros:
dd, cpio o tar.

Ejemplo: dd if=data.img of=/dev/fd0

Pueden usarse como utilidades de backup elementales.


43

Sistemas de Backup
Esquemas de backup:
Backups completos: Se copia toda la

informacin. Backups incrementales: Slo los ficheros modificados se copian.

Habitualmente se combinan los dos esquemas.

44

Decisiones de Backup
Una estrategia de backup debe incluir:
Estimacin del volumen de datos. Seleccin de los ciclos de backup.

Automatizacin (cliente/servidor).
Verificacin del sistema.

Herramientas de backup: Amanda.

45

Dispositivos Redundantes
Dispositivos RAID:
/ /bin /etc /usr /var / /bin /etc /usr /var

RAID sd01 sd02 sd03

md1

46

Tecnologa RAID
Hay varios modelos de RAID:

Modo lineal: Concatena volmenes. RAID 0: Modo alternado de bloques. RAID 1: Redundancia (Mirroring). RAID 4: Disco de paridad. RAID 5: Bloques de paridad.

Discos de reserva: spare disks. Configuracin: /etc/raidtab


47

Cuotas de Disco
Asocia a cada usuario/grupo un limite de espacio en disco. Dos lmites:
Soft limit: Lmite informativo. Hard limit: Espacio mximo disponible.

Lmites aplicables a cada sistema de ficheros. Se verifican en el arranque de la mquina y en cada login.
48

Configuracin de TCP/IP
Configuracin del interfaz:
Dispositivo de red (e.g. /dev/le0). Asignar direccin IP.

Mscara de red.
Direccin Broadcast. Subred.

Ejemplo:
ifconfig eth0 138.100.9.101 netmask 255.255.248.0 up
49

Configuracin de TCP/IP
Encaminamiento IP:
Encaminamiento local. Encaminamiento dentro de la subred.

Encaminamiento externo (Router).

Ejemplos:
route route route route add add add add -host 127.0.0.1 lo -net 138.100.8.0 netmask 255.255.248.0 eth0 default gw 192.168.1.1 eth0 default ppp0
50

Configuracin de TCP/IP
Configuracin dinmica:
Protocolo BOOTP Protocolo DHCP.
MAC=0A:12:A1:00:B2:24:AE

servidor dhcpd
IP=138.100.9.201

cliente

51

Configuracin de un Router
Servicio de encaminamiento:
Mquina con dos interfaces de red. Intercambio de tablas de encaminamiento entre

routers (RIP/OSPF). Emisor de ciertos mensajes ICMP.

Demonio: routed, gated


52

Resolucin de Nombres
Orden de resolucin:
/etc/host.conf

Resolucin de nombres local:


/etc/hosts

Resolucin de nombres remota:


/etc/resolv.conf

Identificador y dominio de la mquina. Direccin del servidor de nombres.


53

Configuracin de un Servidor de Nombres


DNS en modo cache:
Resuelve peticiones y almacena los resultados. Siempre tiene un DNS superior.

DNS autnomo:
Mantiene una BD propia. Incluye el anterior.

Demonio: named
54

Demonios de Red
Dos modalidades de servicios:
Dependiente del
21

in.ftpd

inetd
in.telnetd

inetd. Autnomo (modo standalone).

23

80

httpd

55

Demonio inetd
Puertos estndar de servicio: /etc/services
#nombre telnet time #servicio telnet time puerto/protocolo 23/tcp 37/udp socket stream dgram proto tcp udp alias

timeserver
flags usr serv nowait root .... wait root internal

Programas de servicio: /etc/inetd.conf

56

Servicios RPC de Sun


Servicios de red de SUN:
NFS (Network File
111

System) NIS (Network Information System)

portmapper
3 1

nfs 1.003 nis 1.004

Usan un demonio de enlace: portmapper

nfsd
function(...)

57

Sistemas de Ficheros en Red


Permite exportar sistemas de ficheros a otras mquinas. Servidor:
Asignacin de permisos. /etc/exports o share.

Cliente:
mount -t nfs laurel:/usr/local /opt
58

Usuarios de Dominio (NIS)


Servicio NIS / NIS+:
Mantiene bases de datos compartidas por varias

mquinas. Usuarios, grupos y otros ficheros de configuracin. Organizacin Cliente/Servidor.

59

Usuarios de Dominio (NIS)

Maestro o Servidor NIS:


Define un dominio (domainname). Iniciar las bases de datos de NIS. Publicar las bases de datos del sistema.

Cliente NIS:
Definir el mismo dominio. Modificar el mecanismo de bsqueda de datos

en las BD locales/remotas.
60

Terminales Remotos

Existen tres servicios de terminal remoto:


rsh (remote shell). rlogin (remote login).

telnet (terminal remoto).

Configuracin:
/etc/hosts.equiv ~/.rhosts
61

Otros Servicios

Servidor Web:
Apache, NCSA.

Servidor FTP:
WU-ftp.

Agente de correo:
Sendmail, Postfix

Servicios de correo:
IMAP, POP.
62

Opciones del Protocolo IP


El protocolo IP ofrece:
IP Masquerading: Usar una sola direccin IP

para varias mquinas. IP Accounting: Estadsticas y anlisis de paquetes. IP Aliasing: Varias direcciones IP a las misma tarjeta. IP Forwarding: Redireccin de paquetes.
63

Servicios Internos
Otros servicios adicionales UNIX:
Servicio de Impresin (lp).

Servicio de Programacin de Tareas: Tareas pendientes. Tareas peridicas.

64

Servicio de Impresin
Demonio de Impresin (lpd):
Asociado al dispositivo de impresora. Gestiona la cola de trabajos.

Preprocesa el documento a imprimir.


/var/spool/lp/...

lpd

filtro

/dev/lp0

65

Filtros de Impresin
Pequeos scripts que procesan la entrada (documento) y transmiten su salida a la impresora:
Filtros texto: retornos de carro y otras opciones

de impresin. PostScript: Interpretacin postscript de la impresora (gs).

66

Configuracin del Demonio


Fichero: /etc/printcap
Todas las impresoras del sistema. Impresoras: locales. remotas (otros UNIX o independientes). compartidas (otros SSOO).

Ficheros de configuracin y filtros.

67

Programacin de Tareas

Demonio atd:
Ejecuta un comando en un instante

determinado. Informa al usuario (va mail).

Demonio crond:
Mantiene una serie de tablas de tareas

habituales: /etc/crontab
Tareas de administracin.
68

Instalacin de Nuevo Software


Distribucin de Software:
Paquetes de instalacin. Binarios comprimidos.

Cdigo fuente (para dicho SSOO).


Cdigo fuente a portar.

69

Paquetes de Instalacin
El formato de paquete depende del SSOO:
RedHat y otros linux: RPM. Solaris: PKG.

AIX: SMIT.
...

70

Cdigo Binario
Posibles problemas:
Sistemtico en la instalacin. Problemas de versiones de libreras y otros

programas, ... Problemas de seguridad.

Formatos (comprimidos):
.tar.gz, .tgz, .tar.Z, .shar o .bz
71

Cdigo Fuente
Posibles problemas:
Configuracin de las fuentes: IMake o

configure (generan un Makefile). Compilador adecuado (C o C++). Instalacin del programa.


$ ./configure $ make $ make install
72

Terminales Grficos
X Window:
Entorno grfico de los sistemas UNIX. Arquitectura Cliente/Servidor

Diferentes niveles (libreras) de desarrollo.


Nuevos problemas de seguridad.

73

X Window
Servidor:
Asociado al terminal
xterm

window manager

grfico. Muestra en pantalla los Servidor X pixels.

Cliente:
Aplicacin con salida

xterm

grfica. Est asociada a un servidor.


74

X Window
Servidor:
Interacta con el hardware grfico. Acepta mensajes X11.

Clientes:
Usan primitivas para dibujar en el servidor. Pueden ser aplicaciones remotas. Gestor de ventanas: window manager
75

Desarrollo en X Window

Libreras de alto nivel:


Motif Qt

Aplicaciones X
Motif

...

Libreras de bajo nivel:


X11 Xlib

Xtoolkit Xlib X11 Kernel Hardware


76

XDM
El servicio XDM (X desktop manager):
Proporciona un login grfico. Asociado al runlevel 5 (grfico).

Se rearranca si el servicio cae.


Puede ser accedido desde puestos remotos.

77

Interoperabilidad con Microsoft Windows


El protocolo SMB (Session Message Block) lo utilizan los sistemas MSWin para compartir discos e impresoras.
La implementacin de este protocolo en UNIX se denomina Samba.

78

Cliente/Servidor Samba
Gestin de usuarios (cuentas) Impresoras compartidas. Directorios compartidos. <cuentas> Impresoras compartidas. Directorios compartidos.

SMB printer
/home

printer C:

unix

windows

79

Servidor Samba
La configuracin de un servidor Samba arranca dos demonios:
smbd: Demonio de SMB.

nmbd : Servicio de nombres NetBIOS.

Configuracin: /etc/smb.conf

80

Cliente Samba
Existen las siguientes herramientas:
smbclient: Conexin a recursos (modo

FTP). smbsun: Ejecucin de programas. smbprint: Impresin remota. smbmnt: Permite montar discos compartidos.

81

Auditora del Sistema


Los directorios /var/log o /var/adm contienen informacin sobre ciertas operaciones registradas en el sistema:
Accesos de usuarios.
Mensajes del kernel. Arranque y parada del sistema.

Errores de ciertos demonios.

82

Conexiones al Sistema
Ficheros de acceso:
Registra las conexiones. En algunos casos, tiene formato binario.

Se consulta por medio del comando last.

83

Gestin de Logs
La gestin de los ficheros log comprende:
Seleccin de eventos a registrar. Los ciclos de rotacin.

La compresin de los logs.


Verificaciones de integridad.

84

Carga del Sistema


La utilidad uptime proporciona una estimacin de la carga del sistema:
# uptime 3:24pm up 6 days, 2:30, 5 users, load average: 0.23, 0.32, 0.26

Otras utilidades: ps, top, xload, perfmeter, ...

85

Memoria del Sistema


Las utilidades como vmstat o sar miden el uso de la memoria del sistema:
Acceso a swap.

Estado de los procesos.


Memoria usada del sistema. Porcentaje de CPU usada.

86

Lmites de Recursos

A un usuario se le restringen los lmites de recursos a utilizar por medio de la llamada ulimit.
Por lo general los lmites generales se definen

en el fichero /etc/profile que todos los usuarios ejecutan.

87

Seguridad
Puntos de inters:
Seguridad Interior: Programas con permisos. Seguridad Exterior: Servicios de red.

Deteccin de Intrusiones: Una vez que han

superado la seguridad.

La mejor defensa es no tener una mquina con instalacin estndar.


88

Seguridad Interior
Programas con permisos de ejecucin privilegiada: Bit s.
Si el programa no se usa: eliminarlo.

Si se usa: instalar la versin ms actualizada.


Restringir los privilegios de ciertos usuarios

(restricted shells).

89

Seguridad Exterior
Servicios de red del sistema:
Si no se usa: eliminarlo. Si se usa: tenerlo actualizado.

Saber quien debe usar cada servicio (desde

dnde se usa).

90

Filtrado de Conexiones
Los TCP wrappers son un paquete de seguridad basado en filtrar conexiones al inetd. Configuracin:
/etc/hosts.allow /etc/hosts.deny

91

TCP Wrappers
# /etc/hosts.deny ALL: PARANOID # Direciones sospechosas ALL: ALL # Todos los servicios
# /etc/hosts.allow telnetd, ftpd: LOCAL, .fi.upm.es fingerd: ALL: (finger @%h | mail -s "finger @%h" root)

92

Salvaguarda de los Log


Una intrusin en la mquina intenta borrar sus huellas:
Anlisis de los ficheros de log.

Protecciones especiales (append).


Salvaguarda peridica de los log. Renombrar ficheros de log.

93

Integridad del Sistema


La verificacin peridica del sistema:
Automatizada (crontab). Comparar los directorios del sistema.

Chechsums o CRCs de los ficheros.


Fecha/Hora arranque de los servicios. Puertos de servicio del sistema.

94

Passwords por la Red


La transmisin de passwords por la red puede ser interceptada por medio de sniffers:
Uso de autorizacin basada en hosts

(~/.rhosts, /etc/host.equiv) Transmisiones cifradas (secure shell: ssh).

95

IP Spuffing
Otro posible ataque es por medio de suplantar la identidad de otro host:
Rutas de mensaje extraas.

Servicios de autenticacin: Certificados,

Kerberos, ...

96

Servicios de Red Peligrosos


Servicios de red ms problemticos:
Servicio de correo (sendmail). Servicio FTP (ftp annimo).

Servicio Web (CGIs).


RPCs (ataques al portmapper). Protocolos de red: ICMP, SNMP, ARP,...

97

Você também pode gostar