You are on page 1of 47

Manual de Fortificacin

Equipos Linux (Ubuntu)


Eduardo Bayn Cascajo Seguridad Informtica 15/03/2012

Eduardo Bayn Cascajo

Seguridad Informtica

ndice
Introduccin ........................................................................................................ 2 Instalacin y configuracin bsica ...................................................................... 2 Instalacin mnima y comprobacin de la misma ........................................... 3 Ojo con el particionado ................................................................................... 5 El gestor de arranque .................................................................................. 6 Conocer siempre la procedencia del software ................................................ 6 Mantener siempre el sistema actualizado ....................................................... 7 Eliminar software innecesario ......................................................................... 7 Colocar nuestra mquina detrs de un firewall ............................................... 8 Filtrado bsico de paquetes con UFW ........................................................ 8 Filtrado de paquetes con Netfilter(Iptables)............................................... 10 Shorewall .................................................................................................. 12 Verificar la seguridad de los archivos clave del sistema ............................... 17 Limitar el acceso root con sudo .................................................................... 17 Proteger nuestras contraseas ..................................................................... 18 Asegurar la memoria compartida .................................................................. 19 Eliminar kernels obsoletos ............................................................................ 20 Copias de seguridad ..................................................................................... 21 Bloquear los ataques SSH: DenyHosts ........................................................ 22 Desactivar logueo root mediante SSH ...................................................... 23 Activar la carpeta Private para guardar datos confidenciales ....................... 24 Rootkits en nuestro equipo ........................................................................... 27 Antivirus en Linux ......................................................................................... 29 Herramientas especficas ................................................................................. 32 Ubuntu Tweak............................................................................................... 32 WireShark: Control del trfico de la red ........................................................ 34 BASTILLE ..................................................................................................... 36 Administrador de servicios BUM ................................................................... 41 Lista de herramientas para seguridad .............................................................. 43 Bibliografa y Webgrafa ................................................................................... 46

Pgina 1 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Introduccin
Vamos a realizar en este documento un manual con una serie de medidas necesarias para la fortificacin de sistemas Linux, especialmente basndonos en Ubuntu. No ser una gua de referencia general, si no que intentaremos basarnos en aspectos de fortificacin especficos para estos sistemas.

Instalacin y configuracin bsica


Antes de comenzar una instalacin debemos plantearnos una serie de preguntas que nos permitan realizarla de modo efectivo: Qu hardware vamos a emplear (arquitectura, tarjetas de red, etc.)?, Qu versin del sistema operativo?, Cmo vamos a instalar? Desde disco flexible, CD-ROM, va red, ...?, Cmo vamos a configurar la BIOS?, Cmo vamos a particionar los discos?, Qu sistemas de ficheros vamos a emplear? Cul es la configuracin de la red? (en principio no deberamos emplear DHCP para un servidor): Direccin IP Mscara de red Direccin de la puerta de enlace (Gateway) Nombre y dominio del equipo Direcciones de los servidores de nombres Qu sistemas de autentificacin vamos a emplear? Contrasea del administrador? Qu gestor de arranque vamos a emplear? Estas preguntas anteriores parecen sencillas y bsicas, que lo son, pero las debemos tener todas muy claras antes de dar comienzo a nuestra instalacin. Todas ellas son genricas y nos las plantearemos siempre que vayamos a realizar una instalacin de cualquier sistema.

Pgina 2 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Instalacin mnima y comprobacin de la misma


No voy a explicar cmo realizar una instalacin mnima en Ubuntu ya que la instalacin que hagamos en cada momento es diferente dependiendo los servicios que necesitemos o se nos pidan, pero la filosofa de estar clara: nicamente debemos instalar los servicios que necesitemos, es decir nuestra instalacin debe ser mnima. Es muy poco recomendable instalar servicios que no van a ser usados, mucho de ellos abren puertos en nuestro firewall que nunca se usarn, pero si que podrn ser aprovechados por un atacante que est buscando fallos en nuestro sistema. Adems puede que los servicios que no usemos pasemos de ellos y no les actualicemos y a la larga constituyan una vulnerabilidad evidente sobre nuestro sistema al no estar al da en la seguridad. Si accedemos a una consola en nuestra mquina Ubuntu y especificamos el siguiente comando, veremos todos los procesos que tenemos activos en nuestra mquina:

Tambin debemos comprobar el estado de nuestros puertos abiertos con:

Pgina 3 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Si visualizamos el contenido del fichero /etc/rc5.d/ del siguiente modo, veremos todos los scripts que se ejecutan al iniciarse nuestro sistema:

Tambin podemos usar el paquete chconfig para comprobar el estado de todos los programas y procesos de inicio. Antes tendremos que instalarlo:

Y simplemente listamos el contenido que recupera esta aplicacin:

Estos son solo ejemplos de cmo comprobarlos, pero evidentemente no se puede decir cuales o no se tienen que tener abierto, como ya he dicho cada sistema debe valorar que puerto o proceso debe estar operativo.

Pgina 4 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Ojo con el particionado


Este es un aspecto que muchas veces se omite y se deja por defecto, y es que debemos tener mucho cuidado en como particionamos nuestro sistema a la hora de realizar la instalacin, de aqu el tener claro todas las preguntas que realizamos al principio y es que lo primero es tener claro es esquema de particiones a realizar en la cabeza. Independientemente del sistema Unix a instalar tendremos que decidir como particionamos el disco y qu tipo de sistema de archivos vamos a emplear. Supondremos que todo el disco est disponible para nuestro sistema operativo, de modo que no nos tendremos que preocupar de mantener particiones para otros S.O. En el caso ms simple lo normal es definir 1 particin para la memoria de intercambio swap y otra para el sistema de archivos raiz. Adems de estas dos particiones es habitual incluir otra particin dedicada exclusivamente a la informacin de los usuarios, /home en Linux. En sistemas Linux tambin es comn definir una pequea particin donde se instala el ncleo del sistema operativo y todo lo que necesita para arrancar (particin /boot).

Pgina 5 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

El gestor de arranque Para arrancar un sistema Linux se pueden emplear diversos medios: instalar un cargador de arranque en el disco duro o en un disco flexible, arrancar desde otro sistema operativo, etc En este caso hablaremos slo de los sistemas de arranque que se instalan en disco duro, en concreto sobre GRUB que es el sistema de arranque que se usa por defecto en los sistemas operativos Ubuntu: GRUB GRUB (GRand Unified Bootloader) es un sistema de arranque ms potente que el anterior. Una vez instalado en un sector de arranque o en el Master Boot Record (MBR) del disco duro, ejecuta un intrprete de comandos cada vez que iniciamos el sistema que nos permite arrancar prcticamente cualquier sistema operativo actual. Este intrprete se puede usar de modo interactivo o puede leer un fichero de configuracin almacenado en el disco (que por defecto estar en /boot/grub/menu.lst). Una caracterstica importante de GRUB es que es capaz de reconocer gran cantidad de sistemas de ficheros, de modo que no es necesario reinstalarlo cuando cambiamos ese fichero de configuracin, que es simplemente un fichero de texto plano.

Conocer siempre la procedencia del software


Otro concepto que siempre debemos cumplir. Solo debemos instalar paquetes en nuestro sistema que vengan de repositorios oficiales o que nos faciliten las claves pblicas de los ficheros en la descarga, para luego comprobarla nosotros mismos.

Pgina 6 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Mantener siempre el sistema actualizado


Esta es otra de esas normas que siempre deben cumplirse por muy pesadas que sean a veces las actualizaciones, y es que tener al da nuestro sistema con todos sus parches y actualizaciones, es quizs, el primer mtodo de fortificacin. En Linux, Ubuntu en mi caso, lo tenemos muy fcil para tener actualizado siempre nuestro sistema y sus componentes. Abrimos una consola de comandos y especificamos, por este orden: 1. 2. Tambin, si existe una nueva versin de nuestro sistema y queremos implantarla en l, podemos usar el comando:

Eliminar software innecesario


Ya hemos comentado que nuestra instalacin debe ser mnima, y que debemos deshabilitar procesos que no usemos. Lo mismo nos pasa con el software que instalamos y no usamos. Lo mejor es tenerlo siempre al da solo con aquellos programas que vayamos a utilizar. Para eliminar de nuestro sistema programas que ya no deseemos tener, desde una lnea de comandos especificamos: 1. sudo apt-get remove nombre-del-paquete 2. sudo apt-get purge nombre-del-paquete 3. sudo apt-get clean nombre-del-paquete Adems, es recomendable que eliminemos los ficheros que estos paquetes que hemos instalado han copiado a nuestro sistema.

Pgina 7 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Colocar nuestra mquina detrs de un firewall


Debemos siempre que podamos, proteger nuestra mquina con un sistema de cortafuegos que filtre todo lo posible los ataques que vengan del exterior. Dentro de Ubuntu tenemos varias posibilidades, a continuacin veremos un par de ellas. Filtrado bsico de paquetes con UFW UFW (Uncomplicated FireWall) es la herramienta de configuracin de firewall por defecto en Ubuntu. Desarrollado para facilitar la configuracin del firewall Netfilter (Iptables), UFW proporciona una manera fcil de crear un firewall basado en host IPv4 o IPv6. UFW por defecto est deshabilitado inicialmente, no pretende proporcionar una completa funcionalidad de firewall va comandos, pero en su lugar proporciona una modo fcil de aadir y eliminar reglas simples. En la actualidad se utiliza principalmente para cortafuegos basados en host. [1] Si deseamos usar ufw lo primero que debemos hacer es activarlo mediante:

Con la opcin h podemos ver todas las opciones que tiene para usar, y los diferentes comandos, decir que este sistema de filtrado es muy sencillo y que si tenemos ms experiencia con firewalls lo mejor es que utilicemos Netfilter. UFW, en las nuevas versiones, dispone de un entorno grfico GUFW para tener an mayor facilidad a la hora de establecer las reglas en nuestro cortafuegos:

Pgina 8 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Y tendremos un entorno grfico muy sencillo para administrar el firewall de nuestro equipo decidiendo, como ya hemos visto antes que puertos deseamos que estn abiertos y cuales queremos que estn cerrados:

Pgina 9 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Filtrado de paquetes con Netfilter(Iptables) Es quizs el cortafuegos por excelencia de los sistemas Linux, es ms potente que el anterior que hemos visto (UFW), ya que sus reglas son ms especficas, pero tambin debemos tener en cuenta que es ms complicado usar, en principio. A base de usarlo y hacerse con sus sintaxis podemos acostumbrarnos sin problemas. Este sistema es muy potente y permite hacer gran cantidad de cosas con los paquetes que entran, salen y atraviesan nuestros sistemas. Si especificamos sudo iptables L veremos todas las reglas que tienes presentes nuestro cortafuegos:

Y se nos irn mostrando las diferentes tablas (INPUT, FORDWARD, OUTPUT) junto con la poltica que usen (ACCEPT, DROP). En mi caso, tengo abierto y permitido todo el trfico en mi sistema, muy inseguro.

Pgina 10 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

A continuacin voy a mostrar un documento, que ejecutar, con una serie de reglas de configuracin bsica para nuestro firewall:

Lo ejecutamos como sudo y comprobamos de nuevo el estado de nuestro firewall:

Pgina 11 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Shorewall Por ltimo, dentro de nuestros programas para conseguir el filtrado de paquetes seguro y proteger nuestra mquina, vamos a ver Shorewall. Se trata de una herramienta de alto nivel para configurar Netfilter. Debemos especificar el cortafuegos o gateway con los requisitos de las entradas en un conjunto de archivos de configuracin. Shorewall lee los archivos de configuracin y con la ayuda de la utilidad iptables, configura Netfilter segn las necesidades que tengamos. Shorewall se puede utilizar en un sistema de servidor de seguridad, en un router o servidor o en un host Linux independiente. Shorewall no usa el modo de compatibilidad de netfilter (iptables). Este programa no viene por defecto instalado en nuestro sistema por lo que lo primero que debemos hacer es instalarlo mediante:

(El segundo paquete es opcional, aunque es recomendable ya que tiene la documentacin pertinente sobre el paquete) Una vez instalado vamos a comenzar con su configuracin. Al igual que con Netfilter (Iptables) vamos a ver cmo realizar una configuracin bsica del paquete. 1. Configuramos shorewall para que se inicie al arrancar nuestro sistema, por lo que iremos al fichero /etc/default/shorewall y realizaremos la siguiente modificacin: Antes:

Despus:

Los archivos de configuracin de Shorewall se almacenan en /etc/default/shorewall y en /usr/share/shorewall estn los ficheros de apoyo y los que realizan las acciones que le estipulemos.

Pgina 12 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

2. Ahora necesitaremos copiar los ficheros de configuracin bsicos de shorewall del fichero /usr/share/doc/shorewall/default-config al fichero de configuracin /etc/shorewall:

Y comprobamos que se han copiado todos correctamente:

3. El siguiente paso es configurar las zonas, por lo que editaremos el fichero zones dentro de /etc/shorewall para que nuestra nica zona sea la de IPV4.

Y aadimos la siguiente lnea al final del archivo:

Pgina 13 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

4. Vamos a ver ahora como configurar las interfaces, para ello editaremos el fichero /etc/shorewall/interfaces, de este modo definiremos las zonas especificadas antes con una interfaz real. Debemos comprobar que interfaz es la que escucha en nuestro equipo o cules son las que tenemos para ver de qu manera tenemos que filtrar el trfico en cada una:

Y ahora podemos editar el archivo:

5. El siguiente paso es configurar nuestra poltica por defecto, esta entra en accin cuando no hay reglas especificadas para un puerto o protocolo concreto, por lo que debemos elegirla bien. A menudo se establece la poltica por defecto REJECT (rechazar) o DROP por defecto, y luego configuraremos especficamente los puertos y servicios que deseemos estn permitidos, y aquellos que no se configuran por defecto son rechazados. Editaremos el fichero /etc/shorewall/policy, un ejemplo de esta poltica (en base a las zonas e interfaces que hemos utilizado anteriormente) sera la siguiente:

Pgina 14 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

6. Por ltimo vamos a ver como configurar reglas, en el que especificaremos aquellos puertos que deseemos que nuestro sistema tenga abierto o cerrado. El fichero de configuracin de reglas es /etc/shorewall/rules

En este ejemplo estaremos aceptando cualquier ping (ICMP) desde Internet a la mquina, adems acepta cualquier conexin TCP desde Internet sobre los servicios ssh, www, https, etc.. Adems se acepta a travs de Internet las conexiones UDP a https. 7. Por ltimo, activaremos nuestro firewall, para ello nos dirigimos al directorio con los scripts de iniciacin de programas, que es /etc/init.d/ y arrancamos (start) el correspondiente a shorewall:

Pgina 15 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Debemos comprobar el estado de nuestros puertos ahora que hemos activado y configurado shorewall:

Y si lo paramos

y lo volvemos a comprobar, veremos que nuestro cortafuego shorewall estaba correctamente configurado y actuando correctamente segn las opciones configuradas:

Pgina 16 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Verificar la seguridad de los archivos clave del sistema


Nuestro sistema Ubuntu, tiene una serie de ficheros y directorios los cuales es importantsimo que protejamos con los permisos especficos y sobre todo que no tengan permisos absolutos sobre ellos y que cualquier usuario pueda acceder. El fichero /etc/fstab: Debemos asegurarnos que el propietarios y el grupo sea root para ambos y que los permisos que tenga sean del tipo 664 (-rw-r--r--) Comprobaremos que los siguientes ficheros tienen como propietario el usuario root: o /etc/passwd o /etc/shadow o /etc/group Verificaremos los siguientes ficheros tienenlos permisos 664 (rw-r--r--) o /etc/passwd o /etc/group Comprobamos que los permisos del fichero /etc/shadow son 400 (r--------)

Limitar el acceso root con sudo


Sudo permite a un administrador proporcionar a diferentes usuarios la posibilidad de ejecutar algunos comandos como root. El archivo sudoers controla el acceso de comandos que controla sudo. Es importante, muy importante, que nunca realicemos tareas de administracin como root y si que lo hagamos como sudo o como un usuario que especifiquemos en el fichero de sudoers. Por ejemplo, de la siguiente manera permitiremos solo a los usuarios administradores ver y usar su y sudo:

Pgina 17 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Proteger nuestras contraseas


Tambin debemos tener en cuenta de que manera especificamos o creamos nuestras contraseas, es decir, el nmero de caracteres, la longitud de la misma, la combinacin de caracteres numricos y alfanumricos. Pero es cierto que a veces todo esto no vale y tenemos que realizar una encriptacin de nuestras contraseas. Podemos hacerlo en Ubuntu, dese la lnea de comandos, de la siguiente manera:

Dependiendo del tipo de encriptacin que deseemos usar, sha1 es mejor. Podemos intenar desencriptarlas, por ejemplo desde un servicio online como es: http://md5.rednoize.com/ y comprobamos que no las consigue adivinar:

Tambin podemos usar algn programa especfico para encriptar nuestros passwords, como por ejemplo Entropy Password Generator.

Pgina 18 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Asegurar la memoria compartida


El directorio /dev/shm/ contiene una serie de ficheros:

Los cuales pueden ser usados en un ataque para arrancar un servicio, como por ejemplo httpd. De modo que vamos a ver una sencilla manera de proteger este directorio, que no es ms que editar el fichero /etc/fstab e introducir la siguiente lnea:

Pgina 19 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Eliminar kernels obsoletos


La limpieza de los kernels obsoletos, es una tarea que solemos hacer cuando tenemos el GRUB cargado de entradas, o simplemente cuando nos damos cuenta de que tenemos unas cuantas actualizaciones atrasadas y estn cargando el sector de arranque, y necesitamos ese espacio para otros nuevos o simplemente para otras aplicaciones. Lo ms sencillo es limpiarlo mediante herramientas grficas, como Tweak, pero debemos saber hacerlo tambin a mano desde la lnea de comandos: 1. Abrimos un terminal y listamos todos los kernels que tenemos instalados en nuestro sistema:

2. Listamos el nombre del kernel que tenemos en uso actualmente, evidentemente debemos saber cual debemos borrar:

3. Borramos de forma manual el kernel o kernels sobrantes:

Continuaremos para liberar el espacio que ocupa dicho kernel. Comprobamos que se ha eliminado de manera correcta:

Pgina 20 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Otra opcin que tenemos para eliminar kernels obsoletos y que nos suele aparecer cuando vamos a instalar algn paquete desde los repositorios de Ubuntu en lnea de comandos es apt-get autoremove:

Copias de seguridad
Debemos tener siempre una buena poltica de copias de seguridad. Si lo hemos realizado, podremos guardar las copias y reinstalar el sistema. Tambin es muy aconsejable el crear imgenes del sistema (Drive Image, partimage) para poder restaurarla y con ella los datos de las copias de seguridad. Si no hemos hecho esto, entonces deberemos de crear una copia exacta (dd) del disco vulnerado con un CDLive o disco de rescate y reinstalar el sistema. De forma que podemos usar ste para investigar la intrusin mientras el otro se reinstala. Debemos de asegurarnos que todas las contraseas sean distintas a la ltima vez, ya que si alguien consigui hacerse root, seguramente sepa la contrasea de ste.

Pgina 21 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Bloquear los ataques SSH: DenyHosts


Vamos a usar denyhosts para intentar de bloquear la mayora, ya que todos es prcticamente imposible, de los ataques SSH. Si estamos preocupados por la seguridad relacionad con los ataques de fuerza bruta ya sea por medio de diccionarios o a mano, debemos utilizar esta herramienta. DenyHosts es una apliacin que nos permitir detectar posibles ataques antes de que estos tengan efecto. La manera en que funciona DenyHosts es monitoreaando el archivo /var/log/auth.log (en el caso de Ubuntu) para detectar errores de autentificacin al sistema y despus bajo ciertas reglas bloquea la IP o servicio que queramos mediante el archivo /etc/hosts.deny Para instalar esta herramienta desde una consola especificamos:

De forma automtica, cuando termine la instalacin, el paquete ya estar activo:

Despus procedemos con la configuracin que se encuentra en /etc/denyhosts.conf e algunos de los parmetros importantes como los siguientes:

Pgina 22 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Reiniciaremos el servicio para que los cambios tomen efecto:

Si hemos configurado el correo de manera correcta, yo lo he hecho para Gmail, cuando alguien intente acceder a nuestra mquina, si DenyHosts lo detecta nos debera de llegar un mensaje electrnico con el siguiente formato: Added the following hosts to /etc/hosts.deny: 192.168.1.4

Desactivar logueo root mediante SSH Como apunte, es muy recomendable, en el caso de tener el acceso root activado en nuestra mquina, desactivarlo para que no se pueda acceder va SSH como root. Para ello editamos el fichero /etc/ssh/sshd_config y especificamos como no el parmetro PermitRootLogin:

Pgina 23 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Activar la carpeta Private para guardar datos confidenciales


No hay que ser un usuario experto para acceder a los datos almacenados en un ordenador con GNU/Linux. De hecho, si compartes el ordenador con otra persona, para que esta persona pueda ver tus archivos, slo tiene que abrir Nautilus y buscar tu carpeta home. Sin embargo, imaginemos que alguien llega a acceder a nuestro servidor fsicamente. Cualquiera podra iniciarlo con un LiveCD y acceder a toda nuestra informacin privada sin que nadie se lo impidiera. Ubuntu tiene previsto, desde la versin 8.10 un mecanismo fcil de usar, con el que se puede crear una carpeta especial, que recibe el nombre de Private y que en realidad es un archivo cifrado con ecryptfs. Todo lo que almacenemos dentro de esa carpeta permanecer invisible para quien pretenda acceder sin iniciar sesin con nuestro nombre de usuario y contrasea. De modo que realizaremos la instalacin de los componentes necesarios, en este caso el ya comentado ecryptfs:

Cuando se complete la instalacin, necesitaremos crear la propia carpeta, para ello escribiremos en un terminal:

Lo primero que har ser preguntarnos por el login, que se refiere a la contrasea de nuestro usuario actual. Nos solicitar a continuacin un mount password que se trata de una frase de paso, que puede estar formada de varias palabras, si pulsamos into se generar una de manera automtica.

Pgina 24 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Como nos indica el texto que aparecer a continuacin en la pantalla, es importante que la anotes y no la pierdas porque, aunque el proceso de montaje del archivo cifrado es automtico y no se te volver a pedir la clave, si hubiese un problema futuro que impidiera dicho montaje automtico, sin la contrasea no podras montar el archivo de forma manual y perderas los datos definitivamente:

Una vez realiazdos estos pasos, vamos a comprobar que nuestra carpeta privada Private se ha creado dentro de nuestro directorio /home/usuario:

Y el contenido inicial de la misma:

NOTA: Si no vemos la carpeta nada mas crearlo es probable que necesitemos cerrar la sesin del usuario y volver a entrar o incluso reiniciar el sistema.

Pgina 25 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Para acabar con esta sencilla pero muy til aplicacin, vamos hacer un pequeo truco para que se guarde todo el contenido de una carpeta que deseemos dentro del directorio prvate de manera automtica. Por ejemplo, deseamos que la carpeta documentos, sea siempre privada. Para ello movemos el directorio documentos dentro de prvate:

Y comprobamos que ya no aparece. A continuacin crearemos un enlace para que la carpeta siga disponible en el mismo lugar donde lo estaba anteriormente, as no se notar la diferencia:

Podemos comprobar de nuevo como se muestra nuestra carpeta Documentos, pero en diferente color, lo que indica que es un enlace simblico y que apunta a la carpeta Documentos que hay dentro de Private:

Pgina 26 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Rootkits en nuestro equipo


Es un programa que se maneja mediante consola. Permite localizar rootkits conocidos, realizando mltiples pruebas en las que busca entre los binarios modificados por dicho software, archivos PHP sospechosos, etc. Es una herramienta muy simple pero eficaz en cuanto a deteccin. Tecleamos en una consola la siguiente orden para realizar la descarga e instalacin:

Una vez instalado podemos ejecutar Chkrootkit introduciendo en un terminal:

Chkrootkit nos presentar un completo informe con el resultado del anlisis y probablemente har alguna sugerencia. Debemos confirmar que los resultados obtenidos son del tipo not infected (no infectado) o not found (no encontrado, tambin puede mostrar nothing found)

Pgina 27 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Si lo deseamos, podemos arrancar Chrootkit en modo experto especificando la opcin x al lanzarlo. Lo normal es que esta opcin nos devuelva un informe bastante largo, por lo que al visualizarlo desde un terminal probablemente se desborde y no lo podamos analizar entero, recomiendo que lo guardemos en un fichero de texto plano, como se ve a continuacin, para luego revisarlo:

Si entramos a analizar el archivo podemos comprobar el tamao de este, en la siguiente imagen podemos ver el tamao de la barra de navegacin y hacernos una idea de la extensin del mismo:

De todos modos, es recomendable usar la opcin de escaneo de rootkits bsica, ya que la informacin, aunque es mas reducida, tambin es mas sencilla de entender y analizar.

Pgina 28 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Antivirus en Linux
Este es uno de esos temas que mucha gente omite en sus sistemas Linux. Se repite una infinidad de veces: Ubuntu no necesita antivirus, pero tenemos que saber que esta afirmacin es del todo incierta. En este caso, para ver como acta de manera breve un antivirus dentro de Ubuntu, voy a instalar seguramente el antivirus, de cdigo abierto, mas conocido que se llama ClamAV. ClamAV est disponible para sistemas operativos Ubuntu y Kubuntu y para poder usarlo correctamente debemos tambin descargar el paquete que instala Clamtk que es el entorno grfico (GUI) que necesita este programa par trabajar. Por lo que para instalarlo desde una lnea de comandos, realizamos la siguiente instruccin:

Cuando termine la instalacin, para lanzarlo tenemos que especificar clamtk en una consola:

Pgina 29 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Como vemos nuestro antivirus est activo desde el momento de la instalacin y podemos, entre otras accin, analizar el contenido de una carpeta o directorio, todo el home del usuario (de maneara mas o menos exhaustiva) o el contenido de un dispositivo:

Por ejemplo vamos a ver de que manera realizar un escaneo rpido de nuestro directorio home:

Pgina 30 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Al igual que el resto de antivirus, con este podemos aislar archivo en cuarentena

o planificar cuando y sobre que directorios debe nuestro antivirus actuar:

Pgina 31 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Herramientas especficas
A continuacin vamos a ver una serie de herramientas especficas que nos ayudaran a administrar nuestro sistema Ubuntu y tenerlo al da, y lo ms protegido que nos sea posible.

Ubuntu Tweak
Ubuntu Tweak es una aplicacin que se encarga de facilitar el acceso a estos parmetros grficamente y de ayudar en su configuracin. Cada parmetro est dividido temticamente en cuatro secciones: arranque escritorio sistema seguridad

Cada seccin contiene diversos apartados que muestran las distintas opciones con su correspondiente descripcin. Este software os ayudar, entre otras muchas acciones, a borrar de manera sencilla kernels inutilizados existentes en nuestro sistema o limpiar de manera segura la particin /boot de nuestro disco duro. Para instalar Ubuntu Tweak haremos los siguientes pasos desde la lnea de comandos: 1. 2. 3. NOTA: Estos son los pasos necesarios para la distribucin de Ubuntu 11.04, se deben revisar si vamos a realizar la instalacin de este paquete sobre otro sistema. De modo que ya podremos acceder a l y comprobar cmo esta sencilla herramienta nos ayuda grficamente a tener al da nuestro sistema:

Pgina 32 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Como ya he dicho, este programa buscar en el sistema paquetes sobrantes y podemos decidir si eliminarlos o no:

Tambin nos da la posibilidad de configurar opciones bsicas de seguridad, como deshabilitar la opcin de ejecutar comandos desde el entorno grfico entre otras:

Pgina 33 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

WireShark: Control del trfico de la red


Wireshark es un analizador de paquetes de red, una utilidad que captura todo tipo de informacin que pasa a travs de una interfaz. Wireshark es gratis y de cdigo abierto (open source), y se puede usar para diagnosticar problemas de red, efectuar auditoras de seguridad y aprender ms sobre redes informticas. Uno de los usos ms principales de Wireshark es la captura de paquetes, cuyos contenidos (mensajes, cdigo, o contraseas) son visibles con un clic. Los datos se pueden filtrar, copiar al portapapeles o exportar. [2]

Pros Anlisis de datos en tiempo real o guardados Compatible con ms de 480 protocolos Abre ms de 20 formatos de captura Abundante documentacin en lnea Contras Curva de aprendizaje muy elevada

Lo instalaremos desde una lnea de comandos mediante:

Y configuraremos para no tener que ejecutarlo como root: 1. Editamos el archivo group y creamos un grupo llamado Wireshark, y dentro del mismo colocamos el nombre de nuestro usuario en el equipo de la siguiente manera: 2. Volvemos a la consola ejecutamos: Para cambiar el grupo de Wireshark. 3. En la misma consola, ejecutamos: De este modo le estamos cambiando los permisos que tenamos sobre la carpeta dumcap para tener pleno control sobre ella.

Pgina 34 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Tras estos pasos comprobamos, vamos a comprobar que est correctamente instalado y configurado, por lo que cerramos sesin y volvemos a entrar con el mismo usuario. Abrimos Wireshark desde el modo grfico o desde consola sin escribir sudo y vemos como Wireshark escucha correctamente sobre la interfaz que elijamos sin necesidad de arrancarlo con privilegios de root. Lanzar de nuevo un simple scan con nmap para comprobar que Wireshark captura correctamente el trfico:

Pgina 35 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

BASTILLE
Se trata de una herramienta interactiva de fortificacin. Ayuda a implementar una poltica de seguridad guiando al administrador a travs de distintas preguntas. Portable y robusta. Para instalar Bastille, lo haremos como de costumbre desde una lnea de comandos, especificando:

Podemos ver todos los paquetes extras que necesita esta aplicacin y que algunos de ellos tendremos que ir configurando durante la instalacin de bastille. La primera que deberemos configurar en la del correo Postfix:

En principio especificaremos Sitio de Internet ya que enviaremos y recibiremos correos directamente usando SMTP.

Pgina 36 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Seguiremos con la configuracin de Postfix y a continuacin especificamos una direccin de correo, que no tiene porque ser real:

Una vez terminada la instalacin lazamos bastille:

NOTA: Es necesario tener Perl instalado en nuestra mquina, si no lo tenemos debemos instalarlo mediante la siguiente instruccin:

Lo primero tras iniciarlo ser aceptar los trminos de uso:

Pgina 37 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Segn los aceptemos se lanzar la interfaz grfica del programa:

Como vemos la pantalla est dividida en dos apartados, a la izquierda aparecen en una lista todos los mdulos disponibles, si vamos eligiendo cada uno de ellos, el que nos interese, en el apartado de la derecha veremos una explicacin explanation y se nos realizar una pregunta sobre que queremos hacer con dicho mdulo, que debemos responder en la parte de debajo de la pantalla, apartado answer.

Pgina 38 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Por ejemplo podemos elegir de qu modo se arranca el filtrado de nuestros paquetes en el cortafuegos:

Seleccionamos Yes y pulsamos OK para continuar.

Pgina 39 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Del mismo modo, tareas sencillas como activar o desactivar el servicio web apache tambin se pueden hacer desde Bastille de manera segura:

Este software para hardening tiene ms posibilidades y ciertamente es bastante sencillo de usar, adems de contar con buenas explicaciones.

Pgina 40 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Administrador de servicios BUM


BUM es una aplicacin Perl-Gtk2 que nos ayuda a configurar los niveles de ejecucin de nuestro sistema. Con este programa un usuario puede fcilmente iniciar o parar los scripts de arranque, sin tener necesidad de manejar comandos o permisos. Digamos que es la manera sencilla de parar y arrancar aquellos procesos que simplemente debemos y queremos tener activados en nuestro sistema. BUM est disponible en los repositorios de Ubuntu, y para descargarlo e instalarlo introducimos en un terminal:

Una vez instalado, tendremos una nueva entrada con el programa sobre Sistema>Administracin>BootUp-Manager:

Nada mas abrirlo comprobar el estado de nuestro sistema (puede tardar un poco en analizarlo) y nos mostrar una interfaz grfica con todos los servicios que tenemos en nuestro equipo actualmente:

Pgina 41 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Nos informar si estn o no en ejecucin (si puede), adems algo que es de gran ayuda, nos muestra una lnea sobre cada uno de los procesos para identificarlos siempre de manera correcta. Por ejemplo, podemos probar a desactivar, desticando sobre el apartado Activar aquel proceso que deseemos parar y pulsando sobre Aplicar:

En este caso voy a para el servicio web apache, que podemos ver de fondo que actualmente est activo, y podremos elegir si hacerlo ahora o cuando se reinicie el sistema. Una vez parado comprobamos que efectivamente nos ha parado dicho proceso y as nos lo marca la bombilla apagada que muestra BUM:

Pgina 42 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Lista de herramientas para seguridad


Vamos a ver una lista de herramientas que pueden sernos tiles en nuestro sistema Linux, para protegerlo todo lo que deseemos o podamos: 1. Bastionado: a. Bastille Linux b. Makejail c. Jailer d. SElinux e. Grsecurity f. Firewall: i) Watchguard ii) Dante iii) Sinus iv) Firewal v) Uso de IP firewalling chains (netfilter): a. Ipfwadm (kernel 2.0) b. Ipchains (kernel 2.2) c. Iptables (kernel 2.4), utilidades: d. Terminal: (1) Uso de scripts propios iptables. (2) ferm (3) zorp (4) ipac-ng (5) gfcc (6) firewall-easy (7) fwctl (8) Pcxfirewall (9) shorewall e. Grficas: (1) EasyFw (2) Knetfilter (3) FirewallBuilder (fwbuilder) (4) KMyFirewall (5) Firestarter (6) Firewall Monitor (Fwmon) f. Web: (1) bastion-firewall (2) mason (3) Desde Webmin (mdulo)

Pgina 43 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

g. Comerciales: (1) Smoothwall (2) Smoothguard (3) Securepoint Firewall2 2. Auditora a. Tiger b. Nikto c. John d. Crack e. Flawfinder f. Rats 3. Proteccin del terminal a. Block 4. Monitorizacin de integridad a. Aide b. Integrit c. Tripwire d. fcheck. e. Monitorizacin: i. Logcheck ii. syslog-ng iii. ucd-snmp iv. fwlogwatch v. fwctl 5. Evaluacin de vulnerabilidad remota. a. nessus b. raccess c. whisker d. nikto (reemplazo de whisker) e. bass (no libre) f. satan (no libre) g. Herramientas de revisin de redes: i. nmap ii. xprobe iii. queso iv. knocker v. hping2 vi. isic vii. icmpush viii. nbtscan
Pgina 44 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

6. Deteccin de intrusos: a. Snort b. Tiger c. Ippl d. Chkrootkit e. psad f. portsentry. g. Iftop h. Tcpdum i. Tcpwrappers

7. Anlisis forense a. Tct b. Strace c. Ltrace d. fenris.

8. Antivirus a. ClamAV Antivirus b. Sanitizer c. Amavis-postfix d. Open antivirus e. Comerciales (Panda, Jvirus, TrendM icro, Sophos)

Pgina 45 de 46

Eduardo Bayn Cascajo

Seguridad Informtica

Bibliografa y Webgrafa
[1]Uncomplicated Firewall http://doc.ubuntu-es.org/UFW [Consulta el da 14 de marzo de 2012] [2]Wireshark, Captura y analiza informacin de cualquier red http://wireshark.softonic.com/ [Consulta el da 14 de marzo de 2012]

Pgina 46 de 46

You might also like