Archive for Febrero, 2006

Apple publica tutorial sobre RubyOnRails

Martes, Febrero 28th, 2006

Una de las razones que tenía para comprarme un Mac, era, y sigue siendo, usarlo como entorno de desarrollo para aprender RubyOnRails, así que este tutorial de la web para desarrolladores de Apple me viene que ni pintado.

El tutorial está bastante bien y ofrece una idea bastante clara de las posibilidades de RoR, las referencias adicionales son bastante interesantes, particularmente ésta que da instrucciones detalladas para montarse el entorno completo en OS X.

Vía SlashDot

Buscar cadena en multiples archivos

Lunes, Febrero 27th, 2006

Apunto esto por que siempre se me olvida, para localizar archivos que contengan una cadena determinada puede hacerse de la siguiente forma:

find . -name '*.htm' | xargs grep 'í'

Este comando busca recursivamente todos los archivos con extensión .htm desde el directorio actual y muestra los que contengan la cadena í

Instalar DenyHosts en CentOS

Sábado, Febrero 25th, 2006

DenyHosts es un script escrito en Python que monitoriza las entradas del log de conexiones del SSH, /var/log/secure en CentOS, para detectar clientes maliciosos que realizan ataques de fuerza bruta.

Cuando DenyHosts detecta que una IP se estan realizando repetidos intentos de conexión fallidos, añade esta IP al fichero /etc/hosts.deny y de esta forma cortamos de inmediato los intentos de conexión desde la IP maliciosa.

Esta guía toma como base el excelente Howto de Falko Timme publicado en HowtoForge sobre DenyHosts.

Obtener e instalar DenyHosts

Antes de descargar DenyHosts debemos comprobar la versión de Python disponible en el sistema:

python -V

Obtendremos algo parecido a esto:

Python 2.3.4

Después de conocer la versión de Python instalada en nuestro sistema, vamos a descargar el RPM de DenyHosts, el archivo preparado para la versión 2.3 de Python está disponible aquí.

Para descargar directamente el paquete desde nuestro sistema utilizaremos wget:

wget http://mesh.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.1-python2.3.noarch.rpm

Con el paquete descargado, ya podemos instalarlo:

rpm -i DenyHosts-2.1-python2.3.noarch.rpm

Configuración

DenyHosts se instala en /usr/share/denyhosts en este directorio se encuentran los archivos de configuración. Disponemos de un archivo de ejemplo que tomaremos como base para crear la configuración:

cd /usr/share/denyhosts
cp denyhosts.cfg-dist denyhosts.cfg

Editamos el archivo denyhost.cfg con nuestro editor favorito y ajustamos los parámetros necesarios:

SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
#
# Este parametro indica el periodo de tiempo (4 semanas) que mantendremos las IPs maliciosas
# en el fichero hosts.deny
PURGE_DENY = 4w
#
# Bloquear todos los servicios a la IP maliciosa
BLOCK_SERVICE = ALL

El resto de parámetros del archivo se pueden dejar con los valores por defecto, si además queremos recibir un mail cada vez que se detecten ataques, debemos especificar una dirección de correo válida en:

ADMIN_EMAIL =

Lo habitual es que utilicemos DenyHosts como servicio, para ello podemos aprovechar el archivo daemon-control-dist:


cp daemon-control-dist daemon-control

Editamos el archivo y revisamos los valores:

DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK = "/var/lock/subsys/denyhosts"
DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg"

Despues, nos aseguramos que el archivo sea ejecutable para el usuario root:

chown root daemon-control
chmod 700 daemon-control

Arranque

Ya tenemos lista la configuración, ya podemos arrancar DenyHost:

./daemon-control start

Aunque lo ideal es configurar DenyHosts para que arranque automáticamente, para ello crearemos los enlaces simbólicos necesarios:

cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts

De este modo tendremos configurado DenyHosts de la siguiente forma:

chkconfig --list denyhosts
denyhosts 0:desactivado 1:desactivado 2:activo 3:activo 4:activo 5:activo 6:desactivado

Con esta sencilla utilidad haremos la vida un poco más difícil a los pesaos de Internet, espero que os sea de utilidad.

Utilidad para evitar ataques SSH de fuerza bruta

Sábado, Febrero 25th, 2006

Si dispones de un servidor accesible desde Internet con el servicio SSH activado, basta echarle un vistazo a /var/log/secure para descubrir que hay un montón de “chicos malos” que realizan ataques de fuerza bruta basados en diccionarios de usuario y passwords para intentar entrar en nuestra máquina.

Como ejemplo, muestro el log real de una máquina que está conectada esporádicamente a Internet pero con un servicio SSH disponible:


... Invalid user desktop from ::ffff:81.208.84.214
... Failed password for invalid user desktop from ::ffff:81.208.84.214 port 42827 ssh2
... Invalid user workshop from ::ffff:81.208.84.214
... Failed password for invalid user workshop from ::ffff:81.208.84.214 port 43168 ssh2
...

Estos ataques son realizados desde programas que realizan conexiones a nuestro servicio SSH utilizando nombres de usuario más o menos habituales y diccionarios de contraseñas. Esto es una muestra palpable de lo importante que es elegir contraseña adecuadas y que sean lo suficientemente robustas.

Pues bien, para evitar estos visitantes “indeseados” existe una utilidad llamada DenyHosts que tratará como se merecen a estos incordios.

En un próximo artículo describiré como instalar y configurar DenyHosts en un servidor CentOS 4

HowtoForge - Guías para linux

Sábado, Febrero 25th, 2006

El otro día fui a parar a HowtoForge, un excelente site donde se recopilan HOWTOs (COMOs) sobre linux. La mayoría de artículos son muy prácticos y tocan temas que pueden ayudar al día a día de un administrador Linux.

Eso si la pega, no para todo el mundo, es que los contenidos están en inglés.

NetBeans 5.0 ya es oficial

Viernes, Febrero 3rd, 2006

Acabo de recibir la notícia via la lista de usuarios de NetBeans, sobre el anuncio de la disponibilidad de la versión 5.

Esta nueva versión incorpora novedades muy interesantes y representa un salto cualitativo respecto a versiones anteriores y otros entornos similares, léase Eclipse.

Más información: