Unixsec

2,189 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,189
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Unixsec

  1. 1. SEGURIDAD EN UNIX Y REDES Versi´n 2.1 o Antonio Villal´n Huerta o Julio, 2002
  2. 2. ii
  3. 3. iCopyright c 2000,2002 Antonio Villal´n Huerta. oPermission is granted to copy, distribute and/or modify this do-cument under the terms of the GNU Free Documentation License,Version 1.1 or any later version published by the Free SoftwareFoundation; with the Invariant Sections being ‘Notas del Autor’and ‘Conclusiones’, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled‘GNU Free Documentation License’.
  4. 4. ii
  5. 5. ´Indice GeneralNotas del autor 11 Introducci´n y conceptos previos o 1 1.1 Introducci´n . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Justificaci´n y objetivos . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 ¿Qu´ es seguridad? . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 ¿Qu´ queremos proteger? . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 ¿De qu´ nos queremos proteger? e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5.1 Personas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5.2 Amenazas l´gicas . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5.3 Cat´strofes . . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.6 ¿C´mo nos podemos proteger? . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.7 Redes ‘normales’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.7.1 Redes de I+D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.7.2 Empresas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.7.3 ISPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.8 ¿Seguridad en Unix? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16I Seguridad del entorno de operaciones 192 Seguridad f´ısica de los sistemas 21 2.1 Introducci´n . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2 Protecci´n del hardware . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1 Acceso f´ ısico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.2 Desastres naturales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.3 Desastres del entorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3 Protecci´n de los datos . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3.1 Eavesdropping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3.2 Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.3 Otros elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 Radiaciones electromagn´ticas . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Administradores, usuarios y personal 35 3.1 Introducci´n . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Ataques potenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.1 Ingenier´ social . . . . . . . . ıa . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.2 Shoulder Surfing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.3 Masquerading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2.4 Basureo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2.5 Actos delictivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3 ¿Qu´ hacer ante estos problemas? . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4 El atacante interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
  6. 6. iv ´ INDICE GENERALII Seguridad del sistema 454 El sistema de ficheros 47 4.1 Introducci´n . . . . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 47 4.2 Sistemas de ficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3 Permisos de un archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.4 Los bits suid, sgid y sticky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.5 Atributos de un archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6 Listas de control de acceso: ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.7 Recuperaci´n de datos . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 61 4.8 Almacenamiento seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.8.1 La orden crypt(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.8.2 PGP: Pretty Good Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.8.3 TCFS: Transparent Cryptographic File System . . . . . . . . . . . . . . . . . 64 4.8.4 Otros m´todos de almacenamiento seguro . . . e . . . . . . . . . . . . . . . . . 645 Programas seguros, inseguros y nocivos 67 5.1 Introducci´n . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.2 La base fiable de c´mputo . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3 Errores en los programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3.1 Buffer overflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.3.2 Condiciones de carrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.4 Fauna y otras amenazas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.4.1 Virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.4.2 Gusanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.4.3 Conejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.4.4 Caballos de Troya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.4.5 Applets hostiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.4.6 Bombas l´gicas . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.4.7 Canales ocultos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.4.8 Puertas traseras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.4.9 Superzapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.4.10 Programas salami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.5 Programaci´n segura . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 806 Auditor´ del sistema ıa 87 6.1 Introducci´n . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.2 El sistema de log en Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.3 El demonio syslogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.4 Algunos archivos de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.4.1 syslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.4.2 messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.4.3 wtmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.4.4 utmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.4.5 lastlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.4.6 faillog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.4.7 loginlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.4.8 btmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.4.9 sulog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.4.10 debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.5 Logs remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.6 Registros f´ ısicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
  7. 7. ´INDICE GENERAL v7 Copias de seguridad 101 7.1 Introducci´n . . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . 101 7.2 Dispositivos de almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 7.3 Algunas ´rdenes para realizar copias de seguridad . o . . . . . . . . . . . . . . . . . . . 105 7.3.1 dump/restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.3.2 La orden tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.3.3 La orden cpio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.3.4 Backups sobre CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7.4 Pol´ıticas de copias de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128 Autenticaci´n de usuarios o 117 8.1 Introducci´n y conceptos b´sicos . . . . . . . . . . . . o a . . . . . . . . . . . . . . . . . 117 8.2 Sistemas basados en algo conocido: contrase˜as . . . . n . . . . . . . . . . . . . . . . . 118 8.3 Sistemas basados en algo pose´ ıdo: tarjetas inteligentes . . . . . . . . . . . . . . . . . 118 8.4 Sistemas de autenticaci´n biom´trica . . . . . . . . . . o e . . . . . . . . . . . . . . . . . 120 8.4.1 Verificaci´n de voz . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 122 8.4.2 Verificaci´n de escritura . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 123 8.4.3 Verificaci´n de huellas . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 123 8.4.4 Verificaci´n de patrones oculares . . . . . . . . o . . . . . . . . . . . . . . . . . 124 8.4.5 Verificaci´n de la geometr´ de la mano . . . . o ıa . . . . . . . . . . . . . . . . . 126 8.5 Autenticaci´n de usuarios en Unix . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 127 8.5.1 Autenticaci´n cl´sica . . . . . . . . . . . . . . . o a . . . . . . . . . . . . . . . . . 127 8.5.2 Mejora de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 8.6 PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133III Algunos sistemas Unix 1379 Solaris 139 9.1 Introducci´n . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 9.2 Seguridad f´ısica en SPARC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 9.3 Servicios de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 9.4 Usuarios y accesos al sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 9.5 El sistema de parcheado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 9.6 Extensiones de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.6.1 aset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.6.2 jass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 9.6.3 sfpdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 9.7 El subsistema de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 9.8 Par´metros del n´cleo . . . . a u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15710 Linux 159 10.1 Introducci´n . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 159 10.2 Seguridad f´ısica en x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 10.3 Usuarios y accesos al sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 10.4 El sistema de parcheado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 10.5 El subsistema de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 10.6 El n´cleo de Linux . . . . . . . . . . . . u . . . . . . . . . . . . . . . . . . . . . . . . . 171 10.6.1 Opciones de compilaci´n . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 171 10.6.2 Dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 10.6.3 Algunas mejoras de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . 172
  8. 8. vi ´ INDICE GENERAL11 AIX 175 11.1 Introducci´n . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . 175 11.2 Seguridad f´ısica en RS/6000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 11.3 Servicios de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 11.4 Usuarios y accesos al sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 11.4.1 El fichero /etc/security/.ids . . . . . . . . . . . . . . . . . . . . . . . . . . 180 11.4.2 El fichero /etc/security/passwd . . . . . . . . . . . . . . . . . . . . . . . . 180 11.4.3 El fichero /etc/security/failedlogin . . . . . . . . . . . . . . . . . . . . . 181 11.4.4 El fichero /etc/security/lastlog . . . . . . . . . . . . . . . . . . . . . . . . 181 11.4.5 El fichero /etc/security/limits . . . . . . . . . . . . . . . . . . . . . . . . 182 11.4.6 El fichero /etc/security/login.cfg . . . . . . . . . . . . . . . . . . . . . . 183 11.4.7 El fichero /etc/security/user . . . . . . . . . . . . . . . . . . . . . . . . . . 185 11.4.8 El fichero /etc/security/group . . . . . . . . . . . . . . . . . . . . . . . . . 188 11.5 El sistema de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 11.6 El sistema de parcheado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 11.7 Extensiones de la seguridad: filtros IP . . . . . . . . . . . . . . . . . . . . . . . . . . 193 11.8 El subsistema de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19612 HP-UX 199 12.1 Introducci´n . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 12.2 Seguridad f´ ısica en PA–RISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 12.3 Usuarios y accesos al sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 12.4 El sistema de parcheado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 12.5 Extensiones de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 12.5.1 Product Description Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 12.5.2 inetd.sec(4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 12.6 El subsistema de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 12.7 El n´cleo de HP-UX . . . . . . . u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211IV Seguridad de la subred 21313 El sistema de red 215 13.1 Introducci´n . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 13.2 Algunos ficheros importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 13.2.1 El fichero /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 13.2.2 El archivo /etc/ethers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 13.2.3 El fichero /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 13.2.4 El fichero /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 13.2.5 El fichero /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 13.2.6 El fichero /etc/hosts.equiv . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 13.2.7 El fichero .netrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 13.2.8 El fichero /etc/inetd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 13.3 Algunas ´rdenes importantes . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 13.3.1 La orden ifconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 13.3.2 La orden route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 13.3.3 La orden netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 13.3.4 La orden ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 13.3.5 La orden traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 13.4 Servicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22514 Algunos servicios y protocolos 227 14.1 Introducci´n . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 14.2 Servicios b´sicos de red . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 14.2.1 systat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 14.2.2 daytime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 14.2.3 netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
  9. 9. ´INDICE GENERAL vii 14.2.4 chargen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 14.2.5 tftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 14.2.6 finger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 14.2.7 POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 14.2.8 auth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 14.2.9 NNTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 14.2.10 NTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 14.2.11 UUCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 14.3 El servicio FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 14.3.1 FTP an´nimo . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 14.3.2 FTP invitado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 14.4 El servicio TELNET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 14.5 El servicio SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 14.6 Servidores WWW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 14.7 Los servicios r-∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 14.8 XWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 14.8.1 Autenticaci´n por m´quina o a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 14.8.2 Autenticaci´n por testigo . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25115 Cortafuegos: Conceptos te´ricos o 253 15.1 Introducci´n . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 253 15.2 Caracter´ ısticas de dise˜o . . . . . . . . . . . n . . . . . . . . . . . . . . . . . . . . . . . 255 15.3 Componentes de un cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 15.3.1 Filtrado de paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 15.3.2 Proxy de aplicaci´n . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 257 15.3.3 Monitorizaci´n de la actividad . . . o . . . . . . . . . . . . . . . . . . . . . . . 258 15.4 Arquitecturas de cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 15.4.1 Cortafuegos de filtrado de paquetes . . . . . . . . . . . . . . . . . . . . . . . . 259 15.4.2 Dual-Homed Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 15.4.3 Screened Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 15.4.4 Screened Subnet (DMZ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 15.4.5 Otras arquitecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26216 Cortafuegos: Casos de estudio 265 16.1 Firewall-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 16.1.1 Introducci´n . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 265 16.1.2 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 16.1.3 Instalaci´n . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 266 16.1.4 Gesti´n . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 268 16.1.5 El sistema de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 16.1.6 inspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 16.2 ipfwadm/ipchains/iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 16.2.1 Introducci´n . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 272 16.2.2 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 16.2.3 Gesti´n . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 274 16.2.4 El sistema de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 16.3 IPFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 16.3.1 Introducci´n . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 276 16.3.2 Instalaci´n . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 277 16.3.3 Gesti´n . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 278 16.3.4 El sistema de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 16.4 PIX Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 16.4.1 Introducci´n . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . 281 16.4.2 La primera sesi´n con PIX Firewall o . . . . . . . . . . . . . . . . . . . . . . . 281 16.4.3 Interfaces de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 16.4.4 Accesos entre interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 16.4.5 Listas de control de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
  10. 10. viii ´ INDICE GENERAL 16.4.6 Rutado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 16.4.7 Otras ´rdenes utiles . . o ´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 16.4.8 El sistema de log remoto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 16.4.9 Failover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29117 Ataques remotos 295 17.1 Escaneos de puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 17.2 Spoofing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 17.3 Negaciones de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 17.4 Interceptaci´n . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 17.5 Ataques a aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 17.5.1 Correo electr´nico o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 17.5.2 Ataques v´ web . ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30918 Sistemas de detecci´n de intrusos o 313 18.1 Introducci´n . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 18.2 Clasificaci´n de los IDSes . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 18.3 Requisitos de un IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 18.4 IDSes basados en m´quina . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 18.5 IDSes basados en red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 18.6 Detecci´n de anomal´ o ıas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 18.7 Detecci´n de usos indebidos . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 18.8 Implementaci´n real de un IDS . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 18.8.1 IDS en el cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 18.8.2 IDS en la red: snort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 18.8.3 IDS en la m´quina . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 18.8.4 Estrategias de respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 18.8.5 Ampliaci´n del esquema . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 18.9 Algunas reflexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33819 Kerberos 341 19.1 Introducci´n . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 19.2 Arquitectura de Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 19.3 Autenticaci´n . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 19.3.1 Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 19.3.2 Obtenci´n de tickets o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 19.3.3 Petici´n de servicio . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 19.4 Problemas de Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344V Otros aspectos de la seguridad 34720 Criptolog´ ıa 349 20.1 Introducci´n . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 349 20.2 Criptosistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 20.3 Clasificaci´n de los criptosistemas . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . 351 20.3.1 Criptosistemas de clave secreta . . . . . . . . . . . . . . . . . . . . . . . . . . 351 20.3.2 Criptosistemas de clave p´blica . u . . . . . . . . . . . . . . . . . . . . . . . . . 352 20.4 Criptoan´lisis . . . . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . 352 20.5 Criptograf´ cl´sica . . . . . . . . . . . . ıa a . . . . . . . . . . . . . . . . . . . . . . . . . 353 20.5.1 El sistema Caesar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 20.5.2 El criptosistema de Vig`nere . . e . . . . . . . . . . . . . . . . . . . . . . . . . 354 20.6 Un criptosistema de clave secreta: DES . . . . . . . . . . . . . . . . . . . . . . . . . 356 20.7 Criptosistemas de clave p´blica . . . . . u . . . . . . . . . . . . . . . . . . . . . . . . . 357 20.7.1 El criptosistema RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 20.7.2 El criptosistema de ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 20.7.3 Criptosistema de McEliece . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 20.8 Funciones resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
  11. 11. ´INDICE GENERAL ix 20.9 Esteganograf´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 ıa21 Algunas herramientas de seguridad 363 21.1 Introducci´n . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 21.2 Titan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 21.3 TCP Wrappers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 21.4 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 21.5 Tripwire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 21.6 Nessus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 21.7 Crack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38422 Gesti´n de la seguridad o 387 22.1 Introducci´n . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 22.2 Pol´ ıticas de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 22.3 An´lisis de riesgos . . . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 22.3.1 Identificaci´n de recursos . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 22.3.2 Identificaci´n de amenazas o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 22.3.3 Medidas de protecci´n . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 22.4 Estrategias de respuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 22.5 Outsourcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 ´ 22.6 El ‘Area de Seguridad’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397VI Ap´ndices e 399A Seguridad b´sica para administradores a 401 A.1 Introducci´n . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . 401 A.2 Prevenci´n . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . 401 A.3 Detecci´n . . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . 406 A.4 Recuperaci´n . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . 409 A.5 Recomendaciones de seguridad para los usuarios . . . . . . . . . . . . . . . . . . . . 410 A.6 Referencias r´pidas . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . . . 411 A.6.1 Prevenci´n . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . 411 A.6.2 Detecci´n . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . 412 A.6.3 Recuperaci´n . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . 412 A.6.4 Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413B Normativa 415 B.1 Nuevo C´digo Penal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 415 B.2 Reglamento de Seguridad de la LORTAD . . . . . . . . . . . . . . . . . . . . . . . . 419 B.3 Ley Org´nica de Protecci´n de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . a o 425C Recursos de inter´s en INet e 447 C.1 Publicaciones peri´dicas . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 C.2 Organizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 C.2.1 Profesionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 C.2.2 Gubernamentales/militares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 C.2.3 Universidades/educaci´n . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 C.3 Criptograf´ . . . . . . . . . . . . . ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 C.4 Seguridad general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 C.5 Compa˜´ y grupos de desarrollo . nıas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 C.5.1 Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 C.5.2 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 C.6 Sitios underground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 C.6.1 Grupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 C.6.2 Exploits y vulnerabilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 C.7 Recursos en Espa˜a . . . . . . . . n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 C.8 Listas de correo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
  12. 12. x ´ INDICE GENERAL C.9 Grupos de noticias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 C.9.1 Criptolog´ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 C.9.2 Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 C.9.3 Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 C.9.4 Misc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457D Glosario de t´rminos anglosajones e 459Conclusiones 463Bibliograf´ ıa 465GNU Free Documentation License 481 D.1 Applicability and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 D.2 Verbatim Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 D.3 Copying in Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 D.4 Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 D.5 Combining Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 D.6 Collections of Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 D.7 Aggregation With Independent Works . . . . . . . . . . . . . . . . . . . . . . . . . . 484 D.8 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 D.9 Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 D.10 Future Revisions of This License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
  13. 13. ´Indice de Figuras 1.1 Flujo normal de informaci´n entre emisor y receptor y posibles amenazas: (a) inter- o rupci´n, (b) interceptaci´n, (c) modificaci´n y (d) fabricaci´n. . . . . . . . . . . . . . o o o o 4 1.2 Visi´n global de la seguridad inform´tica . . . . . . . . . . . . . . . . . . . . . . . . . o a 11 3.1 El resultado de un basureo involuntario. . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1 Permisos de un fichero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 8.1 Estructura gen´rica de una smartcard. . . . . . . . . . . . . . . . . . . . . . . . . . . e 119 8.2 Huella dactilar con sus minucias extra´ ıdas. c 1998 Idex AS, http://www.idex.no/. 124 8.3 Iris humano con la extracci´n de su iriscode. . . . . . . . . . . . . . . . . . . . . . . . o 126 8.4 Geometr´ de una mano con ciertos par´metros extra´ ıa a ıdos. . . . . . . . . . . . . . . . 127 8.5 La herramienta de administraci´n admintool (Solaris), con opciones para envejec- o imiento de claves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.1 Estructura jer´rquica del src. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 a 11.2 Interfaz de fixdist (AIX). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 15.1 (a) Aislamiento. (b) Conexi´n total. (c) Firewall entre la zona de riesgo y el o per´ ımetro de seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 15.2 Arquitectura DMZ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 16.1 Ubicaci´n del Inspection Module dentro de la pila de protocolos osi. . . . . . . . . . 266 o 16.2 Una imagen de fwlv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 18.1 Puntos cl´sicos de defensa entre un atacante y un objetivo. . . . . . . . . . . . . . . 325 a 18.2 Situaci´n del sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 o 19.1 Protocolo de autenticaci´n Kerberos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 o 20.1 Estructura de un criptosistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 21.1 Interfaz gr´fico de Nessus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 a
  14. 14. xii ´ INDICE DE FIGURAS
  15. 15. ´Indice de Tablas 4.1 Atributos de los archivos en ext2fs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.1 Comparaci´n de diferentes medios de o almacenamiento secundario. . . . . . . . . . . 105 7.2 Opciones de la orden dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.3 Opciones de la orden restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.4 Opciones de la orden tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.5 Opciones de la orden cpio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.1 Comparaci´n de m´todos biom´tricos. . . . . . . . . . . . . . . . . . . . . . . . . . . 121 o e e 8.2 C´digos de caracteres para el envejecimiento de contrase˜as. . . . . . . . . . . . . . . 132 o n 12.1 Privilegios de grupo en HP-UX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 18.1 Algunos puertos a monitorizar en un firewall . . . . . . . . . . . . . . . . . . . . . . 327 19.1 Abreviaturas utilizadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 20.1 Tableau Vig`nere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 e
  16. 16. xiv ´ INDICE DE TABLAS
  17. 17. Notas del autorEl mundo de la seguridad inform´tica es demasiado amplio y complejo como para ser tratado ex- ahaustivamente en ning´n trabajo, mucho menos en uno tan simple como este; aqu´ unicamente u ı ´he intentado resumir una visi´n global de diferentes aspectos relacionados con la seguridad, espe- ocialmente con Unix y redes de computadores (estas ultimas tan de moda hoy en d´ . . Unix por ´ ıa.desgracia no tanto). Este trabajo est´ casi completamente extra´ de mi proyecto final de carrera, a ıdoque estudiaba la seguridad en los sistemas Unix y la red de la Universidad Polit´cnica de Valencia e(UPV), de forma que si aparece alguna referencia a ‘nuestra red’ o ‘nuestros equipos’ – aunquehe intentado eliminar todos los ejemplos y comentarios relativos a UPV, por motivos obvios – yasabemos de qu´ se trata. A pesar de haberlo revisado bastantes veces (lo bueno de no tener vida esocial es que uno tiene mucho tiempo para leer ;-), evidentemente existir´n errores y faltar´n datos a aque podr´ haber aparecido, por lo que agradecer´ cualquier sugerencia o cr´ ıan e ıtica (constructiva, lasdestructivas directamente a /dev/null) que se me quiera hacer. Para ponerse en contacto conmigose puede utilizar la direcci´n de correo electr´nico que utilizo habitualmente: toni@aiind.upv.es. o oDurante la realizaci´n de este proyecto ni se han maltratado animales ni se han utilizado pro- oductos Microsoft; personalmente, siempre he considerado rid´ ıculo hablar de seguridad en Unix –incluso de seguridad en general – y hacerlo utilizando productos de una compa˜´ que tantas veces nıaha demostrado su desinter´s por la tecnolog´ frente a su inter´s por el marketing. El trabajo entero e ıa eha sido creado sobre diversos clones de Unix (principalmente Solaris y Linux, y en menor medidaHP-UX, BSD/OS, IRIX, AIX e incluso Minix). El texto ha sido escrito ´ ıntegramente con vi (vi esEL editor, el resto de editores no son vi ;-) y compuesto con L TEX, de Leslie Lamport; realmente, Aalgunos fragmentos han sido extra´ ıdos de documentos que hice hace tiempo con troff (s´ troff), ı,de Joe Ossanna y Brian Kernighan, transformados a L TEX mediante tr2tex, de Kamal Al–Yahya, Ay retocados con algo de paciencia. Para las figuras simples he utilizado el lenguaje PIC, tambi´n de eBrian Kernighan, y para las que son m´s complejas xfig. La captura de alguna pantalla se ha he- acho con xwd y gimp, y el retoque y transformaci´n de im´genes con este ultimo junto a xv y xpaint. o a ´Quiero agradecer desde aqu´ la colaboraci´n desinteresada de algunas personas que han hecho ı oposible este trabajo (m´s concretamente, que hicieron posible mi proyecto final de carrera): Pe- adro L´pez (Departamento de Inform´tica de Sistemas y Computadores, UPV), Jon Ander G´mez o a o(Departamento de Sistemas Inform´ticos y Computaci´n, UPV), Vicent Benet (Centro de C´lculo, a o aUPV), Jos´ Manuel Pasamar (Centro de C´lculo, UPV) y Albert Ortiz (Universitat Polit`cnica de e a eCatalunya). Y por supuesto a mi director, Ismael Ripoll (Departamento de Inform´tica de Sistemas ay Computadores, UPV).Tras publicar la versi´n 1.0 de este trabajo, algunos de los primeros comentarios que se me han ohecho trataban sobre los posibles problemas legales derivados de la falta de una licencia para eldocumento; desconozco hasta qu´ punto esos problemas son reales, pero de cualquier forma para etratar de evitarlos he decidido adoptar la Open Publication License como formato de licencia bajola que distribuir mi trabajo, al menos de forma temporal. Eso b´sicamente implica (en castel- alano plano) que puedes imprimir el documento, leerlo, fotocopiarlo, regalarlo o similares, pero novenderlo; este trabajo es gratuito y pretendo que lo siga siendo. Si alguien lo encuentra util, que ´me apoye moralmente con un e-mail :), y si alguien lo encuentra muy util (lo dudo) que destine el ´dinero que crea que pagar´ por esto a cosas m´s utiles. ¿Sab´ que cada minuto mueren de hambre ıa a ´ ıasaproximadamente doce ni˜os en el tercer mundo? En el tiempo que te puede costar leer estas notas ncon un m´ ınimo de inter´s habr´n muerto unos veinticinco; mientras que nosotros nos preocupamos e a
  18. 18. 2 NOTAS DEL AUTORintentando proteger nuestros sistemas, hay millones de personas que no pueden perder el tiempoen esas cosas: est´n demasiado ocupadas intentando sobrevivir. aAh, por ultimo, ser´ imperdonable no dar las gracias a la gente que ha le´ este trabajo y me ha ´ ıa ıdoinformado de erratas que hab´ en ´l; he intentado corregir todos los fallos encontrados, pero a´n ıa e uhabr´ errores, por lo que repito lo que dec´ al principio: todos los comentarios constructivos son a ıasiempre bienvenidos. Debo agradecer especialmente a David Cerezo el inter´s que demostr´ en las e oversiones iniciales de este documento, as´ como todas las observaciones que sobre las mismas me ıhizo llegar.NOTAS A LA VERSION 2.0 ´No hay mucho que a˜adir a lo dicho hace casi dos a˜os; y es que las cosas apenas han cambiado: n nel panorama en Espa˜a – en cuanto a seguridad se refiere – sigue siendo desolador, las empresas ntecnol´gicas caen d´ a d´ la investigaci´n en materias de seguridad (si exceptuamos la Crip- o ıa ıa, otograf´ es nula, y poco m´s. S´lo dar las gracias una vez m´s a todos los que han publicado ıa) a o ao se han hecho eco de este documento (Kript´polis, HispaLinux, IrisCERT, Hispasec, Asociaci´n o ode Internautas. . . ) y tambi´n a toda la gente que lo ha leido (al menos en parte ;-) y ha perdido eunos minutos escribi´ndome un e–mail con alg´n comentario; realmente es algo que se agradece, y e uaunque tarde en responder al correo, siempre trato de contestar.Como algunos de los comentarios acerca del documento que me han llegado hablaban del ‘ex-cesivo’ tama˜o del mismo, en esta nueva versi´n he cambiado la forma de generar el fichero PDF; n ohe convertido todas las im´genes a formato PNG y despu´s utilizado pdflatex para compilar los a eficheros, habiendo modificado previamente el c´digo mediante un sencillo script. Aunque a´n ocupa o ubastante, hay que tener en cuenta que estamos hablando de unas 500 p´ginas de documento. . . aTODOIgual que hace casi dos a˜os, sigue en pie la intenci´n de crear cap´ n o ıtulos nuevos (las redes privadasvirtuales es mi principal tema pendiente) y de comentar la seguridad de mecanismos como DNS,RPC, NIS o NFS. . . espero disponer de algo m´s de tiempo para poder hacerlo. Quiero tambi´n a eescribir m´s acerca de la detecci´n de intrusos, no s´ si en este documento o en uno aparte, ya a o eque es quiz´s el tema que m´s me interesa y en lo que m´s trabajo actualmente. Y finalmente, en a a ami lista de cosas para hacer, pone dormir (s´ lo pone en negrita) como algo que tambi´n queda ı, ependiente :)HISTORYVersi´n 1.0 (Julio´00): Documento inicial. oVersi´n 1.1 (Agosto´00): Peque˜as correcciones e inclusi´n de la Open Publication License. o n oVersi´n 1.2 (Septiembre´00): M´s correcciones. Ampliaci´n del cap´ o a o ıtulo dedicado a servicios dered.Versi´n 2.0 (Mayo´02): Cap´ o ıtulos dedicados a los sistemas de detecci´n de intrusos y a los ataques oremotos contra un sistema. Sustituci´n del cap´ o ıtulo referente al n´cleo de algunos sistemas Unix upor varios cap´ ıtulos que tratan particularidades de diferentes clones con mayor detalle. Desglosedel cap´ıtulo dedicado a los sistemas cortafuegos en dos, uno te´rico y otro con diferentes casos opr´cticos de estudio. Ampliaci´n de los cap´ a o ıtulos dedicados a autenticaci´n de usuarios (PAM) y oa criptograf´ (funciones resumen). Ampliaci´n del cap´ ıa o ıtulo dedicado a pol´ıticas y normativa, queahora pasa a denominarse ‘Gesti´n de la seguridad’. oVersi´n 2.1 (Julio´02): Alguna correcci´n m´s e inclusi´n de la GNU Free Documentation License o o a o(implica que el c´digo fuente en TEX pasa a ser libre). o
  19. 19. Cap´ ıtulo 1Introducci´n y conceptos previos o1.1 Introducci´n oHasta finales de 1988 muy poca gente tomaba en serio el tema de la seguridad en redes de computa-dores de prop´sito general. Mientras que por una parte Internet iba creciendo exponencialmente con oredes importantes que se adher´ a ella, como bitnet o hepnet, por otra el auge de la inform´tica ıan ade consumo (hasta la d´cada de los ochenta muy poca gente se pod´ permitir un ordenador y un e ıam´dem en casa) unido a factores menos t´cnicos (como la pel´ o e ıcula Juegos de Guerra, de 1983) ibaproduciendo un aumento espectacular en el n´mero de piratas inform´ticos. u aSin embargo, el 22 de noviembre de 1988 Robert T. Morris protagoniz´ el primer gran incidente de ola seguridad inform´tica: uno de sus programas se convirti´ en el famoso worm o gusano de Inter- a onet. Miles de ordenadores conectados a la red se vieron inutilizados durante d´ y las p´rdidas se ıas, eestiman en millones de d´lares. Desde ese momento el tema de la seguridad en sistemas operativos oy redes ha sido un factor a tener muy en cuenta por cualquier responsable o administrador desistemas inform´ticos. Poco despu´s de este incidente, y a la vista de los potenciales peligros que a epod´ entra˜ar un fallo o un ataque a los sistemas inform´ticos estadounidenses (en general, a los ıa n asistemas de cualquier pa´ la agencia darpa (Defense Advanced Research Projects Agency) cre´ el ıs) ocert (Computer Emergency Response Team), un grupo formado en su mayor parte por voluntarioscualificados de la comunidad inform´tica, cuyo objetivo principal es facilitar una respuesta r´pida a aa los problemas de seguridad que afecten a hosts de Internet ([Den90]).Han pasado m´s de diez a˜os desde la creaci´n del primer cert, y cada d´ se hace patente la a n o ıapreocupaci´n por los temas relativos a la seguridad en la red y sus equipos, y tambi´n se hace o epatente la necesidad de esta seguridad. Los piratas de anta˜o casi han desaparecido, dando paso a nnuevas generaciones de intrusos que forman grupos como Chaos Computer Club o Legion of Doom,organizan encuentros como el espa˜ol Iberhack, y editan revistas o zines electr´nicos (2600: The n oHacker’s Quartely o Phrack son quiz´s las m´s conocidas, pero no las unicas). Todo esto con un a a ´objetivo principal: compartir conocimientos. Si hace unos a˜os cualquiera que quisiera adentrarse nen el mundo underground casi no ten´ m´s remedio que conectar a alguna BBS donde se tratara ıa ael tema, generalmente con una cantidad de informaci´n muy limitada, hoy en d´ tiene a su dis- o ıaposici´n gigabytes de informaci´n electr´nica publicada en Internet; cualquier aprendiz de pirata o o opuede conectarse a un servidor web, descargar un par de programas y ejecutarlos contra un servidordesprotegido... con un poco de (mala) suerte, esa misma persona puede conseguir un control totalsobre un servidor Unix de varios millones de pesetas, probablemente desde su PC con Windows 98y sin saber nada sobre Unix. De la misma forma que en su d´ Juegos de Guerra cre´ una nueva ıa ogeneraci´n de piratas, en la segunda mitad de los noventa pel´ o ıculas como The Net, Hackers o LosCorsarios del Chip han creado otra generaci´n, en general mucho menos peligrosa que la anterior, opero cuanto menos, preocupante: aunque sin grandes conocimientos t´cnicos, tienen a su disposi- eci´n multitud de programas y documentos sobre seguridad (algo que los piratas de los ochenta oapenas pod´ imaginar), adem´s de ordenadores potentes y conexiones a Internet baratas. Por si ıan aesto fuera poco, se ven envalentonados a trav´s de sistemas de conversaci´n como el IRC (Internet e oRelay Chat), donde en canales como #hack o #hackers presumen de sus logros ante sus colegas.
  20. 20. 2 CAP´ ´ ITULO 1. INTRODUCCION Y CONCEPTOS PREVIOS1.2 Justificaci´n y objetivos oA la vista de lo comentado en el primer punto, parece claro que la seguridad de los equipos Unixha de ser algo a considerar en cualquier red. Diariamente por cualquiera de ellas circulan todo tipode datos, entre ellos muchos que se podr´ catalogar como confidenciales (n´minas, expedientes, ıan opresupuestos. . . ) o al menos como privados (correo electr´nico, proyectos de investigaci´n, art´ o o ıculosa punto de ser publicados. . . ). Independientemente de la etiqueta que cada usuario de la red quieracolgarle a sus datos, parece claro que un fallo de seguridad de un equipo Unix o de la propia redno beneficia a nadie, y mucho menos a la imagen de nuestra organizaci´n. Y ya no se trata simple- omente de una cuesti´n de imagen: seg´n el Computer Security Institute, en su encuesta de 1998, las o up´rdidas econ´micas ocasionadas por delitos relacionados con nuevas tecnolog´ (principalmente e o ıasaccesos internos no autorizados) s´lo en Estados Unidos ascienden anualmente a m´s 20.000 millones o ade pesetas, cifra que cada a˜o se incrementa en m´s del 35%; los delitos inform´ticos en general n a aaumentan tambi´n de forma espectacular a˜o tras a˜o, alcanzando incluso cotas del 800% ([Caj82]). e n nA lo largo de este trabajo se va a intentar hacer un repaso de los puntos habituales referentesa seguridad en Unix y redes de computadores (problemas, ataques, defensas. . . ), aplicando el estu-dio a entornos con requisitos de seguridad medios (universidades, empresas, proveedores de acceso aInternet. . . ); de esta forma se ofrecer´ una perspectiva general de la seguridad en entornos Unix, el afuncionamiento de sus mecanismos, y su correcta utilizaci´n. Tambi´n se hablar´, en menor medi- o e ada, sobre temas menos t´cnicos pero que tambi´n afectan directamente a la seguridad inform´tica, e e acomo puedan ser el problema del personal o la legislaci´n vigente. oEl objetivo final de este proyecto ser´ marcar unas pautas para conseguir un nivel de seguri- ıadad aceptable en los sistemas Unix conectados en cualquier red, entendiendo por ‘aceptable’ unnivel de protecci´n suficiente para que la mayor´ de potenciales intrusos interesados en los equipos o ıade nuestra organizaci´n fracasara ante un ataque contra los mismos. Obviamente, es imposible ogarantizar una plena seguridad ante cualquier atacante: seguramente un pirata experimentado, conel tiempo suficiente, pagado, o simplemente muy interesado en uno de nuestros equipos, no tendr´ ıamuchos problemas en acceder a ´l. Este hecho, aunque preocupante, es casi inevitable; lo evitable ees que cualquier persona sea capaz de atacar con ´xito un equipo simplemente por haber visto una epel´ıcula, descargado un par de p´ginas web y ejecutado un programa que ni ha hecho ni entiende. aPor supuesto, este proyecto no pretende ser en ning´n momento una ayuda para la gente que est´ u einteresada en atacar m´quinas Unix o subredes completas, ni tampoco una invitaci´n a hacerlo. a oAunque por su naturaleza la informaci´n aqu´ presentada puede ser utilizada para da˜ar sistemas o ı ninform´ticos (como cualquier informaci´n sobre seguridad inform´tica), no es ese su prop´sito sino, a o a ocomo hemos dicho, incrementar la seguridad de los sistemas Unix y las redes en las que ´stos se eubican. Por tanto va a intentar estar escrito de forma que no se pueda utilizar f´cilmente como auna ‘receta de cocina’ para crackers; si alguien quiere un documento sobre c´mo atacar sistemas, opuede dejar de leer este trabajo y buscar en Internet informaci´n sobre ese tema. Conseguir romper ola seguridad de un sistema de forma no autorizada es, en la mayor´ de los casos, un s´ ıa ımbolo deinmadurez, y por supuesto ni denota inteligencia ni unos excesivos conocimientos: si alguien seconsidera superior por acceder ilegalmente a una m´quina utilizando un programa que ni ha he- acho ni es capaz de entender, que revise sus principios, y si tras hacerlo a´n piensa lo mismo, que udedique su inteligencia y sus conocimientos a tareas que ayuden a incrementar la seguridad, comola construcci´n de sistemas de autenticaci´n fiables y baratos o el dise˜o de nuevos criptosistemas o o nseguros. Eso es seguridad inform´tica, y no lo que habitualmente se nos quiere hacer creer: la aseguridad inform´tica no consiste en conocerse todos los bugs de un sistema operativo, con sus acorrespondientes exploits ni en jugar a superjakers en canales de IRC. Lamentablemente, este es elpanorama de la seguridad m´s visible en Espa˜a en la actualidad; esperemos que alg´n d´ cambie. a n u ıa1.3 ¿Qu´ es seguridad? ePodemos entender como seguridad una caracter´ ıstica de cualquier sistema (inform´tico o no) que anos indica que ese sistema est´ libre de todo peligro, da˜o o riesgo, y que es, en cierta manera, a n

×