Post on 20-Jan-2016
description
11
Intrusión y respuestaIntrusión y respuesta
Yeray Santana BenítezYeray Santana Benítez
22
IntroducciónIntroducción
Las empresas manejan gran cantidad de Las empresas manejan gran cantidad de información que guardan en sus sistemas información que guardan en sus sistemas informáticos.informáticos.
Como administradores de sistemas debemos Como administradores de sistemas debemos asegurar la integridad y seguridad de nuestros asegurar la integridad y seguridad de nuestros equipos.equipos.
Un sistema de detección de intrusiones (IDS) es un Un sistema de detección de intrusiones (IDS) es un proceso o dispositivo que analiza al sistema y/o la proceso o dispositivo que analiza al sistema y/o la actividad de la red con el objetivo de encontrar actividad de la red con el objetivo de encontrar entradas no autorizadas o actividad maliciosa. entradas no autorizadas o actividad maliciosa.
33
Clasificación de los IDSClasificación de los IDS
IDS basados en hosts: intentan IDS basados en hosts: intentan determinar actividades maliciosas, determinar actividades maliciosas, abusivas o intrusión. Para ello abusivas o intrusión. Para ello comparan los logs del sistema con una comparan los logs del sistema con una base de logs interna que representan base de logs interna que representan ataques conocidos.ataques conocidos. Tripwire, SWATCH, RPMs (verificación de Tripwire, SWATCH, RPMs (verificación de
cambios en archivos: tamaño, permisos).cambios en archivos: tamaño, permisos).
44
IDS basados en la red: escanean los IDS basados en la red: escanean los paquetes que circulan por la red paquetes que circulan por la red creando logs asociados a paquetes creando logs asociados a paquetes sospechosos. Luego comparan dicha sospechosos. Luego comparan dicha información con una base de datos información con una base de datos interna. Muchos de estos sistemas de interna. Muchos de estos sistemas de detección necesitan actuar en modo detección necesitan actuar en modo promiscuo para poder capturar todos promiscuo para poder capturar todos los paquetes que circulan por la red.los paquetes que circulan por la red. Ifconfig eth0 promiscIfconfig eth0 promisc
55
1. Audición y monitorización1. Audición y monitorización
Usaremos dos herramientas:Usaremos dos herramientas: Saint para escuchar hosts de nuestra Saint para escuchar hosts de nuestra
red y descubrir vulnerabilidades.red y descubrir vulnerabilidades. Swatch para monitorizar logs.Swatch para monitorizar logs.
66
SAINT: Security SAINT: Security Administrator’s Integrated Administrator’s Integrated
Network ToolNetwork Tool Escanea ordenadores de una red y Escanea ordenadores de una red y
comprueba las vulnerabilidades mediante comprueba las vulnerabilidades mediante una base de datos dependiente del S.O. una base de datos dependiente del S.O.
Reporta la información necesaria para Reporta la información necesaria para determinar dichas vulnerabilidades.determinar dichas vulnerabilidades.
Necesita ciertos requisitos para ser Necesita ciertos requisitos para ser instalado:instalado: Perl 5.0 o superior.Perl 5.0 o superior.
http://www.cpam.orghttp://www.cpam.org Samba: en caso de tener equipos en la red con Samba: en caso de tener equipos en la red con
Windows.Windows.
77
Nmap: comprueba puertos de la redNmap: comprueba puertos de la red http://www.insecure.org/nmap/http://www.insecure.org/nmap/ $ tar -xzf nmap-2.53.tgz$ tar -xzf nmap-2.53.tgz $ cd nmap-2.53$ cd nmap-2.53 $ ./configure$ ./configure […][…] $ make$ make […][…] $ su$ su Password:Password: # make install# make install […][…] # exit# exit $$
88
Descargamos Saint desde Descargamos Saint desde http://www.wwdsi.com/saint/downloads/http://www.wwdsi.com/saint/downloads/ $ tar –xzf saint-3.1.2.tar.gz.tgz$ tar –xzf saint-3.1.2.tar.gz.tgz $ cd saint-3.1.2$ cd saint-3.1.2 $ ./configure$ ./configure […][…] $ make$ make […][…] $ su$ su Password:Password: # make install# make install mkdir –p /usr/local/man/man1mkdir –p /usr/local/man/man1 install –c –o root –g 0 –m 444 saint.1 install –c –o root –g 0 –m 444 saint.1 /usr/local/man/man1/saint./usr/local/man/man1/saint.
##
Debemos tener una versión actualizada del Debemos tener una versión actualizada del programa ya que los ataques y las programa ya que los ataques y las vulnerabilidades están en continua evolución.vulnerabilidades están en continua evolución.
99
Usando SaintUsando Saint
Se ha de tener privilegios de superusuario y Se ha de tener privilegios de superusuario y ejecutarlo en un terminal X.ejecutarlo en un terminal X.
Saint se ejecuta en una ventana de navegador. Saint se ejecuta en una ventana de navegador. ./Saint./Saint
Una vez se ha abierto la ventana, debemos ir a la Una vez se ha abierto la ventana, debemos ir a la opción “Target Selection”, que nos llevará a otra opción “Target Selection”, que nos llevará a otra ventana en la que declararemos los hosts que ventana en la que declararemos los hosts que queremos escanear.queremos escanear.
Podemos poner el nombre del host Podemos poner el nombre del host “myhost.mynet.net”, direcciones IP o subredes “myhost.mynet.net”, direcciones IP o subredes enteras. Si ponemos más de un equipo deberá enteras. Si ponemos más de un equipo deberá haber un espacio entre ellos.haber un espacio entre ellos.
1010
Una vez elegidos los equipos a escanear, Una vez elegidos los equipos a escanear, seleccionamos la intensidad del seleccionamos la intensidad del escaneado. Ahora estamos listos para escaneado. Ahora estamos listos para proceder con la audición pinchando sobre proceder con la audición pinchando sobre el botón “Start the scan”.el botón “Start the scan”.
NO se debe usar la ventana web que se NO se debe usar la ventana web que se abre para navegar fuera de la red, ya que abre para navegar fuera de la red, ya que SAINT es ejecutado con privilegios de root SAINT es ejecutado con privilegios de root y guarda información usando el Netscape.y guarda información usando el Netscape.
Picamos sobre la opción de recargar la Picamos sobre la opción de recargar la pagina del navegador y pinchamos sobre pagina del navegador y pinchamos sobre “Yes”: empezará entonces la busqueda de “Yes”: empezará entonces la busqueda de vulnerabilidades.vulnerabilidades.
1111
Una vez que SAINT termine de escanear, Una vez que SAINT termine de escanear, pinchamos sobre ”Continue with report pinchamos sobre ”Continue with report and analysis”.and analysis”.
En la pantalla de “Data analysis” se nos En la pantalla de “Data analysis” se nos muestra una serie de opciones cada una muestra una serie de opciones cada una de las cuales muestra información sobre de las cuales muestra información sobre vulnerabilidades o posibles vulnerabilidades o posibles vulnerabilidades que SAINT encontró.vulnerabilidades que SAINT encontró.
Pinchamos sobre “By approximate danger Pinchamos sobre “By approximate danger level” y se nos mostrarán todas las level” y se nos mostrarán todas las vulnerabilidades del sistema.vulnerabilidades del sistema.
1212
Cada vulnerabilidad está listada por host y titulo. Cada vulnerabilidad está listada por host y titulo. Pinchando sobre el link obtenemos información Pinchando sobre el link obtenemos información detallada:detallada: El nombre y links a información más detallada.El nombre y links a información más detallada. Información para determinar como afecta la Información para determinar como afecta la
vulnerabilidad al sistema.vulnerabilidad al sistema. El nivel de peligro.El nivel de peligro. Los tipos y versiones del software y S.O. a los que Los tipos y versiones del software y S.O. a los que
afecta.afecta. Posibles soluciones para eliminar o recuperarse de Posibles soluciones para eliminar o recuperarse de
un ataque.un ataque.
El grado en que la vulnerabilidad afecta al sistema se El grado en que la vulnerabilidad afecta al sistema se declara con un semáforo:declara con un semáforo: Si el indicador es amarillo, se ha de estudiar la Si el indicador es amarillo, se ha de estudiar la
vulnerabilidad para ver si realmente afecta al vulnerabilidad para ver si realmente afecta al sistema.sistema.
Si el indicador es rojo, la vulnerabilidad afecta al Si el indicador es rojo, la vulnerabilidad afecta al sistema.sistema.
1313
SWATCHSWATCH
Herramienta escrita en PERL cuya Herramienta escrita en PERL cuya función es la de monitorizar logs y función es la de monitorizar logs y actuar en consecuencia:actuar en consecuencia: Mandar un fax, lanzar un beeper,…Mandar un fax, lanzar un beeper,…
Se puede descargar de: Se puede descargar de: ftp://ftp.stanford.edu/general/securityftp://ftp.stanford.edu/general/security-tools/swatch/ -tools/swatch/
1414
Instalando SWATCHInstalando SWATCH Instalación:Instalación:
$ tar -xf swatch.tar$ tar -xf swatch.tar $ cd swatch-3.0.1$ cd swatch-3.0.1 $ perl Makefile.PL$ perl Makefile.PL […][…] $ make$ make […][…] $ su$ su Password:Password: # make install# make install […][…] ##
1515
Usando SWATCHUsando SWATCH Interfaz: Línea de comandos al que se la Interfaz: Línea de comandos al que se la
pasan parametros:pasan parametros: Swatch –c matchfile - -tail logfileSwatch –c matchfile - -tail logfile
Logfile es el path a cualquiera de los logs del sistema.Logfile es el path a cualquiera de los logs del sistema. Matchfile es el path a un fichero de texto que Matchfile es el path a un fichero de texto que
contendrá la configuración.contendrá la configuración.
Una vez configurado, se puede considerar Una vez configurado, se puede considerar la posibilidad de ejecutar el programa en la posibilidad de ejecutar el programa en segundo plano, o dedicar un equipo en segundo plano, o dedicar un equipo en exclusiva para monitorizar todas las exclusiva para monitorizar todas las acciones de las subredes en cuestión.acciones de las subredes en cuestión.
1616
El fichero matchfileEl fichero matchfile
Se empieza el fichero indicando Se empieza el fichero indicando cadenas que contendrán el log cadenas que contendrán el log especificado para las que queremos especificado para las que queremos una alerta:una alerta: Watchfor /ROOT LOGIN|UID=0/Watchfor /ROOT LOGIN|UID=0/
Indica si hay actividad del root en el log Indica si hay actividad del root en el log especificado.especificado.
Después especificamos las acciones a Después especificamos las acciones a realizar.realizar.
1717
Acciones soportadasAcciones soportadas echo [mode]: muestra el log vigilado, por la echo [mode]: muestra el log vigilado, por la
terminal. Mode indica el formato del texto: bold, terminal. Mode indica el formato del texto: bold, undescore, blink, inverse, black, red, , green, undescore, blink, inverse, black, red, , green, yellow, cyan, blue, white, black_h, red_h, etc.yellow, cyan, blue, white, black_h, red_h, etc.
bell [count]: emite una señal. Count indica el bell [count]: emite una señal. Count indica el numero de tonos.numero de tonos.
exec command [args]: ejecuta el comando exec command [args]: ejecuta el comando especificado.especificado.
mail [addr], [subj]: envía un mensaje de correo mail [addr], [subj]: envía un mensaje de correo electrónico a las direcciones especificadas en electrónico a las direcciones especificadas en addr con el título especificado en subj.addr con el título especificado en subj.
1818
Pipe command: envía la entrada que se Pipe command: envía la entrada que se busca en el log como parámetro al busca en el log como parámetro al comando.comando.
write [user]: escribe la entrada del log en el write [user]: escribe la entrada del log en el terminal definido por user. Podemos poner terminal definido por user. Podemos poner más usuarios separándolos con “:”.más usuarios separándolos con “:”.
Throttle h:m:s: si se repite la entrada en el Throttle h:m:s: si se repite la entrada en el log más de una vez en el periodo de tiempo log más de una vez en el periodo de tiempo descrito, la acción a realizar sólo se descrito, la acción a realizar sólo se ejecutará una vez.ejecutará una vez.
Continue: encadena comandos watchfor.Continue: encadena comandos watchfor.
1919
EjemploEjemplo
El siguiente fichero busca las cadenas root, El siguiente fichero busca las cadenas root, login o UID=0 (actividad del root), muestra login o UID=0 (actividad del root), muestra por la terminal el log en rojo, envía un correo por la terminal el log en rojo, envía un correo a admin@mynet.net y emite dos pitidos:a admin@mynet.net y emite dos pitidos:
Watchfor /root LOGIN|UID=0/Watchfor /root LOGIN|UID=0/Echo redEcho redMail addresses=admin@mynet.net, Mail addresses=admin@mynet.net,
subject=“.SW. Actividad del root”subject=“.SW. Actividad del root”Bell 2Bell 2
2020
2. Detección de ataques en 2. Detección de ataques en progresoprogreso
Snort: programa que nos permite Snort: programa que nos permite monitorizar el tráfico de nuestra red monitorizar el tráfico de nuestra red en tiempo real y descubrir paquetes en tiempo real y descubrir paquetes maliciosos y tomar decisiones maliciosos y tomar decisiones basadas en reglas con respecto a basadas en reglas con respecto a dichos paquetes.dichos paquetes.
Consume muchos recursos por lo que Consume muchos recursos por lo que no es aconsejable para redes no es aconsejable para redes pequeñas (uno o dos equipos).pequeñas (uno o dos equipos).
2121
Consideraciones previasConsideraciones previas
Es aconsejable dedicar una maquina Es aconsejable dedicar una maquina en exclusiva para ejecutar el en exclusiva para ejecutar el programa.programa.
También el disponer de un firewall, También el disponer de un firewall, ya que el tráfico que se tendrá que ya que el tráfico que se tendrá que controlar se reduce controlar se reduce considerablemente.considerablemente.
2222
Descarga e instalaciónDescarga e instalación
Antes de instalar el programa Antes de instalar el programa debemos instalar las librerias libcap debemos instalar las librerias libcap (ftp://ftp.ee.lbl.gov) y libnet (ftp://ftp.ee.lbl.gov) y libnet (http://www.packetfactory.net/project(http://www.packetfactory.net/projects/libnet/dist/).s/libnet/dist/).
Snort se puede descargar de:Snort se puede descargar de: http://www.snort.org/snort-files.html/ http://www.snort.org/snort-files.html/
2323
Instalación:Instalación:
$ tar -xzf snort-1.7.tar.gz$ tar -xzf snort-1.7.tar.gz $ cd snort-1.7$ cd snort-1.7 $ ./configure - - prefix=/usr/local \$ ./configure - - prefix=/usr/local \ >- - with – lipcab-includes=/usr/include/pcap \>- - with – lipcab-includes=/usr/include/pcap \ >- - with lipcab-libraries=/usr/lib \>- - with lipcab-libraries=/usr/lib \ >- - enable – smbalerts \>- - enable – smbalerts \ >- - enable - flexresp>- - enable - flexresp […][…] $ make$ make […][…] $ su$ su Password:Password: # make install# make install […][…] # exit# exit $$
2424
ReglasReglas Snort hace uso de un sniffer para buscar patrones en el Snort hace uso de un sniffer para buscar patrones en el
trafico de la red.trafico de la red.
Estos patrones se definen por medio de reglas:Estos patrones se definen por medio de reglas: Acción a llevar a cabo (alerta, log, pasar).Acción a llevar a cabo (alerta, log, pasar). El protocolo.El protocolo. La dirección y el puerto fuente y la dirección y puerto destino.La dirección y el puerto fuente y la dirección y puerto destino. Opciones adicionales.Opciones adicionales.
Ejemplo Alert tcp any any -> 192.168.1.0/24 142 (msg Ejemplo Alert tcp any any -> 192.168.1.0/24 142 (msg “Desbordamiento buffer Imap”} ; content: “90E8 C0FF FFFF “Desbordamiento buffer Imap”} ; content: “90E8 C0FF FFFF /bin/sh;”)/bin/sh;”)
Snort genera una alerta si detecta un ataque en el puerto 143. La Snort genera una alerta si detecta un ataque en el puerto 143. La etiqueta content especifica una firma.etiqueta content especifica una firma.
Existen numerosas reglas ya creadas que podemos Existen numerosas reglas ya creadas que podemos incorporar en la sección rules de la pagina oficial:incorporar en la sección rules de la pagina oficial: http://www.snort.org/http://www.snort.org/
2525
Reglas más usualesReglas más usuales
Backdoor activity: Más apropiado para equipos Backdoor activity: Más apropiado para equipos con Windows; genera múltiples falsas alarmas. con Windows; genera múltiples falsas alarmas. No recomendada.No recomendada.
Backdoor attempts: Más apropiado para equipos Backdoor attempts: Más apropiado para equipos con Windows; genera múltiples falsas alarmas. con Windows; genera múltiples falsas alarmas. No recomendada.No recomendada.
Backdoor (Sig.): Más apropiado para equipos con Backdoor (Sig.): Más apropiado para equipos con Windows. Recomendado para entornos con Linux Windows. Recomendado para entornos con Linux y Windows.y Windows.
DDos: Recomendado para todas las instalaciones.DDos: Recomendado para todas las instalaciones. Exploits: Esencial para todas las instalaciones.Exploits: Esencial para todas las instalaciones.
2626
Finger: Recomendado para todas las instalaciones.Finger: Recomendado para todas las instalaciones. FTP: esencial si disponemos de servidores FTP.FTP: esencial si disponemos de servidores FTP. ICMP: Recomendado para todas las instalaciones.ICMP: Recomendado para todas las instalaciones. MISC: Recomendado para todas las instalaciones.MISC: Recomendado para todas las instalaciones. NetBIOS: Esencial si ejecutamos Samba en equipos NetBIOS: Esencial si ejecutamos Samba en equipos
Linux o disponemos de clientes windows.Linux o disponemos de clientes windows. RPC: Recomendado para todas las instalaciones.RPC: Recomendado para todas las instalaciones. RServices: Recomendado para todas las RServices: Recomendado para todas las
instalaciones.instalaciones. Scans: Recomendado para todas las instalaciones.Scans: Recomendado para todas las instalaciones. SMTP: Esencial si ofrecemos servicios de SMTP.SMTP: Esencial si ofrecemos servicios de SMTP. Telnet: Esencial si ofrecemos servicios de Telnet.Telnet: Esencial si ofrecemos servicios de Telnet.
2727
Virus: Más apropiado para hosts Windows; Virus: Más apropiado para hosts Windows; Recomendado si equipos Windows acceden a correo.Recomendado si equipos Windows acceden a correo.
Web-cgi: Esencial si esta disponible el acceso a web.Web-cgi: Esencial si esta disponible el acceso a web. Web-ColdFusion: Esencial si esta disponible el Web-ColdFusion: Esencial si esta disponible el
acceso a web basadas en ColdFusion.acceso a web basadas en ColdFusion. Web-FrontPage:Más apropiado para hosts Windows; Web-FrontPage:Más apropiado para hosts Windows;
Esencial si equipos Windows disponen de este Esencial si equipos Windows disponen de este recurso.recurso.
Web-IIS:Más apropiado para hosts Windows; Esencial Web-IIS:Más apropiado para hosts Windows; Esencial si equipos Windows disponen de este recurso.si equipos Windows disponen de este recurso.
Hig False Alert: Conjunto de reglas que generan Hig False Alert: Conjunto de reglas que generan falsas alarmas. No recomendadofalsas alarmas. No recomendado
2828
Una vez hayamos seleccionado las reglas, Una vez hayamos seleccionado las reglas, las descargamos y las pasamos al fichero las descargamos y las pasamos al fichero /etc/snort.rules./etc/snort.rules.
Debemos ir actualizando dicho fichero con Debemos ir actualizando dicho fichero con las reglas que vayan saliendo y que se las reglas que vayan saliendo y que se acomoden a nuestros intereses.acomoden a nuestros intereses.
Una buena opción es ejecutar Snort en Una buena opción es ejecutar Snort en segundo plano y luego con un herramienta segundo plano y luego con un herramienta como SWATCH estar atento a los logs del como SWATCH estar atento a los logs del sistema.sistema.
Para ejecutar Snort:Para ejecutar Snort: Snort –D –A alert –c /etc/snort.rulesSnort –D –A alert –c /etc/snort.rules
2929
SalidaSalida La salida del programa es de difícil La salida del programa es de difícil
comprensión, por lo que se ha creado comprensión, por lo que se ha creado un programa para facilitar la lectura un programa para facilitar la lectura de dicha salida, convirtiéndola en de dicha salida, convirtiéndola en documentos html con alertas documentos html con alertas tabuladas y links: SnortSnarf.tabuladas y links: SnortSnarf. http://www.snort.org/dl/contrib/http://www.snort.org/dl/contrib/
data_analysis/snortsnarf/data_analysis/snortsnarf/
3030
3. Preservando información3. Preservando información La información es un elemento esencial en La información es un elemento esencial en
las empresas.las empresas.
Debemos asegurarnos de que si dicha Debemos asegurarnos de que si dicha información se pierde a o se deteriora, información se pierde a o se deteriora, podemos recuperarla. podemos recuperarla.
No sólo los datos corren peligro, también No sólo los datos corren peligro, también los binarios y los ficheros de configuración los binarios y los ficheros de configuración son susceptibles a ataques de intrusos.son susceptibles a ataques de intrusos. Puertas traseras.Puertas traseras.
3131
Root kitRoot kit Un Root kit es un grupo de binarios Un Root kit es un grupo de binarios
modificados que ejecutan las funciones de modificados que ejecutan las funciones de login, ls, syslog, etc. login, ls, syslog, etc.
Diseñados para que su descubrimiento sea Diseñados para que su descubrimiento sea difícil.difícil. Un login modificado puede enviar guardar la Un login modificado puede enviar guardar la
información del usuario y el password.información del usuario y el password. Un ls modificado no nos mostrará los ficheros Un ls modificado no nos mostrará los ficheros
extras que han sido modificados por el extras que han sido modificados por el atacante. atacante.
3232
Si el tenemos indicios de que el Si el tenemos indicios de que el sistema está comprometido:sistema está comprometido: Reinstalar Linux por completoReinstalar Linux por completo Restaurar el sistema por medio de Restaurar el sistema por medio de
copias de seguridad.copias de seguridad.
3333
Backups: Tar y afioBackups: Tar y afio
Herramientas para la creación y Herramientas para la creación y restauración de copias de seguridad.restauración de copias de seguridad.
No requieren programas adicionales No requieren programas adicionales para su funcionamiento y caben en para su funcionamiento y caben en un disco.un disco.
3434
Copias de seguridad: TarCopias de seguridad: Tar La línea de comando es la siguiente:La línea de comando es la siguiente:
Tar –[c|x|t] [-pv] –f device path1 path2Tar –[c|x|t] [-pv] –f device path1 path2 C: crear.C: crear. X: extraer.X: extraer. T: testear.T: testear. P: preservar los permisos originales.P: preservar los permisos originales. V: mostrar información.V: mostrar información. F: escribir en los dispositivos especificados F: escribir en los dispositivos especificados
en path1, path2, …en path1, path2, … Ejemplo de copia el directorio /usr en el Ejemplo de copia el directorio /usr en el
dispositivo especificado por st0.dispositivo especificado por st0. Tar –cf /dev/st0 /usrTar –cf /dev/st0 /usr
3535
Caso concreto: Copiado del Caso concreto: Copiado del sistema enterosistema entero
Si ejecutamos la siguiente sentencia: “tar –cf Si ejecutamos la siguiente sentencia: “tar –cf /dev/st0 /” para hacer una copia del sistema, /dev/st0 /” para hacer una copia del sistema, estaremos copiando el directorio /proc, dicho estaremos copiando el directorio /proc, dicho directorio contiene un volumen elevado (cientos directorio contiene un volumen elevado (cientos de megas) de datos del kernel que son de megas) de datos del kernel que son innecesarios y pueden hacer que el comando se innecesarios y pueden hacer que el comando se bloquee.bloquee.
También estaremos copiando el directorio /mnt También estaremos copiando el directorio /mnt que contiene todos los archivos montados en que contiene todos los archivos montados en nuestra instalación de Linux.nuestra instalación de Linux.
El comando correcto sería:El comando correcto sería: Tar –cf /dev/st0 $(ls -1 / |grep –v –e proc –e mnt)Tar –cf /dev/st0 $(ls -1 / |grep –v –e proc –e mnt)
3636
Para restaurar archivos al directorio original Para restaurar archivos al directorio original ejecutamos el siguiente comando:ejecutamos el siguiente comando: Cd / ; tar –xpf /dev/st0Cd / ; tar –xpf /dev/st0
Podemos especificar paths en los que Podemos especificar paths en los que queremos restaurar los archivos:queremos restaurar los archivos: Cd /; tar –xpf /dev/st0 ‘usr/x11r6/*’ ’usr/local/*’Cd /; tar –xpf /dev/st0 ‘usr/x11r6/*’ ’usr/local/*’
Para restaurar archivos desde un disco SCSI Para restaurar archivos desde un disco SCSI preservando los permisos:preservando los permisos: Cd /usr/local; tar –xpvf /dev/sdcCd /usr/local; tar –xpvf /dev/sdc
Usando el comando tee escribimos en un Usando el comando tee escribimos en un fichero la lista de archivos que se han fichero la lista de archivos que se han restaurado:restaurado: Cd /; tar –xpvf /dev/sdc | tee Cd /; tar –xpvf /dev/sdc | tee
/var/log/restodred.files/var/log/restodred.files
Algunos casos útilesAlgunos casos útiles
3737
Copias de seguridad: AfioCopias de seguridad: Afio
Similar al comando tar pero:Similar al comando tar pero: Pueden interactuar con sistemas que Pueden interactuar con sistemas que
soporten el comando cpio (comando de soporten el comando cpio (comando de compresión).compresión).
Soporta compresión por archivo, lo que Soporta compresión por archivo, lo que lo hace útil para hacer copias de lo hace útil para hacer copias de seguridad sobre cintas magnéticas que seguridad sobre cintas magnéticas que no soportan compresión por hardware.no soportan compresión por hardware.
Se puede descargar de:Se puede descargar de: ftp://metalab.unc.edu/pub/linux/ftp://metalab.unc.edu/pub/linux/
system/backup/system/backup/
3838
La sintaxis del comando es la siguiente:La sintaxis del comando es la siguiente: Find path1 path2 … [-opts] | afio –[i|o|t] [-Find path1 path2 … [-opts] | afio –[i|o|t] [-
vZ] devicevZ] device i: restaura una cinta o archivo.i: restaura una cinta o archivo. o: escribe una cinta o archivo.o: escribe una cinta o archivo. t: testea una cinta o archivo.t: testea una cinta o archivo. v: lista los archivos mientras son procesados.v: lista los archivos mientras son procesados. Z: comprime los archivos usando gzip antes de Z: comprime los archivos usando gzip antes de
realizar la copia.realizar la copia. find path1 path … : archivos a comprimir.find path1 path … : archivos a comprimir. device: dispositivo al que realizar la copia. device: dispositivo al que realizar la copia.
3939
Algunos casos útilesAlgunos casos útiles
Realizar una copia del directorio /usr a la Realizar una copia del directorio /usr a la cinta insertada en /dev/st0:cinta insertada en /dev/st0: Find /usr |afio –o /dev/st0Find /usr |afio –o /dev/st0
Copiar y comprimir:Copiar y comprimir: Find /usr | afio –o –Z /dev/st0Find /usr | afio –o –Z /dev/st0
Restaurar un archivo al directorio root:Restaurar un archivo al directorio root: Cd /; afio –i /dev/st0Cd /; afio –i /dev/st0
Restaurar un archivo que ha sido Restaurar un archivo que ha sido comprimido:comprimido: Cd /; afio –i –Z /dev/st0Cd /; afio –i –Z /dev/st0
4040
Operando con cintas Operando con cintas magnéticasmagnéticas
Tar y afio operan con dispositivos de Tar y afio operan con dispositivos de almacenamiento de datos, como lo almacenamiento de datos, como lo pueden ser las cintas magnéticas, por pueden ser las cintas magnéticas, por lo que debemos conocer métodos lo que debemos conocer métodos para manejarlas: el comando mt.para manejarlas: el comando mt.
La sintaxis básica:La sintaxis básica: Mt –f device operation_command Mt –f device operation_command
[arguments][arguments]
4141
ComandosComandos Rewind: rebobina la cinta.Rewind: rebobina la cinta. Offline: rebobina y saca la cinta.Offline: rebobina y saca la cinta. Status: muestra el estado del dispositivo como si Status: muestra el estado del dispositivo como si
existe una cinta dentro o la densidad usada para existe una cinta dentro o la densidad usada para escribir sobre la cinta.escribir sobre la cinta.
Retension:Retension: Erase: borra la cinta.Erase: borra la cinta. Datcompression n: si n es 0 no realiza compresión, si Datcompression n: si n es 0 no realiza compresión, si
es 1, comprime., es 1, comprime., Fsf n, bsf n: busca n archivos hacia delante o hacia Fsf n, bsf n: busca n archivos hacia delante o hacia
atrás.atrás. Fsr n, bsr n: busca n grabaciones hacia delante o atrás.Fsr n, bsr n: busca n grabaciones hacia delante o atrás. End: posiciona la cabeza de lectura/escritura justo End: posiciona la cabeza de lectura/escritura justo
después del final de la cinta, para añadir nuevos después del final de la cinta, para añadir nuevos archivos.archivos.
4242
Realizando copias de Realizando copias de seguridad periódicasseguridad periódicas
Los datos guardados están en continuo Los datos guardados están en continuo cambio por lo que debemos definir una cambio por lo que debemos definir una rutina para realizar copias periódicas.rutina para realizar copias periódicas.
Debemos tener cuidado:Debemos tener cuidado: Las cintas se deterioran.Las cintas se deterioran. No guardar las copias en el mismo lugar No guardar las copias en el mismo lugar
que los datos originales: robos, fuego, etc.que los datos originales: robos, fuego, etc.
4343
Podemos programar la realización de Podemos programar la realización de copias de seguridad periódicas con copias de seguridad periódicas con ayuda del demonio cron (demonio que ayuda del demonio cron (demonio que sirve para ejecutar tareas programadas sirve para ejecutar tareas programadas según una combinación de la hora, día según una combinación de la hora, día del mes, mes, día de la semana y del mes, mes, día de la semana y semana.).semana.).
La siguiente línea lleva la cabeza de La siguiente línea lleva la cabeza de lectura/escritura de un dispositivo de lectura/escritura de un dispositivo de cinta hasta el final de la cinta y realiza cinta hasta el final de la cinta y realiza una copia del directorio /home.una copia del directorio /home. Mt –f /dev/st0 eod; tar –cf /dev/st0 /homeMt –f /dev/st0 eod; tar –cf /dev/st0 /home
4444
Debemos llevar el control sobre la cinta: llenado, Debemos llevar el control sobre la cinta: llenado, deterioro, etc. Se recomienda usar varias e ir deterioro, etc. Se recomienda usar varias e ir alternándolas.alternándolas.
Posibilidad de usar cargadores de cintas: Posibilidad de usar cargadores de cintas: dispositivos hardware que van cambiando las dispositivos hardware que van cambiando las cintas del dispositivo. El siguiente script rota las cintas del dispositivo. El siguiente script rota las cintas (6) cada semana y copia el contenido de cintas (6) cada semana y copia el contenido de /home:/home:#!/bin/bash#!/bin/bash# Selecciona el slot del cargador dependiendo de la# Selecciona el slot del cargador dependiendo de la# semana y el número de cintas.# semana y el número de cintas.SLOT=$[$(date+%U)%6] SLOT=$[$(date+%U)%6] # Comprueba que no hay cinta cargada.# Comprueba que no hay cinta cargada.mtx –f /dev/changer unloadmtx –f /dev/changer unload# Carga la cinta dependiendo del día de la semana.# Carga la cinta dependiendo del día de la semana.mtx –f /dev/changer load $SLOTmtx –f /dev/changer load $SLOT# Busca el final de la cinta.# Busca el final de la cinta.mt –f /dev//st0 eodmt –f /dev//st0 eod# Copia el directorio /home en la cinta.# Copia el directorio /home en la cinta.Tar –cf /dev/st0 /homeTar –cf /dev/st0 /home
4545
Aplicaciones comerciales más Aplicaciones comerciales más usadasusadas
BRU (backup and restore utility): soporta BRU (backup and restore utility): soporta recuperación del sistema en caso de recuperación del sistema en caso de accidentes.accidentes.
Ficheros BRU son portables a todas las Ficheros BRU son portables a todas las plataformas que soporten dicho sistema, plataformas que soporten dicho sistema, como Windows NT.como Windows NT.
Mas información en:Mas información en: http://www.estinc.com/http://www.estinc.com/
4646
Arkeia: multiplataforma, multiprotocolo y robusto.Arkeia: multiplataforma, multiprotocolo y robusto.
Orientación cliente/servidor que puede realizar el Orientación cliente/servidor que puede realizar el fichero de backup y restablecer las operaciones fichero de backup y restablecer las operaciones para uno o más sistemas informáticos.para uno o más sistemas informáticos.
Puede mantener cualquier conjunto de sistemas Puede mantener cualquier conjunto de sistemas Linux y Windows en un solo dispositivo de backup Linux y Windows en un solo dispositivo de backup en un servidor centralizado, facilitando en un servidor centralizado, facilitando enormemente las operaciones de recuperación de enormemente las operaciones de recuperación de ficheros en entornos grandes de computación. ficheros en entornos grandes de computación. Aunque los resultados obtenidos con Arkeia Aunque los resultados obtenidos con Arkeia requieren sufrir una curva de aprendizaje requieren sufrir una curva de aprendizaje importante.importante.
Gratis para menos de dos equipos. Gratis para menos de dos equipos.
http://www.arkeia.com/ http://www.arkeia.com/
4747
4. Recuperándonos de un 4. Recuperándonos de un ataqueataque
Como administradores de un sistema, Como administradores de un sistema, debemos llevar un control sobre el mismo, debemos llevar un control sobre el mismo, con el que podamos descubrir con el que podamos descubrir irregularidades. Algunos indicios que nos irregularidades. Algunos indicios que nos pueden hacer sospechar si el sistema está pueden hacer sospechar si el sistema está comprometido son:comprometido son: La presencia repentina de cuentas nuevas en La presencia repentina de cuentas nuevas en
etc/passwd.etc/passwd. El fallo o el comportamiento extraño de binarios.El fallo o el comportamiento extraño de binarios. Demasiado tráfico de red inexplicable, muchos Demasiado tráfico de red inexplicable, muchos
puertos abiertos, muchas conexiones.puertos abiertos, muchas conexiones. Una carga inexplicable de la CPU.Una carga inexplicable de la CPU.
4848
En caso de que notemos que algo anda En caso de que notemos que algo anda mal, lo primero es desconectar al sistema mal, lo primero es desconectar al sistema de la red (físicamente también).de la red (físicamente también).
Intentar descubrir a las máquinas Intentar descubrir a las máquinas comprometidas y aislarlas del resto comprometidas y aislarlas del resto (gusanos, etc.).(gusanos, etc.).
Es difícil intentar seguir el rastro de la Es difícil intentar seguir el rastro de la persona que está atacando el sistema, por persona que está atacando el sistema, por lo que se recomienda descartar esta lo que se recomienda descartar esta opción siempre que dificulte las tareas de opción siempre que dificulte las tareas de protección. protección.
4949
Apagar el equipo:Apagar el equipo: Shutdown –r nowShutdown –r now
En caso de que no podamos apagarlo como En caso de que no podamos apagarlo como usuario root, hacer uso de la herramienta usuario root, hacer uso de la herramienta SysRq (combinación de teclas a las que el SysRq (combinación de teclas a las que el núcleo responderá sin importar qué otras núcleo responderá sin importar qué otras cosas esté haciendo, salvo que esté cosas esté haciendo, salvo que esté completamente bloqueado ). Tecleando completamente bloqueado ). Tecleando Alt+SysRq+U hacemos que todos los Alt+SysRq+U hacemos que todos los ficheros sean de sólo lectura y con ficheros sean de sólo lectura y con Alt+SysRq+s sincronizamos los discos Alt+SysRq+s sincronizamos los discos disminuyendo el riesgo de perdida de datos disminuyendo el riesgo de perdida de datos para luego resetear el sistema. para luego resetear el sistema.
Si nada de esto funciona, reseteamos.Si nada de esto funciona, reseteamos.
5050
Una vez reseteado, entramos en la BIOS Una vez reseteado, entramos en la BIOS para arrancar la placa y los controladores. para arrancar la placa y los controladores.
Debemos asegurarnos que la Debemos asegurarnos que la configuración de la BIOS no ha cambiado. configuración de la BIOS no ha cambiado. En caso afirmativo restauramos la En caso afirmativo restauramos la configuración original.configuración original.
Si notamos algo sospechoso, apagamos el Si notamos algo sospechoso, apagamos el equipo y trabajamos con el disco duro equipo y trabajamos con el disco duro como esclavo en otra máquina. como esclavo en otra máquina.
5151
Intentaremos determinar que datos no Intentaremos determinar que datos no están contaminados para guardarlos están contaminados para guardarlos con el objetivo de restaurarlos.con el objetivo de restaurarlos.
Formatear el disco duro y reinstalar Formatear el disco duro y reinstalar Linux.Linux.
Cambiar las contraseñas de los Cambiar las contraseñas de los usuarios al volver a crearlos.usuarios al volver a crearlos.
Restaurar los archivos desde copias de Restaurar los archivos desde copias de seguridad no contaminadas.seguridad no contaminadas.
5252
Otras herramientasOtras herramientas
CHKWTMP: Los archivos logs pueden ser alterados CHKWTMP: Los archivos logs pueden ser alterados por intrusos. Esta herramienta detecta dicha por intrusos. Esta herramienta detecta dicha alteraciones.alteraciones. http://www.sunsite.ics.forth.gr/pub/systools/chkwmp/http://www.sunsite.ics.forth.gr/pub/systools/chkwmp/
TCPLogD: Detecta rastreos silenciosos. Incluye la TCPLogD: Detecta rastreos silenciosos. Incluye la posibilidad de hacer logging, ignorar puertos y posibilidad de hacer logging, ignorar puertos y paquetes, además de una función que imposibilita paquetes, además de una función que imposibilita el ahogamiento del demonio.el ahogamiento del demonio. http://www.kalug.lug.net/tcplogd/http://www.kalug.lug.net/tcplogd/
HostSentry: Busca anomalías de login: HostSentry: Busca anomalías de login: comportamientos extraños, anomalías de tiempo y comportamientos extraños, anomalías de tiempo y anomalías de lugar. También busca logins y crea anomalías de lugar. También busca logins y crea sus propios logs, por lo que si se encuentra alguna sus propios logs, por lo que si se encuentra alguna discrepancia entre estos logs y los del sistema es discrepancia entre estos logs y los del sistema es por que se ha producido una intrusión. por que se ha producido una intrusión. http://www.psionic.com/abacus/host-sentry/http://www.psionic.com/abacus/host-sentry/
5353
Otras herramientasOtras herramientas
Shadow: detecta rastreos silenciosos. Permite Shadow: detecta rastreos silenciosos. Permite distribuir información sobre seguridad y detección distribuir información sobre seguridad y detección de intrusiones entre varios hosts, lo que permite de intrusiones entre varios hosts, lo que permite detectar ataques sofisticados en los que se mezcla detectar ataques sofisticados en los que se mezcla y relacionan multiples atacantes y objetivos.y relacionan multiples atacantes y objetivos.
MOM: herramienta de detección de intrusiones MOM: herramienta de detección de intrusiones poderosa y compleja para vigilar redes enteras. poderosa y compleja para vigilar redes enteras. Un procesos principal controla la información que Un procesos principal controla la información que le llegan de sus procesos hijos (en otros hosts)le llegan de sus procesos hijos (en otros hosts) http://biostat/wisc.edu/~annis/mom/http://biostat/wisc.edu/~annis/mom/
El sistema Colibrí: semejante al MOM aunque mas El sistema Colibrí: semejante al MOM aunque mas potente. potente. http://www.csds.uidaho.edu/~hummer/http://www.csds.uidaho.edu/~hummer/
5454
Otras herramientasOtras herramientas
AAFID: Sistema de detección y AAFID: Sistema de detección y supervisión que utiliza pequeños supervisión que utiliza pequeños programas independientes, llamados programas independientes, llamados agentes, para realizar funciones de agentes, para realizar funciones de supervisión en los hosts de la red.supervisión en los hosts de la red. http://www.cs.purdue.edu/coast/http://www.cs.purdue.edu/coast/
projects/aafid-anounnce/projects/aafid-anounnce/
5555
5656
5757
5858
BibliografiaBibliografia
http://www.maestrosdelweb.com/editorial/snort/ http://www.maestrosdelweb.com/editorial/snort/ Información en español sobre el programa snorf.Información en español sobre el programa snorf.
http://www.zonagratuita.com/a-cursos/http://www.zonagratuita.com/a-cursos/utilidades/50_herramientas_top.htm/ Información utilidades/50_herramientas_top.htm/ Información sobre herramientas relacionadas con la sobre herramientas relacionadas con la seguridad.seguridad.
http://www.tu-chemnitz.de/docs/lindocs/RH73/RH-http://www.tu-chemnitz.de/docs/lindocs/RH73/RH-DOCS/rhl-cg-es-7.3/ch-autotasks.html Información DOCS/rhl-cg-es-7.3/ch-autotasks.html Información sobre realización de tareas periódicas.sobre realización de tareas periódicas.
5959
http://www.iec.csic.es/http://www.iec.csic.es/criptonomicon/linux/recursos.html/ criptonomicon/linux/recursos.html/ recursos seguridadrecursos seguridad
http://es.tldp.org/NuLies/web/2.2/http://es.tldp.org/NuLies/web/2.2/Documentation/sysrq.txt Información Documentation/sysrq.txt Información sobre SysRqsobre SysRq