SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
CONGRESO NACIONAL DE SOFTWARE LIBRE


   INSTITUTO POLITECNICO NACIONAL


  Creación de un IPS utilizando
   Linux y equipo Soekris Eng.
            Javier Reyna Padilla
               Agosto, 2006
Agenda
●
    Objetivo.
●
    GNAP (Gentoo Network ApPliance).
●
    Equipos Soekris.
●
    IDS e IPS.
●
    Configurando un IPS para Soekris.




                                        2
Objetivo



 Construir una solución (?) utilizando S.L. y
 hardware tipo appliance, la cual sea fácil de
              crear y mantener.




                                             3
GNAP
●
    Serie de scripts para manipular catalyst.
●
    GNAP – Gentoo Network APpliance.
●
    Sistema tipo Unix minimalista.
●
    Compatible con el hardware de Soekris.
●
    Fácil de modificar .
●
    Diseñado para crear SO para appliance.


                                                4
Características de GNAP
●
    FS recortado y comprimido con squashfs.
●
    Usa hardened-sources para el kernel.
●
    No utiliza busybox.
●
    SSH, FW, VPN, NTPD, RP-PPOE.
●
    Iftop, tcpdump.
●
    Extensiones: boa, rrdtool, dash.


                                              5
Cómo funciona GNAP




●
    overlay.conf - determina el uso final.
●   $ gnap_overlay ­i myfirewall.iso ­o 
    myoverlay/
                                             6
gnap_overlay

●
    Genera el sistema final.
●
    Overlay - arbol de archivos que se agregarán
    al sistema final (indispensable).
●
    GNAPcore - base de gnap (indispensable).
●
    Conflet - paquete de configuraciones ya
    hechas que seran agregadas al sistema final
    (opcional).


                                                   7
¡¡¡ GNAP Avanzado !!!

●
    gnap_dev & gnap extensions.
●
    Recompilar kernel para agregar nuevos
    modulos mediante genkernel.
●
    Agregar o quitar programas del GNAPcore.




                                               8
gnap_make




●   gnap_make ­t extensions ­p portage­
    latest.tar.bz2 ­e specs/

                                          9
gnap_remaster




●   gnap_remaster  ­d  extensions/  ­e  snort  ­e 
    bridge ­k kernel.tar.bz2 ­m modules.tar.bz2 
    ­o ElfOS_rev7_SB.tar
                                                10
Hardware Soekris Eng.
●
    Sistema embebido diseñado para sistemas
    operativos tipo UNIX.
●
    Diseñado como dispositivo de comunicaciones.
●
    Procesador 266MHz Geode.
●
    128MB en RAM.
●
    Memoria CF como medio de almacenamiento.
●
    Pequeñas dimensiones.

                                               11
Soekris net4801




                  12
Soekris net4801




                  13
Soekris net4801




                  14
Funcionamiento de un IDS




                           15
Funcionamiento de un SPI




                           16
Sistema Previsor de Intrusos
●
    Genera una acción inmediata frente anomalías
    que indiquen un riesgo potencial.
●
    Es un elemento activo.
●
    Funciona en modo puente y es transparente
    para la red.
●
    Parche Virtual!
●
    Principal punto de fallo si se rompe el puente.
    Fail over!!!
                                                      17
Paso 1. Preparar el ambiente

       ●
           Utilizar de preferencia Gentoo !!
       ●
           Actualizar árbol de portes y
           descargar portage_latest.
       ●
           Obtener el software necesario:
           gnap, gnap-dev, gnap-ext, hardened
           sources.
       ●
           Directorio de trabajo /usr/lib/gnap.


                                                  18
Paso 2. Kernel y módulos


●
 Incluir modulos ip_queue y
bridge.
●
 Generar modules.tbz2 y
kernel.tbz2 mediante
genkernel.



                              19
Kernel y módulos - CLI

 linux usr # emerge ­­oneshot ­­ask hardened­sources
 linux usr # cd /usr/lib/gnap
 linux gnap # tar xvfj gnap­specs.tar.bz2
 linux gnap # cd specs/
 linux specs # cat kernel.config | grep BRIDGE
 CONFIG_BRIDGE=m
 linux specs # cat kernel.config | grep QUEUE
 CONFIG_IP_NF_QUEUE=m



                                                       20
Kernel y módulos – CLI Cont. 1

 linux gnap #mkdir tempmod
 linux gnap #genkernel ­­kerneldir=/usr/src/linux­
   2.6.13­hardened­r2/ 
 ­­kernel­config=/usr/lib/gnap/specs/kernel.config 
 ­­minkernpackage=/usr/lib/gnap/kernel.tar.bz2 
 –­modulespackage=/usr/lib/gnap/modules.tar.bz2 –no­
   install ­–module­prefix=/usr/lib/gnap/tempmod all




                                                       21
Paso 3. Generar extensiones

●
    Se van a agregar los paquetes snort y bridge-
    utils.
●
    Se debe modificar el archivo extensions.conf
    dentro de /usr/lib/gnap/specs.
●
    Es necesario obtener el snapshot de portage
    más actualizado.

                                                    22
Generar extensiones - CLI

linux gnap # cat specs/extensions.conf
# List of extensions to build
extensions: snort bridge­utils

snort/packlist: snort
snort/useflags: inline
snort/cleanup: /usr/share /etc/

bridge­utils/packlist: bridge­utils
bridge­utils/cleanup: /usr/share




                                         23
Generar extensiones – CLI Cont 1
linux gnap # gnap_make ­t extensions ­p portage­
 latest.tar.bz2 ­e specs/
GNAP Core Building tool gnap_make version 1.8.2
* Checking parameters...                                  
                                                          
                     [ ok ]
* 'livecd­stage1' or 'extensions' was selected without 
 'stage3'.
* Should I use the seed stage as stage3 result ? [N]: Y
* The following targets will be called:
* [extensions]
* Preparing portage snapshot...
linux gnap # ls ­1 *.tbz2
gnapext_bridge­utils­20051030.tbz2
gnapext_snort­20051030.tbz2


                                                        24
Paso 4. Generar un nuevo Core


●
    El nuevo núcleo incluirá el nuevo kernel, los
    módulos extras, las extensiones adicionales y
    el sistema de archivos básico de GNAP.
●
    Nos poroveerá el sistema listo para ser
    configurado.

                                                    25
Generar un nuevo Core - CLI



linux  gnap  #  gnap_remaster  ­d  extensions/  ­e  snort  ­e 
 bridge  ­k  kernel.tar.bz2  ­m  modules.tar.bz2  ­o 
 ElfOS_rev7_SB.tar




                                                           26
Paso 5. Configuraciones
●
  Las configuraciones en GNAP se llaman
overlay.
●
  Se trata de un árbol de directorios que serán
copiados al sisteman final.

Se debe de configurar:
●
  Modulos del kernel (ip_queue, bridge)
●
  Tarjetas de red, bridge y firewall
●
  Snort
●
  Reglas de snort (Bleeding Snort)
                                                  27
/etc/conf.d/

●
 Existen 3 interfaces en el equipo Soekris: 2
para el bridge y 1 para la administración.

/etc/conf.d/net
linux conf.d # cat net

ipaddr_eth0=(
    "192.168.1.215/24"
)
iproute_eth0=(
    "default via 192.168.1.7"

                                                28
/etc/conf.d/
etc/conf.d/snort_inline
# Config file for /etc/init.d/snort

# This tell snort which interface to listen on
IFACE=eth1
# Make sure this matches your IFACE
PIDFILE=/var/run/snort_inline.pid

LOGDIR="/var/log/snort"

CONF=/etc/snort_inline/snort_inline.conf
# This pulls in the options above

SNORT_OPTS="­QD ­u nobody ­i $IFACE ­l $LOGDIR ­c $CONF"

                                                           29
/etc/conf.d/

●
    La contraseña de root es “imposible”.
●
    Se utiliza crypt para cifrar una contraseña
utilizando DES.

etc/gnap/chpasswd
linux etc # cat gnap/chpasswd
root:qdp5EtUN0ttCM

                                                  30
/etc/init.d/
etc/init.d/rc.firewall

#!/bin/bash

BRIDGE=/sbin/brctl
IFCONFIG=/sbin/ifconfig
IPTABLES=/sbin/iptables
ECHO=/bin/echo

$IFCONFIG eth1 0.0.0.0 up ­arp
$IFCONFIG eth2 0.0.0.0 up ­arp

$BRIDGE addbr idp0
$BRIDGE addif idp0 eth1
$BRIDGE addif idp0 eth2
                                 31
/etc/init.d/

 $IFCONFIG idp0 0.0.0.0 up ­arp
 $IPTABLES ­F
 $IPTABLES ­A FORWARD ­j QUEUE

 $IPTABLES ­A INPUT ­i eth0 ­p tcp ­­dport 22 ­j 
 ACCEPT




                                                    32
/etc/

 /etc/overlay.conf

 #KEYMAP=fr    (us)
 NBCARDS=1
 #IP_RELAY=yes (no)
 #EMPTY_ROOTPASS=yes (no)
 #USE_PPPOE=yes (no)
 RW_SYNC=/dev/hda2
 USE_SSH=yes



                            33
/etc/snort_inline

  snort_inline.conf – Prácticamente
 ●
                                                           la
 configuración es igual que para snort.
  snort_inline/rules – Contiene
 ●
                                                    todas las
 reglas que podrán habilitarse para inspección.
 drop tcp $HOME_NET any -> $EXTERNAL_NET 6881:6889
 (msg:"P2P BitTorrent transfer"; flow:to_server,established; content:"|
 13|BitTorrent protocol")


                                                                          34
Paso 6. Instalar el sistema
 ●
  Antes de escribir el sistema en la tarjeta es
 necesario preparar el medio, en este caso se
 crearon 2 particiones:
 Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *           1         764      195568   83  Linux
 /dev/hda2             765         978       54784   83  Linux

 ●
     E instalar el MBR
 linux gnap # dd if=/usr/lib/gnap/mbr/mbr.bin 
 of=/dev/sdb bs=512 count=1

                                                                 35
Instalar el sistema
 ●
   Antes de escribir se debe cuidar desmontar la
 tarjeta.
 linux gnap # gnap_overlay ­n ­d /dev/sdb1 ­r hda1 ­g 
 ElfOS_rev7_SB.tar ­o examples/idp/ ­m ­s 19200
 GNAP overlay tool gnap_overlay 1.8.2
 * Checking parameters...                                      
 * Warning : you have selected disk install
 * Make sure you are root or have full access to /dev/sdb1
 * /dev/sdb must have an MBR installed, run:
 * dd if=/usr/lib/gnap/mbr/mbr.bin of=/dev/sdb bs=512 count=1 
 if needed
 * /dev/sdb1 must contain an active partition:
 *  use fdisk /dev/sdb if needed
 * Current data on /dev/sdb1 will be destroyed !
 * Are your sure you want to continue [N] Y
                                                                  36
Poner el equipo en producción




                                37
Consideraciones

●
    GNAP genera un LiveCD todo esta en ramdisk.
●
    Cuidado con los logs !!!
●
    Soekris no incluye Fail Over en sus NIC.
●
    No hay actualizaciones automáticas.
●
    No es necesario reconstruir para reconfigurar.
●
    Permite lo no bloqueado específicamente.

                                                     38
Sitios de Interes
 ●
     GNAP - www.gentoo.org/proj/en/base/embedded/gnap.xml

 ●
     SNORT INLINE - http://snort-inline.sourceforge.net/

 ●
     SOEKRIS ENG. - http://www.soekris.com/

 ●
     BLEEDING SNORT - http://www.bleedingsnort.com/

 ●
     ELFOS - http://sourceforge.net/projects/elfos




                                                            39
40

Mais conteúdo relacionado

Mais procurados

Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linuxfraterneo GNU/Linux
 
Miranda castillo UNIX
Miranda castillo UNIXMiranda castillo UNIX
Miranda castillo UNIXmiranda696
 
Introducción Administración de Redes
Introducción   Administración de Redes Introducción   Administración de Redes
Introducción Administración de Redes David Narváez
 
40 configuración del kernel y dispositivos
40  configuración del kernel y dispositivos40  configuración del kernel y dispositivos
40 configuración del kernel y dispositivosAprende Viendo
 
Cristian medina Instalar unix
Cristian medina Instalar unixCristian medina Instalar unix
Cristian medina Instalar unixCRISTIAN23MEDINA
 
41 parámetros y módulos generales
41  parámetros y módulos generales41  parámetros y módulos generales
41 parámetros y módulos generalesAprende Viendo
 
Sandra saldaña instalarunix
Sandra saldaña instalarunixSandra saldaña instalarunix
Sandra saldaña instalarunixsandrasal23
 
Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Euller108BB72
 
T3ch fest leganes_final
T3ch fest leganes_finalT3ch fest leganes_final
T3ch fest leganes_finalRober Garamo
 

Mais procurados (16)

Mary cervantes
Mary cervantesMary cervantes
Mary cervantes
 
Nicolle
NicolleNicolle
Nicolle
 
Ronald
RonaldRonald
Ronald
 
Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linux
 
Miranda castillo UNIX
Miranda castillo UNIXMiranda castillo UNIX
Miranda castillo UNIX
 
Introducción Administración de Redes
Introducción   Administración de Redes Introducción   Administración de Redes
Introducción Administración de Redes
 
40 configuración del kernel y dispositivos
40  configuración del kernel y dispositivos40  configuración del kernel y dispositivos
40 configuración del kernel y dispositivos
 
Cristian medina Instalar unix
Cristian medina Instalar unixCristian medina Instalar unix
Cristian medina Instalar unix
 
41 parámetros y módulos generales
41  parámetros y módulos generales41  parámetros y módulos generales
41 parámetros y módulos generales
 
Jadira palta
Jadira paltaJadira palta
Jadira palta
 
Viviana medina MATERIA
Viviana medina MATERIAViviana medina MATERIA
Viviana medina MATERIA
 
Instalar unixElvis Urquizo
Instalar unixElvis UrquizoInstalar unixElvis Urquizo
Instalar unixElvis Urquizo
 
Sandra saldaña instalarunix
Sandra saldaña instalarunixSandra saldaña instalarunix
Sandra saldaña instalarunix
 
Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
T3ch fest leganes_final
T3ch fest leganes_finalT3ch fest leganes_final
T3ch fest leganes_final
 

Destaque

Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70symple9
 
Mastering checkpoint-1-basic-installation
Mastering checkpoint-1-basic-installationMastering checkpoint-1-basic-installation
Mastering checkpoint-1-basic-installationnetworkershome
 
Check point presentation june 2014
Check point presentation june 2014Check point presentation june 2014
Check point presentation june 2014David Berkelmans
 
Checkpoint Firewall for Dummies
Checkpoint Firewall for Dummies Checkpoint Firewall for Dummies
Checkpoint Firewall for Dummies sushmil123
 

Destaque (7)

Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70
 
Mastering checkpoint-1-basic-installation
Mastering checkpoint-1-basic-installationMastering checkpoint-1-basic-installation
Mastering checkpoint-1-basic-installation
 
Checkpoint r77
Checkpoint r77Checkpoint r77
Checkpoint r77
 
Check point presentation june 2014
Check point presentation june 2014Check point presentation june 2014
Check point presentation june 2014
 
checkpoint
checkpointcheckpoint
checkpoint
 
Check Point NGFW
Check Point NGFWCheck Point NGFW
Check Point NGFW
 
Checkpoint Firewall for Dummies
Checkpoint Firewall for Dummies Checkpoint Firewall for Dummies
Checkpoint Firewall for Dummies
 

Semelhante a Creacion de un IPS utilizando Linux y hardware Soekris

Semelhante a Creacion de un IPS utilizando Linux y hardware Soekris (20)

MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2 MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2
 
Taller Archlinux - 1ª Sesión
Taller Archlinux - 1ª SesiónTaller Archlinux - 1ª Sesión
Taller Archlinux - 1ª Sesión
 
Manual de instalacion y configuracion de nagios
Manual de instalacion y configuracion de nagiosManual de instalacion y configuracion de nagios
Manual de instalacion y configuracion de nagios
 
Genesis campos
Genesis camposGenesis campos
Genesis campos
 
Como instalar unix
Como instalar unixComo instalar unix
Como instalar unix
 
Ambar galeas
Ambar galeasAmbar galeas
Ambar galeas
 
Viviana medina
Viviana medinaViviana medina
Viviana medina
 
Sandra saldaña instalarunix
Sandra saldaña instalarunixSandra saldaña instalarunix
Sandra saldaña instalarunix
 
Proyecto u2 rout-ev2
Proyecto u2 rout-ev2Proyecto u2 rout-ev2
Proyecto u2 rout-ev2
 
LXC, Docker, LXD &snaps
LXC, Docker, LXD &snapsLXC, Docker, LXD &snaps
LXC, Docker, LXD &snaps
 
Bd practica 1.10
Bd practica 1.10Bd practica 1.10
Bd practica 1.10
 
Compilación del Kernel
Compilación del KernelCompilación del Kernel
Compilación del Kernel
 
Trabajo IOS de CISCO
Trabajo IOS de CISCOTrabajo IOS de CISCO
Trabajo IOS de CISCO
 
Como instalar unix erazo gloria
Como instalar unix erazo gloriaComo instalar unix erazo gloria
Como instalar unix erazo gloria
 
Knoppixx
KnoppixxKnoppixx
Knoppixx
 
Net snmp herramienta_de_monitoreo
Net snmp herramienta_de_monitoreoNet snmp herramienta_de_monitoreo
Net snmp herramienta_de_monitoreo
 
Guia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de ciscoGuia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de cisco
 
Nmap
NmapNmap
Nmap
 
Debian
DebianDebian
Debian
 
Redes
RedesRedes
Redes
 

Último

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (10)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Creacion de un IPS utilizando Linux y hardware Soekris

  • 1. CONGRESO NACIONAL DE SOFTWARE LIBRE INSTITUTO POLITECNICO NACIONAL Creación de un IPS utilizando Linux y equipo Soekris Eng. Javier Reyna Padilla Agosto, 2006
  • 2. Agenda ● Objetivo. ● GNAP (Gentoo Network ApPliance). ● Equipos Soekris. ● IDS e IPS. ● Configurando un IPS para Soekris. 2
  • 3. Objetivo Construir una solución (?) utilizando S.L. y hardware tipo appliance, la cual sea fácil de crear y mantener. 3
  • 4. GNAP ● Serie de scripts para manipular catalyst. ● GNAP – Gentoo Network APpliance. ● Sistema tipo Unix minimalista. ● Compatible con el hardware de Soekris. ● Fácil de modificar . ● Diseñado para crear SO para appliance. 4
  • 5. Características de GNAP ● FS recortado y comprimido con squashfs. ● Usa hardened-sources para el kernel. ● No utiliza busybox. ● SSH, FW, VPN, NTPD, RP-PPOE. ● Iftop, tcpdump. ● Extensiones: boa, rrdtool, dash. 5
  • 6. Cómo funciona GNAP ● overlay.conf - determina el uso final. ● $ gnap_overlay ­i myfirewall.iso ­o  myoverlay/ 6
  • 7. gnap_overlay ● Genera el sistema final. ● Overlay - arbol de archivos que se agregarán al sistema final (indispensable). ● GNAPcore - base de gnap (indispensable). ● Conflet - paquete de configuraciones ya hechas que seran agregadas al sistema final (opcional). 7
  • 8. ¡¡¡ GNAP Avanzado !!! ● gnap_dev & gnap extensions. ● Recompilar kernel para agregar nuevos modulos mediante genkernel. ● Agregar o quitar programas del GNAPcore. 8
  • 9. gnap_make ● gnap_make ­t extensions ­p portage­ latest.tar.bz2 ­e specs/ 9
  • 10. gnap_remaster ● gnap_remaster  ­d  extensions/  ­e  snort  ­e  bridge ­k kernel.tar.bz2 ­m modules.tar.bz2  ­o ElfOS_rev7_SB.tar 10
  • 11. Hardware Soekris Eng. ● Sistema embebido diseñado para sistemas operativos tipo UNIX. ● Diseñado como dispositivo de comunicaciones. ● Procesador 266MHz Geode. ● 128MB en RAM. ● Memoria CF como medio de almacenamiento. ● Pequeñas dimensiones. 11
  • 17. Sistema Previsor de Intrusos ● Genera una acción inmediata frente anomalías que indiquen un riesgo potencial. ● Es un elemento activo. ● Funciona en modo puente y es transparente para la red. ● Parche Virtual! ● Principal punto de fallo si se rompe el puente. Fail over!!! 17
  • 18. Paso 1. Preparar el ambiente ● Utilizar de preferencia Gentoo !! ● Actualizar árbol de portes y descargar portage_latest. ● Obtener el software necesario: gnap, gnap-dev, gnap-ext, hardened sources. ● Directorio de trabajo /usr/lib/gnap. 18
  • 19. Paso 2. Kernel y módulos ● Incluir modulos ip_queue y bridge. ● Generar modules.tbz2 y kernel.tbz2 mediante genkernel. 19
  • 20. Kernel y módulos - CLI linux usr # emerge ­­oneshot ­­ask hardened­sources linux usr # cd /usr/lib/gnap linux gnap # tar xvfj gnap­specs.tar.bz2 linux gnap # cd specs/ linux specs # cat kernel.config | grep BRIDGE CONFIG_BRIDGE=m linux specs # cat kernel.config | grep QUEUE CONFIG_IP_NF_QUEUE=m 20
  • 21. Kernel y módulos – CLI Cont. 1 linux gnap #mkdir tempmod linux gnap #genkernel ­­kerneldir=/usr/src/linux­ 2.6.13­hardened­r2/  ­­kernel­config=/usr/lib/gnap/specs/kernel.config  ­­minkernpackage=/usr/lib/gnap/kernel.tar.bz2  –­modulespackage=/usr/lib/gnap/modules.tar.bz2 –no­ install ­–module­prefix=/usr/lib/gnap/tempmod all 21
  • 22. Paso 3. Generar extensiones ● Se van a agregar los paquetes snort y bridge- utils. ● Se debe modificar el archivo extensions.conf dentro de /usr/lib/gnap/specs. ● Es necesario obtener el snapshot de portage más actualizado. 22
  • 23. Generar extensiones - CLI linux gnap # cat specs/extensions.conf # List of extensions to build extensions: snort bridge­utils snort/packlist: snort snort/useflags: inline snort/cleanup: /usr/share /etc/ bridge­utils/packlist: bridge­utils bridge­utils/cleanup: /usr/share 23
  • 24. Generar extensiones – CLI Cont 1 linux gnap # gnap_make ­t extensions ­p portage­ latest.tar.bz2 ­e specs/ GNAP Core Building tool gnap_make version 1.8.2 * Checking parameters...                                                                                                                 [ ok ] * 'livecd­stage1' or 'extensions' was selected without  'stage3'. * Should I use the seed stage as stage3 result ? [N]: Y * The following targets will be called: * [extensions] * Preparing portage snapshot... linux gnap # ls ­1 *.tbz2 gnapext_bridge­utils­20051030.tbz2 gnapext_snort­20051030.tbz2 24
  • 25. Paso 4. Generar un nuevo Core ● El nuevo núcleo incluirá el nuevo kernel, los módulos extras, las extensiones adicionales y el sistema de archivos básico de GNAP. ● Nos poroveerá el sistema listo para ser configurado. 25
  • 26. Generar un nuevo Core - CLI linux  gnap  #  gnap_remaster  ­d  extensions/  ­e  snort  ­e  bridge  ­k  kernel.tar.bz2  ­m  modules.tar.bz2  ­o  ElfOS_rev7_SB.tar 26
  • 27. Paso 5. Configuraciones ● Las configuraciones en GNAP se llaman overlay. ● Se trata de un árbol de directorios que serán copiados al sisteman final. Se debe de configurar: ● Modulos del kernel (ip_queue, bridge) ● Tarjetas de red, bridge y firewall ● Snort ● Reglas de snort (Bleeding Snort) 27
  • 28. /etc/conf.d/ ● Existen 3 interfaces en el equipo Soekris: 2 para el bridge y 1 para la administración. /etc/conf.d/net linux conf.d # cat net ipaddr_eth0=( "192.168.1.215/24" ) iproute_eth0=( "default via 192.168.1.7" 28
  • 30. /etc/conf.d/ ● La contraseña de root es “imposible”. ● Se utiliza crypt para cifrar una contraseña utilizando DES. etc/gnap/chpasswd linux etc # cat gnap/chpasswd root:qdp5EtUN0ttCM 30
  • 32. /etc/init.d/ $IFCONFIG idp0 0.0.0.0 up ­arp $IPTABLES ­F $IPTABLES ­A FORWARD ­j QUEUE $IPTABLES ­A INPUT ­i eth0 ­p tcp ­­dport 22 ­j  ACCEPT 32
  • 33. /etc/ /etc/overlay.conf #KEYMAP=fr (us) NBCARDS=1 #IP_RELAY=yes (no) #EMPTY_ROOTPASS=yes (no) #USE_PPPOE=yes (no) RW_SYNC=/dev/hda2 USE_SSH=yes 33
  • 34. /etc/snort_inline  snort_inline.conf – Prácticamente ● la configuración es igual que para snort.  snort_inline/rules – Contiene ● todas las reglas que podrán habilitarse para inspección. drop tcp $HOME_NET any -> $EXTERNAL_NET 6881:6889 (msg:"P2P BitTorrent transfer"; flow:to_server,established; content:"| 13|BitTorrent protocol") 34
  • 35. Paso 6. Instalar el sistema ● Antes de escribir el sistema en la tarjeta es necesario preparar el medio, en este caso se crearon 2 particiones: Device Boot      Start         End      Blocks   Id  System /dev/hda1   *           1         764      195568   83  Linux /dev/hda2             765         978       54784   83  Linux ● E instalar el MBR linux gnap # dd if=/usr/lib/gnap/mbr/mbr.bin  of=/dev/sdb bs=512 count=1 35
  • 36. Instalar el sistema ● Antes de escribir se debe cuidar desmontar la tarjeta. linux gnap # gnap_overlay ­n ­d /dev/sdb1 ­r hda1 ­g  ElfOS_rev7_SB.tar ­o examples/idp/ ­m ­s 19200 GNAP overlay tool gnap_overlay 1.8.2 * Checking parameters...                                       * Warning : you have selected disk install * Make sure you are root or have full access to /dev/sdb1 * /dev/sdb must have an MBR installed, run: * dd if=/usr/lib/gnap/mbr/mbr.bin of=/dev/sdb bs=512 count=1  if needed * /dev/sdb1 must contain an active partition: *  use fdisk /dev/sdb if needed * Current data on /dev/sdb1 will be destroyed ! * Are your sure you want to continue [N] Y 36
  • 37. Poner el equipo en producción 37
  • 38. Consideraciones ● GNAP genera un LiveCD todo esta en ramdisk. ● Cuidado con los logs !!! ● Soekris no incluye Fail Over en sus NIC. ● No hay actualizaciones automáticas. ● No es necesario reconstruir para reconfigurar. ● Permite lo no bloqueado específicamente. 38
  • 39. Sitios de Interes ● GNAP - www.gentoo.org/proj/en/base/embedded/gnap.xml ● SNORT INLINE - http://snort-inline.sourceforge.net/ ● SOEKRIS ENG. - http://www.soekris.com/ ● BLEEDING SNORT - http://www.bleedingsnort.com/ ● ELFOS - http://sourceforge.net/projects/elfos 39
  • 40. 40