Is it a fake website?

31 mayo 2007

Lee las instrucciones aunque no las sigas...

No quería dejar de escribir durante un tiempo sin avisar. A partir del sabado, la imagen será el motivo de ello :D

recien casado
Estaré fuera cerca de 3 semanas y durante ese tiempo las únicas teclas que pulsaré a lo sumo, serán las de un cajero automático.

Mientras, cuidad de este humilde blog y aprovechad el tiempo que nos vemos dentro de tres semanas.


30 mayo 2007

Un administrador Unix/Linux en el mundo Windows

Los administradores de GNU/Linux tienen buenas historias de experiencias en su trabajo, y de interacciones diarias con administradores Windows. Aquí es donde me he encontrado un excelente post de un administrador de GNU/Linux y sus experiencias interactuando con administradores Windows.

logadmin
En este artículo podemos ver como el autor al final desiste de mostrar las ventajas de administrar GNU/Linux frente a Windows, y dándole a todo ello un buen tono de humor a las historias.

4 motivos para NO autentificar por IP

Inexplicablemente hoy en día muchas empresas siguen autentificando recursos y zonas de su web vía IP. Dentro de una intranet como medida preventiva no está de más. Pero autentificar vía IP en Internet tiene delito. Veamos algunos motivos para NO hacerlo:

  • La dirección IP se puede spoofear.
  • Múltiples usuarios pueden venir desde la misma IP. (NAT, proxys, round-robin con VIP..)
  • Aunque la IP original se puede sacar de las cabeceras HTTP -cuando se navega con proxy-, en estos entornos generalmente hay una alta disponibilidad que puede dar una dirección IP diferente en cada petición, por lo que tampoco es seguro.
  • Restringe accesos, pero no autentifiques.
La autentificación se basa principalmente en tres factores:
  1. Algo que tienes.
  2. Algo que conoces o
  3. Algo que tú eres.
o mejor aún, en una combinación de varios de ellos.

Pero la dirección IP falla en (1) alguien más podría tenerla tambien, (2) los demás tambien pueden conocerla -NO es un secreto, y (3) obviamente, pero ¿tú y cuantos más?.

Consejo: Utiliza esta técnica en intranets o pequeños entornos y únicamente para restringir acceso.
En casos donde necesites autentificación sin password, usa certificados para tus usuarios finales.

25 mayo 2007

¿Cuando muere un proyecto de software libre?

Buenísima respuesta la que da el principal desarrollador de squid a un usuario.

Original
>[user]: i can't implement this if the proyect is dead =S

[developer]: Dead is a matter of definition. Free software only dies when the last
copy of the source code is erased.

Transcripción libre
>[usuario]: No puedo implementar esta característica si el proyecto está muerto.

[developer]: Muerto es cuestión de definición. El software libre sólo muere cuando la última copia del código fuente es borrada.

Genial.! :)



Original

Update: El contexto es un usuario preguntando sobre un proyecto para crear una interfaz gráfica, donde controlar la mayor parte de los parámetros de squid vía web.
Thread completo.

23 mayo 2007

Meme: Los comandos de GNU/Linux que más uso

Recojo este meme de magarto. Algún apunte, los comandos mostrados son de un servidor GNU/Linux. No creo que sea muy representativo pero si curioso.
Al hilo de esto os recuerdo los 10 comandos de linux que nunca has usado o cómo parecer un gurú de linux.

[root@logadmin]# history | awk '{print $2}' |awk 'BEGIN{FS="|"} {print $1}' | sort -n | uniq -c | sort -r | head -10


130 ls
106 tail
84 cd
80 ldapsearch
64 netstat
58 ps
51 vi
48 grep
40 df
28 crontab

Este post me da una idea para otro similar. :)

21 mayo 2007

Cómo ganar una PDA buscando en Internet

  • Participa en alguno de los múltiples actos que se celebraron durante el pasado día de Internet.
  • Busca alguno en el que tengas posibilidades, yo en uno de fotografía, poesía o logotipos estaría más perdido que un puntero en javascript.
  • Contesta en el plazo de una hora, las máximas preguntas que puedas de 9 aleatorias. Al final conteste 8 y tenía la respuesta de la última en la pantalla cuando se me adelanto el ganador.
  • Quedando en segundo puesto conseguí esta PDA 2400 qué está muy bien para trastear :)

logadmin

Os dejo alguna pregunta de las que teníamos para que os hagais una idea:

1) ¿Cual es el número 500 de esta serie?. 3 * 5^3 * 11 * 41 * 101 * 151 * 251 * 401 * 3001 * 570601 * 112128001 * 1353439001 * 28143378001 * 5465167948001 * 84817574770589638001 * 158414167964045700001 =

2) Aquí, fue a clases un famoso escritor, ¿de quien hablamos?

Si las adivinais, dejarme un comentario para comprobar que es la correcta.
¿Hicisteis algo el pasado día de Internet?

Chuleta para crear un parche en tu proyecto O.S preferido

Son muchas las maneras de colaborar con el opensource, la más directa es mediante código, ya sea con nuevas funcionalidades que necesitas y no están implementadas, o corrigiendo pequeños bugs que tiene y son fáciles de corregir (esta última, una buena manera de empezar..).
Para ello pego está chuleta con la que podremos crear un parche. Pasos;

  • Puedes trabjar con CVS o subversion pero tambien puedes tener el directorio original y una copia donde realizaras tus modificaciones.

[root@logadmin etc]# ll samba-3.0.24
samba-3.0.24/ samba-3.0.24-MOD/
  • Realiza las modificaciones necesarias en el código (en este ejemplo, simplemente he hecho alguna modificación -sin sentido- para mostrarlo de una manera práctica. Simplemente he cambiado algunos mensajes de debug de inglés a castellano en el archivo

    vi samba-3.0.24-MOD/source/smbd/password.c
  • Una vez hechas las modificaciones necesarias, creamos nuestro parche con:
LC_ALL=C TZ=GMT0 diff -Naur samba-3.0.24/source/smbd/password.c samba-3.0.24-MOD/source/smbd/password.c

Explicación de los parámetros:

La variable de entorno LC_ALL configura el escenario para el comando diff, concretamente, nos aseguramos que todas las traducciones o formatos locales como fecha, hora o similares no serán relevantes en la máquina del usuario.
La variable TZ con el valor GMT0 se asegura que la hora y fecha de la salida de diff estan en "hora universal" para tener las fechas y horas configuradas correctamente en los archivos de patch.
Estas dos opciones se deben principalmente a la peculiaridad de los proyectos Open Source, donde desarrolladores de todo el mundo pueden colaborar. :)

Las opciones de diff son:

-N En la comparación de directorio si un archivo se encuentra en un sólo directorio lo tratará como está, y vacío en el otro directorio (esta opción aunque la pongo por defecto en este caso concreto con dos ficheros únicamente no es necesario)
-a trata todos los archivos como texto y los comparará línea a línea.
-u usará la salida de format unificada, incluirá algún contexto sobre las diferencias que ayudarán a "patch" a encontrar el lugar exacto para aplicar los cambios.
-r cuando se comparen directorios, usa una búsqueda recursiva en los subdirectorios.


[root@logadmin etc]# LC_ALL=C TZ=GMT0 diff -Naur samba-3.0.24/source/smbd/password.c samba-3.0.24-MOD/source/smbd/password.c
--- samba-3.0.24/source/smbd/password.c 2007-02-04 18:59:13.000000000 +0000
+++ samba-3.0.24-MOD/source/smbd/password.c 2007-05-21 06:58:47.000000000 +0000
@@ -276,7 +276,7 @@
vuser->user.unix_name, vuser->user.smb_name,
vuser->user.domain, vuser->guest ));

- DEBUG(3, ("User name: %s\tReal name: %s\n", vuser->user.unix_name,
+ DEBUG(3, ("Nombre de usuario: %s\tReal name: %s\n", vuser->user.unix_name,
vuser->user.full_name));

if (server_info->ptok) {
@@ -688,7 +688,7 @@
BOOL ok = False;

#ifdef DEBUG_PASSWORD
- DEBUG(100,("authorise_login: checking authorisation on "
+ DEBUG(100,("authorise_login: comprobando autorizacion en "
"user=%s pass=%s\n", user,password.data));
#endif

  • La salida de este comando la puedes redirigir a un fichero que habrás nombrado con algo signficativo de la acción que realiza.

Existen multitud de proyectos open source que esperan tu ayuda.

16 mayo 2007

Squid: Configura un proxy en 5 minutos

¿Por qué squid? ¿por qué sólo 5 minutos?

Alguna vez he hablado de squid, pero quizá no haya hecho un repaso rápido en como tenerlo configurado y probarlo de una manera sencilla para que nos deje un buen sabor de boca.

Son muchas las características que squid nos puede ofrecer, pero cuando necesito redirigir todo el tráfico http a un servidor proxy-cache para optimizar rendimiento o aumentar la seguridad, ahí está squid.

Hace poco use squid para una subred segura que no permitía el acceso al puerto 80 de direcciones externas. Son muchas las organizaciones que bloquean el puerto 80 de salida a nivel de router. Es una gran manera de eliminar un agujero de seguridad pero a la vez un gran problema para los administradores de sistemas que necesiten conectarse temporalmente a algún servidor para descargar un archivo. Otro posible escenario sería redirigir todas las conexiones de los ordenadores a un servidor proxy local para incrementar el rendimiento de las peticiones y salvar ancho de banda.

Las situaciones descritas anteriormente pueden resolverse con una configuración de squid en 5 minutos. Todas las peticiones de acceso http externo pueden ser manejadas por squid a través de una simple configuración de proxy en los clientes (aunque tambien podría hacerse sin configurar nada en ellos, pero es otra historia), ¿suena complicado?, pues para nada lo es, veamos como hacerlo:


Instalación.

Descargate la última versión estable de squid, en el momento de escribir este post, es la 2.6-Stable13.
Aunque tiene multitud de opciones de instalación, la primera vez haremos un simple


#./configure --prefix=/usr/local/squid
#make
#make install

Configuración.

El archivo de configuración principal de squid lo tendremos en /usr/local/squid/squid.conf. Aunque te puedan intimidar las 4408 líneas del archivo de configuración, la configuración que haremos de un simple proxy http es muy simple.

Realiza un backup de el archivo de configuración

Esta es una buena metodología siempre que vayamos a realizar un cambio en la configuración. Crea un backup del archivo de configuración actual y renómbralo de alguna manera que nos diga algo, yo personalmente lo haría así:

cp /usr/local/squid/squid.conf /usr/local/squid/squid.conf-05162007


Edita el fichero de configuración

Abre /usr/local/squid/squid.conf con tu editor de textos favoritos, personalmente, yo uso vim.


Configuración en 5 minutos

Hay infinidad de opciones en squid que no utilizaremos, acls específicas, autentificación, limite del ancho de banda por usuario.... Nosotros vamos a configurar un servidor proxy cache sin control de acceso. Se trata de una configuración apta para una red casera tras un firewall.

El archivo por defecto de la configuración de squid es la mayor fuente de información que tendremos, pero necesitaremos hacer unos pequeños cambios para que empiece a funcionar.
Usa tu editor de textos favoritos para encontrar y modificar estas líneas:
visible_hostname machine-name
http_port 3128
cache_dir ufs /var/spool/squid 1000 16 256
cache_access_log /var/log/squid/access.log
Y en la sección acl;
acl intranet 192.168.0.0/24
http_access allow intranet
Aunque en el archivo de configuración tenemos el signficado de esas líneas, las explico brevemente.

visible_hostname: Aquí pondremos el nombre de nuestra máquina. Dejándolo en blanco puede hacer que squid falle.

http_port 3128: No hay necesidad de editar esta línea a menos que quieras cambiar el puerto de tu servidor proxy.

cache_dir ufs /var/spool/squid 1000 15 256 : Descomenta esta línea, será el tamaño que asignes en disco para la cache de squid. Los dos últimos valores son la profundidad de los directorios que se crearan al construir la cache.

cache_access_log: Este será el fichero donde logeará todas las peticiones de acceso a Internet.

acl intranet 192.168.0.0/24: Esta línea es necesaria y debe corresponder al rango de tu red para permitirles acceso al proxy, o a una única ip si sólo tú vas a acceder.

http_access allow intranet: Esta línea permite a la acl intranet definida anteriormente el acceso a internet.


Levantando squid

Antes de levantarlo, tendremos que construir el directorio de cache que habíamos definido anteriormente:
#./squid -z

Levantamos squid
#/usr/local/squid/bin/RunCache &

Comprobamos que funciona sin problemas
#tail -f /usr/local/squid/var/logs/access.log


Configuramos los clientes

Si usas Mozilla o Firefox podrás configurar el servidor proxy a través de:

Herramientas -> Opcines -> Red -> Configuración

Añade el nombre de tu nuevo servidor proxy y el puerto 3128 si es que no lo habías cambiado. Ahora navega por Internet y tendrás que ver las conexiones en la shell que tenías abierta con tail -f /usr/local/squid/var/logs/access.log

Enhorabuena, has configurado tu servidor proxy.
Ahora podrás empezar a investigar las miles de posibilidades que tiene este proxy-cache.

Update: Existe un documento en castellano más completo sobre el proxy squid.
Y squid y las delay-pools

Esta ha sido mi adaptación del artículo original

15 mayo 2007

Algunas webs tambien cierran por vacaciones

Sí, no sólo los negocios físicos tienen derecho a cerrar durante unos días, ahora tambien las webs, claro está, avisando previamente de ello y sin dejar de dar soporte hasta el último día antes de las vacaciones.


Ezproxy es otro software que tiene muy buen soporte, pero ellos tambien necesitan un break de vez en cuando.

Muy curioso y comprensible a la vez el anuncio.

Chris, descansa esas dos semanas y relájate con tu familia, lo tienes merecido.

La web de squid mejora su imagen

Me atrevería a decir que Squid es uno de los proxys más desarrollados, potentes y con infinidad de características de los que existen actualmente. Su lista de correo es muy activa, se aprende mucho tan sólo siguiendo algunos hilos, la documentación y el soporte que brinda NO tiene nada que envidiar al de mucho software comercial que he conocido.

¿Qué por que cuento todo esto?. Creo que estaban tan concentrados en su trabajo que la web del proyecto no la habían modificado desde hace muchos años, pero ayer por fin, se puso en marcha la nueva web que se llevaba preparando hace semanas. La apariencia es más acorde con los tiempos actuales y el contenido esta algo más estructurado para encontrar lo que se busca con más facilidad.

squid

Siguiendo con la renovación, ahora tambien disponen de un blog donde comentar todas las noticias referentes a squid.

¿Necesitas centralizar todas las conexiones a Internet?
¿Quieres ahorrar ancho de banda en tu conexión?
¿Quieres ver estadísticas del uso que se hace de Internet?
¿Necesitas restringir la navegación en Internet a los usuarios?
¿Necesitas experimentar....?


Juega con squid

14 mayo 2007

Cómo saber el número de procesadores reales de un servidor

Hace días, se publicó en sigt.net el artículo "Cómo saber si tu servidor (compartido) está saturado". En la parte "A nivel de CPU" se expuso una manera de ver los microprocesadores que tiene un servidor, pero a veces no resulta tan sencillo y ese valor puede llevar a confusión.

Pueden ser muchos los motivos por los que tienes que saber el número de procesadores reales que tiene un equipo: ya sea por causa de licencias, inventario de hardware, o adaptación del kernel.

Unas cuantas opciones podrían ser:

1. #cat /proc/cpuinfo

esta es la que se comentaba en el artículo de sigt.net mencionado anteriormente, pero no nos podemos fiar de la salida de este comando

Si tuvieramos dos procesadores físicos dual core, el comando anterior nos mostraría 4 procesadores. Lo mismo ocurriría para los microprocesadores hyper threading, ejemplo;
  • Si tuvieramos 2 procesadores hyper threading, /proc/cpuinfo nos mostraría 4 microprocesadores
  • Si tuvieramos 2 procesadores dual core y hyper threading /proc/cpuinfo nos mostraría 8 microprocesadores.
2. Otra opción podría ser como la del caso anterior, pero fijándonos en un campo de cada procesador, concretamente el "physical id". Una CPU hyper threading tendrá un único espacio físico, por lo que aunque la veamos como dos cpus como en los casos anteriores, tendrán un único "physical id"

3. Otra opción algo más avanzada sería:

#/usr/sbin/dmidecode | grep -i "type 4" | wc -l

dmidecode es una herramienta que nos muestra toda la información hardware tal y como es vista por la BIOS, fue escrita originalmente por Alan Cox.

Podeis consultar una detallada guía de scripting con dmidecode.


¿Conoceis otro metodo para saber el número de microprocesadores de tu máquina?

Tip de lunes: Wear Sunscreen

Disfruta de la fuerza y belleza de tu juventud.
No me hagas caso, nunca entenderás la fuerza y belleza de tu juventud
hasta que se te haya marchitado.
Pero créeme, dentro de 20 años cuando estes mirando tus fotos recordaras
que no podrás tomar hoy todas las posibilidades que tenías ante tí y lo guapo
que en realidad eras...

No te preocupes por el futuro, o preocúpate, sabiendo que es tan efectivo como intentar resolver una ecuación de álgebra masticando chicle


Hace semanas fue "el discurso de Steve Jobs", hoy es dejo este magnífico vídeo
para disfrutarlo un lunes por la mañana y recapacitar.

Se trata de una columna escrita en el Chicago Tribune en 1997, la cual luego se convirtio
en este video musical narrado con una fuerte voz australiana.

Más datos sobre "Wear Sunscreen"

09 mayo 2007

Los administradores de sistemas están cansados de los desarrolladores

Me viene de perlas este post de Brian K. Jones sobre Sysadmins, libros y tendencias, si hace días discutíamos sobre si un administrador de sistemas debía saber programar, en este artículo hablan con el mismo pensamiento, pero más desarrollado. Os dejo algunas de las afirmaciones del post:
  • Los administradores de sistemas estamos cansados de esperar a que los desarrolladores solucionen nuestros problemas.
  • Los administradores de sistemas no solo juegan con Perl y demás lenguajes de desarrollo web scripting, sino que tambien con lenguajes de bases de datos, e interfaces para tecnologías SNMP, LDAP, NIS, DNS...
  • Los administradores estamos cansados de los complejos desarrollos de los programadores. (puppet; desarrollado en ruby por un sysadmin originalmente)
  • Rara vez los desarrolladores escriben código para tareas de sistemas, sin embargo muchos administradores colaboran en la integración de sistemas en proyectos como LDAP, samba. Yo mismo he realizado alguna colaboración en squid, jabber, algún proyecto de seguridad web...
  • Los administradores trabajamos con tecnologías como servidores de DNS, bases de datos, servidores LDAP, de logs. Por ello necesitamos herramientas que nos ayuden a reaccionar pronto. Necesitamos más integracíon y automatización en este área para saber que es lo que irá mal hoy, mañana o como los usuarios utilizan nuestros servicios.


logadmin
El hecho es que los centros de datos alrededor del mundo están creciendo cada vez más, volviéndose más complejos y difíciles de manejar, esto hace que las compañias fuercen a los administradores a especializarse en áreas y podemos ver un "administrador de correo", "administrador de backup" "administrador de almacenamiento" "administrador de proxys", etc. Son posiciones muy concretas que aunque por una parte no están mal porque te especializas en un campo, por otro lado un administrador debe conocer la película completa.

Lectura totalmente recomendable la del post que os he comentado.

Un muy buen sitio que acabo de descubrir para los administradore de sistemas.
Disfrutad.

Si pides cita online para la renta, olvidate de Mozilla/Firefox y hasta de Internet

Me dispongo a pedir la cita previa para la declaración de la renta. La página a la que accedo para ello es esta, bochornoso.


Lo intento con I.E, con Mozilla/Firefox ya me he desesperado. Introduzco mi DNI y lo siguiente es que el cuadro del PIN, no tiene foco, es decir no hay cursor ni selección para empezar a escribir en él, cuesta hasta poder introducir un sólo número en él, bueno, empiezo a introducir el pin de 7 cifras con la seguridad que te da un teclado virtual. Pero voilá, en la caja del pin sólo te deja introducir 4 cifras (sí lo pone debajo) pero no es muy intuitivo, además no te sale ningún mensaje o popup cuando intentas introducir más. Llegado a este punto, no me puedo creer lo que está pasando.

Pero a todo este malfuncionamiento, NO adaptación a los estándares, chapucería de código.... me encuentro con la NULA seguridad de los datos.

La primera regla de un Desarrollador web es "NO validar ningún dato en el cliente" ya que nos podemos bajar la página, quitar todo el javascript de validación de datos y meter en la Base de Datos todo lo que queramos. :D , no hay que ser maligno, además no tengo tiempo, por lo que decido llamar por teléfono para pedir mi cita previa. Con los tiempos que corren y así...

Para los que os preocupe la seguridad web o para los que han realizado esta plataforma os puede interesar este par de enlaces de seguridad web y Estándares web.

Se puede saber que empresa ha desarrollado esta plataforma, pero ¿para que?. Y así funciona todo.

08 mayo 2007

Se acercan las elecciones; algunas apuestas por el Software Libre

UPDATE : Gracias al comentario de un lector que apunta al "voto geek" parece que esta noticia puede estar relacionada con esa idea, como una nueva "estrategia" de los políticos.
(Gracias Neobious)
UPDATE2: Al modificar este post, he perdido la opción de comentarios, únicamente de este post. (no se trata de algo premeditado por su naturaleza política :D) Por lo que si deseais dejar un comentario, enviarlo al mail de la derecha. Gracias.


Al final de la página 6 del diario ADN de hoy se puede ver como algún Partido Político apuesta por el Software Libre en el ayuntamiento.

software

Buscando información, he encontrado un interesante documento Sociedad de la Información, Software Libre y Navarra donde se exponen claramente las ventajas de el Software Libre en el ayuntamiento y la situación actual en el momento que se escribió el documento.

También buscando más información sobre la noticia comentada, he llegado hasta Un plan municipal para la instalación de programas informáticos libres -software libre- en el ayuntamiento de Madrid .

Da igual del partido político que se trate, todos aprovechan el momento previo a las elecciones, pero, ¿conoceis más movimientos como estos por parte de otros partidos políticos?
¿Se llevarán a cabo?


¿Qué opinais?

07 mayo 2007

¿Quién dijo que los teclados virtuales de la banca online eran seguros?

Entre los múltiples métodos para protegerse del phishing utilizados por la banca online, podemos ver el uso de un teclado virtual. De esta manera evitan que un keylogger pueda capturar las pulsaciones de las teclas.

teclado virtual

Aun así, se puede utilizar la API de Win32 para capturar los datos, como es el caso de Citibank.

SENCILLA DESCRIPCIÓN DEL PROCESO
  • Tendremos un servicio en nuestro ordenador a la espera de que nos conectemos a nuestro banco. Una vez que nos conectemos, lo detectará y empezará a trabajar.
  • Con el teclado virtual en pantalla, cada click que realicemos, la misma función utilizada por el botón "Imprimir pantalla" sera ejecutada.
  • Todos los archivos de "screenshot" se guardarán en un mismo directorio. (tendremos tantos archivos como la longitud de la password.
  • Para determinar el orden de estos archivos, se podrá hacer con el nombre mismo. (se crean por orden de pulsación)
  • El contenido de ese directorio se puede enviar por correo, subirlo a una web...
Esto es lo que puede ocurrir (sin ser conscientes de ello) cuando nos descargamos cualquier archivo de Internet o adjunto de correo. Estaremos siendo objetos de robo de datos sin apenas saberlo.

Otro tanto para utilizar sistemas Linux. :P


Más datos del ataque y una prueba del mismo.

¿Google analytics y una patente de cookies de navegador?

Cuando Google compró Urchin en 2005, nadie sabía a ciencia cierta que pasaría con ese software.

Pero a los pocos meses, nació Google Analytics. Aún se puede ver donde os redirige http://www.urchin.com. Para aquellos que no les guste que un sistema de terceros controle sus estadísticas, aún pueden usar urchin instalándolo en sus servidores y adaptándolo al máximo.

En eso estaba cuando me encontré una curiosa frase:


"Through a patent-pending combination of browser cookies, the Sensor detects and initializes the unique visitor and session identifiers allowing exact monitoring of new and returning visitors regardless of service provider proxy behavior"

Se puede leer en el enlace donde explican la tecnología UTM.

¿Es posible patentar el uso de las cookies de un navegador? ¿Van en serio?

All about Linux

Es el nombre de un blog con la temática principal de administración de linux. Lo acabo de descubrir a través del artículo de "Iptables: Introducción a un Robusto firewall" en el último número de INsecure Magazine.

logadmin

La temática es muy similar a la que intento plasmar en este blog de un administrador de sistemas (pero en inglés), por lo que quería compartirlo con vosotros.

Y vosotros, ¿habeis encontrado un blog por el cual os guiais o se asemeje al vuestro?

Escribe el resto del post aqui

04 mayo 2007

Administrador de sistemas ¿reviso los logs?

Pequeña historia de la importancia en un administrador de sistemas de revisar los logs minuciosamente. Mejor si conoces expresiones regulares para usarlas junto con grep.

SITUACIÓN:

Servidor con cientos de conexiones de usuarios caido, no responde. (Nos percatamos de ello a los 5 segundos gracias a Nagios)

logadmingráfica de mrtg


Administrador de sistemas N: (Se dirige a los servidores para ver que ocurre. Llama desde la sala.) Tiene un kernel panic!

Administrador de sistemas L: Bien, me acerco para comprobarlo. (kernel panic, qué extraño?, llevaba meses funcionando sin problemas)

Una vez en servidores, el equipo ya había sido reiniciado (el mensaje dando el kernel panic era crucial para ver alguno de los motivos)

Administrador de sistemas N: Tenía un montón de números y códigos y al final kernel panic.

Administrador de sistemas L: (¿%$O!!)

Esperamos hasta comprobar que la máquina reinicia correctamente, realiza algún chequeo de disco, al tener journaling no hay problemas. Arranca todo correctamente.

Volvemos a nuestros equipos para revisar que es lo que ha sucedido.

Administrador de sistemas N: Voy a echar un vistazo a los logs a ver que ha sucedido.

(5 minutos)

Administrador de sistemas L: ¿Dicen algo los logs?, mirá justo los minutos antes de el reinicio.

Administrador de sistemas N: No se ve nada, líneas del reinicio pero nada más..

Administrador de sistemas L: Algo tiene que poner, vamos a ver..... (menos mal que no ponía nada) (después de un grep + expresión regular).
Mensaje del log (creo que nunca antes había visto un mensaje tan detallado de un kernel panic)



Apr  3 17:10:16 logadmin kernel: ------------[ cut here ]------------
Apr 3 17:10:16 logadmin kernel: kernel BUG at mm/prio_tree.c:528!
Apr 3 17:10:16 logadmin kernel: invalid operand: 0000 [#1]
Apr 3 17:10:16 logadmin kernel: SMP
Apr 3 17:10:16 logadmin kernel: Modules linked in: qla2300(U) qla2xxx_conf(U) qla2xxx(U) vfat fat ipt_LOG ipt_limit iptable_filter
ip
_tables md5 ipv6 autofs4 i2c_dev i2c_core microcode raid0 dm_mod button battery ac ohci_hcd e1000 floppy sg ext3 jbd mptscsih mptbas
e sd_mod scsi_mod
Apr 3 17:10:16 logadmin kernel: CPU: 1
Apr 3 17:10:16 logadmin kernel: EIP: 0060:[] Not tainted VLI
Apr 3 17:10:16 logadmin kernel: EFLAGS: 00010202 (2.6.9-22.0.2.ELsmp)
Apr 3 17:10:16 logadmin kernel: EIP is at vma_prio_tree_add+0x36/0x95
Apr 3 17:10:16 logadmin kernel: eax: 00000009 ebx: e6bc57ac ecx: 00000000 edx: 00000029
Apr 3 17:10:16 logadmin kernel: esi: ebd64e8c edi: f51595f8 ebp: dd0d8460 esp: cd4c6f3c
Apr 3 17:10:16 logadmin kernel: ds: 007b es: 007b ss: 0068
Apr 3 17:10:16 logadmin kernel: Process smbd (pid: 62051, threadinfo=cd4c6000 task=ecd84cb0)
Apr 3 17:10:16 logadmin kernel: Stack: e6bc57ac f499e680 c014e3aa e6bc57ac 000000fb 00000000 f0712280 c014eeea
Apr 3 17:10:16 logadmin kernel: dd0d8460 dd0d8458 00000000 00000001 00000000 f5159548 f499e680 0002a000
Apr 3 17:10:16 logadmin kernel: b738b000 dd0d843c dd0d8460 dd0d8458 f499e680 f499e6b0 cd4c6000 f0712280
Apr 3 17:10:16 logadmin kernel: Call Trace:
Apr 3 17:10:16 logadmin kernel: [] vma_link+0x9c/0xbc
Apr 3 17:10:16 logadmin kernel: [] do_mmap_pgoff+0x50e/0x666
Apr 3 17:10:17 logadmin kernel: [] sys_mmap2+0x7e/0xaf
Apr 3 17:10:17 logadmin kernel: [] syscall_call+0x7/0xb
Apr 3 17:10:17 logadmin kernel: Code: c3 39 ca 74 08 0f 0b 0f 02 83 4e 2e c0 8b 43 08 2b 43 04 c1 e8 0c 8d 54 02 ff 8b 46 08 2b 46
04
c1 e8 0c 8d 44 01 ff 39 c2 74 08 <0f> 0b 10 02 83 4e 2e c0 c7 43 34 00 00 00 00 83 7e 34 00 c7 43
Apr 3 17:10:17 logadmin kernel: <0>Fatal exception: panic in 5 seconds
:D

Posibles Soluciones: Revisar versiones del kernel y sistema operativo y comprobar si es un bug que ya ha sido corregido. En tal caso actualizar.

Solicitar soporte a RedHat adjuntando toda la información disponible, el fallo es claramente del kernel de redhat. ¿alguna duda?

Los LOGS nunca mienten.

Más información:

03 mayo 2007

Sistema de detección de intrusos basado en PHP

Se ha generado un interesante hilo en la lista de seguridad web de la WASC.

Se trata de un nuevo proyecto creado por dos alemanes. Concretamente un sistema de detección de intrusos basado en PHP que trabaja sobre un conjunto de expresiones regulares actualizables, proporcionando un sistema de logs que permitirá almacenar las detecciones realizadas, o enviarlas vía mail, jabber...

En lenguaje plano, el objetivo de una aplicación de este tipo es situarla en el servidor web y revisar todas las peticiones web que le llegan, aquellas que se clasifiquen como ataques será denegadas y tendremos logs de todo lo maligno que ocurra en nuestro servidor. Pero para esto, ¿No tenemos ya un firewall de aplicaciones web?, ¿Qué diferencia hay con este IDS basado en PHP?

Bien, el principal objetivo de un firewall de aplicaciones web como modsecurity es proteger, limpiar (sanitizar me suena mal) variables recogidas o filtrar, pero este proyecto se centra en la detección, reacción y conocer nuevos patrones de ataque.

Está orientado a desarrolladores preocupados por la seguridad web y para aquellos administradores de sistemas que no tengan en sus servidores modsecurity.

Buayacorp tambien habla de ello.

Posteadores en portadas, ¿nuevo perfil profesional en Internet?

El contenido generado por los usuarios IMPORTA.

Ya lo dije hace poco en un post irónico sobre los voluntarios de la web 2.0, la realidad es que hay millones de blogs, más de 71.000.000 según technorati, y tan sólo unos pocos capaces de generar gran cantidad de tráfico, me refiero a digg, reddit, del.icio.us, y más cercano a nosotros meneame, ,barrapunto y fresqui (aunque si bien es cierto, este último aún no es comparable al tráfico generado por sus compañeros).

Estos sitios son los monstruos de la Internet de nuestros días, los nuevos gigantes creciendo en poder, por ello se habla de el efecto digg (más de 32.000.000 de resultados en Google), o efecto meneame (más de 1.000.000), como aquello que sufren las webs que consiguen la portada de uno de estos sitios, uno de los culpables creadores de estos monstruos, liberó un software para minimizar estos daños colaterales.

Hagamos alguna suposición:

El 60% del contenido de Internet es creado por los Usuarios. El verdadero valor de Internet es el contenido que a su vez es creado por nosotros, los Usuarios. La actual moneda de Internet es el tráfico, y por eso necesitamos sitios como meneame, digg...

Si Internet es la "televisión" de nuestros días, aparecer en los sitios sociales es como "anunciarte en horario de máxima audiencia", y eso se cotiza alto.

¿Cuanto tardaremos en ver ofertas de trabajo buscando profesionales así?

Se busca gente con:
  • Innovación y creatividad solucionando los problemas diarios
  • Profundo conocimiento de la funcionalidad y usabilidad de sitios web.
  • Comprensión detallada del comportamiento de los usuarios en Internet.
  • Entusiasmo por las nuevas tecnologías
  • Experiencia en creación de contenidos de la web 2.0 incluyendo blogs y creación de foros online.
  • Conocimientos de programación del lado servidor (ASP, PHP, JSP, etc)
  • Conocimiento de Optimización de motores de búsqueda (SEO)
En definitiva, se busca a los nuevos publicistas, publicistas 2.0, posteadores de portadas, gente que maneje bien Internet y comprenda el funcionamiento de los sitios sociales que hablamos, personas capaces de llevar a PORTADA cualquier producto, servicio o contenido de cualquier tipo.


¿Podría tratarse de un nuevo perfil profesional demandado en un futuro cercano?

Las comunidades de usuarios importan

La historia de la clave de cifrado de los discos HD-DVD descubierta y posteada en DIGG, ha demostrado lo que todos ya sabíamos. El valor de Internet es el contenido creado por el usuario, y las comunidades de usuarios pueden ganar la batalla de censura en Internet.

Frente a la censura moderación que se hizo de esa noticia en Digg, por contener la clave de cifrado e intentar eliminarla de cada noticia y post, al final se ha convertido en una de las claves más extendidas de Internet, ahora podemos ver la clave en camisetas, dominios registrados e incluso poemas.

Kevin Rose (creador de Digg) rectificó, y ya no borrarán historias ni comentarios que contengan el código.

Si pierden, qué demonios morirán intentándolo :D