Mostrando las entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando las entradas con la etiqueta linux. Mostrar todas las entradas

7 ago 2009

GNS3/Linux: Creando una VPN site to site usando CLI

Topologia:



R0
interface FastEthernet0/0
 ip address 192.168.169.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 192.168.1.2 255.255.255.0
 duplex auto
 speed auto

router rip
 network 192.168.1.0
 network 192.168.169.0

line con 0
 logging synchronous

R1
crypto isakmp policy 1
 encr aes
 authentication pre-share
 group 2
crypto isakmp key s3cr3t address 192.168.1.1
!
!
crypto ipsec transform-set TRANSFORM_VPN_TEST esp-aes esp-sha-hmac
!
crypto map VPN_R1_TO_R2 10 ipsec-isakmp
 set peer 192.168.1.1
 set transform-set TRANSFORM_VPN_TEST
 match address 101

interface FastEthernet0/0
 ip address 10.10.2.1 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 192.168.169.1 255.255.255.0
 duplex auto
 speed auto
 crypto map VPN_R1_TO_R2
!
router rip
 network 192.168.169.0

ip route 10.10.3.0 255.255.255.0 192.168.1.1
access-list 101 permit ip 10.10.2.0 0.0.0.255 10.10.3.0 0.0.0.255
line con 0
 logging synchronous

R2
!
crypto isakmp policy 1
 encr aes
 authentication pre-share
 group 2
crypto isakmp key s3cr3t address 192.168.169.1
!
!
crypto ipsec transform-set TRANSFORM_VPN_TEST esp-aes esp-sha-hmac
!
crypto map VPN_R2_TO_R1 10 ipsec-isakmp
 set peer 192.168.169.1
 set transform-set TRANSFORM_VPN_TEST
 match address 101

interface FastEthernet0/0
 ip address 10.10.3.1 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 192.168.1.1 255.255.255.0
 duplex auto
 speed auto
 crypto map VPN_R2_TO_R1
!
router rip
 network 192.168.1.0

ip route 10.10.2.0 255.255.255.0 192.168.169.1
access-list 101 permit ip 10.10.3.0 0.0.0.255 10.10.2.0 0.0.0.255
line con 0
 logging synchronous

1 ago 2009

GNS3/Linux: Instalacion de Cisco SDM desde Linux

Estar familiarizado con el uso del Cisco SDM (Security Device Manager) es necesario para rendir el examen 640-553 CCNA Security. Instalarlo desde windows es relativamente sencillo ya que dispone de un instalador. Sin embargo, desde Linux no lo es tanto; estos son los pasos que segui para instalarlo usando GNS3.


Creamos la Interfaz tap0 y le asignamos una direccion IP
tunctl
ifconfig tap0 10.10.2.2 netmask 255.255.255.0 up

Descargamos una version de java antigua

http://java.sun.com/products/archive/

Instalamos un servidor tftp
aptitude install atftpd

Descargamos el SDM v2.5 y copiamoslos siguientes archivos a /var/lib/tftpboot

cp 128MB.sdf /var/lib/tftpboot
cp attack-drop.sdf /var/lib/tftpboot
cp es.tar /var/lib/tftpboot
cp home.tar /var/lib/tftpboot
cp sdm.tar /var/lib/tftpboot
cp sslclient-win-1.1.4.176.pkg /var/lib/tftpboot
cp 256MB.sdf /var/lib/tftpboot
cp common.tar /var/lib/tftpboot
cp home.shtml /var/lib/tftpboot
cp sdmconfig-36xx-37xx.cfg /var/lib/tftpboot
cp securedesktop-ios-3.1.1.45-k9.pkg /var/lib/tftpboot
cp wlanui.tar /var/lib/tftpboot

Iniciamos elgns3 y abrimos una consola:

Formateamos la flash:

Router#erase flash:
Router#format flash:
Router#conf t

Logging syncronizado

Router(config)#hostname R0
R0(config)#line console 0
R0(config-line)#logging synchronous
R0(config-line)#exit
R0(config)#end

Habilitamos ssh

R0(config)#ip domain-name ccnasec
R0(config)#crypto key generate rsa general-keys modulus 1024

Habilitamos el servidor https

R0(config)#ip http server
R0(config)#ip http secure-server
R0(config)#ip http authentication local
R0(config)#ip http timeout-policy idle 600 life 86400 requests 10000
R0(config)#username cquispe privilege 15 secret 0 cquispe
R0(config)#do wr

Habilitamos el acceso mediante vty

R0(config)# line vty 0 4
R0(config-line)# privilege level 15
R0(config-line)# login local
R0(config-line)# transport input telnet ssh
R0(config-line)# end
R0#wr

Configuramos la interfaz

R0(config)#int fa0/0
R0(config-if)#ip addr 10.10.2.3 255.255.255.0
R0(config-if)#no shu

Copiamos los archivos del sdm a la memoria flash del router

R0#copy tftp://10.10.2.2:/128MB.sdf flash:
R0#copy tftp://10.10.2.2:/attack-drop.sdf flash:
R0#copy tftp://10.10.2.2:/es.tar flash:
R0#copy tftp://10.10.2.2:/home.tar flash:
R0#copy tftp://10.10.2.2:/sdm.tar flash:
R0#copy tftp://10.10.2.2:/sslclient-win-1.1.4.176.pkg flash:
R0#copy tftp://10.10.2.2:/256MB.sdf flash:
R0#copy tftp://10.10.2.2:/common.tar flash:
R0#copy tftp://10.10.2.2:/home.shtml flash:
R0#copy tftp://10.10.2.2:/sdmconfig-36xx-37xx.cfg flash:
R0#copy tftp://10.10.2.2:/securedesktop-ios-3.1.1.45-k9.pkg flash:
R0#copy tftp://10.10.2.2:/wlanui.tar flash:

Abrimos el navegador en https://10.10.2.3

 
Cargando el SDM
  
Login
  
Aceptamos
Cargando la interfaz
La interfaz del SDM

21 nov 2008

Virtualizacion con KVM y virt-manager

Debemos asegurarnos si nuestra cpu soporta virtualizacion:
Intel CPUs:
cat /proc/cpuinfo | grep vmx
AMD CPUs:
cat /proc/cpuinfo | grep svm
Hay que entrar al BIOS de la PC y activar el soporte de virtualizacion.
Luego instalar
aptitude install virt-manager libvirt-bin kvm
Ejecutamos la herramienta grafica
virt-manager
Luego vamos a Archivo-->Abrir conexion

Y configuramos una maquina virtual para OpenBSD por ejemplo:

 
  
  
  
  
  
  
  
  
Yluego seguir el procedimiento de instalacion y einstalar el SO de manera normal
 


Y configuramos una maquina virtual

PD: En el ejemplo de OpenBSD hay que hacer unos trucos para que no aparesca el mensaje "watchdog timeout."
editamos /etc/libvirt/qemu/OpenBSD.xm y agregamos la linea model
<interface type='bridge'>
      <mac address='00:16:36:54:60:ed'/>
      <source bridge='br0'/>
      <model type='e1000'/>
    </interface>

Apagar la maquina virtual OpenBSD, aun no me funciona el apagado via ACPI:
halt -p
En un terminal hacer lo siguiente:
cd /etc/libvirt/qemu
virsh --connect qemu:///system
define OpenBSD.xml
start OpenBSD

16 nov 2008

Configuracion de ssmtp con gmail

aptitude install ssmtp

vi /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
#root=postmaster
root=usuario@gmail.com

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail
mailhub=smtp.gmail.com:587

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
#hostname=host.localdomain
hostname=usuario@gmail.com

UseTLS=YES
UseSTARTTLS=YES
AuthUser=usuario
AuthPass=password

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=NO
FromLineOverride=YES


vi /etc/ssmtp/revaliases
 # sSMTP aliases
#
# Format:   local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:usuario@gmail.com:smtp.gmail.com:587

13 nov 2008

Configuracion de Ruby para ejecutar Metasploit framework

Porque instalar a partir de codigo fuente y no a traves de los paquetes de la distribucion?
La distribucion que uso (Debian SID), viene con la version 1.8.7.72, la cual tiene varios problemas, tal como aparece en la imagen:
Una opcion es usar la version 1.8.6 que no esta disponible en debian sid o usar el ultimo snapshot stable, esto ultimo es lo que haremos:
Creamos nuestro directorio de trabajo
mkdir src
cd src
Instalamos las librerias necesarias para compilar ruby
apt-get build-dep ruby
apt-get build-dep gems

Descargar el metasploit framework
Bajamos la version en desarrollo, se va actualizando casi a diario
svn co http://metasploit.com/svn/framework3/trunk/ metasploit
Instalacion de Ruby
wget ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz
tar zxvf stable-snapshot.tar.gz
cd ruby
./configure --prefix=/opt/ruby
make
make test
make install
cd ..
rubygems
http://rubyforge.org/projects/rubygems/
tar zxvf rubygems-1.3.1.tgz
cd rubygems-1.3.1
export PATH=/opt/ruby/bin:$PATH
export GEM_HOME=/opt/ruby/lib/ruby/gems/1.8
export RUBYLIB=/opt/ruby/lib/ruby:/opt/ruby/lib/ruby/site_ruby/1.8:/opt/ruby/lib
/opt/ruby/bin/ruby setup.rb all --prefix=/opt/ruby
cd ..
Ejecutando Metasploit
Podemos usarlo desde el navegador:
cd metasploit
./msfweb
Luego, abrimos el explorador en http://127.0.0.1:55555/
Tambien podemos ejecutarlo en el terminal
./msfcli
enjoy !!!

10 nov 2008

Virtualizando en Linux con VirtualBox - configurando la red en modo bridge

Luego del instalar VirtualBox, nos damos cuenta que las maquinas virtuales se crean con una IP distinta a la que poseemos, eso es porque por default, se crean en modo NAT, asi que si queremos poner nuestros host virtuales en el mismo segmento de red que la maquina anfitrion, hay que configurar un poco.
editamos el archivo /etc/network/interfaces y agregamos las siguientes linea:

auto br0
iface br0 inet dhcp
bridge_ports eth0

luego reiniciamos la red
/etc/ini.d/networking restart

Luego creamos la interfaz virtual para el host.
VBoxAddIF vbox0 root br0

Luego, abrimos la interfaz de configuracion del VirtualBox, seleccionamos una maquina virtual y cambiamos las opciones a:

Attached to: Interface anfitrion
Interface name: vbox0

Iniciamos la una maquina virtual para comprobar que obtiene una IP de nuestro segmento de red:

Si ejecutamos el comando ifconfig en el host anfitrion, veremos que se han creados nuevas interfaces:

5 nov 2008

Tips rapidos en Linux - II

Desactivar servicios de manera "grafica"
rcconf es una aplicacion basada en ncurses que nos permite activar y desactivar servicios que normalmente se inician durante el arranque.
aptitude install rcconf

Instalar desinstalar modulos
modconf, tambien basada en ncurses, nos permite navegar entre todos los modulos que se encuentren disponibles, para el kernel que estemos ejecutando
aptitude install modconf

Ver los puertos que estan usando las aplicaciones
netstat -utpan

Averiguar que programa esta accediendo al disco
iotop nos permite averiguarlo, por el momento solo esta en debian sid
aptitude install iotop

Agregar usuario a un grupo determinado
adduser usuario grupo

Ver todas las librerias que tenemos cargadas en memoria
aptitude install memstat

Hacer una captura de pantalla
import -window root screenshot.png

usar el mouse en los terminales
aptitude install gpm

Obtener la suma de comprocion md5 de un archivo
md5sum mi_archivo

Un cliente de correo ligero
aptitude install claws-mail

3 nov 2008

Tips rapidos en Linux

Algunos cosas que siempre me preguntan, tips rapidos:

Configurando ntfs-3g graficamente
aptitude install disk-manager ntfs-3g

Habilitar los colores al hacer ls
vi ~/.bashrc
descomentar:
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
grabas y ejecutar:
source ~/.bashrc

Entrar al msn
Hay para todos los gustos, kopete, pidgin, amsn:
aptitude install kopete
aptitude install pidgin
aptitude install amsn

Configurar kopete/pidgin para entrar al gtalk (chat de gmail)
Eston son los datos que van a necesitar:
Agregar una cuenta Jabber
ID Jabber: tucorreo@gmail.com
servidor talk.google.com
puerto 5223

Para navegar
pueden usar firefox (en debian se llama iceweasel), konqueror, epiphany,etc
aptitude install iceweasel
aptitude install konqueror
aptitude install epiphany

Para navegar en consola, osea en texto
lynx o w3m
aptitude install lynx
aptitude install w3m

Algo parecido al explorador de archivos ?
hay varios, dependiendo de que escritorio uses:
kde --> konqueror
gnome-> nautilus
LXDE--> pcmanfm
XFCE--> thunar

Para aumentar o subir el volumen
alsamixer en modo texto y en modo grafico alsamixergui
aptitude install alsamixer
aptitude install alsamixergui

Grabar CD o DVD
Una interfaz bastante intuitiva
aptitude install k3b

Escuchar Musica
Reproductor de musica ligeros,
audacious --> aptitude install audacious

Integrado con el escritorio:
KDE--> aptitude install amarok
GNOME--> aptitude install rythmbox

31 oct 2008

Instalando ns-3, Network Simulator Version 3

Aqui podemos encontrar la descripcion completa, tutoriales.
http://www.nsnam.org/

Una descripcion de ns-3
http://www.nsnam.org/docs/ns-3-overview.pdf

Instalando los prerequisitos:
aptitude install gccxml sqlite3 build-essential libsqlite3-dev libgoocanvas-dev libgoocanvas3 unzip python-dev gcc-3.4 gcc-4.1 libgtk2.0-0 libgtk2.0-dev doxygen graphviz imagemagick texinfo dia flex bison tcpdump wireshark

pygccxml

wget http://downloads.sourceforge.net/pygccxml/pygccxml-1.0.0.zip?modtime=1224497206&big_mirror=0
unzip pygccxml-1.0.0.zip
cd pygccxml-1.0.0
python setup.py install
cd ..

Descargamos e instalamos ns-3:
wget http://www.nsnam.org/releases/ns-3.2.tar.bz2
tar jxvf ns-3.2.tar.bz2
cd ns-3.2
./waf configure
./waf

Terminado de compilar podemos comprobar si a sido correcta la compilacion
./waf check
Generamos la documentacion:
./waf --doxygen

30 oct 2008

[OT] BarCamp Lima 2008

Este es un literal copy&paste de un mensaje de la lista del plug, está bastante interesante.
Desde hace algunos años en las principales ciudades y capitales del
mundo se vienen llevando acabo eventos denominados "Bar Camp" que básicamente son un encuentro auto-organizado de profesionales y entusiastas de la tecnologia, el desarrollo web, el software opensource, entre otros temas.

Básicamente se trata de que unas 100 personas metidas en estas temas se encuentro un dia en un solo local y ahi mismo, sin previa
organización o selección se va llenando una pizarra con las charlas
que los mismos asistentes se apunta a ofrecer como voluntarios, se
arman mesas redondas, discusiones en grupo y se intercambia mucha información además de conocer buena gente, hacer nuevos amigos y mejorar la red de contactos profesionales y de negocios.

http://es.wikipedia.org/wiki/Barcamp

Algunos de nosotros estamos organizando un evento BarCamp en Lima para que tenga lugar muy pronto, posiblemente este mes o máximo en Diciembre y por la naturaleza del evento es totalmente posible. Si están interesados o conocen a gente a la que les puedan interesar estos temas de verdad avistan y pasen la voz porque promete ser un encuentro muy interesante.

Puede revisar los temas de los que se planea hablar y apuntarse como asistentes en este wiki:

http://barcamp.org/BarCampLimaI?edit=1

Para editar ingresan con el "invitation key" (llave de invitación) que
es "c4mp" y agregan su información, idealmente apuntando a su propio blog.

Para que se hagan una mejor idea de como va a ser este evento pueden leer estos articulos  y blog posts:

http://www.maestrosdelweb.com/actualidad/barcamp-lima-2008/
http://www.microsoft.com/latam/technet/articulos/tn/2007/oct-18.mspx
http://anwmp.org/barcamp-lima-1

Otros eventos en ciudades de la región que pueden ver como referencia son:

http://www.barcamp.com.ar/
http://barcamp.org/BarCampMexico

Asi que ya saben.. el tema de opensource va a salir definitivamente
entre las charlas pero es más que opensource: estándares de web, como hacer negocios en Internet, Web 2.0, tips de adsense, entre otras cosas.

Espero verlos ahi, parece que es es ya ya el Sábado 8 de Noviembre y que sería en el local de HP de las Torres de Camino Real. Pasen la
voz! Ahorita lo importante es que se apunten en el wiki y coloquen su información..

Nos vemos ahi! Varios de la lista ya estan interesados..

29 oct 2008

Virtualizando en Linux con VirtualBox

La version que se encuentra en debian es la version 1.6, si queremos usar la ultima version agregamos este link a nuestro sources.list
vi /etc/apt/sources.list
deb http://download.virtualbox.org/virtualbox/debian lenny non-free
Luego agregar la llave de sun
wget http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc
apt-key add sun_vbox.asc
aptitude update
aptitude install virtualbox-2.0 linux-headers-`uname -r` fuse-utils virtualbox-ose-source

Nota: La version que instalamos de VirtualBox es la version no libre, estan bajo la licencia VirtualBox Personal Use and Evaluation License (PUEL) mientras que la version que ofrece Debian es la OpenSource
Luego ya podremos encontrar virtual box integrado a nuestro escritorio, solo hay que abrirlo, aceptar la licencia y listo.!!
VirtualBox integrado en nuestro menu
Aceptamos la licencia
Nos registramos
Y todo ok !!
Luego ya podemos empezar a crear nuestras maquinas virtuales.
Luego de crear una maquina virtual nos puede salir el siguiente mensaje:

Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.
Código Resultado:
NS_ERROR_FAILURE (0x00004005)
Componente:
Host
Interface:
IHost {489fb370-c227-4d43-9761-ceb28484fd9f}
Receptor:
IMachine {1e509de4-d96c-4f44-8b94-860194f710ac}
Lo que debemos hacer es activar el soporte para USB,editamos estearchivo y agregamos una linea en el metodo do_start:
vi /etc/init.d/mountdevsubfs.sh
domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid,devgid=25,devmode=664
Luego iniciamos lo servicio
/etc/init.d/mountdevsubfs.sh start
y volvemos a abrir VirtualBox

27 oct 2008

Configurando Teclado Multimedia en Linux con lineakd

En realidad no hay mucho que explicar, si tenemos teclado multimedia e instalamos Linux, de manera predeterminada no reconoce las teclas extra. Una manera de configurarlas es usando lineakd
aptitude install lineakd
Luego ejecutamos este comando, para listar los modelos de teclado soportados:
lineakd -l
En mi caso, mi teclado si se encuentra en esa lista, pero si no lo encontramos, podemos agregarlo a la lista.
Luego debemos crear un archivo lineakd.conf
vi ~/.lineak/lineakd.conf
Aqui especificamos las acciones a realizar cuando presionemos esas teclas. Mi archivo de configuracion queda asi:
MixerDevice = /dev/mixer
CdromDevice = /dev/cdrom
KeyboardType = MWEDKB
Bookmarks = "liferea"
Calculator = "xcalc"
Home = "pcmanfm /root/Documentos"
Mail = "claws-mail"
Media = "audacious"
Mute = amixer set Master toggle && amixer set Headphone toggle
My Computer = "pcmanfm"
VolumeDown = amixer set Master 2- && amixer set Headphone 2-
VolumeUp = amixer set Master 2+ && amixer set Headphone 2+
Play|Pause = "audacious --play-pause"
Finalmente ejecutamos el comando lineakd y ya tenemos nuestras teclas multimedia funcionando.

25 oct 2008

Configurando Dynamips / GNS3 para simular routers Cisco en 32 y 64 bits

Instalando Dynamips
En Debian testing y SID, estos 2 programas ya se encuentran en los repositorios, podemos instalarlo de la siguiente manera
aptitude install  gns3 dynamips
Sin embargo, dynamips consume bastantes recursos asi que sera mejor compilar una version optimizada para el procesador que tengamos.
Para compilar el codigo fuente:
apt-get build-dep gns3 dynamips
aptitude install libelf-dev libelf1 libpcap0.8 libpcap0.8-dev cdbs python-qt4-dev python-sip4-dev libasm1 elfutils python-qt4 python-sip4
Bajamos el cofigo fuente de la pagina de dynamips:
http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2.tar.gz
tar zxvf dynamips-0.2.8-RC2.tar.gz
cd dynamips-0.2.8-RC2
Editamos el siguiente archivo para ponerlo de acuerdo a la version:
vi debian/changelog
dynamips (0.2.8-RC2-1) unstable; urgency=low -->lo cambiamos al texto que aparece en negrita
Damos permiso de ejecucion, creamos el binario .deb e instalamos
chmod +x debian/rules
fakeroot debian/rules binary  --> para 32bits
export DYNAMIPS_ARCH=amd64 &&  fakeroot debian/rules binary  --> para 64 bits
cd ..
dpkg -i dynamips_0.2.8-RC2-1_i386.deb -->32bits
dpkg -i dynamips_0.2.8-RC2-1_amd64.deb -->64bits

Instalando GNS3
Descargamos la ultima version de la pagina de GNS3, son archivos en python asi que no hay necesidad de instalar:
http://www.gns3.net/download 
tar jxvf GNS3-0.5-src.tar.bz2
cd GNS3-0.5-src
./gns3
Una ves ejecutado GNS3, nos pedira la ubicacion de dynamips, se encuentra en/bin/dynamips

Descomprimiendo el IOS
La documentacion recomienda descomprimir la imagen de IOS que vayamos a usar, asi que manos a la obra
unzip -p mi_archivo_ios.bin > ios_descomprimido.bin

Estableciendo el parametro idlepc
Si no configuramos este parametro, dinamyps consumira toda la CPU, hay otra opcion usando el comando cpulimit pero no e tenido la necesidad de usarlo aun.
De manera predeterminada, dynamips asume que queremos emular el modelo c7200, asi que si tenemos otra imagen debemos cambiarlo con el parametro -P (actualmente estan soportados los modelos 7200, 3600, 2691, 3725, 3745).
Podemos determinar graficamente este valor usando GNS3, pero al menos en mi PC (que no es tan nueva) deja colgado la interfaz, asi que hagamoslo en modo texto. Asmumanos que una imagen c3725, entonces ejecutamos este comando:
dynamips -P 3725  c3725_descomprimido.bin
Esto va a poner muy lenta la PC ya que va a consumir el 100% de CPU, esperamos que arranque el IOS hasta que nos aparesca el mensaje "Press RETURN to get started!" ( si nos pregunta la autoconfiguracion le damos que no). Luego presionamos la siguiente combinacion de teclas: Ctrl-] i (es decir, presionamos Control y ] al mismo tiempo, soltamos las teclas y a continuacion i). Esto nos va a mostrar una informacion como esta:
Please wait while gathering statistics...
Done. Suggested idling PC:
   0x602649b4 (count=75)
       0x60264a2c (count=40)
       0x60bedba0 (count=51)
Restart the emulator with "--idle-pc=0x602649b4" (for example)
Matamos el proceso dynamips y empezamos a probar con esos valores hasta encontrar el valor que haga que el consumo de cpu disminuya.
dynamips -P 3725 --idle-pc=0x602649b4  c3725_descomprimido.bin
Puede haber mas de un valor optimo, en mi caso obtuve estos resultados de uso de cpu:
  • 0x602649b4 (count=75)  --> 25%
  • 0x60264a2c (count=40) --> 90%
  • 0x60bedba0 (count=51) --> 26%
Luego de encontrado el valor optimo, abrimos el GNS3 y establecemos los valores.

24 oct 2008

Escribiendo Latex en Linux, preparando el entorno

Instalaremos los paquetes basicos:
aptitude install texlive
Si deseamos la instalacion completa, debemos instalar el paquete texlive-full. Si usas este paquete, se instalara el soporte para todos los idiomas disponibles, asi como las fuentes necesarias. Muy dificilmente necesitaras todo eso pero si quieres instalarlo lo haces con este comando:
aptitude install texlive-full
Con eso es suficiente. Podemos crear archivos latex usando el editor que nos guste.

Escribamos un documento latex bastante simple (holamundo.tex) y convirtamos nuestro documento latex a varios formatos:

\documentclass[12pt]{article}
\usepackage[spanish] {babel}
\title{\LaTeX}
\date{}
\begin{document}
  \maketitle Hola Mundo !!!!
  \begin{equation}
    x+y = z
  \end{equation}
\end{document}

Dependiendo el formato al que vayamos a convertirlo usaremos un comando distinto:
  • La forma clásica:
    • latex holamundo.tex -->Crea el archivo dvi, asi como un .aux y .log
    • xdvi holamundo.dvi -->Visualisamos nuestro documento latex
    • dvipdf holamundo.dvi -->convierte el archivo dvi a pdf
    • xpdf holamundo.pdf -->visualizamos el pdf
  • Una forma mas rapida:
    • pdflatex holamundo.tex --> crea directamente el archivo pdf
  • Tambien podemos convertirlo a HTML
    • pdfhtml holamundo.tex --> crea una carpeta holamundo y en el interior crea el documento
Disponemos de varias opciones para crear nuestros archivos .tex, desde usar vim o emacs con plugins, hasta entornos especializados como lyx, kile o texmacs. Personalmente prefiero lyx

  • Vim -->aptitude install vim-latexsuite
  • emacs -->aptitude install auctex
  • Kile -->aptitude install kile kdvi
  • lyx -->aptitude install lyx
  • Texmaker -->aptitude install texmaker

23 oct 2008

Instalando Packet Tracer 5 en Linux

La ultima versión de Packet Tracer trae una versión para linux, por lo que ya no es necesario instalar la versión de windows usando wine. Esta versión viene con un instalador especifico para ubuntu y fedora, así como el genérico que es el que vamos a usar.
Lo descargamos y descomprimimos:
#tar zxvf PacketTracer5_generic.tar.gz
#cd PacketTracer5
#./installer
Presionamos Enter para leer la licencia y Bajamos hasta el final para aceptarla escribiendo Y
Luego debemos especificar la ubicación en donde se instalara, presionamos enter para dejarlo en la ubicación predeterminada:

Enter location to install Packet Tracer 5 or press enter for default [/opt/pt]:

Nos pregunta si queremos que cree enlaces simbolicos a /usr/local/bin, escribirmos Y

Should we create a symbolic link "packettracer" in /usr/local/bin for easy Packet Tracer 5 startup? [Yn]Y

y listo !!!, ya tenemos packet tracer en Linux. Ahora solo debemos abrir un terminal ( xterm, kconsole, gnome-terminal, ... cualquiera), escribir el comando packettracer y ya lo tendremos el software ejecutándose en nuestra PC.

Nota: En caso de tener un sistema de 64 bits hay que instalar las librerías de compatibilidad de 32 bits.


Configurando emacs para autocompletado, resaltado de sintaxis y otras cosas

Actualmente estoy en la tarea de usar emacs, para programar.
Falta mejorar varias cosas, pero por el momento mi archivo de configuracion .emacs esta quedando asi:



(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(column-number-mode t)
'(current-language-environment "UTF-8")
'(display-time-mode t)
'(ecb-options-version "2.32")
'(global-font-lock-mode t nil (font-lock))
'(global-semantic-stickyfunc-mode nil nil (semantic-util-modes))
'(safe-local-variable-values (quote ((indent-tabs-mode . 1))))
'(semantic-idle-scheduler-idle-time 3)
'(tab-width 4))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

(require 'cc-mode)
(setq c-default-style "bsd"
c-basic-offset 4)
(setq backup-directory-alist (quote ((".*" . "~/.emacs.d/backups"))))
;; turn on paren matching
(show-paren-mode t)
(setq show-paren-style 'mixed)

;; Use "y or n" answers instead of full words "yes or no"
(fset 'yes-or-no-p 'y-or-n-p)
;; Display the time in the mode line
(setq display-time-24hr-format t)
(display-time)


(setq truncate-partial-width-windows nil)
(setq after-save-hook (quote (executable-make-buffer-file-executable-if-script-p)))
;; para asegurarte de que el fichero termina con línea vacía
(setq require-final-newline 'ask)
;;
;; eliminar espacios en blanco a final de línea y líneas vacias al final
(add-hook 'write-file-hooks 'delete-trailing-whitespace)
(setq delete-trailing-whitespace-p t)


;;Auto-añadir paréntesis o llave de cierre
(setq skeleton-pair t)
(global-set-key "[" 'skeleton-pair-insert-maybe)
(global-set-key "(" 'skeleton-pair-insert-maybe)
(global-set-key "{" 'skeleton-pair-insert-maybe)
(global-set-key "'" 'skeleton-pair-insert-maybe)
(global-set-key "\"" 'skeleton-pair-insert-maybe)

(require 'semantic nil t)
(global-semantic-idle-scheduler-mode 1)
(global-semantic-idle-completions-mode 1)
(global-semantic-idle-summary-mode 1)
(require 'semantic-sb nil t)
(require 'semanticdb nil t)

(define-key c-mode-base-map (kbd "RET") 'newline-and-indent)

;; Load CEDET
;; (load-file "~/cedet-VERSION/common/cedet.el")
;;
;; Enabling various SEMANTIC minor modes. See semantic/INSTALL for more ideas.
;; Select one of the following:

;; * This enables the database and idle reparse engines
(semantic-load-enable-minimum-features)

;; * This enables some tools useful for coding, such as summary mode
;; imenu support, and the semantic navigator
(semantic-load-enable-code-helpers)

;; * This enables even more coding tools such as the nascent intellisense mode
;; decoration mode, and stickyfunc mode (plus regular code helpers)
(semantic-load-enable-guady-code-helpers)

;; * This turns on which-func support (Plus all other code helpers)
(semantic-load-enable-excessive-code-helpers)

;; This turns on modes that aid in grammar writing and semantic tool
;; development. It does not enable any other features such as code
;; helpers above.
(semantic-load-enable-semantic-debugging-helpers)
(which-func-mode t)


(require 'semantic-ia nil t)
(global-set-key [(control return)] 'semantic-ia-complete-symbol-menu)
(global-set-key [(control shift return)] 'semantic-ia-complete-symbol)

(setq semanticdb-default-save-directory "~/.emacs.d/semantic")

(setq semantic-load-turn-everything-on t)
(require 'semantic-load)
(global-semantic-show-unmatched-syntax-mode -1)

(require 'ctypes)
(turn-on-font-lock)
(ctypes-auto-parse-mode 1)


(require 'ecb)
(require 'ecb-autoloads)
(setq ecb-primary-secondary-mouse-buttons (quote mouse-1--mouse-2))
;; Desactivamos el Tip of the Day de ECB...
(setq ecb-tip-of-the-day nil)
(ecb-activate)

(global-set-key [f12] 'ecb-toggle-ecb-windows)
(global-set-key [C-f12] 'ecb-activate)
(global-set-key [M-f12] 'ecb-deactivate)

(setq tex-dvi-view-command "xdvi")
;;(transient-mark-mode 1)
;;(add-hook 'text-mode-hook 'turn-on-auto-fill)




(setq-default TeX-master nil)
(setq TeX-parse-self t)
(setq TeX-auto-save t)
(load "preview-latex.el" nil t t)


(defalias 'perl-mode 'cperl-mode)






8 sept 2008

Configurando LVS/DR para balanceo de carga

Topologia



Instalacion de paquetes
debian-ldirector
aptitude install ldirectord-2 heartbeat
debian-rs y debian-rs2
aptitude install apache2



Configuracion de red

debian-ldirector
auto eth0
iface eth0 inet static
address 192.168.1.35
netmask 255.255.255.0
gateway 192.168.1.1

auto eth0:0
iface eth0:0 inet static
address 192.168.1.34
netmask 255.255.255.0

debian-rs
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.36
netmask 255.255.255.0
gateway 192.168.1.1

auto lo:0
iface lo:0 inet static
address 192.168.1.34
netmask 255.255.255.255


debian-rs2
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.37
netmask 255.255.255.0
gateway 192.168.1.1

auto lo:0
iface lo:0 inet static
address 192.168.1.34
netmask 255.255.255.255




Modificando parametros del kernel para evitar el problema arp
debian-ldirector
#vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl -p
debian-rs y debian-rs2
#vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.eth0.arp_announce = 2
#sysctl -p

Configuracion de ldirectord
vi /etc/ha.d/ldirectord.cf
checktimeout=10
checkinterval=2
autoreload=no
logfile="/var/log/ldirectorlog.log"
quiescent=yes
# Virtual Server for HTTP
virtual=192.168.1.34:80
fallback=127.0.0.1:80
real=192.168.1.36:80 gate
real=192.168.1.37:80 gate
service=http
request="test.html"
receive="funciona"
scheduler=rr
protocol=tcp
checktype=negotiate





15 dic 2006

Sistemas de Deteccion de Intrusos

Existen básicamente de 2 tipos:

HIDS o HostIDS: usado para vigilar 1 sola computadora. Generalmente
realiza verificaciones de integridad de los archivos de sistema y otros
que se indiquen mediante configuración. Almacena una base de datos con
las firmas digitales de los archivos importantes.Se implementan como
agentes que monitorean el núcleo y los módulos cargados a éste
interceptando las syscall.


NIDS o Network IDS: Usado para vigilar segmentos de red o la red entera
de una organización. Para esto la interfaz debe cambiarse a modo
promiscuo ( donde captura todos los paquetes que circulan en la red). En
redes conmutadas se precisa configurar una interfaz del switch en modo
espejo para que pueda capturar todos los paquetes que pasan por ese
switch. Otra alternativa es usar un dispositivo especial de hardware
llamado Network Tap cuyo costo es bastante alto.


También existen otros tipos de IDS


DIDS o Distributed IDS
PIDS o Protocol-based IDS
Application protocol-based IDS



IDS conocidos:

Snort es un NIDS
Prelude IDS Híbrido
Tripwire HIDS

El IDS standar de facto( el mas utilizado) actualmente es SNORT, una
herramienta Open Source

Una vez configurado un IDS debe pasar por una etapa de test, para
reducir el numero de falsos positivos( cuando detecta que hay un ataque
pero en realidad no lo hay) y el de falsos negativos ( cuando hay un
ataque y no lo detecta ). Esto se logra realizando ataques con exploits
conocidos, realizando escaneos de red normales y agresivos o mediante
herramientas automatizadas. Una herramienta usada puede ser THOR ( no
confundir con el software de navegacion anonima de internet)

THOR: A Tool to Test Intrusion Detection Systems by Variations of Attacks
http://thor.cryptojail.net/


Software IDS

http://www.tripwire.com/
http://www.cs.tut.fi/~rammer/aide.html
http://www.mcafee.com/us/enterprise/products/host_intrusion_prevention/index.html
http://www.cisco.com/en/US/products/sw/secursw/ps5057/index.html
http://www.symantec.com/enterprise/products/overview.jsp?pcid=1322&pvid=928_1
http://www.snort.com/
http://base.secureideas.net/
http://www.prelude-ids.org/
http://www-arc.com/sara/
http://zurk.sourceforge.net/zfile.html


Bibliografia

http://www1.cs.columbia.edu/ids/publications.html
http://www.securitywizardry.com/ids.htm
http://www.honeypots.net/ids/integrity-management
http://netsecurity.about.com/cs/firewallbooks/a/aa050804.htm
http://www.cse.sc.edu/research/isl/mirrorSobireys.shtml
http://www.sans.org/whatworks/wall.php?id=1&portal=7efea35d2fe3b646380695e1bb5a52bf
http://www.nss.co.uk/WhitePapers/intrusion_prevention_systems.htm
http://www.nss.co.uk/WhitePapers/gigabit_ids.htm
http://www.securityfocus.com/ids
http://www.dshield.org/
http://www.linux-sec.net/IDS/
http://www.mynetwatchman.com/

8 sept 2006

Conectadonos a IPv6 via ADSL con teredo en Linux

la implementacion de teredo en linux es un programa llamado miredo, implementa el RFC 4380 Teredo: Tunneling IPv6 over UDP through NATs que nos permite conectarnos a ipv6 cuando estamos detras de un nat.
Descargamos el paquete
http://www.remlab.net/files/miredo/miredo-1.0.1.tar.bz2
lo copiamos a , pòr ejemplo opt y o descomprimimos
hay que instalar el paquete libJudy
PcChristian:~# aptitude install libjudy-dev libjudydebian1
luego lo de siempre
PcChristian:~#./configure &&amp;amp; make && make install
se instala en editamos su fichero de configuracion /usr/local/etc/miredo.conf

RelayType client
InterfaceName teredo
#estos 2 siguientes parametros no son necesarios pero por siacaso
BindPort 3545
BindAddress 192.168.0.33
ServerAddress 203.233.154.10


ejecutamos miredo


PcChristian:~# miredo -c /usr/local/etc/miredo.conf -f
miredo[9700]: Starting...
miredo[9705]: Qualified (NAT type: restricted)
miredo[9705]: Teredo pseudo-tunnel started
miredo[9705]: (address: 2001:0:cbe9:9a0a:0:c4aa:3619:650c, MTU: 1280)


vemos que nos han asiganod la direccion 2001:0:cbe9:9a0a:0:c4aa:3619:650c, comprobemoslo con ifconfig

PcChristian:/opt/miredo-1.0.1# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:3D:CB:9D:12
inet addr:192.168.0.33 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20f:3dff:fecb:9d12/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1539 errors:0 dropped:0 overruns:0 frame:0
TX packets:1711 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:982079 (959.0 KiB) TX bytes:282614 (275.9 KiB)
Interrupt:169 Base address:0xd800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:258 errors:0 dropped:0 overruns:0 frame:0
TX packets:258 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:72881 (71.1 KiB) TX bytes:72881 (71.1 KiB)

teredo Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: fe80::ffff:ffff:ffff/64 Scope:Link
inet6 addr: 2001:0:cbe9:9a0a:0:c4aa:3619:650c/32 Scope:Global
UP POINTOPOINT RUNNING NOARP MTU:1280 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:144 (144.0 b)


finalmente probemos hacer ping6 a una pagina por ejemplo a www.kame.net

PcChristian:/opt/miredo-1.0.1# ping6 -n www.kame.net
PING www.kame.net(2001:200:0:8002:203:47ff:fea5:3085) 56 data bytes
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=2 ttl=52 time=306 ms
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=3 ttl=52 time=326 ms

--- www.kame.net ping statistics ---
4 packets transmitted, 2 received, 50% packet loss, time 3010ms
rtt min/avg/max/mdev = 306.698/316.694/326.690/9.996 ms

si entramos a la pagina www.kame.net veremos la tortuga moviendose, señal que estamos conectados desde una direccion ip6, en caso contrario solo veremos una imagen estatica de la tortuga.

Si algo sale mal debemos comprobar que no tenemos el puerto 3544 bloqueado por el firewall





7 sept 2006

Configurar la Tarjeta inalmabrica DWL-G520+ en Debian

#aptitude install module-assistant
#module-assistant -t list
#module-assitant -t prepare
#module-assistant -t auto-install acx100-source

#vi /etc/network/interfaces
auto lo

iface lo inet loopback

auto wlan0
#Para obtener la ip por DHCP
iface wlan0 inet dhcp
WIRELESS_ESSID MIWIFI
WIRELESS_MODE Managed

#configurar una IP statica
#iface wlan0 inet static
# WIRELESS_ESSID MIWIFI
# WIRELESS_MODE Managed
# address 172.20.0.121
# netmask 255.255.255.0
# gateway 172.20.0.254

#una direccion IPv6
iface wlan0 inet6 static
address 2001:13B0:1021:1::5
netmask 64
WIRELESS_ESSID MIWIFI
WIRELESS_MODE Managed