next_inactive up previous


Implementación de seguridad con sistemas operativos y herramientas libres

Gunnar Wolf
Departamento de Seguridad en Cómputo, DGSCA, UNAM
FES Iztacala, UNAM
gwolf@campus.iztacala.unam.mx

Congreso de Seguridad en Cómputo 2001


Contents

1. Definiciones básicas

1.1 ¿Qué es software libre?

1.1.0.0.1 Concepto

1.1.0.0.2 La

1.1.0.0.3 La

1.1.0.0.4 El OpenSource

1.2 ¿Qué es un sistema operativo?

1.2.1 Funciones del Sistema Operativo

1.2.2 Sistemas operativos libres y sus caracterísitcas principales

1.2.2.1 Linux [9]

1.2.2.2 FreeBSD [10]

1.2.2.3 OpenBSD [11]

1.2.2.4 Sistemas menores

NetBSD
Su objetivo es ser un sistema operativo libre que soporte tantas arquitecturas de hardware como sea posible [12]
AtheOS
Busca crear un sistema operativo para escritorio eficiente, fácil de utilizar y GPL [13]
HURD
Implementa un diseño avanzado de microkernel, se convertirá en el núcleo central del sistema GNU [14]
FreeDOS
Reimplementación libre compatible con MS-DOS [15]
MIT-Exokernel
Propone optimizar al sistema operativo para cada aplicación, logrando resultados sorprendentes [16]

1.3 ¿Qué es seguridad?

Seguridad es una palabra con una definición demasiado amplia, y aún entre expertos es difícil llegar a un acuerdo acerca de qué significa. En el ámbito informático, la seguridad equivale --principalmente-- a garantizar los siguientes puntos:

1.3.0.0.1 Consistencia

Comportarse como esperamos que se comporte y mantener su comportamiento sin cambios inesperados.

1.3.0.0.2 Servicio

El sistema debe prestar todos los servicios que ofrecemos de manera confiable, constante y consistente.

1.3.0.0.3 Protección y

1.3.0.0.4 Si un programa tiene errores y sufre una caída, no debe afectar a la ejecución de otros procesos. Un programa diseñado expresamente para hacer daño debe tener un impacto mínimo en el sistema. Los segmentos de memoria de un proceso deben ser invisibles e inmodificables para cualquier otro proceso.

1.3.0.0.5 Control de acceso

Los datos generados por un usuario no deben ser accesibles a otro usuario a menos que así sea específicamente solicitado por su dueño. Soportar diferentes modos de acceso a un archivo, de modo que el sistema pueda exigir que un archivo pueda ser leído pero no ejecutado o abierto para escritura. Los mecanismos de control de acceso deben ser tan granulares como sea posible.

1.3.0.0.6 Autenticación

El sistema debe poseer los mecanismos necesarios para asegurarse que un usuario es quien dice ser y tiene suficientes privilegios para llevar a cabo todas las operaciones que desee realizar, y debe ser capaz de notificar al administrador acerca de cualquier anomalía.

1.3.1 Imposibilidad de lograr la seguridad absoluta

1.4 ¿Qué es una herramienta de seguridad?

2. Configuración básica de seguridad en sistemas Unix genéricos

Una instalación segura inicia con una buena instalación. Los siguientes son consejos muy básicos acerca de cómo instalar un sistema conectado a una red potencialmente hostil.

2.1 Hacer la instalación sin tener conectividad a red

2.2 No brindar servicios no requeridos

2.3 Instalaciones mínimas

2.4 Los riesgos más comunes

3. Características avanzadas de seguridad integradas a sistemas operativos libres

3.1 Manejo de reglas de filtrado de paquetes (Linux, *BSD)

3.2 Atributos extendidos del sistema de archivos (Linux, *BSD)

3.3 Atributos de montaje (Linux, *BSD)

3.4 Niveles de seguridad en la ejecución del Kernel (OpenBSD)

3.5 Revisión de firmas MD5 de todos los paquetes instalados (Linux)

3.6 Recompilación del 'mundo' (*BSD) [31]

3.7 Soporte a hardware acelerador de cifrado (OpenBSD)

3.8 Verificación diaria de sanidad: mtree (*BSD) [34]

3.9 Sistemas de archivos con bitácora (Linux)

3.10 Sistemas de archivos con SoftUpdates (*BSD)

4. Herramientas básicas de seguridad

4.1 Herramientas orientadas a host

4.2 Herramientas orientadas a red

4.3 Herramientas específicas a un sistema operativo

Hay herramientas de seguridad que, si bien no pertenecen directamente al núcleo de un sistema operativo, trabajan estrechamente ligados con él. Merecen, por sus características, un apartado propio.

4.3.1 Bastille Linux [61]

4.3.2 Parches de seguridad al kernel (Linux)

4.4 Desarrollando sus propias herramientas

5. ¿Qué sigue?

5.1 Nuevos agujeros - Siguiéndoles la pista

5.2 La nueva moda - Gusanos

5.3 Estar siempre al día en seguridad

5.3.1 Sitios importantes para visitar frecuentemente

5.3.1.1 Sitios generales de seguridad

5.3.1.1.1 Centros de atención a incidentes

5.3.1.1.2 Sitios underground

5.3.2 Congresos y seminarios importantes en seguridad

5.3.2.0.1 Seguridad en Cómputo

http://www.seguridad.unam.mx

Organizado por el Departamento de Seguridad en Cómputo de la UNAM, del 24 al 30 de noviembre. El congreso de seguridad más importante en el mundo de habla hispana.

5.3.2.0.2 SANS

http://www.sans.org

El Instituto SANS da cursos especializados a responsables de seguridad. Sus encuentros se llevan a cabo varias veces por año y en diferentes continentes -- en el 2001 hubo cuatro encuentros, dos de ellos en Estados Unidos, uno en Inglaterra y uno en Australia.

Tienen disponible material de sus cursos en http://www.sans.org/giactc.htm

5.3.2.0.3 USENIX

http://www.usenix.org

USENIX es una organización techo que organiza congresos de todo tipo relacionados con la administración de sistemas en todo el mundo. De sus congresos, el más importante relacionado con seguridad es LISA.

Bibliography

1
The GNU Manifesto, http://www.gnu.org/gnu/manifesto.html

2
Free Software Foundation, http://www.fsf.org

3
GNU General Public Licence (GPL), http://www.gnu.org/copyleft/gpl.html

4
BSD, Berkeley System Distribution, de la sección 'History' de libro UNIX Basic Introduction, Claude Cantin, National Research Council Canada, http://www.sao.nrc.ca/imsb/rcsg/documents/basic/node6.html

5
OpenBSD Copyright Policy, OpenBSD Project, http://www.openbsd.org/policy.html

6
Open Source Initiative, http://www.opensource.org

7
Licencias aprobadas por la Open Source Initiative, http://www.opensource.org/licenses/index.html

8
Comentarios acerca de varias licencias, Free Software Foundation, http://www.gnu.org/philosophy/license-list.html

9
Sistema operativo Linux, http://www.linux.org

10
Sistema operativo FreeBSD, http://www.freebsd.org

11
Sistema operativo OpenBSD, http://www.openbsd.org

12
Sistema operativo NetBSD, http://www.netbsd.org

13
Sistema operativo AtheOS, http://www.atheos.cx

14
Sistema operativo HURD, http://www.gnu.org/software/hurd/hurd.html

15
Sistema operativo FreeDOS, http://www.freedos.org/

16
Sistema operativo MIT ExoKernel, http://www.pdos.lcs.mit.edu/exo/

17
Preguntas frecuentes de ipfwadm, filtro de paquetes para sistemas Linux con kernel 2.0.x, http://www.fwtk.org/ipfwadm/faq/ipfwadm-faq.html

18
Guía rápida de ipchains, filtro de paquetes para sistemas Linux con kernel 2.2.x, http://www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html

19
Guía rápida de iptables, filtro de paquetes para sistemas Linux con kernel 2.4.x, http://www.linuxguruz.org/iptables/howto/iptables-HOWTO.html

20
IPFilter -- Filtro de paquetes para diferentes Unixes, Darren Reed, http://www.ipfilter.org

21
Sección 6.4 (firewalls) del FreeBSD Handbook, http://www.infran.ru/TechInfo/BSD/handbook83.html

22
PF -- Filtro de paquetes de OpenBSD, http://www.benzedrine.cx/pf.html

23
Atributos extendidos en sistemas de archivos ext2, Michael Shaffer, http://www.securityfocus.com/frames/?focus=linux&content=/focus/linux/articles/ext2attr.html

24
Atributos extendidos en *BSD, página de manual de chflags en OpenBSD, http://www.openbsd.org/cgi-bin/man.cgi?query=chflags

25
Opciones de montaje en Linux, página de manual de mount en http://linux.ctyme.com/man/man1254.htm

26
Opciones de montaje en *BSD, página de manual de mount en OpenBSD, http://www.openbsd.org/cgi-bin/man.cgi?query=mount

27
Página de manual de securelevel en OpenBSD, http://www.openbsd.org/cgi-bin/man.cgi?query=securelevel

28
HOWTO de RPM, http://www.rpm.org/support/RPM-HOWTO-4.html

29
Paquete debsums de Debian, http://packages.debian.org/stable/admin/debsums.html

30
Debsums_gen, página de manual, http://www.fifi.org/cgi-bin/man2html/usr/share/man/man8/debsums_gen.8.gz

31
Using make world, FreeBSD handbook, http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html

32
La fuerte relación de OpenBSD con la criptografía, http://www.openbsd.org/crypto.html

33
Soporte a hardware criptográfico en OpenBSD, http://www.openbsd.org/crypto.html#hardware

34
Página de manual de mtree de OpenBSD, http://www.openbsd.org/cgi-bin/man.cgi?query=mtree

35
ReiserFS, http://www.namesys.com/

36
Ext3fs, http://people.spoiled.org/jha/ext3-faq.html

37
XFS, http://people.spoiled.org/jha/ext3-faq.html

38
JFS, http://oss.software.ibm.com/developerworks/opensource/jfs/

39
Soft Updates, http://www.mckusick.com/softdep/

40
Journaling Versus Soft Updates: Asynchronous Meta-data Protection in File Systems, et. al., USENIX Annual 2000 Technical Conference, http://www.usenix.org/publications/library/proceedings/usenix2000/general/seltzer.html

41
Tripwire, http://www.tripwire.org/

42
Logcheck, http://www.psionic.com/abacus/logcheck

43
Tutorial de Logcheck de Gunnar Wolf, http://www.gwolf.cx/seguridad/logcheck/

44
Swatch, http://oit.ucsb.edu/eta/swatch/

45
COPS, http://www.fish.com/cops/

46
npasswd, http://www.utexas.edu/cc/unix/software/npasswd/

47
passwd+, http://www.funet.fi/pub/unix/security/passwd/passwd+/

48
crack, http://www.users.dircon.co.uk/crypto/

49
Linux Shadow Password HOWTO, http://www.linuxdoc.org/HOWTO/Shadow-Password-HOWTO.html

50
Analog, http://www.statslab.cam.ac.uk/sret1/analog

51
Webalizer, http://www.mrunix.net/webalizer

52
Portsentry, http://www.psionic.com/abacus/logcheck

53
Tutorial de Portsentry de Gunnar Wolf, http://www.gwolf.cx/seguridad/portsentry/

54
Snort, http://www.snort.org

55
ACID, http://acidlab.sourceforge.net/

56
nmap, http://www.insecure.org/nmap/index.html

57
SATAN, http://www.fish.com/satan/

58
SAINT, http://www.wwdsi.com/saint/

59
nessus, http://www.nessus.org/

60
MRTG, http://ee-staff.ethz.ch/oetiker/webtools/mrtg

61
Bastille Linux, http://www.bastille-linux.org/

62
Parches de OpenWall para el kernel de Linux, http://www.openwall.com/linux y http://www.openwall.com/linux/README

63
Immunix / Stackguard, http://www.immunix.org

64
Linux Security Module Interface, http://lsm.antisoft.com/

65
Security Enhanced Linux, http://www.nsa.gov/selinux/

66
Tutorial Scripts de Seguridad en Perl expuesto en el Congreso de Seguridad en Cómputo 2000, organizado por la UNAM. Gunnar Wolf, http://www.gwolf.cx/seguridad/script_seg_perl/

67
Lista de correo Bugtraq, bugtraq@securityfocus.com, http://www.securityfocus.org/templates/archive.pike?list=1

About this document ...

Implementación de seguridad con sistemas operativos y herramientas libres

This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir14468O0NDO9/lyx_tmpbuf0/impl.tex

The translation was initiated by Gunnar Wolf on 2003-10-15


next_inactive up previous
Gunnar Wolf 2003-10-15