martes, septiembre 15, 2009

Creando túneles locales, remotos y dinámicos en ssh

Una de las herramientas más versátiles que existen entre las aplicaciones que tiene unix (aunque también esta para windows), es el ssh.

Principalmente permite ver una consola de texto de un servidor remoto y desde la consola poder administrarlo.

Pero hay una funcionalidad bastante importante y que son los túneles de ssh.

Los túneles de ssh nos permiten "traernos" puertos TCP remotos a nuestra máquina local o "enviar" puertos locales para que sean publicados en un servidor remoto.

Ejemplos:

Tunel local: Queremos traernos el puerto 1521 (oracle) de una máquina remota que sólo tenemos acceso vía ssh, al puerto local 2000:

ssh usuario@servidor -L 2000:localhost:1521

Tunel remoto: Queremos enviar nuestro puerto 8080 a una máquina remota y cuando se acceda al puerto 80 (web) de la máquina remota las peticiones se nos está haciendo en nuestra máquina local.

ssh usuario@servidor -R 80:localhost:8080

Tunel dinámico: Queremos conectarnos a internet desde una máquina virtual, pero no queremos usar un proxy que esta en medio, desde el navegador definimos un proxy tipo socks:

ssh usuario@servidor -D 3000

El el navegador configuramos para el proxy el host 'servidor' y el puerto 3000

miércoles, agosto 05, 2009

Problemas al enviar correo por el puerto 25

Algunas empresas de telefonía o en algunos centros de trabajo, de estudios... están bloqueando el acceso al puerto 25 (smtp) que se utiliza habitualmente para envío de correo.

El principal motivo es la proliferación de virus y troyanos que aprovechan el control de un ordenador para enviar spam.

Para ello lo mejor es usar otros puertos habilitados para mejorar la seguridad, por ejemplo el puerto 465 y usando SSL.

martes, marzo 24, 2009

Restaurar varias bases de datos de mysql con claves foráneas

Uno de los mayores inconvenientes a la hora de importar bases de datos de mysql es que tengan claves foráneas que hagan que diferentes tablas dependan de otras.

Al importar, por defecto, las claves foráneas están activas y por esa razón, si se intenta darán un montón de problemas.

Con este comando se soluciona el problema:

echo "SET FOREIGN_KEY_CHECKS=0; source ./mysql.sql; " |mysql 2>>mysql.err 1>&2

Donde mysql.sql es el fichero que queremos importar.

viernes, enero 02, 2009

Configurar Cacti en Centos 4

El cacti es una aplicación web que te permite monitorizar uno o varios servidores, de manera que puedes ver en tiempo real el uso de los recursos de dichos servidores.

Para instalarlo en CentOS 4 o en Red Hat Enterprise 4 se pueden seguir estos pasos:

Descargar el cacti en formato gz.tar y descomprimirlo en el servidor en una carpeta que se tenga acceso mediante el servidor web.

Luego instalar los siguientes paquetes:

yum install httpd php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-utils

Descargar las RRDtools, para CentOS se pueden descargar desde aqui, luego las instalamos:

rpm -ivh perl-rrdtool-1.2.23-1.el4.rf.i386.rpm rrdtool-1.2.23-1.el4.rf.i386.rpm

Si queremos monitorizar la red debemos añadir la siguiente línea al fichero /etc/snmp/snmp.conf

view systemview included .1

Comprobamos que el servidor de snmp esta funcionando:

snmpwalk -v 2c -c public 127.0.0.1

Posteriormente añadimos la siguiente línea al crontab y reiniciamos el servicio cron:

*/5 * * * * apache /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1

Ahora ya solo falta acceder al cacti a través de la web:

http://miservidor.com/cacti