martes, 3 de junio de 2008

BSC, simplemente alucinante!

A quién no le gustaría administrar esto ?

Backup IOS Router Cisco

Bueno... ya falta cada vez menos para el examen final de CCNA. Repasando esta tarde, no recordaba(en realidad sí, pero era una escusa para postear!!!!) cómo hacer un backup del IOS y ni como cambiar password a un router.Es muy fácil.

Backup IOS.
  • Tener un tftp server funcionando
  • Modo enable, hacemos un show flash, y deberíamos ver algo como esto:
System flash directory:
File Length Name/status
1 4306080 c820-sy6-xxxxx.xxxxxxx
[4306144 bytes used, 4082464 available, 8388608 total]
8192K bytes of processor board System flash (Read/Write)
  • Luego un copy flash tftp, y deberíamos ver algo como esto:
router-01#copy flash tftp Source filename []? c820-sy6-xxxx.xxxx Address or name of remote host []? 192.168.12.253 Destination filename [c827-y6-mz.121-1.XB]? !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
En pocos segundos tendremos en nuestra máquina una imagen del IOS sana y salva.Sólo falta quemar un CD para mayor seguridad y meterlo en la caja fuerte.Aunque muchos no lo sepan, las imágenes de IOS cuestan €, y bajarlas de la "mula" no es del todo "legal".

Recuperar contraseña.
  • Con el router mosqueado, lo reiniciamos y cuando veamos:
System Bootstrap, Version 12.2(4r)XM1, RELEASE SOFTWARE (fc1)
TAC Support: http://www.cisco.co
Copyright (c) 2001 by cisco Systems, Inc.
C800/SOHO series (Board ID: 13-62) platform with 24576 Kbytes of main memory

pulsamos CTRL+Pausa.
  • Entramos en modo ROMmom, y escribimos
rommon 2 > confreg 0x2142
rommon 2 > reset
  • Después de un par de minutos...voilá:
Would you like to enter the initial configuration dialog? [yes]
Sencillo, no, pues a trastear!

VPN y Perl

NO soy programador, con lo cual, asumo los errores y barbaridades de este post.
Supuesto: Se necesita chequear el acceso a una red, y en caso de no poder acceder a la misma, levantar el cliente de Cisco VPN para GNU/Linux.
Solucion: Script en perl que compruebe vía ICMP la disponibilidad el router remoto y en caso de no poder llegar a esta red,levantar el cliente de Cisco.He estado trasteando un poco con CPAN y demás, y esto es lo que he conseguido.

#!/usr/bin/perl
use Net::Ping;
$gateway = "192.168.1.254";
$p = Net::Ping->new();
if($p->ping($gateway))
{
print "El gateway $gateway responde\n";

}
else
{
print "El gateway no responde\n";
system ("matavpnc");
print "Lanzando conexion VPN\n";
system ("vpnc-connect miempresa");
system ("ping -c 5 192.168.1.254");
system ("route -n");

}
$p->close();


Pero esto no es todo.Como sabréis, el Cliente de Cisco crea subinterfaces del tipo tun0, tun1...por cada una de las conexiones VPN.Si sólo existe esa conexión el script anterior nos llega, pero qué sucede si existen más conexiones establecidas? Fácil. El cliente retorna un error indicando que no puede crear la interfaz tun0 por que ya está en uso.Para solucionarlo, he estado probando un script en bash que compruebe si está corriendo(muy fácil comprobando el pid o ps) ya el vpnc-connect, y en caso afirmativo, añada --local-port 0 o --local-port n+1 como parámetro a vpnc-connect..Con ps aux y awk encontré la pista para seguir adelante.
#!/bin/bash
for i in `ps aux|grep vpnc-connect| awk '{ print $2 }'`;
do
kill -9 $i
done
echo "Fin Script MataVPN"

Este ejemplo en concreto mata todos los procesos vpnc-connect, y no hace exactamente lo que queremos, pero el awk '{ print $2 }' creo que es la clave.
Salud y gnuismo para todos!

viernes, 30 de mayo de 2008

md5

MD5 es un algoritmo de reducción criptográfico de 128 bits, que nos permite entre otras muchas cosas, comprobar la integridad de un fichero. Es muy útil cuando copiamos ficheros entre sistemas, para verificar que no se han producido errores.Veamos un ejemplo:Necesitamos copiar(scp, siempre!!!), descargar... el fichero postfix_2.3.8.orig.tar.gz desde la máquina stewie a la máquina brian. Primero generamos la suma md5 en la máquina origen.
[user@stewie]#md5sum -b postfix_2.3.8.orig.tar.gz | awk '{ print $1 }' > postfix.md5
[user@stewie]#cat postfix.md5
[user@stewie]#a6c560657788fc7a5444fa9ea32f5513

Luego copiamos el fichero a la máquina destino
[user@stewie]# scp postfix_2.3.8.orig.tar.gz user@brian:/tmp
Generamos la suma md5 y comprobamos el resultado.
[user@brian]#
md5sum -b postfix_2.3.8.orig.tar.gz | awk '{ print $1 }' > postfix2.md5
[user@brian]#diff postfix.md5 postfix2.md5
Si el resultado es positivo , diff no devuelve nada.Supongamos que el fichero es alterado en el proceso de copia.Aplicamos diff de nuevo, y obtendríamos:
[user@brian]#diff postfix2.md5 postfix.md5
1c1
< aa6c560657788fc7a5444fa9ea32f5513
---
> a6c560657788fc7a5444fa9ea32f5513

Probablemente esto no sirva de mucho a Administradores poco avispados, pero si lo sois ,o simplemente quereis verificar la integridad de vuestras copias o ficheros...aplícate md5sum!
Saludos! I'm back!

viernes, 23 de mayo de 2008

SSH



Muchos Administradores, piensan que sólo con usar OpenSSH para realizar las conexiones remotas a las máquinas GNU/Linux-Unix que administran, es suficiente.
Como la experiencia es un grado, nunca esta de más, securizar la máquina, sobre todo si está expuesta a una red como Internet, o los servicios de acceso remoto están habilitados.
Durante los dos últimos días, he revisado mis notas y apuntes sobre el uso de claves públicas/privadas en las conexiones SSH; he actualizado las configuraciones en las máquinas que no utilizaban RSA. Estos dos enlaces me ha ayudado a refrescar cosillas: [ 1 ] , [ 2 ] . Sé que no soy nadie para dar consejos, pero os recomiendo utilizar llaves RSA en vuestras conexiones SSH.

Saludos!