Reforzando la instalaci´ n de Debian GNU/Linux o

ArCERT Coordinaci´ n de Emergencias en Redes Teleinform´ ticas o a www.arcert.gov.ar
versi´ n 2.0 o

16 de marzo de 2006
Resumen En este documento describiremos como mejorar la seguridad en una instalaci´ n de GNU/Linux. El temario o incluye configuraci´ n adecuada del BIOS, particionamiento, instalaci´ n minima, deshabilitaci´ n de servicios no o o o utilizados, desinstalaci´ n de software no utilizado, revisi´ n de logs, detecci´ n de intrusiones, firewall de host, o o o actualizaciones de seguridad, sincronizaci´ n de hora, etc. Utilizaremos como base la distribuci´ n Debian, versi´ n o o o Sarge (o stable). Muchos de los conceptos vertidos en esta gu´a podr´ n ser aplicados a cualquier distribuci´ n de ı a o Linux, o sistema operativo tipo Unix (*BSD, Solaris, etc.). En ning´ n caso podr´ responsabilizarse a ArCERT o a la ONTI en forma institucional, o a sus agentes a t´tulo u a ı individual y/o personal, de ning´ n da˜ o puntual ni general, directo o indirecto, consecuencial o incidental, o de u n cualesquiera otra categor´as, derivado de la ejecuci´ n de las actividades planteadas para este tutorial. ı o

Reforzando la instalaci´ n de Debian GNU/Linux o

´ Indice
1. Introducci´ n o 2. Pre-Instalaci´ n o 3. Instalaci´ n o 3.1. Particiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. El usuario normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Boot Loader 5. Limpieza 5.1. Servicios de red innecesarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Otros paquetes no utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. M´ dulos de Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 6. Deshabilitando el CTRL-ALT-Del 7. Opciones de Montaje 8. Usuarios y permisos 8.1. Usuarios con shell interact´vo . ı 8.2. El bit SUID . . . . . . . . . . 8.3. Permisos de tareas planificadas 8.4. Sudo . . . . . . . . . . . . . . 3 3 3 5 6 6 8 8 8 10 10 11 11 11 12 12 13 13 14 14 14 14 15 15 16 16 17 17 18 18 19 20 20 20 21 21 21

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

9. Limitaci´ n del acceso de root o 9.1. El grupo wheel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2. La consola f´sica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ı 9.3. Acceso v´a SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ı 10. Administraci´ n Remota o 11. Par´ metros del kernel a 12. Selecci´ n de paquetes o 13. Firewall 14. Actualizaciones de seguridad 15. Mantenimiento 15.1. Sincronizaci´ n horaria . . o 15.2. Back-up . . . . . . . . . . 15.3. Auditor´as regulares . . . . ı 15.4. Chequeos de integridad . . 15.5. Manejo de bit´ coras (logs) a

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

16. Herramientas para automatizar el fortalecimiento 16.1. Bastille Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2. Paquetes Harden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17. Otras fuentes de informaci´ n o 18. CheckList

www.arcert.gov.ar

2

ArCERT c 2006

gov. se puede deshabilitar el CD-ROM del BIOS. Como segundo recaudo. una vez instalado el sistema operativo. cuya descripci´ n completa puede encontrarse en la bibliograf´a. Por ejemplo. En caso de no ser posible. 2. Introducci´ n o ¿Por qu´ necesitamos reforzar la instalaci´ n de un sistema operativo? Salvo raras excepciones1 .org www. asegurada. Se dice que quien tiene acceso f´sico a un equipo tendr´ acı a ´ ceso total al mismo.Reforzando la instalaci´ n de Debian GNU/Linux o 1. o Durante el proceso de instalaci´ n. En caso de ser necesario alg´ n tipo de conexi´ n (como ser que el equipo debe iniciarse mediante netboot).ar 3 ArCERT c 2006 . Inclusive podemos deshabilitar todos los dispositivos de almacenamiento menos el dispositivo de boot. la ventana de tiempo entre n que un sistema operativo reci´ n instalado (sin parches) se conecta a Internet.openbsd. y preferentemente a aislada. los sistemas e o operativos en general no dedican un gran esfuerzo en la seguridad al momento de la instalaci´ n. ya que el mismo ser´ detectado de todas maneras por el sistema operativo. como en el ejemplo de la Figura 2. y algunas de las tareas que realizaremos tienen o por objetivo contrarrestarla. o Otra tarea importante consiste en configurar el orden de selecci´ n de dispositivos para el boot del equipo. deberemos ordenar los dispositivos para que el elegido sea el primero de la lista. Muchos de los conceptos vertidos en esta gu´a podr´ n ser a o ı a aplicados a cualquier distribuci´ n de Linux.). deberemos seleccionar el medio disponible para la misma. podemos nombrar los siguientes. y porque la consideramos o a como una de las m´ s adecuadas para esa misma funci´ n. normalmente CD-ROM. http://www. por ser una de las m´ s usadas en ambientes de servidor. o o o En particular. estas tareas deber´ n realizarse en una red cerrada. se o a o deber´ n tomar los recaudos necesarios para que dicha adaptaci´ n no deje puertas abiertas debido a las diferencias entre las distintas distribuciones. Instalaci´ n o Para realizar un buen proceso de aseguramiento de un servidor GNU/Linux Debian.arcert. Solaris. y que el mismo sufre una intrusi´ n. deberemos tener o o ı en cuenta algunos detalles que nos permitir´ n asegurar un resultado exitoso. Sin embargo. incluiremos su instalaci´ n. y minutos en la actualidad. ¿Y cu´ l es el o a ´ resultado de este hecho? Con el crecimiento que ha tenido Internet en los ultimos a˜ os. OpenBSD. deberemos configurar una contrase˜ a para restringir la realizaci´ n de cambios en la configuraci´ n del BIOS. Utilizaremos como base la distribuci´ n Debian. Para o o poder realizar la instalaci´ n. o sistema operativo tipo Unix (*BSD. versi´ n Sarge (o stable). deberemos seleccionar unicamente el disco de arranque del sistema. Entre otros. es absolutamente recomendable que el acceso f´sico al servidor y su consola est´ resı e tringido s´ lo al personal autorizado. ´ pero una vez finalizada la misma. a horas en el 2000. el equipo no deber´ conectarse a la red hasta haber o a u o finalizado con las tareas de aseguramiento. Puertos paralelos Puertos seriales Puertos USB Disqueteras Lectoras de CD/DVD En la Figura 1 podemos observar un ejemplo de c´ mo se deshabilitan algunos puertos innecesarios en el BIOS. Pre-Instalaci´ n o Comenzaremos por considerar dos temas esenciales. Si bien esta afirmaci´ n no siempre es exacta. etc. hay algunas tareas que podemos realizar. En este documento nos ı o o ocuparemos de mejorar la seguridad en una instalaci´ n de GNU/Linux. e o ha bajado de d´as a mediados de los 90’. Antes de realizar la instalaci´ n del sistema operativo elegido. a 1 Por ejemplo. 3. a ´ n o o Por ultimo. mediante la configuraci´ n del BIOS del equipo en cuesti´ n. podremos restringir algunos puntos de entrada que no sean necesarios para la operatoria normal del sistema.

gov.ar 4 ArCERT c 2006 .arcert.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 1: Deshabilitaci´ n de puertos y perif´ ricos o e Figura 2: Deshabilitaci´ n de puertos y perif´ ricos o e www.

o • noexec: No permite la ejecuci´ n de archivos o En general. Algunos de estos consejos consisten en: Si el sistema va a alojar m´ ltiples usuarios interactivos. /var (pensado para todas las operaciones m´ s din´ micas) y /usr (donde normalmente se a a alojan los archivos menos susceptibles a cambios) tendr´ n su propio espacio. se necesitan dispositivos. Las restricciones m´ s interesantes que pueden aplicarse en el momento de la instalaci´ n son (hablaremos m´ s a o a tarde sobre esto en ’Opciones de Montaje’): • nodev: No permite la creaci´ n de dispositivos (devices). pero n podemos seguir algunos consejos para mejorar tanto la seguridad como el rendimiento. son las unicas particiones desde las cuales se deber´a poder ejecutar archivos.ar 5 ArCERT c 2006 .Reforzando la instalaci´ n de Debian GNU/Linux o Figura 3: Opciones de montaje durante la instalaci´ n o 3. /tmp utilizar´ una partici´ n separada. o • nosuid: No permite la utilizaci´ n de los bits suid y sgid. en general. ı Adem´ s. o a o En general. o ´ /. podemos definir que: En ninguna partici´ n. s´ lo /usr y /var pueden necesitar el uso de suid. Particiones En primer lugar. /home deber´a tener su propia partici´ n. No existe una regla general. u ı o En equipos que brinden servicios cr´ticos.1. por lo que podr´a separarse en otra partici´ n . salvo / (o donde resida /dev).gov. /var/log podr´a llenarse y perjudicar el buen funcionamiento ı ı de los mismos. deberemos dise˜ ar cuidadosamente el sistema de archivos. a Las particiones pueden montarse con ciertas opciones que restringen su funcionalidad (ver Figura 3).arcert. /usr y /var. ı o Por esta misma raz´ n. Estas restricciones pueden y suelen variar a o seg´ n las diferentes distribuciones de GNU/Linux. u www.

Reforzando la instalaci´ n de Debian GNU/Linux o Figura 4: Esquema de particiones que propuesto para Multi-user workstation En algunos casos puede ser recomendable montar /usr como ro (s´ lo lectura). adem´ s de darnos el acceso inicial al sistema. en algunos casos.gov. Primero. tal como se ve en la Figura 5. o a a o Evitar la ejecuci´ n de binarios en /tmp con la opci´ n noexec es una buena idea. generaremos un hash del pasword que utilizaremos: www. En nuestro ejemplo usaremos operador. El usuario normal Como veremos m´ s adelante(v´ ase tambi´ n ’Limitaci´ n del acceso de root’). Se debe evitar la existencia de cuentas impersonales. un a o o usuario no privilegiado.2. Si a´ n no modific´ el orden de boot en el BIOS. el acceso al sistema como usuario a e e o root estar´ muy restringido.arcert.ar 6 ArCERT c 2006 . Debian ejecutar´ ah´ algunas acciones cuando instala paquetes. ya que habr´ que escribir en dicha partici´ n. Para evitar que alguien con acceso f´sico a la consola de nuestro equipo (situaci´ n que deber ı o ser evitada a toda costa) pueda modificar los par´ metros de inicializaci´ n del kernel. al menos. que es la distribuci´ n propuesta por Debian para o o Multi-user workstation (estaci´ n de trabajo multiusuario). u o 4. a ı En nuestro ejemplo usaremos el esquema de la Figura 4. nos permitir´ realizar todas aquellas tareas a a que no requieran extricamente capacidades de root. por lo que la instalaci´ n es el momento correcto para la creaci´ n de. en nuestro caso el grub. comenzaremos el fortalecimiento propiamente o dicho del sistema. protegeremos el boot loader a o contra modificaciones. por lo que el campo full-name (nombre completo) puede sernos de utilidad. Una vez terminada la instalaci´ n del sistema operativo base. Pero hay que tener en o o cuenta que. pero habilitar esta opci´ n o o ´ durante la instalaci´ n har´ que esta sea imposible de realizarse. este el momento. 3. que es el programa encargado de cargar el kernel en memoria y ejecutarlo. El usuario no privilegiado. Boot Loader Vamos a asegurar el boot loader.

.lst: ı ## password [’--md5’] passwd # e. found: /boot/grub/menu.6. deberemos ejecutar el comando update-grub y as´ hacer efectivo el cambio ı del lockalternative: debian:˜# update-grub Searching for GRUB installation directory .lst Para completar este proceso.. lockalternative=true ## lockalternative=false # lockalternative=true Por otro lado.lst para evitar que los usuarios no privilegiados accedan al hash: debian:˜# chmod o-r /boot/grub/menu. a e ## should update-grub lock alternative automagic boot options ## e. tambi´ n conocido como Recovery Mode.arcert.. Testing for an existing GRUB menu.. para que el password que acabamos de crear no s´ lo se aplique a las modificaciones expl´citas de los par´ metros de inicio del kernel. sino o ı a que adem´ s sea necesaria para iniciar el sistema en modo single user. password topsecret # password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/ # password topsecret password --md5 $1$1nxTK1$0kdd0C8txj7nDPx5SnVx. procederemos a insertarlo en la siguiente l´nea en el archivo /boot/grub/menu./ Una vez obtenido el hash./ En este mismo archivo. hay que modificar los permisos de /boot/grub/menu...list file.lst .gov. done www.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 5: Creaci´ n de un usuario no privilegiado o debian:˜# grub-md5-crypt Password: Retype password: $1$1nxTK1$0kdd0C8txj7nDPx5SnVx. editaremos el valor de la variable lockalternative.lst .8-2-686 Updating /boot/grub/menu.ar 7 ArCERT c 2006 . Found kernel: /boot/vmlinuz-2. found: /boot/grub .g.g.

y comentar las l´neas correspondientes. pppoeconf).gov. o 5. Por ejemplo: u Si s´ lo vamos a utilizar ethernet. Deberemos utilizar nuestra experiencia e imaginaci´ n para detectar los paquetes innecesarios de esta larga lista. o 2 Mail 3 Point-to-Point Transport Agent (Agente de Transporte de Correos). 5. si bien son utilizados en la mayor´a de los casos. bootpc corresponde al cliente DHCP. Sistema para envio de correo electronico Protocol (Protocolo punto a punto) www.conf. procederemos a editar el archivo /etc/inetd. Puede borrarse eliminando el paquete dhcp-client. Por otra parte existen servicios no levantados por inetd que seguramente podremos eliminar (aunque est´ escue chando s´ lo en localhost). a o ı ´ Por ultimo. debian:˜# /etc/init.ar 8 ArCERT c 2006 . Los ı a cambios se producir´ n al reiniciar el servicio.1. as´ como sus dependencias reversas. o a o Como ver´ n. no siempre son totalmente necesarios. Servicios de red innecesarios Muchas distribuciones instalan servicios que abren puertos de red.d/inetd restart Restarting internet superserver: inetd. su versi´ n y una breve descripa o ci´ n. por lo que no nos atendremos al ejemplo. Podemos ver todos los paquetes instalados en nuestro ı sistema as´: ı dpkg -l | more Esto mostrar´ una larga lista (paginada con more) con el nombre del paquete. Limpieza Para continuar con la configuraci´ n del equipo vamos a minimizar la instalaci´ n.Reforzando la instalaci´ n de Debian GNU/Linux o 5. cerrando servicios de red. En general. ı Para deshabilitarlos. pppoe. No se aconseja que los servidores obtengan su configuraci´ n o de red v´a DHCP. Debian Sarge (no as´ versiones anteriores) ı instala pocos de estos. los paquetes de internacionalizaci´ n son innecesarios (locales). desintalando paquetes que no o o se utilicen. Otros paquetes no utilizados o La instalaci´ n base de cualquier sistema operativo instala una serie de paquetes que. Para ver que procesos levantan puertos podemos correr el comando netstat -tulp: debian:˜# netstat -tulp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:time LISTEN *:* tcp 0 0 *:discard :* LISTEN * tcp 0 0 *:daytime LISTEN *:* tcp 0 0 localhost:smtp :* LISTEN * udp 0 0 *:discard *:* udp 0 0 *:bootpc *:* debian:˜# PID/Program name 608/inetd 608/inetd 608/inetd 602/exim4 608/inetd 708/dhclient Como podemos observar.arcert. los paquetes son muchos y muy variados.2. ı ı As´ se debe proceder con cada uno de los servicios de red que tenga el sistema y que no sean necesarios. siguiendo algunas reglas de sentido com´ n. o a pppconfig. los servicios time. tal como se ve en la Figura 6. como el caso de exim4 si no necesitamos un MTA2 : o apt-get remove --purge exim4-config exim4-base Esto borrar´ la configuraci´ n y los paquetes relacionados con exim4. todos los paquetes que tengan que ver con PPP3 no ser´ n necesarios (ppp. y optimizando la carga de m´ dulos del kernel. discard y daytime se encuentran habilitados y levantados v´a inetd.

gov. tendremos que prestar particular atenci´ n a la o subsecci´ n ’M´ dulos de Kernel’. por lo que puede ser conservado sin mayores problemas. gcc) y las bibliotecas terminadas e en -dev s´ lo son utilizados en casos particulares. u 4 www. y hasta puede ser perjudicial o o (hotplug. En caso de desinstalarlos. Para ello. makedev) Las bibliotecas usadas por los paquetes que borramos tampoco son necesarias (libdiscover1. nano.] ´ As´ se eliminar´ tanto los paquetes como sus archivos de configuraci´ n. Un punto importante es evitar borrar paquetes de tipo essential. lo que se traduce en una menor probabilidad de vernos afectados por alg´ n bug. Para identificar estas bibliotecas nos puede ser de utilidad un paquete llamado deborphan4 .ar 9 ArCERT c 2006 .3-base. utilizaremos el siguiente comando: a debian:˜# apt-get remove --purge aptitude dhcp-client [. necesarios para el correcto funcionamiento del sistema operativo y requieren una confirmaci´ n particular. Estos paquetes son. esto ultimo gracias al modificador ı a o --purge. el archivo /usr/bin/e2pall pertenece al paquete tetex-bin: debian:˜# dpkg -S /usr/bin/e2pall tetex-bin: /usr/bin/e2pall Una menci´ n especial merece el paquete gcc-3. por lo que pueden borrarse. reducimos la cantidad de programas instalados en nuestro sistema. telnet. fdutils) Los programas que no utilizamos pueden borrarse (aptitude. setserial. o La automatizaci´ n de detecci´ n de hardware nomalmente no es necesaria..arcert. El siguiente paso ser´ desinstalar los paquetes seleccionados. que s´ lo contiene documentaci´ n descriptiva y se o o o ´ incluye unicamente por razones de dependencias de paquetes. mailx. info. Para esto puede o ´ ser util el comando dpkg -S. por lo general. ipchains. Estemos atentos a la lista de paquetes que realmente se van a remover ya que tambi´ n se borran e aquellas dependencias reversas de los paquetes definidos.. discover1-data).libusb). De esta manera. eject. o Puede ocurrir que encontremos archivos de los que desconocemos el paquete que los instal´ . Por ejemplo. o o Los paquetes relacionados con dispositivos que no tenemos o no utilizamos son prescindibles (usbutils.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 6: Listado de los paquetes instalados (dpkg -l) Los paquetes para desarrollo como los compiladores o int´ rpretes (perl.

ar 10 ArCERT c 2006 . como ide-cd y psmouse. o a Las aplicaciones de detecci´ n autom´ tica de hardware cargan m´ dulos en forma din´ mica cuando son necesarios. o bien. M´ dulos de Kernel o o Los m´ dulos le dan flexibilidad al kernel. por ejemplo) y eliminar aquellos que no sean necesarios.arcert.3.gov. que es el soporte para IP versi´ n 6. incrementar la velocidad de arranque. eliminar la posibilidad que el m´ dulo ipv6 se cargue. o a o a Para ver los que est´ n actualmente cargados en el sistema puede emplear el comando lsmod y obtendr´ un a a resultado semejante al de la Figura 7. siendo pcnet32 el driver de la placa de red: ı ı ide-disk ide-generic pcnet32 Para cerciorarnos de que se levanta todo lo necesario al arrancar. Deshabilitando el CTRL-ALT-Del ´ Este m´ todo de reinicializar el equipo siempre ha sido util y atractivo en GNU/Linux. Evitar levantar aquellos m´ dulos que no utilizemos puede. adem´ s de evitar los efectos de sus bugs. pero posiblemente no e queremos que cualquiera con acceso a la consola puede utilizarlo. Recordemos que en la subseccion ’Otros paquetes no utilizados’ se propuso eliminar todos los paquetes que detectan hardware. como discover1. Por ejemplo o o ipv6. En nuestro ejemplo el archivo quedar´a as´.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 7: Listado de los m´ dulos cargados (lsmod) o 5. Vamos a deshabilitarlo comentando la l´nea ı correspondiente en el archivo /etc/inittab: www. por lo que tendremos que forzar la carga de los drivers que utiliza nuestro hardware para funcionar y que antes se detectaban autom´ ticamente. Para evitar esto puede configurar estas a ´ ´ aplicaciones para que s´ lo utilizen IPv4. a ı o Para esto necesitaremos editar el archivo /etc/modules. Hay que tener en cuenta que existen muchas aplicaciones que levantan m´ dulos por demanda. Este es el caso de SSH que por defecto levantar´ con este soporte. Aqu´ podremos agregar los m´ dulo que necesitemos levantar (la placa de red. Esto ultimo o o se consigue realizando la siguente modificaci´ n en /etc/modprobe. puede ser levantado por demonios que intenten escuchar en una intefaz IPv6. levantando drivers sin necesidad de reinicios. podemos reiniciar el sistema y comprobarlo.d/aliases: o #alias net-pf-10 ipv6 alias net-pf-10 off 6.

se caracterizan por tener un user id menor que 1000).user.ar 11 ArCERT c 2006 . ´ Otras opciones utiles pueden ser (para m´ s informaci´ n. nosuid y noexec durante la instalaci´ n el archivo queo dar´ algo as´: a ı # <file system> proc /dev/sda1 /dev/sda8 /dev/sda7 /dev/sda5 /dev/sda6 /dev/sda9 /dev/hdc /dev/fd0 <mount point> <type> <options> <dump> <pass> /proc proc defaults 0 0 / ext3 nosuid. 5 Input/Output (operaciones de Entrada/Salida) www. siendo esto totalmente a innecesario dado que ninguno de estos usuarios ser´ utilizado de manera interactiva. auto. al menos deberemos eliminar la opci´ n user. exec. todos considerados del sistema (en el caso de Debian. Como podemos observar. suid.nosuid.errors=remount-ro 0 1 /home ext3 nodev. existen varios usuarios. Opciones de Montaje Las particiones realizadas en la seccion ’Instalaci´ n’ nos permiten montar los sistemas de archivos con diso tintas opciones.arcert. Para esto tenemos que anao lizar el archivo /etc/passwd. Usuarios y permisos Usuarios con shell interact´vo ı Comenzaremos por revisar los usuarios creados durante el proceso de instalaci´ n. algunas de las cuales vimos en aquel apartado.Reforzando la instalaci´ n de Debian GNU/Linux o # What to do when CTRL-ALT-DEL is pressed. como se ve en la Figura 8. #ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now S´ lo resta avisarle al proceso init que debe releer el archivo de configuraci´ n: o o debian:˜# telinit q O su equivalente. nouser. podemos eliminar las ultimas dos l´neas de este archivo. El ı o comando /bin/false siempre devuelve error y evita el login.1. 8. La lista de particiones a montar se encuentra en /etc/fstab.noauto 0 0 /media/floppy0 auto rw.user.gov. o defaults: Son las opciones por defecto. es decir: rw. Pero si ı decidimos conservar alguna de las dos. 8. en este caso root y operador son la obvia excepci´ n. dev. y async. man mount): a o sync: Todas las operaciones de I/O5 se hace de forma sincr´ nica. que cumple la funci´ n de o o permitir a un usuario no privilegiado montar y desmontar dicho dispositivo.noexec 0 2 /tmp ext3 nodev. que poseen como shell a /bin/sh. Si seleccionamos las opciones de nodev.nosuid 0 2 /usr ext3 nodev 0 2 /var ext3 nodev 0 2 none swap sw 0 0 /media/cdrom0 iso9660 ro. auto: Monta el sistema de archivos al inicio. Utilizaremos el siguiente comando para modificar esta situaci´ n: o debian:˜# chsh -s /bin/false daemon Y as´ para cada uno de los usuarios no interactivos.noauto 0 0 ´ Si no utilizaremos el CD-ROM o la disquetera. debian:˜# kill -1 1 7.

Si este programa llegase a tener un bug. es que un programa com´ nmente utilizado por los usuarios tenga como due˜ o a root. pero aplicado al grupo.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 8: Usuarios del sistema (/etc/passwd) 8.3.. en lugar de el mismo. Tambi´ n existe el bit guid que es lo mismo. exim4: para el correcto funcionamiento del e-mail interno. e Los archivos con este permiso pueden ser encontrados as´ (Figura 9): ı debian:˜# find / -path /proc -prune -o -type f -perm +6000 -ls De toda la lista de archivos con este particular permiso s´ lo son totalmente necesarios algunos de ellos: o passwd: para que los usuarios puedan cambiar su password. Para esto debemos crear el archivo /etc/cron.2. Para el resto de los programas no es extrictamente necesario este permiso.ar 12 ArCERT c 2006 . que permite a cualquier usuario que tenga permiso de ´ ejecuci´ n sobre este archivo.allow con una unica l´nea: ı www. u u n y tenga prendido el bit suid. el uso de crontabs por parte de los usuarios). no estar´ de m´ s restringir qu´ usuarios a a e ´ pueden tener acceso a su uso. login: para que los usuarios puedan ingresar al sistema. si es que decidimos no borrarlo del sistema. unix chkpwd: se utiliza para que los programas puedan verificar el password ingresado por el usuario. ejecutarlo como si realmente fuese el usuario due˜ o del archivo.arcert. su: para que usuarios no privilegiados puedan convertirse en root. salvo en casos particulares en los que habr´ que evaluar los beneficios y desventajas (por ejemplo. El bit SUID Vamos a revisar algunos permisos importantes en los archivos. o n Un problema muy com´ n. podr´a llegar a convertirse en la herramienta que necesita un posible atacante que haya logrado ingresar ı al sistema para convertirse en root.] 8. por ejemplo un buffer overflow o un stack overflow. Uno de los principales peligros que encontramos en los permisos de los archivos ejecutables es el suid bit. Permisos de tareas planificadas Si bien ya anteriormente le sacamos el bit suid al programa crontab. sin la necesidad de tener cada uno el bit suid.. Para el a resto: debian:˜# chmod ug-s /usr/bin/wall /usr/bin/newgrp /usr/bin/chsh [.gov.

ar 13 ArCERT c 2006 . Sudo Una herramienta que permite tener un control mucho m´ s estricto sobre las tareas que realizan los usuarios que a requieran privilegios administrativos es sudo. a 9. y si es el suyo propio o el del usuario impersonado. utilizado para la ejecuci´ n diferida de tareas.4. Con esta herramienta podremos configurar. para acceder al sistema tendremos que ingresar como un usuario no privilegiado y despu´ s convertirnos en root mediante el comando su. s´ lo los que est´ n listado en el podr´ n usar cron. Sudo es una herramienta vers´ til y bien documentada. o e a El comando at. e Si necesitan ingresar un password. 8. Se puede encontrar m´ s ejemplos y detallada informaci´ n a a o en la p´ gina principal de sudo6 . a Registro de las acciones realizadas. Restricciones horarias. entre otras cosas: Qu´ usuarios pueden elevar sus privilegios (o simplemente ejecutar acciones como otros usuarios). Es decir. Lugar desde donde est´ conectado el usuario.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 9: Archivos con el bit suid y guid (find / -path /proc -prune -o -type f -perm +6000 -ls) root ´ Si este archivo existe.gov. e Qu´ tareas pueden realizar. Adem´ s ser´a interesante restringir e a ı los usuarios que podr´ n transformarse en superusuario.us/sudo/ www. Limitaci´ n del acceso de root o La idea es evitar el login directo de root.arcert. es un caso muy similar al de cron. El archivo o /etc/at.allow.gratisoft.allow se utiliza limitar su uso y su funcionamiento es identico a /etc/cron. a 6 http://www.

No debemos olvidarnos o a de crear el grupo y agregar los usuarios necesarios al mismo: debian:˜# addgroup --system wheel Adding group ‘wheel’ (104). En el archivo /etc/securetty tenemos la lista de consolas en ı las que root puede loguearse. Administraci´ n Remota o Vamos a suponer que es necesario acceder remotamente al equipo para su administraci´ n.. deberemos responder algunas preguntas.so Ahora s´ lo los usuarios que pertenezcan al grupo wheel podr´ n utilizar el comando su. Podemos simplemente comentar dichas lineas y as´ restringir el acceso. u 10.d/su y habilitar la siguiente opci´ n: o # before they can use ‘su’. Seguramente el o protocolo elegido ser´ SSH7 . Acceso v´a SSH ı Si en nuestro sistema est´ instalado SSH como forma de administraci´ n remota (v´ ase tambi´ n ’Adminisa o e e traci´ n Remota’). Usaremos la pol´tica todo denegado excepto lo expresamente ı ı permitido. Se puede evitar que root acceda ı directamente por una consola f´sica al sistema. Ser´ conveniente restringir desde d´ nde se puede acceder a dicho protocolo. You can also add "group=foo" to # to the end of this line if you want to use a group other # than the default "root". entre otras cosas. La siguiente pregunta nos consulta sobre el bit suid en n e o el programa ssh-keysign. debian:˜# apt-get install ssh Durante su instalaci´ n.defs) auth required pam_wheel.gov. El grupo wheel Existe una forma de limitar qu´ usuarios pueden ejecutar el comando su. acceso remoto seguro a un shell www. # (Replaces the ‘SU_WHEEL_ONLY’ option from login.3. ı 9. M´ s all´ del uso de un firewall lo a o a a haremos v´a tcpwrapper. soportado por OpenSSH.ar 14 ArCERT c 2006 . En el archivo /etc/hosts. no utilizaremos el m´ todo de autenticaci´ n basada en host.. Para lograrlo hay que editar el archivo de o e o configuraci´ n de ssh en /etc/ssh/sshd config: PermitRootLogin no Recordemos que hay que reiniciar el servicio de SSH para que esto tenga efecto. La primera es sobre la versi´ n de SSH a ejecutar. debian:˜# /etc/init. ´ intentamos evitar el uso de este bit. para acceder remotamente al equipo deberemos utilizar alg´ n otro usuario.d/ssh restart De esta manera. La ultima pregunta es sobre si queremos o iniciar el servidor de SSH. Habr´ que instalar OpenSSH. Por un lado. Para esto debemos editar el archivo e /etc/pam. que en la versi´ n Sarge de Debian viene el servidor a a o junto con el cliente. La consola f´sica ı Esta es otra forma de mitigar una falencia en el acceso f´sico al servidor.2. por lo que elegimos la opci´ n no. o o Elegimos s´ lo permitir la versi´ n 2 del protocolo.arcert. debian:˜# usermod -G wheel operador 9. tambi´ n debemos limitar el acceso directo de root. ya que las versiones anteriores tienen importantes defectos de o o dise˜ o que pueden comprometer la seguridad del equipo.1. Hecho. y por otro.Reforzando la instalaci´ n de Debian GNU/Linux o 9.deny: 7 Secure SHell: Protocolo que brinda.

a Hay que tener en cuenta que tan mantenido est´ el programa.ipv4.frozentux.sysrq=0 o # Normalmente. o 8 Puede 9 Common encontrar otros par´ metros en http://ipsysctl-tutorial. ı o Priorizemos las aplicaciones de red que puedan ser enjauladas f´ cilmente dentro de un chroot. En el caso de Debian podemos visitar http://packages. sino que posiblemente ni siquiera sea o o Apache la mejor opci´ n.0/24 Este m´ todo tambi´ n puede utilizarse con cualquier servicio que utilice la librer´a libwrap (hoy incluida en la libC).all.conf.31. no hay raz´n para utilizar broadcasts ICMP net. o 11. las IPs o redes de las cuales permitimos el acceso: sshd : 192.net/ipsysctl-tutorial.gov. Selecci´ n de paquetes o En esta etapa debemos tener en especial consideraci´ n que fines va a cumplir el equipo.ar 15 ArCERT c 2006 .icmp_ignore_bogus_error_responses=1 # Los ICMP redirects son necesarios en escasas # excepciones (por ejemplo. ¿Que tipo de servidor Web? Supongamos que s´ lo necesitamos un servidor Web con p´ ginas est´ ticas. Siguiendo con el ejemplo de un servidor de web de o p´ ginas est´ ticas. donde se pueden ajustar varios par´ metros.Reforzando la instalaci´ n de Debian GNU/Linux o sshd : ALL Y en /etc/hosts.conf. mejor.html a Gateway Interface (Pasarela de Interfaz Com´ n) u www.ipv4.168.accept_redirects=0 # Tampoco aceptamos paquetes con "source route" net.ipv4. existen alternativas como thttpd (que tiene soporte para CGI9 ) o dhttpd.allow. Veamos a algunos de ellos8 : # Ignorar el uso de la tecla "Petici´n de sistema" o kernel.accept_source_route=0 Y para hacer efectivos los cambios inmediatamente: debian:˜# sysctl -p 12.ipv4. La principal sugerencia para esta etapa consiste en instalar unicamente el software estrictamente necesario.conf. Por ejemplo.default. La escalabilidad debe ajustarse a nuestras necesidades de crecimiento. Veamos algunos puntos a tener en cuenta para elegir una aplicaci´ n: o Mientras menos cosas extra tenga la aplicaci´ n.ipv4. Programas m´ s a a a chicos suponen menos l´neas de c´ digo donde existe una probablididad menor de que alla bugs. e e ı o mediante la utilizaci´ n del programa tcpd. ¿Es necesario instalar un Apache con PHP? La o a a respuesta claramente es no. en este caso utilizaremos el equipo como servidor Web.arcert.conf.org/<nombre del paquete> para ver cada cuanto hay nuevas versiones y sus bugs.all. Par´ metros del kernel a El kernel es configurable desde /etc/sysctl. Si prevemos aumentar la carga de una ´ aplicaci´ n en un futuro cercano esta debe soportarla de antemano.ipv4.icmp_echo_ignore_broadcasts=1 # Tampoco debemos hacerle caso a respuestas ICMP que no # pedimos net.accept_redirects=0 net. cuando hay 2 gateways) net.debian. Se puede consultar en foros y listas en busca a de opiniones. De hecho no s´ lo no vamos a necesitar PHP.default.qa.conf.accept_source_route=0 net. y seleccionar el o ´ software a instalar en consecuencia.

a una base de datos). o ı Debe existir esta l´nea: deb http://security. Actualizaciones de seguridad Ahora que ya tenemos el sistema medianamente asegurado.org/doc/manuals/developers-reference/chresources. Firewall El servidor deber´ estar operativo en una zona particular de la red. que si bien los ejemplos est´ n o o a pensados para un firewall en el sentido cl´ sico (un gateway con filtrado de paquetes en modo stateful). la herramienta utilizada para filtrar los paquetes de red en el host a ser´ iptables. u 13. debemos actualizar la base de datos local de paquetes (como en la Figura 10) con el comando: debian:˜# apt-get update Y actualizar los paquetes.org/ sarge/updates main contrib non-free Una vez agregadas estas referencias.debian. o ´ Permitir la salida a otras m´ quinas de la DMZ s´ lo cuando sea para un servicio interno particular (por a o ejemplo. que ser´ la unica zona que recibir´ conexiones desde afuera.gov. 10 Package Tracking System (Sistema de Seguimiento de Paquetes) http://www. Algunas recomendaciones a la hora de configurar el firewall: Permitir conexiones de entrada s´ lo a los puertos que tengan servicios publicos y que provengan de clientes o en las redes que correspondan (por ejemplo.debian. Va a ser necesario que maneje formatos y protocolos internos que sean estandares o de f´ cil migraci´ n a otros formatos. cada host de nuestra red deber´ tener un firewall propio. Tambi´ n puede usarse fwbuilder. Si la aplicaci´ n es un paquete Debian puede subscribirse a PTS10 .Reforzando la instalaci´ n de Debian GNU/Linux o La interoperabilidad con otras aplicaciones semejantes son puntos importantes para no quedar atado a una o a aplicaci´ n. si el a servicio es para Internet). es el momento de actualizar los paquetes instalados. com´ nmente llamada DMZ11 cuando se a u trate de servicios externos. a a Como en todas las instalaciones de GNU/Linux. para estar al tanto de las actualizaciones en materia de seguridad.arcert.ar 16 ArCERT c 2006 . restringir el acceso desde otras m´ quinas de la DMZ.en.org/debian-security-announce/ www. es perfeca e a tamente adaptable al uso como firewall de host.list que es el archivo que indica d´ nde encontrar dichas actualizaciones. por ejemplo). que es una herramienta gr´ fica para generar las reglas de iptables. Editemos /etc/apt/sources. una opci´ n es utilizar la herramienta shorewall. tal como se ve en la Figura 11 debian:˜# apt-get upgrade Posiblemente sea de utilidad que el administrador se subscriba a la lista de DSA12 . En algunos ı o casos se puede poner un servidor de actualizaciones interno (con apt-proxy.debian. o Una vez seleccionada la aplicaci´ n es recomendable seguirle los pasos de cerca en cuanto a sus nuevas versioo nes y bugs.html#s-pkg-tracking-system 11 DeMilitarized zone (zona desmilitarizada) 12 Debian Security Announce (Anuncios de Seguridad en Debian) http://lists. muchas veces llamado firewall de host. de manera que s´ lo este requiera salida. Para restringir el acceso a ´ a suele usarse un firewall. como conexiones al puerto smtp desde los servidores de correo electr´ nico. Para facilitar la configuraci´ n. Permitir la salida a Internet s´ lo a los sitios necesarios para la actualizaci´ n del equipo y los servicios que o o as´ lo requieran. 14. Pero adem´ s. Tambi´ n es buena idea subscribirse o e ´ a la lista de los desarrolladores si esta fuera p´ blica.

Sincronizaci´ n horaria o En los pr´ ximos apartados insistiremos en la importancia de enviar a un host remoto y seguro los mensajes o ´ generados por el sistema. Por ello. quitar´ o modificar´ alg´ n servicio o configuraci´ n. o a ntpdate. puede ser una alternativa de configuraci´ n m´ s sencilla. La unica manera de correlacionar los eventos que observemos en diferentes equipos. servidor NTP para Unix-like.ar 17 ArCERT c 2006 .1. pero eso lo dejamos para otros documentos. Luego de configurados los servicios. no debemos olvidarnos de realizar las ı o actualizaciones de seguridad como se describe en la secci´ n ’Actualizaciones de seguridad’.gov. Mantenimiento El sistema que acabamos de instalar no est´ terminado. Mail.arcert. a e 15.). En particular. donde se sincronizan todas la m´ quinas y que. o 13 Network Time Protocol. Por este motivo. Seguramente se a a le incorporar´ . habr´ que tener en cuenta a a a u o a los conceptos de esta gu´a durante toda la vida del servidor. a www. o 15. Windows incluye un servicio para la sincronizaci´ n horaria. cliente NTP para Unix-like. etc. protocolo de internet para sincronizar los relojes de los sistemas inform´ ticos en redes con latencia variable. es recomendable establecer un esquema de sincronizaci´ n de relojes utilizando el protocolo NTP13 o Es muy normal contar con un servidor NTP en cada red. El siguiente paso consistir´ en configurar y asegurar los servicios que este a equipo deba brindar (Web. a a a est´ sincronizado con uno o m´ s relojes externos.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 10: Actualizaci´ n de la base de datos local para paquetes (apt-get update) o Figura 11: Actualizaci´ n de paquetes (apt-get upgrade) o ´ Con este ultimo paso podemos considerar que hemos finalizado la instalaci´ n del sistema operativo. a a ser´ si sus relojes est´ n perfectamente sincronizados. OpenNTPD. Adem´ s habr´ que hacer el seguimiento del servidor y tener una actitud proactiva con respecto a su seguridad. a a De ello hablaremos en esta secci´ n. ser´ el momento de realizar un back-up (v´ ase ’Back-up)’ completo del sistema. a su vez. ´ Las aplicaciones utiles para el esquema de sincronizaci´ n pueden ser: o ntpd. y estamos o listos para comenzar a utilizarlo. ya que evolucionar´ con el tiempo.

Es recomendable realizar backups full de manera peri´ dica.ar 18 ArCERT c 2006 . La o o discusi´ n sobre los diferentes m´ todos existentes puede ser muy amplia. es realizar back-ups o offline. es bacula15 . Como desventajas.gov.Reforzando la instalaci´ n de Debian GNU/Linux o 15. Back-up Dentro de las tareas de mantenimiento. ´ La unica forma de obtener una imagen exacta del disco. 15. compatible con muchos sistemas Unix-like o (SCO.arcert. ser´ conveniente arbitrar los medios necesarios para que dicho reporte sea enviado a a o a u a un equipo remoto con las medidas de seguridad del caso. tiene su lentitud. se encuentra la realizaci´ n de back-ups peri´ dicos del equipo. tiger realizar´ diariamente las verificaciones y enviar´ un reporte de los probleo a a mas encontrados. IRIX.org/ 15 http://www. para contingencias mayores. o ´ ´ Para que un back-up sea util. como ı e u e ı a por ejemplo l´neas seriales unidireccionales. Esta herramienta realiza dio versas verificaciones sobre la configuraci´ n y el estado de varios elementos del sistema operativo. es indispensable que pueda ser recuperado. o a a Los m´ todos m´ s comunes de back-up en GNU/Linux son utilizar tar.amanda. y que no es o compatible con todos los filesystems existentes. La forma m´ s recomendada para su instalaci´ n es junto con algunos paquetes auxiliares: a o debian:˜# apt-get install binutils chkrootkit lsof file libmagic1 tiger Con su instalaci´ n por defecto.bacula. Sin embargo presentamos algunas recoo e mendaciones para su ejecuci´ n: o Para realizar back-up de muchos equipos de manera combinada. es necesario que la pol´tica de back-up incluya simulaciones peri´ dicas donde restauremos nuestros sistemas ı o desde las cintas. Permite realizar o ı estos chequeos de manera per´odica. ni a nivel l´ gico del disco. GNU/Linux). HP-UX. ı a En la Figura 12 se puede observar un reporte del an´ lisis hecho por tiger. e intercalarlos con back-ups parciales. Y para estar seguros de esto. FreeBSD. 14 http://www. AIX. Al igual que con las verificaciones de integridad (v´ ase ’Chequeos de integridad’) y logs (v´ ase e e ’Manejo de bit´ coras (logs)’). Considerar la posibilidad de guardar copias de los back-ups en sitios remotos. que s´ tiene soporte para Windows.3.2. pero tambi´ n podr´an utilizarse otros medios m´ s seguros. Si no utilizamos un e a gestor de back-up. Tener en cuenta que la sensibilidad de la informaci´ n contenida en una cinta de back-up es igual a la inforo maci´ n m´ s sensible que haya sido almacenada. Otra herramienta muy usada. ser´ necesario contar con un buen gestor a de archivos de respaldo. dump es una opci´ n muy interesante por su manejo de niveles para copias incrementales o y su integraci´ n con el sistema de archivos ext2/ext3. ı ´ La practicidad de las cintas nunca ser´ superada por los medios opticos (a menos que estos crezcan en a ´ capacidad m´ s de lo que lo han hecho en los ultimos a˜ os). por lo que habr´ que tomar los recaudos del caso. cpio. pero requiere Samba para trabajar con Windows. o dump. con la certeza de que no contendr´ ning´ n tipo de a u inconsistencia. ni a nivel transaccional de las aplicaciones. Amanda14 es una buena opci´ n libre. Auditor´as regulares ı Una aplicaci´ n interesante para revisar la seguridad de nuestro servidor es tiger. La opci´ n m´ s com´ n para este tipo de reportes es el env´o por e-mail (a trav´ s de alg´ n MTA local). o poseamos un intercambiador de CDs de gran a n capacidad.org/ www.

Acceso y Cambio).report) 15. tama˜ o.conf) que servir´ de punto de partida o a para una configuraci´ n adecuada al sistema que acabamos de instalar.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 12: Resultado del chequeo hecho por tiger (/var/log/tiger/security. actualmente una de las m´ s usadas y recomendables. ni /boot.4. o a a Algunas de las cosas que habr´ que modificar seguramente incluir´ n: Ni /etc. donde se encuentran todos los archivos de configuraci´ n. Si no tiene n a usuarios adem´ s del administrador. es un clon libre de tripwire. No todos los paquetes tienen los hashes necesarios. Todas proveen a o o n una configuraci´ n de ejemplo (en el caso de AIDE. por lo que la herramienta no resulta pr´ ctica. pr´ cticamente la m´ s antigua de todas (s´ lo de uso libre para Linux. donde se encuentran los o archivos de inicio del sistema operativo. Chequeos de integridad o e ¿C´ mo podemos descubrir si eventualmente el equipo resulta comprometido? Un excelente m´ todo es verificar la integridad de los archivos existentes en el sistema de archivos. incluyendo hashes con uno o m´ s algoritmos o a criptogr´ ficos. etc. /home s´ lo est´ contemplado como un ejemplo. a En general estas herramientas proveen varias opciones de verificaci´ n.ar 19 ArCERT c 2006 . vamos a querer observar cualquier tipo de cambio. a AIDE16 . e ir ajust´ ndolas a medida que recibimos las alera tas. verificaci´ n de MAC time (Modificaci´ n. y bajo ciertas condiciones de a a o licenciamiento) Integrit. Existen varias herramientas para realizar esta tarea: Tripwire. permisos. Debsums. Si el sistema posee muchos usuarios independientes. /etc/aide/aide. Un buen m´ todo para ajustar la configuraci´ n es agregar todos los directorios dependientes del ra´z faltantes e o ı (/boot. ser´ conveniente que los reportes de estas verificaciones ı a 16 Advanced Intrusion Detection Environment (Ambiente avanzado para la detecci´ n de intrusos) o www. est´ n contemplados en el archivo de ejemplo. a /var/log tiene algunas configuraciones espec´ficas. que seguramente causar´ n varios falsos positivos si ı a la actividad de nuestro host modifica los logs constantemente. seo a guramente querremos verificar como mucho que no cambie el due˜ o (owner) de los archivos. etc.) con todas las verificaciones posibles. que verifica la integridad de los archivos en base al hash contenido en el paquete Debian que lo provee. Como mencionamos en caso de la auditor´a interna.arcert. /home/.gov.

consiste en una serie de preguntas que habr´ que resa ponder. pero por ninguna raz´ n deben reemplazar el trabajo manual y el chequeo de las configuraciones por un administrador o de sistemas. por ejemplo. en un CD-ROM (o alguna clase de dispositivo al que se le pueda o bloquear la escritura por hardware: un disquete. Este sistema consiste en un demonio que recibe los diferentes mensajes de las aplicaciones y el sistema operativo.ar 20 ArCERT c 2006 . y e cu´ les son inofensivos. como syslog-ng18 . o En la mayor´a de los sistemas UNIX-like. y la posterior comparaci´ n con esta.5. o a u de la siguiente manera: *. Herramientas para automatizar el fortalecimiento ´ Existen algunas herramientas que pueden ayudarnos a asegurar un servidor. La misma se basa en varias reglas.arcert. level hace referencia a la severidad del mensaje. es enviar los mensajes a trav´ s de un puerto serial a un loghost totalmente desconectado de la red. Otra opci´ n muy similiar es logwatch19 . Como mencionamos en otros apartados. Existen alternativas17 al sistema syslog. 15. Dichas herramientas son utiles. y algunas otras que no 17 http://www.ourdomain De esta manera.level <Tab><Tab> acci´n As´. un pen-drive. que permite mucha mayor flexibilidad en las acciones a tomar con los mensajes recibidos. ser´ convea niente que estos mensajes sean guardados en un repositorio externo. o o El formato entonces quedar´a: ı o facility. Una a a e alternativa mucho m´ s segura.1.ourdomain. De la misma manera que en los casos anteriores. Se configura a trav´ s del archivo /etc/syslog. Bastille Linux Esta herramienta. donde se tenga la seguridad de que podr´ n ser recuperados en caso de que una a intrusi´ n intente borrarlos. escribir un mensaje en un archivo. El primero es la aplicaci´ n o el componente del sistemas operativo que o genera logs. aunque pocas veces utilizada. o 16. ser´ n reenviados al host loghost. se utiliza el sistema syslog ı e para manejar los logs del sistema. Si queremos o o que esta verificaci´ n sea efectiva. alojadas en el directorio /etc/logcheck.Reforzando la instalaci´ n de Debian GNU/Linux o sean recibidos en un host remoto. todos los mensajes (de cualquier tipo y nivel). Esta herramienta es logcheck.logwatch. o a e Adem´ s.loganalysis. a Manejo de bit´ coras (logs) a a Los logs del sistema ser´ n seguramente una de las herramientas m´ s valiosas a la hora de atender un intento de intrusi´ n al equipo. ´ Por ultimo. La forma m´ s com´ n de realizar esta tarea es enviarlos a otro host mediante el mismo protocolo syslog. exitoso o no. mencionaremos una herramienta que puede ayudar a la lectura de los logs almacenados. para evitar que sean falseados en caso de una intrusi´ n. Por ejemplo. y no pueda ser falseada durante una intrusi´ n. y por supuesto tambi´ n en GNU/Linux. Por cada combinaci´ n de estos se realiza una acci´ n. una tarjeta flash. para el caso de las verificaciones de integridad de los archivos. podr´a ser conveniente que este reporte sea enviado a un ı host remoto.org www. Estos ı a archivos.conf. para cada tipo y severidad de log habr´ un tratamiento.gov. que definen por medio de expresiones regulares qu´ mensajes son importantes.* @loghost. con bastante historia en GNU/Linux. un resumen es enviado por a u e-mail. para luego automatizar varias de las tareas que hemos realizado en este manual.).org/sections/syslog/syslog-replacements/index. que suelen tener un volumen importante.html 18 syslog next generation 19 http://www. todos los m´ todos se basan en la ´ creaci´ n de una base de datos con el estado inicial del sistema. deberemos montar la base de datos o o en un dispositivo de s´ lo lectura. el cual tiene dos e conceptos fundamentales: facility y level. 16. normalmente residen en el directorio /var/log. etc. Luego de seleccionar los mensajes seg´ n las reglas definidas.

telnet que trabaja sobre protocolos sin cifrar. CheckList Pre-instalaci´ n o www. al igual que con todos los paquetes. por alguna raz´ n.gov.org/releases/sarge/installmanual 18. se nos presentar´ n una serie de preguntas sobre las tareas a realizar. Entre otros. con una explicaci´ n de sus o a o efectos posteriores. al igual que Bastille Linux. pero no reemplazar´ n una buena configuraci´ n.debian.ar 21 ArCERT c 2006 . pero nunca para reemplazar la inspecci´ n personal de las mismas. Paquetes Harden Los paquetes harden de Debian son una serie de paquetes que. o Para instalar esta herramienta. con documentaci´ n sobre seguridad. harden-remoteflaws y harden-localflaws. son considerados o inseguros. que o eliminan o limitan la instalaci´ n de paquetes con conocidos problemas de seguridad de distintos perfiles.Reforzando la instalaci´ n de Debian GNU/Linux o Figura 13: Chequeo de los bits suid con bastille (InteractiveBastille) ı hemos cubierto. harden-doc. o 17.arcert. Por ejemplo. 16.org/doc/manuals/securing-debian-howto/ El manual completo de instalaci´ n de Debian puede obtenerse en: o http://www. Se recomienda utilizar el mismo como una gu´a para ayudar a estas tareas.2. Otras fuentes de informaci´ n o Para obtener m´ s informaci´ n sobre seguridad en la distribuci´ n Debian: a o o http://www. que incluye algunas herramientas como el tiger. Por ejemplo. podemos ejecutar el modo interactivo mediante el siguiente comando: o debian:˜# InteractiveBastille A continuaci´ n. harden-clients. nos ayudar´ n a a asegurar un sitio. realizaremos la siguiente operaci´ n: o debian:˜# apt-get install bastille Luego de finalizada la instalaci´ n.debian. y harden-servers. en la Figura 13 se observa a la aplicaci´ n consultando sobre la deshabilitaci´ n o o del bit suid en diversos programas. podemos encontrar harden-tools. a o Los paquetes harden se encargan de conflictuar con otros paquetes que.

gov. de paquetes no utilizados. Instalar cliente para la sincronizaci´ n horaria. Ajustar las propiedades de los usuarios (shell). a Configurar el firewall de host. Instalar y configurar herramienta para auditor´as regulares.Reforzando la instalaci´ n de Debian GNU/Linux o Restringir el acceso f´sico. ı Configuraci´ n del envio de bit´ coras a un loghost. o Limpieza de servicios de red preinstalados. Aislar la red. o a www.arcert. Instalaci´ n o Particionado. Ajustar /etc/fstab. o Configurar password de modificaci´ n de BIOS. Ajustar par´ metros del kernel (/etc/sysctl. o o Configurar tcpwrapper (hosts. Limitar el acceso de root.deny y hosts. o Permitir s´ lo versi´ n 2. Restringir login de root. Administraci´ n remota (SSH). ı Aislar la red.allow). o Deshabilitar el Ctl+Alt+Del. de m´ dulos de kernel. Crear el grupo wheel y agregar los usuarios correspondientes.conf). Seleccionar de dispositivo de arranque. Usuarios y permisos. Planear y configurar esquema de back-up. Ajustar las opciones de inicio en el BIOS. Configurar que consolas seguras (/etc/securetty). Deshabilitar los puertos y dispositivos innecesarios. Eliminar los suid bit de los ejecutables. Restringir el uso del cron. Instalar y configurar herramienta para integridad de archivos. a Instalar paquetes (servicio/s que brindar´ el servidor).ar 22 ArCERT c 2006 . Restringir el uso del at. Ajustar las opciones de sudo. Creaci´ n de usuario/s no privilegiado/s. o Actualizar los paquetes instalados (apt-get upgrade).

Sign up to vote on this title
UsefulNot useful