domingo, 6 de febrero de 2011

Host inaccesible desde Vcenter.

A veces ocurre que un host aparece como "disconnected" en el Vcenter, para poder volver a conectar con el, nos vamos al esx y reiniciamos el servicio mgmt-vmware:

# service mgmt-vmware restart

Si se nos queda colgado en el reinicio, entramos por otra consola y buscamos el proceso hostd:

# ps -ef | grep hostd

Buscamos el proceso vmware-watchdog y lo matamos directamente:

# kill -9 [numero de proceso]

Y nos vamos a tomar una caña fresquita...

Edito:

Dejo la caña en la barra y vuelvo al tajo, esto no soluciono mi problema...

Despues de leer varios articulos en la kb de vmware, el problema esta en los keepalive (mas o menos) que el esx lanza al vcenter, y que en mi caso, estos se encuentran en dos redes distintas... El nat en el firewall con una ip virtual no funciono, ya que al volver a reconectar se "pispa" de que le has cambiado el valor y lo machaca. ¿La solucion? aumentar el timeout de los keepalive.
Esto se hace editando (en el vcenter) el archivo:

C:/Documents and Settings/All Users/Application Data/VMware/VMware VirtualCenter/vpxd.cfg

E insertando, en la seccion vpxd esto:


600


El valor a 600 lo he puesto a ojo, ya veremos como se comporta...
Despues reiniciamos el servicio VirtualCenter Service y arreando.

jueves, 3 de febrero de 2011

Shit happens, o como quitar las tarjetas de red residuales.

Cuando virtualizas una maquina o la mueves de un sistema de virtualizacion a otro, se van creando nuevas tarjetas de red dejando las anteriores como rémoras en el sistema (he dicho rémoras?), para eliminarlas:


1. Abrir una línea de comandos ejecutando cmd.exe.
2. Escribir: set devmgr_show_nonpresent_devices=1 y presionar ENTRAR.
3. Abrir el administrador de dispositivos escribiendo en la línea de comandos: DEVMGMT.MSC y pulsar ENTRAR.
4. En el Administrador de dispositivos pulsar en el menú Ver y marcar Mostrar dispositivos ocultos.
5. Expandir el ítem Adaptadores de red.
6. Seleccionar los adaptadores que aparecen en color atenuado, clic con el botón secundario del ratón y Desinstalar.


Siempre y cuando te molesten...

miércoles, 26 de enero de 2011

Encriptar archivos y/o carpetas bajo linux y complicarlo poco a poco.

Pues tienes un ubuntu server 10.10 (todo consola) al cual le tienes que meter una carpeta encriptada en el home de un usuario. ¿Solucion? encfs. Vamos alla...

Instalamos encfs:

sudo apt-get install encfs

Creamos en el home dos carpetas, por ejemplo enc y noenc. El contenido encriptado se guardara en enc y se montara desencriptado en noenc:

mkdir ~/enc ~/noenc

Encriptamos el contenido de la carpeta enc y lo montamos en noenc:

encfs ~/enc ~/noenc

Nos preguntara que nivel de seguridad queremos, si le damos al enter pondra el "por defecto" y nos preguntara el password para la carpeta encriptada.

A partir de este punto ya tenemos la carpeta enc encriptada y su contenido montado en noenc. Si queremos desmontar la carpeta y dejar solo lo encriptado lo hacemos con:

fusermount -u ~/noenc

Y si queremos volver a montarla usariamos otra vez:

encfs ~/enc ~/noenc

¿El problema? Nos pide el pass. Si queremos que se monte tras el login del usuario, por ejemplo, metiendo una linea en el .bashrc tenemos que pasarle el pass a enfs. Hasta donde yo se no se puede pasar el pass como parametro, asi que lei a un tipo habilidoso que creo un programa en C que lo hacia, ya que si existe el parametro --extpass. El codigo del programa llamado, por ejemplo, pass.cc seria:



#include 

int main()
{
//Put your password retreival functions here
std::cout << "my password" <<>
return 0;
//PD: All cout will be interpreted as password.
}


Cambiando "my password" por el password que pusimos antes, y ojo, dejando las comillas.
Una vez creado el codigo lo compilamos con:

g++ pass.cc -o pass

Lo cual nos dara un ejecutable llamado pass que le podremos pasar como parametro al encfs con la sentencia:

encfs ~/enc ~/noenc --extpass=~/pass

Pondria las fuentes, pero ocuparian mas que el post, y tampoco recuerdo todo lo que he leido.

domingo, 23 de enero de 2011

Login, sudo y gksudo con autenticador biometrico en Lenovo (Ouyea!)

De como habilitar el "fingerprint" en Ubuntu con un Lenovo L512:

Añadimos los repositorios y actualizamos:

sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update

Instalamos los paquetes:

sudo apt-get install fingerprint-gui policykit-1-fingerprint-gui libbsapi

Una vez instalado, hacemos un logout y nos escaneamos las huellas en:

Sistema > Preferencias > Fingerprint GUI

Y a disfrutar de la vida que son dos dias.

Fuente: https://launchpad.net/~fingerprint/+archive/fingerprint-gui

lunes, 13 de diciembre de 2010

Virtualizar un Esx (dentro de un Esx) (sic).

Instalamos el Esx como un RedHat 5 de 64b. Teniendo en cuenta que hay que darle al menos 2gb de memoria (esto se puede cambiar luego con un truco).

Una vez instalado hay que hacerle un par de "apaños". Lo primero es habilitar el modo promiscuo en el Vswitch que utlize la maquina virtual, ya que si no no habra red. Esto se habilita en:

> Configuration > vSwitch properties > edit > Security

Tambien hay que cambiar un parametro para poder correr las maquinas virtuales que creemos dentro, ya que si no nos saldra un warning avisando de que no puedes correr una maquina virtual dentro de una maquina virtual. Esto se cambia en:

> Settings > Options > Advanced > General > Configuration parameters

Creamos un nuevo valor pinchando en "add row" con los valores:

monitor_control.restrict_backdoor TRUE

Y rizando el rizo... Si queremos tomar snapshots del Esx que esta virtualizado en el Esx tenemos que ejecutar este comando en la shell de la maquina fisica:

esxcfg-advcfg -s 1 /COW/PermitVmfsOnRedoHierarchy

That's all...

Fuente: http://www.vcritical.com/2009/05/vmware-esx-4-can-even-virtualize-itself/

lunes, 1 de noviembre de 2010

Instalacion de Vmware Server 2.0.2 sobre Ubuntu server 10.04

Esto es una recopilación de información de distintos sitios que me ha servido para poder instalarlo. Las versiones utilizadas son:

S.o: Ubuntu server 10.04
Kernel: 2.6.32-25-generic
Vmware server: 2.0.2-203138

He seguido las instrucciones de esta pagina:

http://www.howtoforge.com/vmware-server-2.0.2-x-on-ubuntu-server-10.04-with-vmware-remote-console-plug-inhttp://www.howtoforge.com/vmware-server-2.0.2-x-on-ubuntu-server-10.04-with-vmware-remote-console-plug-in

Y solo me ha dado problemas al no tener los headers instalados, lo cual se solventa siguiendo los pasos de esta pagina:

http://ubuntuforums.org/archive/index.php/t-25258.html

Los pasos serian estos:

1. Configurar la red con una ip estática editando el /etc/network/interfaces y el /etc/resolv.conf
2. Instalar las dependencias y crear el enlace a los headers:

apt-get install -y gcc linux-headers-`uname -r`
ln -s linux-headers-2.6.32-25-generic /usr/src/linux

3. Reiniciamos.
4. Creamos la carpeta para el server, lo descargamos copiamos ahí y lo descomprimimos.

mkdir /root/vm
cd /root/vm
tar xvfz VMware-server-2.0.2-203138.i386.tar.gz

5. Creamos la carpeta para los parches, los bajamos y descomprimimos.

mkdir /root/dev
cd /root/dev
wget http://nerdbynature.de/bits/2.6.32-22/00-vmware-2.6.32_functional.diff.txt
wget http://nerdbynature.de/bits/2.6.32-22/02-vmnet-include.diff.txt.gz
wget http://nerdbynature.de/bits/2.6.32-22/01-vmware-2.6.32_cosmetic.diff.txt
wget http://nerdbynature.de/bits/2.6.32-22/vmware-config.pl.diff.txt
wget http://nerdbynature.de/bits/2.6.32-22/patch-vmware_2.6.3x.sh.txt
gunzip 02-vmnet-include.diff.txt.gz

6. Cambiamos el nombre a los ficheros.

mv 00-vmware-2.6.32_functional.diff.txt 00-vmware-2.6.32_functional.diff
mv 01-vmware-2.6.32_cosmetic.diff.txt 01-vmware-2.6.32_cosmetic.diff
mv 02-vmnet-include.diff.txt 02-vmnet-include.diff
mv patch-vmware_2.6.3x.sh.txt patch-vmware_2.6.3x.sh
mv vmware-config.pl.diff.txt vmware-config.pl.diff

7. Editamos el fichero patch-vmware_2.6.3x.sh y cambiamos su contenido por:

#!/bin/sh
#
# (C) 2010 lists@nerdbynature.de
#
# 00-vmware-2.6.32_functional.diff
# - based on vmware-server-modules-linux-2.6.32.patch
# - see http://communities.vmware.com/message/1389232#1389232
#
# 01-vmware-2.6.32_cosmetic.diff
# - based on rbihlmeyer's comments in http://communities.vmware.com/thread/232842
#
# 02-vmnet-include.diff
# - stuff .h and .c files in separate directories, as the other
# modules do it
#
# vmware-config.pl.diff
# - based on http://communities.vmware.com/message/1398525#1398525
#
DIR=/root/dev/
PATCHES="00-vmware-2.6.32_functional.diff 01-vmware-2.6.32_cosmetic.diff 02-vmnet-include.diff"
# unset me!
# DEBUG=echo
if [ -z "$1" -o ! "`ls "$1"/*tar 2>/dev/null | wc -l`" = 4 ]; then
echo "Usage: `basename $0` [vmware-modules-source directory]"
exit 1
else
SRC="$1"
fi
cd $SRC
$DEBUG mkdir orig || exit 1
$DEBUG mv *tar orig/
# untar
for t in orig/*.tar; do
$DEBUG tar -xf $t
done
# patch
for p in $PATCHES;
do $DEBUG patch -p1 < "$DIR"/"$p" done # tar for d in *-only; do $DEBUG tar -cf `echo $d | sed 's/-only/.tar/'` $d done $DEBUG rm -rf *-only # vsock.ko needs symbols from vmci $DEBUG cd ../../../bin || exit 2 if [ -x vmware-config.pl -a -f $DIR/vmware-config.pl.diff ]; then $DEBUG patch -p0 < $DIR/vmware-config.pl.diff fi
8. Aplicamos los parches.

chmod u+x patch-vmware_2.6.3x.sh
./patch-vmware_2.6.3x.sh /root/vm/vmware-server-distrib/lib/modules/source

9. Instalamos el server.

cd /root/vm/vmware-server-distrib
./vmware-install.pl

10. La instalación se hace con los valores por defecto (o no) y no debería dar ningún problema.
11. Reiniciamos.

Y una vez reiniciado el sistema ya podremos entrar al vmware-server (si no hemos cambiado los puertos en la instalación) con nuestras credenciales de root a través de:

https://[ip_del_servidor]:8333
http://[ip_del_servidor]:8222



domingo, 24 de octubre de 2010

Script instalacion de openvas y greenbone

Este script esta probado sobre ubuntu server 10.10. No instala el cliente, ya que la idea es manejarlo en remoto a través de http con el greenbone.

#!/bin/bash

cd /tmp

# Bajar los paquetes.

wget http://wald.intevation.org/frs/download.php/767/openvas-libraries-3.1.2.tar.gz
wget http://wald.intevation.org/frs/download.php/754/openvas-scanner-3.1.0.tar.gz
wget http://wald.intevation.org/frs/download.php/757/openvas-client-3.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/773/openvas-manager-1.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/774/greenbone-security-assistant-1.0.2.tar.gz

# Descompimir los paquetes

tar xvfz openvas-*
tar xvfz greenbone*

# Borrar los paquetes

rm *.gz

# Instalar dependencias

apt-get install -y build-essential libgtk2.0-dev libglib2.0-dev libssl-dev htmldoc libgnutls-dev libpcap0.8-dev bison libgpgme11-dev libsmbclient-dev snmp pnscan cmake uuid uuid-dev libgtk2.0-dev libxml2-dev libxslt-dev libmicrohttpd-dev doxygen sqlite3 libsqlite3-dev rsync

# Instalar librerias

cd /tmp/openvas-libraries-3.1.2/
./configure && make && make install
echo “include /usr/local/lib” >> /etc/ld.so.conf && ldconfig

# Instalar scaner

cd /tmp/openvas-scanner-3.1.0/
./configure && make && make install

# Instalar manager

cd /tmp/openvas-manager-1.0.2/
cmake .
make && make doc && make install && make rebuild_cache

#Instalar greenbone

cd /tmp/greenbone-security-assistant-1.0.2/
cmake .
make && make doc && make install && make rebuild_cache

# Limpiar tmp

cd /tmp
rm -r openvas* greenbone*

# Configurar openvas

openvas-mkcert
openvas-adduser
openvas-nvt-sync

# Arrancar el demonio

openvassd

# Crear el certificado de cliente

openvas-mkcert-client -n om -i

# Arrancar el manager

openvasmd --sport 9390 --update &

# Arrancar greenbone

gsad --mport 1241 -v --http-only