Seguridad GNU/Linux
Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC
(cid:19)Alvaro Navarro Clemente
Jaime P(cid:19)erez Crespo
anavarro,
[email protected]
12 de noviembre de 2003
(cid:19)Indice
1
(cid:19)Indice
Introducci(cid:19)on
Autenticaci(cid:19)on de Usuarios
Servicios de red
Protocolos
Cortafuegos
Auditor(cid:19)(cid:16)as
Criptograf(cid:19)(cid:16)a
Integridad del sistema
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Introducci(cid:19)on
2
Introducci(cid:19)on
>Qu(cid:19)e es seguridad?
(cid:15) Caracter(cid:19)(cid:16)stica de nuestro sistema que indique que est(cid:19)a libre de
todo peligro, da~no o riesgo.
Caracter(cid:19)(cid:16)sticas de un sistema seguro:
(cid:15) (cid:12)abilidad.
(cid:15) con(cid:12)dencialidad.
(cid:15) integridad.
(cid:15) disponibilidad.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Introducci(cid:19)on
3
Introducci(cid:19)on
>De qui(cid:19)en me quiero proteger?
(cid:15) Personas: crackers, kiddies, curiosos..
(cid:15) Software: troyanos, backdoors, virus...
(cid:15) Otros: cat(cid:19)astrofes naturales, apagones, personal de limpieza...
Vale, pero entonces >Qu(cid:19)e vais a contar?.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Autenticaci(cid:19)on usuarios
4
Autenticaci(cid:19)on usuarios
sistema basado en login/password
se almacena en /etc/passwd
pgomez:ERaE9jq3CTHo:1000:100:Pepe ,,, :/home/pgomez:/bin/bash
El password est(cid:19)a encriptado bajo DES
SALT + PASSWORD CIFRADO
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Autenticaci(cid:19)on usuarios
5
Autenticaci(cid:19)on usuarios
El sistema de autenticaci(cid:19)on basado en /etc/passwd es inseguro.
Mejor utilizar Shadow Password.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Autenticaci(cid:19)on de usuarios
6
Autenticaci(cid:19)on de usuarios
Es importante elegir una buena contrase~na.
Pueden desencriptar nuestra contrase~na:
(cid:15) Fuerza bruta.
(cid:15) Ataques de diccionario.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Servicios de red
7
Servicios de red
Nuestra m(cid:19)aquina dispone de varias utilidades para con(cid:12)gurar y admi-
nistrar servicios.
Archivos de especial inter(cid:19)es:
(cid:15) /etc/hosts
(cid:15) /etc/networks
(cid:15) /etc/services
Comandos t(cid:19)(cid:16)picos:
(cid:15) ifcon(cid:12)g, route y netstat.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Servicios de Red
8
Servicios de Red
Normalmente tendremos dos tipos de servicios de red:
(cid:15) los ejecutados al inicio.
(cid:15) los asociados al demonio inetd.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Servicios de Red
9
Servicios de Red
Podemos limitar el acceso a los servicios del inetd: tcp/wrapper.
A~nadir entradas al /etc/hosts.allow.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Protocolos
10
Protocolos
Protocolos t(cid:19)(cid:16)picos: /etc/services
Telnet. Ejecuci(cid:19)on de comandos remota.
HTTP. Hyper Text Transfer Protocol.
FTP. File Transfer Protocol.
POP3. Recepci(cid:19)on de correo electr(cid:19)onico.
SMTP. Transferencia de correo electr(cid:19)onico.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Protocolos
11
Protocolos
>Por qu(cid:19)e son inseguros?
La red es insegura.
Usan texto en claro. Se trans(cid:12)eren cadenas de caracteres legibles.
No ofrecen ning(cid:19)un tipo de seguridad adicional.
Conclusi(cid:19)on: cualquiera puede interceptar nuestras comunicaciones.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Protocolos
12
Protocolos
La red es un medio inseguro
El medio es compartido. Muchas tarjetas de red, un s(cid:19)olo cable.
El medio es inseguro. Cualquiera puede conectarse a una toma de red.
Comunicaciones inal(cid:19)ambricas: ni siquiera hace falta toma de red.
Modo prom(cid:19)(cid:16)scuo: las tarjetas de red aceptan todos los paquetes.
Sni(cid:11)ers: aprovechan el modo prom(cid:19)(cid:16)scuo para monitorizar el tr(cid:19)a(cid:12)co.
Protocolos inseguros por encima. Los sni(cid:11)ers ven texto claro.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Protocolos
13
Protocolos
>Soluci(cid:19)on?
Criptograf(cid:19)(cid:16)a.
Mejor clave p(cid:19)ublica. Nadie conoce el secreto salvo el receptor.
Cada extremo tiene una clave p(cid:19)ublica y una privada.
Los mensajes se encriptan con la clave p(cid:19)ublica del receptor.
El receptor desencripta los mensajes con su clave privada.
La clave privada no viaja por la red, luego los intrusos no pueden
desencriptar la comunicaci(cid:19)on.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Protocolos
14
Protocolos
>Qu(cid:19)e podemos hacer?
Protocolos seguros. Usan criptograf(cid:19)(cid:16)a de clave p(cid:19)ublica.
SSL, multiprop(cid:19)osito.
SSH, shell de comandos segura.
SCP, transferencias de archivos seguras.
Tunneling, encapsulamos un protocolo inseguro en uno seguro.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Protocolos
15
Protocolos
Un ejemplo: FTP
#!/bin/bash
PORTFORWARD=10021
SERVER=servidor.ftp.com
SERVERPORT=21
LOGIN=usuario
gftp &
ssh -L $PORTFORWARD:$SERVER:SERVERPORT $LOGIN@$SERVER
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Cortafuegos
16
Cortafuegos
Sistema para proteger nuestra m(cid:19)aquina de conexiones remotas se-
par(cid:19)andola del resto
Utilizaremos el cortafuegos que trae el kernel de Linux llamado ipta-
bles.
Es necesario darle soporte desde el kernel si no lo tenemos activado:
(cid:15) CONFIG NETFILTER=Y
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Cortafuegos
17
Cortafuegos
Se basa en la con(cid:12)guracion de politicas con los paquetes imponiendo
condiciones
Funcionamiento b(cid:19)asico:
(cid:15) iptables COMMAND chain CONDITION ACTION
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Cortafuegos
18
Cortafuegos
Algunos comandos b(cid:19)asicos:
-A : a~nadir reglas
-D : borrar reglas
Tenemos tres ’chains’ b(cid:19)asicas:
(cid:15) INPUT: entrantes
(cid:15) OUTPUT: salientes
(cid:15) FORDWARD: redirigir paquetes
Una vez que se se cumple la condici(cid:19)on >Qu(cid:19)e hacemos?
(cid:15) DROP (tambi(cid:19)en REJECT)
(cid:15) ACCEPT
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Cortafuegos
19
Cortafuegos
Antes de con(cid:12)gurarlo es recomendable borrar todo:
(cid:15) iptables -F INPUT
(cid:15) iptables -F FORWARD
(cid:15) iptables -F OUTPUT
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Cortafuegos
20
Cortafuegos
Ahora podemos de(cid:12)nir reglas. Ejemplos:
(cid:15) Evitamos pings:
(cid:15) iptables -A INPUT -p icmp -j DROP
(cid:15) Evitamos conexiones telnet del host malvado.com
(cid:15) iptables -A INPUT -p tcp -s malvado.com {dport 23 -j DROP
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Auditor(cid:19)(cid:16)a
21
Auditor(cid:19)(cid:16)a
Es necesario saber qu(cid:19)e pasa en el sistema.
Responsabilidad de administradores, y de usuarios.
Logs del sistema, registros de actividad.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Auditor(cid:19)(cid:16)a
22
Auditor(cid:19)(cid:16)a
messages
/var/log/messages
Registro del kernel.
Controlado por syslogd.
Se almacena en texto plano. Se puede consultar con cualquier editor
de textos.
Mucha informaci(cid:19)on, generalmente m(cid:19)as de la que necesitamos.
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)erez Crespo
Seguridad GNU/Linux
Auditor(cid:19)(cid:16)a
23
Auditor(cid:19)(cid:16)a
wtmp
/var/log/wtmp
Registro de entradas en el sistema.
Es un (cid:12)chero binario. No se puede leer con un editor de textos, es
necesario un programa que lea sus estructuras.
Informaci(cid:19)on relativa a las entradas al sistema de todos sus usuarios.
who /var/log/wtmp
c(cid:13) Cap(cid:19)(cid:16)tulo de Estudiantes de ACM de la URJC (cid:19)Alvaro Navarro Clemente Jaime P(cid:19)e
Comentarios de: Seguridad GNU/Linux (0)
No hay comentarios