seguridad
`ncia
Universitat Polite
Apuntes de:
Seguridad en los Sistemas Inform´
aticos
(SSI)
Jos´e Ismael Ripoll Ripoll
May 24, 2012
1
2
Contents
Prefacio
iii
1 Introducci´
on
1.1 Glosario de t´erminos . . . . . .
1.2 Niveles de seguridad . . . . . .
1.3 Tipos de Ataques . . . . . . . .
1.4 ¿Existe un sistema seguro? . .
1.5 T´ecnicas criptogr´
aficas . . . . .
1.6 Criptograf´ıade clave secreta . .
1.7 Criptograf´ıa de clave p´
ublica .
1.8 Funciones de hash . . . . . . .
1.9 N´
umeros aleatorios . . . . . . .
1.10 Confidencialidad . . . . . . . .
1.11 Firma digital . . . . . . . . . .
1.12 Distribuci´
on de claves p´
ublicas
1.13 Entidades certificadoras . . . .
1.14 Comunicaci´
on segura con PKI .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
2 Administraci´
on B´
asica
2.1 El fichero /etc/passwd . .
2.2 Crear usuarios . . . . . . .
2.3 Eligiendo un password . . .
2.4 Permisos B´
asicos . . . . . .
2.5 Bit SETUID . . . . . . . .
2.6 Bit SETGID . . . . . . . .
2.7 Problemas del bit SETUID
2.8 Chroot . . . . . . . . . . . .
2.9 Sudo . . . . . . . . . . . . .
2.10 Montar y Desmontar . . . .
2.11 Ordenes imprescindibles ..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 M´
odulos PAM
3.1 Introducci´
on . . . . . . . . .
3.2 Name Server Switch (NSS)
3.3 Problemas del NSS . . . . .
3.4 PAM . . . . . . . . . . . . .
3.5 Configuraci´
on de PAM . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Programaci´
on en Python
4.1 Introducci´
on. . . . . . . . . . . . . .
4.2 El primer gui´
on Phyton . . . . . . .
4.3 ipython . . . . . . . . . . . . . . . .
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
1
1
2
2
2
2
3
3
4
5
5
6
6
7
7
Variables . . . . . . . . . . . . .
N´
umeros . . . . . . . . . . . . . .
Booleanos . . . . . . . . . . . . .
Cadenas . . . . . . . . . . . . . .
Operaciones concadenas . . . . .
Listas . . . . . . . . . . . . . . .
Control de flujo . . . . . . . . . .
Tuplas . . . . . . . . . . . . . . .
Conjuntos . . . . . . . . . . . . .
Diccionarios . . . . . . . . . . . .
Clases . . . . . . . . . . . . . . .
Funciones . . . . . . . . . . . . .
Modulos . . . . . . . . . . . . . .
Entrada/Salida . . . . . . . . . .
Operaciones con ficheros . . . . .
M´odulos importantes(sys y glob)
M´odulos importantes (os) . . . .
M´odulos importantes (socket,...)
Modulos importantes (re) . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10 5 Configuration de red
5.1 Servicios de Red . . . . . . . . . . .
10
5.2 Driver de red . . . . . . . . . . . . .
11
5.3 ifconfig . . . . . . . . . . . . . . .
11
5.4 route . . . . . . . . . . . . . .. . .
11
5.5 Resoluci´on de nombres (DNS) . . . .
12
5.6 DNS /etc/resolv.conf . . . . . . .
12
5.7 inetd . . . . . . . . . . . . . . . . .
12
5.8 Servicios desde inetd . . . . . . . .
12
5.9 TCP Wrappers, tpcd . . . . . . . . .
13
5.10 xinetd . . . . . . . . . . . . . . . . .
15
on segura
15 6 Programaci´
6.1 Fallos de programaci´on . . . . . . . .
15
6.2 Desbordamiento de pila . . . . . . .
166.3 Mapa de memoria de un proceso . .
16
6.4 Programa ejemplo . . . . . . . . . .
16
6.5 Llamada a una funci´on . . . . . . . .
19
6.6 Sobreescribir la pila . . . . . . . . .
19
6.7 Es m´as f´acil de lo que parece . . . .
19
6.8 C´omo evitarlos los desbordamientos
6.9 Consejos de programaci´on . . . . . .
20
i
20
20
21
21
22
22
23
24
24
25
26
26
27
27
28
28
29
29
29
31
31
31
31
32
33
33
33
34
3536
37
37
37
38
38
39
39
40
40
40
6.10
6.11
6.12
6.13
6.14
6.15
6.16
Herramientas para auditar c´
odigo
Stack protect . . . . . . . . . . .
Pila no ejecutable . . . . . . . . .
Pila en posiciones aleatorias . .
Inyecci´
on de SQL . . . . . . . . .
Prevenci´
on de inyecci´
on de SQL .
Conclusiones . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Registros del sistema
7.1 Una vez han...
Regístrate para leer el documento completo.