Professional Documents
Culture Documents
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
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.
Pgina 2 de 46
Seguridad Informtica
Pgina 3 de 46
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:
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
Seguridad Informtica
Pgina 5 de 46
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.
Pgina 6 de 46
Seguridad Informtica
Pgina 7 de 46
Seguridad Informtica
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
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
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
Seguridad Informtica
A continuacin voy a mostrar un documento, que ejecutar, con una serie de reglas de configuracin bsica para nuestro firewall:
Pgina 11 de 46
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
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:
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.
Pgina 13 de 46
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:
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
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
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
Seguridad Informtica
Pgina 17 de 46
Seguridad Informtica
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
Seguridad Informtica
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
Seguridad Informtica
2. Listamos el nombre del kernel que tenemos en uso actualmente, evidentemente debemos saber cual debemos borrar:
Continuaremos para liberar el espacio que ocupa dicho kernel. Comprobamos que se ha eliminado de manera correcta:
Pgina 20 de 46
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
Seguridad Informtica
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
Seguridad Informtica
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
Seguridad Informtica
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
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:
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
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
Seguridad Informtica
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
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
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
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
Seguridad Informtica
Al igual que el resto de antivirus, con este podemos aislar archivo en cuarentena
Pgina 31 de 46
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
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
Seguridad Informtica
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
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
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
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
Seguridad Informtica
Seguiremos con la configuracin de Postfix y a continuacin especificamos una direccin de correo, que no tiene porque ser real:
NOTA: Es necesario tener Perl instalado en nuestra mquina, si no lo tenemos debemos instalarlo mediante la siguiente instruccin:
Pgina 37 de 46
Seguridad Informtica
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
Seguridad Informtica
Por ejemplo podemos elegir de qu modo se arranca el filtrado de nuestros paquetes en el cortafuegos:
Pgina 39 de 46
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
Seguridad Informtica
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
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
Seguridad Informtica
Pgina 43 de 46
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
Seguridad Informtica
6. Deteccin de intrusos: a. Snort b. Tiger c. Ippl d. Chkrootkit e. psad f. portsentry. g. Iftop h. Tcpdum i. Tcpwrappers
8. Antivirus a. ClamAV Antivirus b. Sanitizer c. Amavis-postfix d. Open antivirus e. Comerciales (Panda, Jvirus, TrendM icro, Sophos)
Pgina 45 de 46
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