Top Banner
Elvira Baydal Cardona 03/04/00 Tema 3: Seguridad básica en Unix 1 1 T e m a 3 : U n i x Tema 3: Seguridad básica en unix n Autentificación basada en contraseñas n Seguridad básica de servicios de red n Bibliografía u Kauffman, Caps. 7 y 8 u Garfinkel, Caps. 3, 8, 17 y 22 u Guía de seguridad del administrador Linux Índice del tema 2 T e m a 3 : U n i x Objetivos n Conocer los problemas que presenta la autentificación basada en passwords y sus posibles soluciones n Conocer algunos de los archivos básicos de Unix relacionados con las contraseñas n Aprender a configurar de forma segura el inetd y a restringir el acceso a sus servicios mediante el tcp_wrappers Objetivos del tema
16

Unix Tema 3: Seguridad básica en unix

Jul 24, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 1

1

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Tema 3: Seguridad básica en unix

n Autentificación basada en contraseñasn Seguridad básica de servicios de red

n Bibliografíau Kauffman, Caps. 7 y 8u Garfinkel, Caps. 3, 8, 17 y 22u Guía de seguridad del administrador Linux

Índice del tema

2

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Objetivos

n Conocer los problemas que presenta laautentificación basada en passwords y susposibles soluciones

n Conocer algunos de los archivos básicosde Unix relacionados con las contraseñas

n Aprender a configurar de forma segura elinetd y a restringir el acceso a susservicios mediante el tcp_wrappers

Objetivos del tema

Page 2: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 2

3

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix 1. Autentificación basada en

passwordsn Son la herramienta de autenticación más

utilizada (sobre todo para personas)n Presenta muchos problemas:

u Obtención fraudulenta del password por:F Prueba y error (intentos repetidos de

acceso)F Escuchas en la redF Monitorización del tecladoF Lectura del fichero de passwords

u Comportamiento inadecuado de losusuarios

1.Autenticación basada en contraseñas

4

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Obtención de passwords

mediante prueba y errorn Puede lograrse el acceso al sistema

mediante intentos sucesivos hastaencontrar el password correcto

n La dificultad de conseguir el accesodepende de:u el número de intentos que puedan

realizarseu la calidad de la palabra de paso elegida

1.Autenticación basada en contraseñas

Page 3: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 3

5

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Prueba y error de contraseñas

n Para mejorar la seguridad podemos:u Restringir físicamente los accesos privilegiadosu Limitar el número de accesos incorrectos

consecutivosF Puede facilitar un ataque de denegación de

serviciou Ralentizar la entrada y permitir sólo un número

limitado de intentos por conexiónu Controlar el número de intentos de acceso

erróneos (auditoría)u Informar a los usuarios del número de intentos

infructuosos desde el último accesou Eliminar las cuentas que no están en uso

1.Autenticación basada en contraseñas

6

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Passwords seguros e inseguros

n Elegir una clave que:u No sea fácil de adivinaru Que no siga un patrón predecibleu Lo más larga posible

F Mínimo 8 caracteresF ¡OJO! ¿Número máximo de caracteres que

utiliza el sistema?

n NO utilizar nunca como clave de acceso:u Palabras del diccionario (en ningún idioma)u Nombres propiosu Variaciones creadas sobre estas palabras

1.Autentificación basada en contraseñas

Page 4: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 4

7

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Passwords seguros e

inseguros (II)n Incrementar el espacio de búsqueda

incluyendo:u Letras mayúsculas y minúsculas

aleatoriamenteu Números y signos de puntuaciónu FRASES de acceso en lugar de palabras

1.Autentificación basada en contraseñas

8

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Contraseñas adecuadas:

Ejemplosn Torres 10n 4 semanas en globon 53+2=57n 15 años tiene mi amorn 4379 elefantes se balanceabann pBR322n 120 Km/hn +34(1)909-23 32

1.Autentificación basada en contraseñas

Page 5: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 5

9

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Obtención fraudulenta depasswordsn Viéndolos al ser tecleados

u Prevención: Incluir carácteres de 2 teclasn Leyéndolos durante el tránsito a través de

la redu Solución: passwords de uso único (one -

time passwords)n Mediante caballos de Troya

1.Autentificación basada en contraseñas

10

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

El fichero /etc/passwd (I)n Contiene información sobre los usuarios del

sistemaroot:OORoMNF9yZ:0:0:root:/root:/bin/bash

1.Autentificación basada en contraseñas

rdc00:fi3sED95:500:500:Usuario 00:/home/rdc00:/bin/bash

Campo Contenido

rdc00fi3sED95ibqR6500500Usuario 00/home/rdc00/bin/bash

Nombre de usuario Password Num. de id. del usuario Num. Id. de grupo Nombre completo del usuario Directorio personal Intérprete de mandatos

Page 6: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 6

11

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

n Este fichero TIENE que ser legible por todo elmundo para muchas órdenes funcionencorrectamenteu Actualmente en Linux las contraseñas suelen

almacenarse en /etc/shadow (con accesolimitado a root)

n Las contraseñas se almacenan cifradas con unafunción de mezclau No se pueden desencriptaru Pero … son susceptibles de ataques de

diccionarioF Se calcula que el 25% de las claves se pueden

romper en menos de una hora

El fichero /etc/passwd (II)

12

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

n Contiene una entrada por cada línea del fichero/etc/passwd

n Almacena los nombres de usuarios y suscontraseñas, así como información sobre sufecha de caducidadu Cuando este fichero existe el campo de

contraseña de /etc/passwd se sustituye por una xn Sólo debe ser accesible para root

El fichero /etc/shadow

1.Autentificación basada en contraseñas

Page 7: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 7

13

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

/etc/login.defsn Permite definir algunos valores por defecto

sobre la administración de contraseñas:u Número máximo de días que puede

utilizarse una contraseñau Número mínimo de días entre cambios de

contraseñasF No debe activarse (puede hacer a los

usuarios más vulnerables)u Longitud mínima de las contraseñasu Máximo número de intentos de login si la

contraseña es incorrectau Advertencia sobre contraseñas débiles

1.Autentificación basada en contraseñas

14

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

El fichero /etc/securettyn Contiene la lista de terminales desde los

que root puede acceder al sistemau Los terminales de la consola suelen ir de

/dev/tty1 a /dev/tty6u No es recomendable permitir el acceso de

root a través de la redn Sin embargo, un usuario legítimo puede

aún utilizar el comando su desde cualquierterminal una vez que ha accedido alsistema

1.Autentificación basada en contraseñas

Page 8: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 8

15

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

n El archivo /etc/servicesu Cada línea contiene el nombre de un

servicio, el número de puerto del servidor,un nombre de protocolo y una lista de alias#/etc/servicestelnet 23 /tcpsmtp 25 /tcp mail

u Los servidores deben determinar sunúmero de puerto mediante la llamadagetservicebyname() y el fichero/etc/services

2. Seguridad básica deservicios de red

2. Seguridad básica de servicios de red

16

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

n Permite visualizar el estado de las conexionesde red, así como los sockets abiertos dondehay algún servidor escuchando (requiere laopción -a)u Podemos saber con que sistemas se comunica

nuestro ordenador a través de la redu Si un puerto tiene un nombre asignado en

/etc/services se visualizará este en lugar delnúmero de puerto

u Podemos visualizar sólo los sockets IPmediante la opción --inet

2. Seguridad básica de servicios de red

La orden netstat

Page 9: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 9

17

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Ejemplo listado netstat[elvira@elvira elvira]$ netstat -a --inetActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 192.168.220:netbios-ssn 192.168.220.2:1026 ESTABLISHEDtcp 1 0 elvira.disca.upv.e:1053 proxima.cc.upv:webcache CLOSE_WAITtcp 0 0 192.168.220:netbios-ssn *:* LISTENtcp 0 0 elvira.disc:netbios-ssn *:* LISTENtcp 0 0 *:printer *:* LISTENtcp 0 0 *:linuxconf *:* LISTENtcp 0 0 *:telnet *:* LISTENtcp 0 0 *:ftp *:* LISTENtcp 0 0 *:auth *:* LISTENudp 0 0 *:800 *:*udp 0 0 *:646 *:*udp 0 0 *:1023 *:*raw 0 0 *:icmp *:* 7

18

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Iniciando un servidor en Unixn Fundamentalmente tenemos 2 tipos de

servidores:u Los que están siempre ejecutándose. Se

inician automáticamente en el arranque delsistema (/etc/rc*). Por ejemplo, nfsd ysendmail

u Los que se ejecutan bajo demanda de algúncliente. Se inician a partir del inetd

F El superservidor inetd escucha en los puertosde los servicios que proporciona y lanza eldemonio adecuado cuando se recibe unasolicitud

2. Seguridad básica de servicios de red

Page 10: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 10

19

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix /etc/inetd.conf

n Determina que servicios se están ofreciendo através del inetd

n Nombre del servicio: El que aparece en /etc/servicesn Tipo de socket: Stream o datagramn Tipo de protocolo: TCP o UDPn wait/nowait: Determina si el servicio se atenderá de

forma secuencial o concurrenten Usuario: Especifica el identificador de usuario bajo el

que se ejecutará el proceso

#time dgram udp wait root internalftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -atelnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

2. Seguridad básica de servicios de red

20

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Recomendaciones sobre

configuración de los serviciosn Una política recomendable puede ser

desactivar inicialmente todos los servicios yposteriormente poner en funcionamiento sóloaquéllos en los que se tenga interés y setenga claro el riesgo que implican

n Para los servicios ofrecidos el acceso puederestringirse mediante el TCP_WRAPPERS

2. Seguridad básica de servicios de red

Page 11: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 11

21

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Configuración de los

servicios internosn Algunos servicios aparecen como internal.

Son servicios triviales que maneja elpropio inetd (echo, time, daytimediscard,chargen)u Aunque pueden ser útiles para comprobar

el funcionamiento de la red y no presentanriesgos de seguridad en si mismos serecomienda desactivarlos

F Pueden utilizarse para ataques dedenegación de servicio

F Si se ofrecen debe ser restringido al ámbitode la red local

22

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Otros servicios del inetd (I)n Servicios como systat, netstat y finger

proporcionan demasiada informaciónu systat proporciona información de estado

sobre nuestro computador (órdenes who ops)

u netstat informa sobre los puertos abiertosen nuestro sistema

u finger entre otras cosas permite averiguarla última vez que un usuario se conectó ala máquina

u Estas informaciones facilitan los ataques2. Seguridad básica de servicios de red

Page 12: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 12

23

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

n Se deben reemplazar telnet y los servicios r por elSSH

n Los servidores pop e imap no se requieren si lamáquina no va a funcionar como servidor de correo

n TFTP y bootp son servicios que permiten configurar lamáquina como servidores de arranque para clientesque cargan el s.o. a través de la red.u TFTP se considera altamente insegurou Permite acceso para descargar ficheros sin contraseña

Otros servicios del inetd (II)

#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d#imap stream tcp nowait root /usr/sbin/tcpd imapd

2. Seguridad básica de servicios de red

24

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

n Permite averiguar la identidad del usuario quetiene establecida una conexión TCP

n Sólo devuelve información entre conexionesestablecidas entre el servidor y el sistema desdedonde se realiza la consultau En muchos casos cuando un cliente se conecta a

un servidor, desde la máquina del servidor se abreuna conexión al servidor identd de la máquinacliente, con los números de puerto que deseaidentificar

n La información devuelta puede no ser fiable y nodebe utilizarse con propósitos de autenticación

El servicio de identificación

2. Seguridad básica de servicios de red

Page 13: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 13

25

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Por último ...n Una vez eliminados los servicios que no

se desean hay que hacer efectivos loscambiosu “kill -s SIGHUP pid” hace que el servidor

vuelva a leer su fichero de configuraciónu El pid del inetd puede obtenerse:

F en /var/run/inetd.pidF ps -A | grep inetd

2. Seguridad básica de servicios de red

26

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Restricción del acceso a los

servicios del inetdn Wrapper: programa que se utiliza para

restringir el acceso a un segundoprograma

n El inetd viene acompañado de un wrapper(tcp_wrapper) que se utiliza para restringirel acceso a los servicios TCP y UDPproporcionados por el inetdu Actualmente suele instalarse

automáticamente junto al sistema

2. Seguridad básica de servicios de red

Page 14: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 14

27

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Funcionamiento del tcp_wrappers

n Cuando llega una solicitud para un servicio el inetdejecuta el tcpd en lugar del servicio solicitado

n El tcpd ejecutará entonces una o más de las siguientesacciones:u Opcionalmente, puede enviar un banneru Doble comprobación nombre-direcciónu Control de acceso, si el acceso es denegado cancela la

conexiónu Utiliza el ident para determinar el nombre de usuario

asociado con la conexiónu Registra el intento de conexión con el syslogu Opcionalmente ejecuta una ordenu Pasa el control al programa real que tiene que ejecutar el

servicio o a algún otro programa

28

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Control del acceso con

tcp_wrappersn Utiliza un par de ficheros de configuración (

hosts.allow y hosts.deny) que permitenespecificar si las conexiones deben o noaceptarse

n El orden de búsqueda es el siguiente:1. hosts.allow para ver si el host cliente (y en su

caso el usuario) tiene acceso al servicio2. Si no se ha encontrado ninguna coincidencia se

revisa el hosts.deny para ver si la conexión deberechazarse

3. Si NO se ha encontrado coincidencia la conexiónse PERMITE

Page 15: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 15

29

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix

Reglas de control de acceson Las líneas en los ficheros hosts.allow y

hosts.deny tienen el formato:lista_de_demonios: lista_de_clientes [: orden_shell]

u lista_de_demonios: lista de uno o más nombres de procesosdemonio o palabras reservadas (ALL indica todos los demonios,también puede utilizarse EXCEPT)

u lista_de_clientes: Nombre de host o dirección IP de laconexión entrante. Puede utilizarse también usuario@hostpara especificar un usuario particular en el computador remoto(dicho computador debe soportar el protocolo ident)

u orden_shell: Especifica una orden que debe ejecutarse si eldemonio y el cliente casan con la conexión entrante

2. Seguridad básica de servicios de red

30

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Patrones para clientes especiales

n Una cadena que empieza con “.”. Los últimoscomponentes del nombre del host deben casar con elpatrón especificadou “zoltar.redes.upv.es” cuadra con “.upv.es”

n Una cadena que finaliza con “.”. Los primeros camposde la dirección IP deben coincidir con la cadenaespecificadau 158.42.53.99 cuadra con “158.42.”

n Una expresión de la forma “r.r.r.r/m.m.m.m” esinterpretada como una pareja “red/máscara”u “158.42.53.0/255.255.254.0” casa con cualquier dirección

en el rango “158.42.52.0” a “158.42.53.255”

2. Seguridad básica de servicios de red

Page 16: Unix Tema 3: Seguridad básica en unix

Elvira Baydal Cardona 03/04/00

Tema 3: Seguridad básica en Unix 16

31

Te

ma

3:

s

eg

ur

id

ad

b

ás

ic

a

en

Un

ix Patrones para clientes y

demoniosn ALL: Cualquier host y cualquier demonion LOCAL: Cualquier host que no tenga un “.” en su

nombren UNKNOWN: Cualquier dirección IP que no tenga su

correspondiente nombre de host. También nombres deusuario para los que el ident no esté disponible

n KNOWN: Direcciones Imore P que tienen su nombrede dominio; también nombres de usuario cuando elident está disponible

n PARANOID: Cualquier nombre de host para el que ladoble consulta nombre/IP no concuerda

2. Seguridad básica de servicios de red