viernes, noviembre 30, 2007

Publicaciones Kioskeras

Nada más llegar a Argentina lo primero que hice fue agenciarme unos comics de autores de aquí. Son muy buenos y no llega todo a España, así que nada, a pillarme en el kiosko algos. El comic Argentino es de una calidad equiparable o superior al comic Europeo. Los guiones son superimaginativos, y los dibujantes tienen mucha fuerza, sobre todo con el blanco y negro. Me compré uno de Domestico, el superheroe, que es genial, una adaptación de Cuentos de Lovecraft y otro de Historias del Caballero Rojo.

Allí, en el kiosko le eché un ojo a las revistas técnicas por eso de la deformación profesional y ... Coño! una revista sobre ¿¿RedHat Enterprise Linux 4??. Será una errata.


RedHat Enterprise Linux 4

Pues no, no era una errata. Así que me fui fijando en varios kioskos y me di cuenta que la penetración de nuevas versiones de software en el mercado argentino es un poco más lenta que la que tenemos en España. Os dejo unas fotos de varios kioskos.

Macromedia Director 6


Excel 2000 & PowerPoint 2000


Visual Basic 6 & Office System 2003


Word 97 & Access 2000

Todas las fotos anteriores están tomadas en kioskos, no en tiendas de segunda mano de esas que hay por aquí y que me encantan. Esta, sin embargo, estaba en una tienda de segunda mano, qué con el arte de esta gente le han llamado a la tienda como podéis ver en la foto del final.

Efecto año 2000


Tienda de Libros y Revistas de Segunda Mano

Si no conocés la Argentina, no sabés lo que te perdés, me he enamorao!

Saludos malignos!

jueves, noviembre 29, 2007

Palerrrrmo

Fue inevitable, tubo que salir a cenar, y me llevaron fuera 5 amigos argentinos más majos que los pesos. Hasta ahí todo iba bien, pero... salió el tema del futbol. Para los que no lo sabéis, entre los muchos de mis defectos, se cuenta el ser Raulista. Lo siento, es mi debilidad desde que le vi con 17 años jugando en Zaragoza y a la semana siguiente marcandole un gol a ya sabéis quién en ya sabéis dónde.

No, no soy muy futbolero, pero sí hay algo que me identifica es que soy del Raúl Madríd... y claro, había dos bosteros por aquí y tuvieron que salir las copas Intercontinentales perdidas por el Real Madrid, y como no, la última que se perdió contra Boca... con un gol del "tronquito" Palermo.

Ya ves, la cosa, empezó de cachondeo y fue increscendo cuando hablabamos de Palerrrmo y Raúl. ¿Palerrmo y Raúl?. ¿Cómo se puede comparar eso? Pero las risas y el cachondeo fueron llevándonos por otros derroteros. "Boca tiene más títulos internacionales que el Real Madrid". "El Madrid ha sido elegido como el mejor club del siglo XX". "En Boca somos 12+1" "Otra cerveza". "Nosotros tenemos a Raúl". "El mejor del Madrid es Gago que viene de Boca...". La cosa llegó a la selección Española y los dos mundiales de futbol de Argentina... y se acabó la conversación. Fin de la historia (me quedé sin argumentos después de medio empezar a decir con la boca pequeñita y muy bajito.. España tiene una euroc...) a dormir al hotel.

Cuando llegué al hotel, no puede resistirme y pedí al de recepción que me despertara a las 6 de la mañana, para aprovechar a trabajar. Por desgracia, un error fortuito hizo que diera el número de habitación de mi amigo el Palerrrrmista.

Al día siguiente le dije: "Te voy a cascar un escudo del Real Madrid en la web de Boca"

Y él me dijo: "¡Eso!, tenés que hacerlo... si podés"

Con la broma y el cachondeo la cosa llego a que él les tiene que avisar de que están un poco ciegos con la realidad de Internet:


Boca 1


Boca 2

Con el cachondeo llegó la comida y comí con otro bostero, que cuando recibió las noticas... casi le da un algo: "Pero, pero, pero ...¡eso no puede ser!" "Nosotros somos Boca, somos 12+1, nos jugamos el campeonato ahora!" (hasta ayer, que por desgracia palamaron frente a Tigre que sí, se juega el campeonato ahora) "Si la de Boca está así, la de River tiene que estar también así, no podés decirme que River la tiene mejor que nosotros. Tenés que preguntar, informarte, si se sabe algo de la Web de River. No nos podemos ir a la mierda nosotros solos."

Después de eso, tuve que prometerle que me informaría. Tras preguntar aquí y allá, si alguien conocía algo sobre la seguridad de la web llegó a mi, por inspiración divina (¿sería la misma que ayudó a Maradona, el cual por fin confesó que la dió con la mano, a meter el famoso gol, por eso de que en Boca son 12+1?) que en river plate, se come con cuchara:

River Plate

En fin, voy a avisarles hoy mismo, que tengo reunión con unos amigos de por aca.

Saludos malignos!

PD: ¿Paler...quién? ¡¡Raúl!!

miércoles, noviembre 28, 2007

¡Casi No Entro!

Esto es lo que me pasa por no leerme la Guía del Viajero. Si es que con lo apretada de la agenda uno no está para llevarse todas las cosas que necesita en los viajes.

Una vez, cuando iba a entrar en el museo de la presa del Lago Jackson (Osaka) me sorprendió el letrero que decía: "Por favor, dejen sus armas a la entrada". Mira que graciosos, ¿no?. Porqué ..¿será una broma? ¿no?

Pensé que después de ese letrero no iba a encontar otro que me impactase más, pero, al intentar pasar por la audana en Buenos Aires (Canada), me encontré con otra restricción anunciada:


¿Os habéis fijado? Sí, está escondida entre todas las demás, pero está ahí, la restricción que yo no cumplía. Os amplio la zona en cuestión:


¡Dios!¡Y yo cargado hasta los topes! ¿Qué hacer? En primer lugar pensé en usar al ingenirería social con alguien y traspasarselo todo, aver si me lo podía quitar de enciama y entrar vacio. Otee la terminal y nada. Ninguna víctima a tiro. La cola avanzaba y allí seguía yo, cargado hasta los topes: "Te van a pillar Chema, esta vez te vas a caer con todo el equipo".

De repente, la solución en una esquina: ¡Un baño de cabaxheros!

- "Vale, tienes que ver como puedes hacerlo Chema, sólo tienes unos segundos...¿serás capaz?"

- "Eres un campeón Chema, ánimo que tú puedes"

Así que nada, le pedí a un señorita que me cuidara la maleta y me fui corriendo al servico, abrí la puerta del reservado y estaba ocupado. "!Joder¡, ¡qué poco glamour va a tener esto! Todo sea por la patria."

Así que nada, saqué el botecito de miel que había robado del desayuno del avión, y con disimulo lo abrí y lo vacié en el meadero, después tire el frasco a la basura, me lavé las manos con disimulo y regresé corriendo a la cola. "!Uff, pensé que no pasaba la aduana! ¡Qué normas más raras! ¡Mira que no dejar pasar miel!"

Saludos Malignos!

martes, noviembre 27, 2007

Técnicas Avanzadas en ataques
Blind SQL Injection (Parte I de III)

***************************************************************************************
Artículo publicado en PCWorld Noviembre 2007:
- Técnicas Avanzadas en ataques Blind SQL Injection (I de III)
- Técnicas Avanzadas en ataques Blind SQL Injection (II de III)
- Técnicas Avanzadas en ataques Blind SQL Injection (III de III)
***************************************************************************************

Durante los meses de Junio y Julio se publicaron en PCWorld unos artículos orientados a comprender las técnicas de ataques basado en inyecciones ciegas [Parte I, Parte II, Parte III y Parte IV], detectar las vulnerabilidades manualmente o mediante el uso de escáneres y mitigar el impacto de un ataque no detectable. Estas técnicas de ataque se han extendido mucho en los tiempos que corren y es común ver exploits publicados constantemente que hacen uso de estos ataques. Basta visitar los últimos exploits para aplicaciones web publicados en Milw0rm y comprobar cómo las técnicas más usadas son RFI (Remote File Inclusion) y SQL Injection (en todas su vertientes).

Este artículo, en tres partes, va a volver a versar sobre las técnicas de Blind SQL Injection, pero en dos variantes muy especiales, la primera consiste en realizar inyecciones que retrasen la respuesta del motor de base de datos y la vamos a ver, en primer lugar, analizando un exploit que publicaron en Junio.

Breve repaso a Blind SQL injection

Para los que no hayan leído los artículos dedicados Blind SQL Injection y para aquellos que necesiten refrescar la memoria vamos a describir brevemente el funcionamiento de la técnica de ataque. El entorno es una aplicación web que recibe datos desde el cliente. Estos datos se utilizan para construir una consulta a la base de datos para extraer información. El atacante inyecta comandos SQL porque la aplicación es vulnerable a SQL injection pero nunca puede acceder a los resultados que devuelve la consulta porque la aplicación no los imprime. Sin embargo se puede apreciar un comportamiento distinto ante consultas que devuelven datos y consultas que no devuelven datos. A partir de este comportamiento distinto se intenta inyectar lógica para extraer la información en base a valores True o False.

Un exploit Blind SQL Injection basado en tiempos

Lo mejor será verlo con un exploit en publicado en el mes de Julio. No es necesario ser un super programador para entender su funcionamiento, aunque sí vamos a ver un poco de código:

Imagen: Exploit publicado en Milw0rm para sacar hash de admin

Analicemos el código de este exploit para entenderlo bien. Para que sea más cómodo el análisis se han numerado las líneas y se han coloreado y resaltado las más significativas. El objetivo de este exploit es inyectar una cadena SQL que acceda a la tabla dónde se almacena la contraseña del administrador. En la línea 7, en color azul, se puede ver que la cadena que va a inyectar accede al campo admin_pw de la tabla se_games para obtener la contraseña. Sin embargo esta cadena no devuelve el valor del campo pues la aplicación web no va a mostrar ese resultado por pantalla nunca. ¿Cómo resuelve el problema el atacante? Pues como se puede ver en la línea 7. El exploit genera un retardo de unos 5 o 6 segundos llamando a la función Benchmark si y sólo si el valor ASCII del carácter de la contraseña que se encuentra en la posición $j es igual al valor $i, que va recorriendo todo el alfabeto ASCII.

Esto le permitirá al atacante averiguar cada uno de los caracteres que componen el hash de la contraseña del usuario administrador. De la línea 8 a la 15 se realiza la construcción del paquete que se va a enviar al servidor web y puede comprobarse en la línea 13 como la inyección se realiza en el campo USER AGENT del mismo.

Esto es bastante curioso, pero hay que recordar que cualquier dato que venga desde el cliente y que vaya a ser utilizado en una consulta a la base de datos es potencialmente peligroso. Esto nos indica, que por alguna razón el servidor web está guardando estadísticas de los clientes que navegan por el sitio web en una base de datos. En este caso esto es tan peligroso como para extraer la contraseña.

La medición del retardo se puede ver resaltada en color Rojo. En la línea 6 se toma el tiempo antes de lanzar el paquete, se envía en la línea 16 y en la 17 se toma el tiempo después de llegar la respuesta. Se calcula la diferencia de tiempo y si ésta es mayor de 7 segundos entonces se infiere que el valor ASCII del carácter de la contraseña que se encuentra en la posición $j es igual al valor $i. Una vez averiguado ese carácter el exploit continúa a por el valor de la siguiente posición.

Sí, es una herramienta de ataque, pero hay que reconocer que el funcionamiento del exploit es muy interesante. En este caso hemos visto como se puede realizar un ataque de Blind SQL Injection basado en tiempos generando retardos usando una función intensiva en cálculo de MySQL. Para cada motor de base de datos existen formas distintas de generar retardos de tiempo. En SQL Server el uso de la función waitfor, en Oracle usando la llamada a DBMS_Lock.Sleep() y en MySQL usando las funciones Benchmark, como en el exploit de ejemplo, o con la función sleep en las versiones 5.

Imagen: Medición de tiempos en SQL Server 2000 usando la función waitfor. Como 1 es igual a 1 la respuesta tarda 10 segundos. Comienza a las 09:52:21 y termina a las 09:52:31.

El método visto en la imagen, el de waitfor, es el que utiliza la herramienta SQL Ninja. Sin embargo, estas no son las únicas opciones para la generación de retardos de tiempo en ataques a ciegas.

***************************************************************************************
Artículo publicado en PCWorld Noviembre 2007:
- Técnicas Avanzadas en ataques Blind SQL Injection (I de III)
- Técnicas Avanzadas en ataques Blind SQL Injection (II de III)
- Técnicas Avanzadas en ataques Blind SQL Injection (III de III)
***************************************************************************************

lunes, noviembre 26, 2007

SPASMS

Al margen de ese 5 % de gente que vez tras vez me deja claro que me ((quiere)^-1) de todas las charlas, me he dado cuenta de que hay gente que me "quiere".

...y no hago nada más que conectar la tarjeta 3G para conectarme a Internet y ...ya tengo un nuevo SMS de alguien que me recuerda, que me quiere, que me envía una postal... ¡pero que bonito!


El tema curioso es que ni yo se que coño de número es el que uso, es una tarjeta que está dentro del modem éste con nombre de grito de Julio Iglesias (HUAEY!) comprada por la empresa pero ya he recibido 5 mensajitos sms de "amor"... publicitario, por supuesto... ¡qué uno es informático y sabe que ligar no es tan fácil!

Me toca las narices cuando me llegan mensajes sms publicitarios al móvil, pero siempre he supuesto que era por alguna ficha en algún lugar mal registrada. Pero no sabía que usaban técnicas de Spam, es decir, aleatorias total, para llegar a la gente. ¿Tal vez esa mujer que se equivocó al enviarte un sms y con la que intercambiaste 10 sms una noche no fue un error?

¿Hay forma de poner filtros Anti "Spasms"? Supongo que hablando con el operador se podrán establecer listas blancas o listas negras, pero... ¿necesitaremos filtros heuristicos antispasms?

Ya me fastidia bastante el "adsense" que pone Telefónica a los mensajes de llamadas perdidas.

Tiene 3 llamadas perdidas.
Recupera el amor de tu vida.
Manda LOLA al 3445.
+ 55 55 5555 555
+ 55 444 5555 55
Privado


¡Coño! Dentro de poco los meterán en HTML con adsense de Google y saldrá.

"Tiens una llamada perdida de:
Jefe.
- Abrir URL: Mata Jefes.
- Abrir URL: Tecnicoless.
- Abrir URL: Dilbert.
"


En fin, ¿Quién se abre un proyecto OS para AntiSpasm?

Saludos malignos!

domingo, noviembre 25, 2007

La hora del Rancho

Esta semana la voy a pasar en la tierra del pelusa. Primero jugando en un congreso académico, por aquello de seguir trabajando en lo que empecé hace tiempo, en el que voy a presentar un paper y a dar un workshop y luego quedandome un par de días en Buenos Aires para ver si al final estoy con los "chicos malos de allí" o no.

Esto conllevará que la ración de basura que muchos estaís acostumbrados a recibir a horas tempranas sufrirá trastornos en el horario. Seguro que sabéis como alimentaros de vuestra propia basura a esas horas, yo intentaré seguir el ritmo autoimpuesto desde hace más de un año de seguir tocando los webs desde allí, a las horas que sean (no me sepo aún el cambio horario) y con la conexión a Internet que consiga.

Seguro que me lo paso muy mal en Argentina esta semana....o no.

Saludos Malignos!

Linux Interruptus

Tiempo ha, me propusieron como penitencia por cierto problemilla con unas cuentas, el usar sólo Linux en mi desktop durante 3 meses. La idea me gustó mucho y estaba dispuesto a empezar con ella a principios de año. Eso de instalarme mi querido Ubuntu e ir jungando con él (perdona RedHat por dejarte al margen!) me parecía una idéa de los más pérfida y maligna y, siendo como soy usuario de Windows diario, seguro que las comparaciones iban a salir solas.

Ahora bien, después de recibir el aviso de parte de un par de colegas de "¿sabes quien escribe esto?" me encontré con un blog cuyo nombre DNS es Usando Linux y cuyo título es LinuxInterruptus: Un usuario de Windows probando Linux.

Coño, que chulo, vamos a leerlo... y ¡joder! hay para entretenerse y divertirse:

Os dejo los links a algunas entradas muy, muy, muy... "malignas":

- Linux y los fabricantes: la pescadilla que se muerde la cola.

"A Linux, cualquier distribución, con cualquier escritorio, le queda mucho camino por recorrer antes de constituir una opción válida para un usuario sin conocimientos, que lo que desea, como yo, es una herramienta sencilla de instalar y manejar, que no le exija hacer un "master" solo para que funcione sin problemas en una máquina."

¡Ha dicho!

- Probando Linux en Real (Primera Parte)
- Probando Linux en Real (Segunda Parte)

"Pero cuando comencé con esta última serie de dos post, dije que mi intención era hablar sobre esa "leyenda urbana", según la cual, los drivers de los dispositivos son un problema en Linux.

Después de esto, creo estar en condiciones de afirmar que no se trata de una leyenda urbana: Linux tiene en este terreno un enorme agujero que, en mi opinión, es una de las causas fundamentales que impiden su extensión."


¡Ha dicho!

- Leyendas Urbanas sobre Linux (Primera Parte)

"Linux es algo hecho por técnicos para técnicos.

Lamentablemente, debo apoyar la afirmación. Y me baso en varias razones fundamentales:...


¡Ha dicho!

El Blog es genial, divertido y para muchos polémico. Ha probado tres distribuciones y ha ido haciendo cosas para usuarios "normalitos". Supongo que desde el prisma técnico muchas cosas no os parecerán correctas o a algunos les parecerán polémicas, pero su punto de partida es el que és. Dos meses de posts muy, muy curiosos...

Para acabar de comparar las cosas ha ido haciendo algunas cosas similares con Windows Vista. Esa sección es especial para los que nunca habéis tenido la suerte de probarlo.

La URL del blog es: http://usandolinux.blogspot.com/

Saludos Malignos!

PD: ¿Quién lo escribe? ¡Ponte en contacto conmigo!

sábado, noviembre 24, 2007

Abusando de los tópicos

No sé si habéis tenido la experiencia de que te cierren un avión. Sienta fatal, como el culo. El sistema funciona de una forma bastante curiosa. Tú compras un billete de avión para un vuelo concreto pero no tienes confirmado tu asiento, no eres un pasajero, no eres nadie en ese viaje hasta que no haces el registro. Para hacer el registro en el viaje y que te den el ”boarding pass” no puedes llegar ni 30 segundos tarde,…¿30 he dicho? ¡Ni 1 segundo tarde! El tiempo con el que se cierra depende de la compañía y el tipo de vuelo, así que puede ser que sea 45’ antes, o 50’ antes o 1 h antes… y no te equivoques. Si por cualquier cosa llegas 1 segundo después de ese tiempo te encuentras con que se cierra la lista de pasajeros y se finí. Ya puedes suplicar, patalear, llorar o cualquier otra acción. Además, es bastante curioso porque no todas las listas de pasajeros se cierran con el mismo tiempo. Estás jodido, no vas en ese vuelo. Cambia el chip y busca otro plan de vuelos. Luego el avión puede salir muchas horas después por “problemas en la llegada del avión”, “revisión rutinaria” o “avería en el sistema GPS” pero eso no importa.

Por suerte, se inventó el Internet Checkin o el WebCheckin o el registro por Internet. Esto te permite hacer el registro por Internet, elegir tu asiento y llegar al vuelo antes de que despegue, es decir, si el avión sale a las 21:30 y el embarque empieza a las 21:00 horas, y se cierra la lista de pasajeros a las 20:30 te basta con llegar al aeropuerto a las 21:15, pasar el control de seguridad (medio en pelotas) y llegar hasta la puerta del embarque a las 21:28 dónde te vas a encontrar a los asistentes recontando los pasajeros a ver si viene ese que queda. Para poder hacer esto tienes que llevar el Boarding Pass impreso de casita.

Yo generalmente encargo los billetes y me mandan los localizadores por mail y sms, así que me conecto a Internet con la 3G desde cualquier sitio la noche antes, elijo mi asiento y saco el boarding pass. El problema es que no suelo llevar la impresora portátil. ¿Solución? Llegar con 5 minutos más de tiempo, es decir, en lugar de a las 21:15, llegar a las 21:10 (para un vuelo que despegue a las 21:30) e ir con cara de problemas al mostrador de business de la compañía de turno. Voz de cordero degollao…
“Perdona, me ha dicho un compañero tuyo al que he preguntado en información de [compañía de vuelo] que venga aquí que me lo arreglabas en un momento. Verás, he hecho el check in por Internet pero a la hora de imprimir me ha fallado el ordenador y me han dicho que me puedes tú hacer una copia…”

A lo cual, te van a pedir el DNI y dar el boarding en menos de un segundo, porque… ¿Quién no se iba a creer que fallara el ordenador?

Sí, podía irme a la cola normal, esperar mi turno y obtener una copia sin poner cara de pena y contar que mi ordenador se ha roto, pero… como dice House,… ¿por qué no sacar partido por una vez a los tópicos?

En los últimos tiempos he aprovechado, para ir haciendo encuesta social y he decidió decirle a todos que yo uso Ubuntu con Opera, a ver que decían.

Modelo “espalibao”

- “¿Linux con Opera?, no hombre, si para esto necesita el Adobe Acrobat, por eso no has podido sacarlo”

Modelo “técnico”

- “Pues la próxima vez hazlo con el Explorador de Internet y le das a guardar así se queda en un fichero que luego puedes guardar en un disco de esos que se pinchan y lo imprimes en un ciber que allí tienen Internet Explorer”

Modelo “familiar”

- “¿Linux? Jope, mi hermano que estudia informática se emperró en ponerlo en casa y no podía hacer nada, hasta que no discutí y me puso otra vez el Windows no podía usarlo. Yo que solo lo uso para sacar las fotos de la cámara … “

Modelo “topicazo”

- “Yo no sé, con lo que cuestan los ordenadores por qué van tan mal.”

Modelo “talibán”

- “El Windows es lo peor, yo uso MAC” (oiga que le he dicho que uso Linux!)

En fin, que aprovecharse un poco de que los “ordenadores son siempre el problema” es un recurso que siempre funciona:

- “No me llegó el email”
- “El avión se calló debido a un fallo informático”
- “La terminal se colapso por culpa de un error informático”
- etc…


¡Qué triste!, ¡y yo alimentándolos y aprovechandome de ellos para ganar unos minutos de vida!. Soy malo, muy malo. ¿Habéis usado alguna vez algún tópico de esto?

Saludos malignos!

viernes, noviembre 23, 2007

Acepta el Reto!

El más avispado encontró la promoción antes de que se linkara en ningún sitio. Seguidamente yo lo puse "a traición" como un enlace al que aquellos que se repasan este blog buscando cambios. Pero hoy ya os lo dejo aquí anunciado.

EL COMIENZO

El próximo día 14 de Diciembre se va a dar apertura al RetoHacking V y podéis ver la presentación del reto en el lugar dónde se va a publicar. No sé vosotros, pero cuando yo he visto la maravilla que se ha currado Rodol capturando pantallas y animando esto y lo otro que no podéis ver aún, he tenido eso que algunos dicen que se tiene cuando se practica eso que ellos llaman sexo.

LA TEMÁTICA

Sí, esa es la temática, así que podéis ir repasando las tres versiones del Juego... para que tengáis más información. Os dejo linkado un solucionario en youtube, para aquellos que no lo disfrutasteis en su tiempo ;) Ya sabéis que siempre ayuda. ;)

LOS PREMIOS

Esta vez, vamos a continuar con nuestra habitual calidad de premios, que tanto éxito ha tenido (por favor, recordadme los que todavía no he entregado) y tan felices han hecho a los niños. "Asin" que... habrá 10 premios. 10 píniculas para los 10 primeros. Pelis originales, con sus canones pagados y los anticopy de las distribuidoras activados, para que hagas con ellas lo que desees. La lista ya se hará pública.

LAS APUESTAS

Este año, para conseguir forrarme y que nos divertamos más, se van a admitir apuestas. Yo creo que el amigo RoMaNoSoFt no tiene excusa por "estar de vacaciones" o que Kachakil, después de los últimos dos terceros puestos tendrá ganas de ganar al "pieza" de mandingo, que ha ganado los dos últimos o.... Basta de especular, apuesta a tu caballo ganador, yo cubriré las apuestas. Pero nada de jugarnos pasta, nos jugaremos cervezas. La lista de apuestas está así:


Platea de apuestas

APUESTA POR ALGUIEN ... O POR TÍ MISMO...

No puedes apostar sólo por los que aparecen en la tabla, (que han pasado algún reto a tiempo), también puedes apostar por tí, manda tu apuesta y yo te digo a cuanto te la cubro ;)

ENTRENAMIENTOS

Si te quieres entrenar, te recomiendo que estudies los temas que se han ido tocando por aquí ;). Tienes un resumen de las tecnologías de retos anteriores, por si os puede dar alguna pista, en la siguiente URL: Registro de Retos. También puedes empollarte las charlas de estos pájaros, que tienes en los siguientes vídeos: AseguraIT I

PD: Los ratios son todos subjetivos (que para algo yo soy la banca) y pueden cambiar con el tiempo, porque vea a alguno .... no se... flojillo. De momento, recordad, Mandingo tiene 2 retos, Kachakil 1 y Carmonix 1. ;)

Saludos Malignos!

jueves, noviembre 22, 2007

Los Celtics se pasan a: ¡Ubuntu!

La lectura de la "prensa seria" tiene la ventaja de que siempre te deja interesantes descubrimientos como este.

Repasando la crónica deportiva, el amigo Knovas, se encontró con la sorprendente historia de la migración de los Celtics de Boston a Ubuntu. ¿Comorl? ¿Otro que se pasa al lado del bien? ¿No estaba antes? ¿Pero queseto?

No, no tenía nada que ver con el software o la tecnología, la noticia era otra:

"Pero los Celtics tienen un arma secreta. Han cambiado su grito de guerra, el legendario "One, Two, Three, Celtics" que corearon Bill Russell, Auerbach, Bird y McHale por el lema del arzobispo Desmond Tutu: 'Ubuntu'. "Nos lo presentaron en Roma. Nos dijo que 'Ubuntu' resume, en idioma bantú, la superioridad del espíritu colectivo ante el individual", cuenta el entrenador, Rivers. Tres Grandes y Ubuntu: magia en Boston." [Noticia en AS]

Si supieran que están apoyando al bien, se pondrían más "conquencos" aún. Sniff, que bonito.

Claro, que si es para conocer "al resto del equipo" yo grito lo que haga falta: ¡Ubuntu!

PD: He tenido malos pensamientos con el resto del equipo. Cómo penitencia me rezo 2 San Ubuntus...o tres que no se yo si con 2 se me va a pasar...

Saludos Malignos!

miércoles, noviembre 21, 2007

e-PingPong

El pingpong es un deporte de esos que mola jugar. Me mola echar unas palas con algún amigo, que sea más o menos igual de manta que yo, para poder “castigarnos” físicamente. Sí, el pingpong es uno de esos deportes en los que se corre y se castiga el físico más o menos lo que yo aguanto. Los otros dos deportes que yo tolero son las damas y el Risk [o en su defecto ajedrez y stratego].

Una de las características que más se practica con el pingpong es la rapidez de reflejos. La pelota va, pero rápidamente vuelve…y tú le atizas otra vez a la pelotita [Ping!] y regresa [Pong], y así hasta el infinito (que más o menos cuando juego yo son tres veces y se acabó, pues para jugar hay que tener muchos reflejos y yo la diestra la tengo “muy trabajada” por esas cosas de la adolescencia y parece que tengo “la cosa esa inglesa de los temblores”, el tal Perkins o Parkins o … ¡qué sé yo!)

Hoy en día jugamos a esto con los correos electrónicos. Los correos van y vienen y tienes que responderlos. Pero cuando lo hacen… siempre regresan, y a veces multiplicados. Yo suelo tener entre 50 y 150 correos en la bandeja de entrada y para intentar contestarlos todos he utilizado varios sistemas. Primero por orden de fechas, pero claro siempre hay alguno importante que se cuela y tienes que abandonarlo. Te ocupas de los importantes y … alguno se queda olvidado. Pones las banderitas de colores, la naranja para los compis de trabajo, la verde para los amigos, la marrón ya sabéis para que tipo de mails, la rosita para los mails de los fans y las chicas (vaya, ninguna rosa esta semana), la azul para …. ¡Ale!, ¡a tomar por culo!, ¡tengo más banderas que la Luna y el Everest!

De repente te vencen, y te rindes y pasas en canoa de contestar a nada y entonces… ¡se duplican! “¿Recibiste este correo?”, “¿Te llegó?”, “Necesitamos respuesta”, “¿Has podido mirar algo?” "fyi", "pti"

Vale, hasta aquí hemos llegado, cortas el Messenger, dejas los webmails para otro día, paras el RSS y te pones centrado en el Inbox. “Esto es personal nena, eres tú o yo”. Así. A sacó, tú solo en una habitación, sin móvil, sin ninguna otra cosa más que tu bandeja de entrada y tú. En un combate a “muelte”.

Los primeros 5 mail salen rápidos, son los de los colegas con fotos güarras, los chistes del ¿por qué no te callas? Y las últimas noticias sobre el caso Alonso. (5-0)

Sigues leyendo y coges los de confirmaciones, “sí, estaré”, “no, irá Juan Luís”, “nos vemos” y llega uno en el que tienes que mirar la agenda para confirmar un horario, pero te lo quitas. (8-0). ¡Estoy como el Federer!

Llegamos a uno que confirma tu participación en alguna historia y necesitas un plan de viajes. Mail a administración. “Necesito viaje a Barna, salida martes sobre las 11 de la mañana, hotel una noche por el centro, sin desayuno, regreso al día siguiente sobre las 16 horas”.

Y sigues contestando un par de mails más… cuando entra el primer cambio. “Chema, cambiamos la reunión (que acabas de aceptar), ¿cuál de estas fechas te viene bien?” (10-1). Mierda, borra la cita en la agenda, y comprueba nuevas, fechas, estás seleccionando una fecha cuando.. “RE:Plan de Viajes Barna. Chema, la salida no hay sobre las 11, nos quedan a las 6:45 de la mañana y a las 13:55 para la salida y regreso a las 17:00 a las 18:00 a las 19:00 y las 20:00”(10-2)

Mierda, madrugón, pues.. espera, que tienes que seleccionar la fecha de la reunión… bueno, es más importante el viaje. “RE:RE:Plan de Viaje. Cógeme el de las 13:55 de ida y el de las 17:00 de vuleta”. (11-2)

Vamos con la fecha de la agenda, “Tienes 3 nuevos correos”. Vaya, comentarios en el blog, vamos a reírnos un rato… comentario 1 es un chiste, comentario 2 es una apreciación técnica, comentario 3 es del tipo “Me cago en tus muelas Chema”. (11-5)

¿En mis muelas? Te vas a enterar ca….No, primero la cita de la agenda… anótate en las tips de la sidebar contestar a este perro. “Tienes un email. RE:RE:RE:Pla de Viaje. Chema, ok, te cojo ese Salida por IBERIA y regreso por SPANAIR”.

¿Comorl? ¡no,no! Alto, que yo me llevo el coche al parking y si salgo por la T4 luego es una putada regresar por la T2 e ir en Bus a la T4 a por el coc..”Tienes un email.” (11-6)

“RE:FW:RE:FW:RE:RE:RE:FW:Importante. Chema, por favor, léete la conversación y danos tu opinión es muy importante para cerrar una operación” (10-7)

Cuatro folios de thread de conversación y 10 personas en copia. No llego a contestar. Así que, nada Reply all: “RE:RE:FW:RE:FW:RE:RE:RE:FW:Importante. Perdonad, pero estoy un poco liado, contestaré esto cuanto antes, pero estoy un poco pillado de tiempo”. (12-7)

Joder, ¿Qué estaba haciendo antes? “Tienes 3 emails” De las 10 personas en copia 3 están fuera de la oficina (12-10). “Tienes un email” “RE:RE:RE:Plan de Viaje. Chema ya te he reservado los billetes, te mando una lista de hoteles en el centro. Te marco con una estrella los que tienen wifi”. (12-11).

“RE:RE:RE:Plan de Viaje.No,no, alto, cámbiame los vuelos los dos a IBERIA o los dos a Spanir!” (13-11). “Tienes un email” Nuevo comentario en el blog. “Chema NO TIENES NI PUTA IDEA!”. (13-12)

Me cago en todo voy a …”Tienes un email”

“Chema, seguimos esperando la cita de la reunión, siento ser pesado pero tenemos que reservar sala y las disponibilidades están muy justas. Te agradecería que contestaras lo antes posible” (13-13)

Mira agenda Chema, rápido. A ver, … martes a las 11. No, que ahí estoy en Valladolid…mmm el jueves a las 16:00. “RE:RE:RE:RE:RE:Reunión. El jueves a las 16:00 está bien”. (14-13). “Tienes 3 emails”. (14-16). Todos de out of office.

“RE:RE:RE:RE:RE:RE:Plan de Viaje. Listo Chema, sales a las 6:45 de la mañana y regresas a las 12:05 de la noche” (14-17) ¡mierda! ¡a dormir en los terminales de los aeropuertos! ¡¡¡Y YO SIN TWITTER!!!!

Respondes. “RE:RE:RE:RE:RE:RE:RE:Plan de Viaje. Ok, gracias!” (14-17). Tienes un email. “RE:RE:RE:RE:RE:RE:RE:Plan de Viaje. Ok, denada” (14-18). Malditas conversaciones absurdas...¿Quién inventaría la educación?. Vamos a ver si seguimos curra.. “Tienes 2 emails” (14-20). Los billetes electrónicos de los vuelos. Le pones banderita Violeta para no olvidar hacer los Webcheckings. “Tienes un email” (14-21). “Hotel Barcelona. Chema no te olvides de llevarte la tarjeta de crédito y este bono, lo tienes impreso aquí y te lo mando por si quieres imprimírtelo tú. Sin bono no te dan la habitación”. Mierda, al final dormiré en la calle, ¡no te jode!. tip en el sidebar, “Imprimir Bono hotel”.

¿Por dónde iba? “Tienes un email” ¡Ale! ¡Qué no se diga que no tengo amigos! (14-22). “RE:RE:RE:FW:RE:FW:RE:RE:RE:FW:Importante. Chema por favor, se que estás ocupado, pero esto es importante, por favor, dedícale unos minutos”.

Hasta aquí aguantas, esto es juego, set y partido para la bandeja de entrada. Me piro, ya se solucionarán solos los problemas …o contestaré a traición (a las 6 de la mañana o después de las 12 de la noche) para pillar al enemigo con la guardia baja…

Cuidado con el e-pingpong, cuando envias un mail... este regresa con regalo. Perdonad todos el retraso en contestar los mails pero en la ATP del e-pingpong debo andar sobre 2008 en adelante.

¡Saludos malignos!

martes, noviembre 20, 2007

¿Bloggers robando a Bloggers?

Las técnicas de XSS llevan ya mucho tiempo en el ajo este de la "Internete" y hay quien las ha devaluado como técnicas de segunda división. Sí, es cierto, no se ejecutan en el servidor y parece que el que se ejecuten en el cliente hace de ellas menos importante.

El caso es que con ellas se puede jugar si la gestión de las credenciales de los clientes están poco securizadas. Un emplo de esto es el Hijacking que se podía realizar de las cuentas en Slashdot. Ese es un típico ejemplo en el que se ve como si alguien roba la cookie de una sesión autenticada puede entrar en la cuenta del otro.

Otro claro ejemplo de esto fue parte del proceso se siguió para defacear la web de Zone-h, dónde se utilizó un XSS para mangar la sesión de la cuenta de correo de un editor y... el resto es historia.

Thor, de Elhacker.net me envió el otro día un XSS no persistente en Blogspot, y además en la parte que siempre se prueba, en el motor de búsquedas. Si haces click en el siguiente link se mostrará la cookie con la que estás visitando este blog:

http://elladodelmal.blogspot.com/search?q=%3Cscript%3Ealert(document.cookie);%3C/script%3E


Thor estuvo probando varias cosas, y llegó a una buena conclusión. El XSS sólo se ejecuta si y sólo sí, la página ofrece resultados. Así como en este blog se ha hablado varias veces de XSS se ejecuta la visualización de la cookie.

El problema, podíamos pensar, es que sólo podemos hacer XSS de lo que nos vaya a dar resultados,¿no?. Pues no, yo creo que el problema es generar un resultado para lo que quieras ejecutar, es decir, primero decides que javascript quieres ejecutar en el XSS y después, en un post creado para ese proposito generas la entrada necesaria para que de resultados con tu XSS.

¿Pero... tiene sentido? Es decir, un blogger puede postear código, al menos en Blogspot, y puede, si quiere, realizar. Yo he creado una entrada llamada Zarzojo que hace lo pispo. ¿Sirve para algo entonces el XSS del motor de búsqueda? ¿A alguien se le oucurre un vector de ataque? ¿Debería Google meterle mano o puede pasar en canoa de él?

Soy todo ojos. Saludos malignos!

lunes, noviembre 19, 2007

"Pajarraco" de los Santos

Hace mucho tiempo que es público mi amor por Pajarraco de Los Santos. Ya sabéis, después de tener nuestros más y nuestros menos decidimos darnos un tiempo y empezar de nuevo.

Y eso nos llevo a una cena romantica con Chuchi y todo.... y de ahí comenzó todo. Una gira que nos llevó por toda España cantando y que nos dejó compartiendo habitación, ronquidos e intercambiando nuestra ropa.

Como colofón final tuvimos la charla en el Security Day en la que nos lo pasamos teta. Desde ahí... se olvidó de mi. Sniff. Se escapó a vivir dedicando su vida en eso que llaman "trabajar" y solo compartimos chismorreos sobre los Soprano por teléfono, [Sergio, no se si has llegado, pero se van a cepillar a Adriana!!! juajuajua - Esto por no cojerme el teléfono perra mala!-].

Hace tiempo que le esperamos ansiosos para la charla que va a dar en Diciembre en el DISI II, dónde con Hellman y otros de teloneros nos dará un supermegamolonacharla (que al final aprendió :P)

Ya, para terminar nuestra relación, y a espera que me confirme ya en Re-definitiva su participación en el AseguraIT II que estoy organizando para Enero en Barcelona, no he podido resistirme y, cual enamorado de su dulcinea he hecho un dibujo romantico de él.


¿Quieres el original perra? Tendrás que ganartelo ... uñaaaao!!!

Saludos malignos!

domingo, noviembre 18, 2007

Deformación Profesional (continuación)

Leyendo el AS:

"Sobre los primeros en el circuito de Montmeló sin ayudas al pilotaje, Gené reconoció que "los mejores equipos y los mejores pilotos van a seguir estando ahí, lo cual no quiere decir que tengan que ser los mismos que este año", a lo que agregó que "había muchos pilotos que estaban preocupados por la nueva centralita de Microsoft por los problemas que pudiera dar, pero no ha dado prácticamente ninguno""

¿Qué pasa? ¿Esperaban que los dieran? ¿Habían leido algún blog por ahí?

Declaraciones de Marc Gené

¿Estoy obsesionado?

Deformación Profesional

Cuando estás enfermo, todo lo que haces parece que te confirma tu paranoia. En este agitado año que llevo encima, una de las apiroladas que se me ocurrieron fue hacer el curso del CAP, para ver que se cuentan. Ayer sábado se realizaron los primeros seminarios. Mientras recibía una infumable charla sobre algo infame decidí que era buen momento para empezar a leerme los tres libros, así que me puse con el libro titulado "Educación y Sistema Educativo" y en uno de los textos sobre la educación me encontré esto:

"Y en este boom de la eduación y la formación están siendo redescubiertas en cierto modo por políticos y gestores de la economía y el dinero. El propio Bill Gates, en su libro Camino al futuro(1997) dedica un importante capítulo a la educación, que dentro de la lógica de sus presupuesto teóricos la identifica como La Mejor Inversión"

El "jefe", cascando sobre la educación. ¡Me encanta!. ¡Bien dicho "Jefe"!. Apasionado con la lectura continúe leyendo mientras en el aula la charla proseguía con noseque de un claustro:

"Para Bill Gates, una nueva revolución tecnológica está transformando el mundo económico y plantea nuevas demandas al sistema educativo, aunque dicha tecnología proporciones los medios para satisfacer las demandas. Aquellos que se resistan al cambio se enfrentarán a un número creciente de personas que piensan que la tecnología pone a su disposición una mejor forma de aprender."

Ahí, ahí, ¡vendiendo tecnología! ¡Defendiendo nuestra profesión!. Si te hubieran hecho caso no seríamos hoy en día lo que somos. A ver como sigue esto:

"Gates sostiene, sin embargo, que los ordenadores personales no reemplazarán ni devaluarán nada del talento humano necesario para afrontar los retos formativos que se presentarán en el futuro, ya que se hará necesaria la figura del profesor comprometido, de administradores creativos, y, cómo no, de alumnos diligentes."

Profesor comprometido, Administradores Creativos y Alumnos Diligentes. No dijo nada ni de bloggers ni de técnicoless. ¡Ay!, ¡si le hubieramos hecho caso!. No estaríamos como estamos.

"Gates piensa que los grandes educadores han sostenido desde siempre que el aprendizaje es un hecho continuo, y que no se agota en el aula ni bajo la supervisión de un profesor. Por ello, el incentivo para aprender mediante la búsqueda y el descubrimiento se encuentra enraizado de forma profunda en las personas, pero ni siquiera los alumnos muy motivados y con buenos formadores lo han tenido fácil, ya que una de las tareas más difícles a veces ha sido encontrar la información necesaria para lograr satisfacer la curiosidad o acabar con la confusión."

En esta época era cuando salían los CDs ¿no? ¿Estaba vendiendo Encarta? ¿Pensaba ya en el éxito de Yahoo?

¿Es deformación profesional?¿Nos persiguen estas cosas?¿Os sentís perseguidos?¿No puedes hacer nada sin buscarle su nexo de unión con la informática?¿Soy yo el único enfermo?

La gente de nosoyfrek lo ha subido a Internet así que os lo dejo linkado para que hagáis los deberes como buenos miembros de Spectra y os lo leáis. Yo pienso engrosrarlo a mis lista de libros de cabecera que leo en la intimidad.

Descargar - Camino al Futuro.

Saludos Malignos!

sábado, noviembre 17, 2007

Y el abuelo fué picaor...

Bueno, sin palabras me he quedado al ver lo que graban en los eventos de Informática. Esta semana ha sido el IT Forum, un macro evento para gente de IT en Barcelona. Allí hemos estado toda la trupe y... no os perdáis ni por asomo la entrevista que le hacen al cocinero "aspañol" y lo que le dice a los "guiris" en el vídeo titulado: "Day 5 - The Final Wrap".


¿Os suena el cocinero? No puedo dejar de flipar con este "cocinero".


Saludos Malignos!

La Guía del Ocio

Ahora, a las siete de la mañana me estoy preparando para ir a un Seminario. ¡Hoy Sábado! .... el que es un enfermo... es un enfermo, así que, como la semana que viene hay mucho movimiento, os lo recuerdo para que os apuntéis a vuestras propias enfermedades:

- Martes 20, en Madrid: Está el II ISMS Forum, una conferencia en la que vendrán Bruce Schneier, el director de INTECO, Enrique Martínez, y el copresidente de RAISE Forum, Meng-Chow Kang. Yo me lo he agendado para asistir. Agenda y Registro. Gratis para empleados de las empresas miembro de la asociación.

- Miercoles 21 en Valencia: Live Technology Tour. Abuelo, Cervi y Yo junto con los que se hayan apuntando al Factor TI. Agenda y Registro. Gratis para todo el mundo.

- Miercoles 21 en Barcelona: CSLA.NET. Viene Rockford Lhotka y el evento es después del horario del trabajo, para que puedas asistir. Organizado por BCN DEV.NET, el grupo de usuarios de Barcelona. Agenda y Registro. Gratis para todo el mundo.

- Miercoles 21 en Bilbao: Desarrollo con SharePoint Portal Server 2007. De nuevo en horario de tarde para que puedas asistir. Organizado por el grupo de usuarios de Euskadi Artalde. Agenda y Registro. GratiX también, la hostia!.

- Jueves 22 en Valencia: Pure Code. David Carmonix y David "Damisela" Salgado hablando de Ajax, Silverlight y cosas para "divelopers". Agenda y Registro. Gratis para todo el mundo.

- Jueves 22 en Murcia: Live Technology Tour. Abuelo, Cervi y Yo junto con los que se hayan apuntando al Factor TI. Agenda y Registro. Gratis para everybody.

- Viernes 23, Sabado 24 y Domingo 25 en Santa Pola. Visual Studio 2008. El Guille y "Damisela" Salgado durante un fin de semana de fiesta friki. Gratis el registro, el alojamiento te lo pagas tú. Agenda y Registro.

Y esta semana hay Hands On Lab en:

- Madrid: SQL Server 2005 [Tunning, Integration Services, Analisis Services, AntiDesastre] y SharePoint Portal Server 2007 [WorkFlow, Procesos de Negocio y Business Intelligence]
- Zaragoza: Windows Vista [Instalación, Administración, Seguridad y Servicios de Red] y SQL Server 2005 [Implantación, Administración y Seguridad]

¿Te vas a quedar sin aprender nada esta semana?

viernes, noviembre 16, 2007

He pensado que…

***************************************************************************************
Artículo publicado en ISV Magazine Noviembre de 2007: "He pensado qué..."
***************************************************************************************

He pensado que… ¡Vamos a meternos en el comercio Online!

Así; sonriente; con los dientes deslumbrando cual villano antes de recibir la paliza del héroe en la batalla final, se presenta el Jefe [de sonrisa] Profident una tarde, después de haberse tomado un orujito de hierbas y haber fardado con otro(s) jefe(s) sobre los servicios de la compañía, de lo bien que va la empresa y del excelso crecimiento en ventas que llevamos este año en el Q2, H1 o el parcial que toque del año fiscal.

Y cuando dice “Vamos”, realmente está diciendo “Tienes que” lo que significa: “Te toca pringar”. Esto no tendría que ser un gran problema, que para algo trabajamos en esta profesión, si se fueran a realizar las cosas bien, es decir, se inicia un proyecto, con una fase de toma de requisitos, otra de validación de los mismos, selección de recursos, formación, etc… Aquella asignatura de “ciencia ficción” que se llama Ingeniería del Software y que para colmo suele tener varias partes, como las trilogías de Star Wars (Ingeniería del Software I: Un nuevo amanecer con UML, Ingeniería del Software II: La rebelión Orientada a Objetos e Ingeniería del Software III: El retorno del componente y el código manejado) Vamos, lo que viene siendo el ser un Ingeniero, pero… no, no va a ser así.

Si tienes la suerte de los informáticos, la cosa empezará tal que con la elección de la tecnología a usar basada en la lectura de algún infame blog, de esos que iluminan nuestra dichosa Web 2.0, en la que un Técnicoless (dícese de todos aquellos que no han tirado una puñetera línea de código en su vida y se nombran referentes en Internet opinando a diestro y siniestro sobre las bondades o inconvenientes de determinadas tecnologías) le ha convencido de que Java, Mono, .NET o Perl es la panacea para todos los problemas.

“En dos semanas tiene que estar que con estas tecnologías ya ni tienes que programar”. Esa frase te dirá tu excelso Jefe Profident tomándose un café (a tu costa, por supuesto) en la máquina esa, que no solo crea úlcera de estómago, sino lo que es mucho peor, adicción. A eso tú piensas en contestar algo así como “pues te pones tú en la •$%%•$ de sito que me has puesto y ¡ale!, tirando líneas de código machote”, pero te callas; y te pones; y comienza el proyecto. Ya sabes cómo funciona la Ingeniería en este país: “Nunca hay tiempo de hacer las cosas bien… pero sí para hacerla dos veces”

Fase 1: Toma de requisitos

Esta fase se resume en un par de reuniones café en mano en dónde nuestro Jefe Profident disfruta haciendo La Carta de los Reyes Magos mientras que te cuenta lo bien que se lo ha pasado en el yate con unos amigos que conoció en su último viaje a Osaka (Canadá). Al mismo tiempo te pide cosas como: “Y quiero que el sistema automáticamente seleccione a los mejores clientes y mejores pagadores y busque cuales son los objetos que menos se van a vender y les haga una oferta que no puedan rechazar”. Ale, y ahora vas y lo cascas en .Net o JSP o lo que el Técnicoless le haya recomendado en su flamante Wordpress.

Fase 2: La formación

“¿Formación? ¿pa qué? ¡Si está todo en Internet! Mírame a mí, todo el día trabajando y aún me queda tiempo para ponerme al día a través de Intenet. Usa Google chaval”.

Éste es el momento que marca la diferencia entre un trabajador y alguien encerrado en la cárcel por “Jeficidio”. ¡Aguanta!

Fase 3: La cagada

Es normal; yendo el proyecto como va, lo primero que sucede es que se va al garete. Tu primer sistema de login tiene SQL Injection y se cuela hasta el Pato Lucas (el cual amablemente se registra y deja su mail patolucas@warnerbros.com). Lo arreglas (mirando en algún sitio de Internet como dijo nuestro ilustre Jefe Profident) pero te olvidas del parámetro del buscador con el que te tiran el servidor de base datos inyectándote un shutdown.

Cambias los privilegios de la cuenta, pero en el archivo de descarga del folleto informativo alguien te inyecta un cambio de directorios y te hace un cucharón para bajarte la sam o el /etc/passwd del sistema. Tras leer como funciona en profundidad el SQL Injection ya estás listo para que la web funcione. Sin embargo, todos los datos de tus usuarios aparecen publicados en un foro porque te los sacan con Blind SQL Injection (a pesar de que ya sabías SQL Injection).

Te lo planteas y quitas la base de datos para trabajar con documentos XML. Na, un poco de DOM, un poco de SAX y listo. Te cepillan la web con Xpath Injection. La integras con LDAP y alguien usa las consultas apropiadas para sacarte la estructura de tu árbol LDAP.

Cuando ya eres el rey de las inyecciones decides poner bonita la web: Te comes un Cross-Site Scripting Persistente y te mangan la cuenta tuya del sistema, la de tu correo del trabajo y la del mail para ligar. Te quedas sin el Messenger y tu mujer descubre a tus amiguitas.

Tiras de backup y lo arreglas, pero quitando el Hijacking que te habían metido para quitarte la cuenta. Recibes un mail con un link a tu Web y te vuelven a quitar la cuenta con un XSS No Persistente.

Acabas de arreglarlo tras recuperar otra copia de seguridad y perder una semana de curro porque el Sistema de Backup (que le recomendó un blogger a tu Jefe Profident basado en Pendrives USB no ha funcionado).

Llegas a la fase de alimentar la Web y te implantas un gestor de ficheros. Te comes otro Cucharón. Lo arreglas. Tu competencia tiene los precios que los ha sacado mediante una vulnerabilidad RFI (Remote File Inclusion) que les ha permitido meter una Shell. Recuperas del sistema de copias de seguridad (pendrive) otra vez tu web.

Cambias la arquitectura del sitio y realizas unas comprobaciones meticulosas. Tu Jefe Profident sube ficheros al servidor y resulta que tiene un Troyano Reverso adjuntado: alguien se dedica a tirar tu web cada tres minutos y te toma una foto con la Webcam (esa que tu Jefe Profident instaló en el servidor como Sistema de Seguridad del CPD – compuesto por un ordenata clónico con un monitor en blanco y negro “qué como nadie va a trabajar ahí da lo mismo”-) y aparece publicada en un foro con el siguiente mensaje “POWNED” junto con un tutorial de cómo usar el Posion Ivy.

Fase 4: El fin

Han pasado tres meses, no has conseguido sacar el proyecto adelante en tiempo pero al final rula, has sudado tinta china, has recibido mil palos y tu Jefe Profident saca conclusiones. “No has estado a la altura, pero claro, es normal, solo eres un desarrollador informático”. Decide que para el siguiente proyecto lo mejor es cambiar el lenguaje que no se te ha visto suelto.

Conclusiones

Es evidente que una buena herramienta con una buena tecnología ayuda a tener buenos desarrollos. Es fácil encontrar buenos ejemplos de desarrollos grandes con JSP o ASP.NET o con otra cantidad de lenguajes. Creo, encarecidamente que el verdadero problema de los proyectos está en quien los gestiona. Una buena gestión de un proyecto, incluso con recursos mediocres puede dar buenos resultados. Conoce y explota lo que tengas y apóyate en profesionales. Y por favor… ¡¡Huye de los Tecnicoless!!

jueves, noviembre 15, 2007

Así de simple!

Con esto de eso que algunos llamaron "Bacon" suceden estas cosas. Vas viendo cosas que piensas "le tengo que echar un ojo, a ver que tal" y se quedan ahí... Las cosas se van a acumulando hasta que llega un día en el que tienes treinta segundos y dices: "coño, voy a probar aquello que se quedó ahí". Este es el caso de hoy.

Tiempo ha vi anunciado por ahí, a bombo y platillo en algún blog de por ahí una nueva tool online para evaluar la vulnerabilidad SQL Injection. La herramienta se presenta así misma sin querer generar mucha expectación:

"SQL injection test tool was created for beginner webmasters. The tool will perform simple test to check whether a webpage is vulnerable to SQL injection. It cannot determine vulnerability for sure, but will at least try."

Para webmasters principantes va a hacer un test simple para ver si la página es vulnerable a SQL Injection, pero lo mejor es la última frase, digna del Lobombre: "No puede determinar la vulnerabilidad de forma segura, pero al menos lo intentará...."

Vale, pues vamos a ver que hace la chiquitina. Probadas las urls del Retohacking 1, que como ya sabéis es una prueba de Blind SQL Injection, como era de esperar, no detectó nada.

"Claro, es porque es un test para beginner webmasters que realiza pruebas simples... démosle otra más sencilla coño".

Probadas lo que viene siendo un manojo de URLs no parecía encontrar mucha cosa así que dije:

"Me cag* en tu p%&· ma*34$, ¿qué coño estás haciendo?"

Así que le pasé la URL del Retohacking IV para generar un log de las peticiones que se estaban realizando a los parámetros. Así que probé con dos URLS:

- http://retohacking4.elladodelmal.com/Default.aspx?recurso=Impresora
- http://retohacking4.elladodelmal.com/Default.aspx?recurso=Impresora&planta=Primera+pPlanta



El resultado fue... sorprendente. Este es el log que genera:


Son unos crashes. Como se ve en el log hacen una única petición por URL dada (la petición que se ve en el log sin inyección es mia para comprobar la dirección) en la que únicamente prueban una comilla. Con dos cojones. Si peta bien, y si no, los beginners webmasters se van tan contentos porque han pasado un Online SQL Injection Test y no ha dado ningún mensaje alarmante.

Se podían haber ahorrado la online tool y haber puesto algo así como "Pon una comilla cabestro". No me quiero encender hoy, así que lo dejamos aquí. El Online SQL Injection Test está disponible en la siguiente URL, pero recuerda... just for beginners webmasters... manda cojones.

miércoles, noviembre 14, 2007

La Versión más cara de Windows Vista

Muchos os habéis preguntado porque la Versión más cara de Windows Vista era tan cara. La respuesta es que viene con dos accesorios que la hacen única.

Trae una rubia y una morena a cada lado... y de muy buena calidad como se puede apreciar en este video:



Bueno, este video es parte del proceso de creación del Calendario Torrido, que ya está en marcha... ¿quién quiere una copia?

PD: El protagonista de este video es Ivan, MVP de IIS. Como se puede apreciar hay buena materia prima para el calendario... ¿verdad?

Eso es hablar claro!

Como quedó pendiente de terminar la serie que empecé a escribir sobre las demos que hicimos en la gira de finales de 2006 sobre "Secretos en Red" de la que sólo publiqué algunos posts, a saber:

Secretos en Red I: Chating
Secretos en Red II: Transmisión de Ficheros


Así que, como decía, cuando me propuso el señor Comino que escribiera sobre seguridad en el Messenger me pareció debuti y el mes que viene, en la revista PCWorld, el artículo que escribiré será sobre eso.

Así que nada, a currar como un perro (aun no lo he terminado), a sacar los bartulos y revisar cosas que hayan cambiado de lo que ya teníamos y esas cosas cuando al llegar, de la página antigua de Gaim a la del nuevo Pigdin, me encuentro este bonito aviso de seguridad digno del más avispado titulado en marketing:


"We fixed another remote crash"

¿"Another"? ¿pues cuantos van? Eso es dar un mensaje alentador de seguriad, ¡viva el marketing!

Saludos malignos!

martes, noviembre 13, 2007

Y no tenían blog!

Las horas se alargan en la mañana y en este rato de relax en Barcelona tengo que quitarme curro, que tengo para dar, regalar y vender. No me gusta, no obstante, no cumplir con la autoimpuesta y deliciosa labor de tocar los webos y llenar, como todo buen blogger que se des-precie, de chapapote Internet.

Sí, el llenar Internet de mierda-post, ego-comentarios, contarse cosas que ha oido, mal-traducido y leido hace que suba tu popularidad de forma automática por culpa de eso que se llama pagerank o como quiera que sea.

Esto hace, que a pesar de decir tonterías, como suelo hacer yo, las apariciones de los malescritos de esa gentuza con un blog (me too) que tenemos mucho que contarnos, tiempo para hacerlo y ganas de ser el centro de algo, aunque sea de una dis-puta, se multiplique por ene en los resultados de cualquier búsqueda en cualquier motor de búsquedas.

Algunos, de este chapapote autogenerado hacen una fiesta, pues piensan, que de repente, son más importantes o populares que reyes y cantantantes y ya ven, solo por la mala costumbre autoimpuesta de llenar de chapapote internet.

He de decir, que sí, estoy completamente convencido que de estos chavalotes de la foto todo el mundo diría: "Vaya nenazas!"


Sin embargo, estos tipos como diría "Tonto el Robot" (no es un insulto, se llama así, ... cosas del Gran Jodorowski...) en "La casta de los Metabarones", se han hinchado de "restregar y frotar su tubo que se estira, se encoge y escupe germenes" con las feminas. Y todo esto ... sin tener un Blog!


Los reyes de esta tierra llamada España, de la casta de los Austria y de la casta Borbónica son famosos por haber dispuesto de su real nobleza y sangre del color de la tinta del boli bic más vendido de la historia para disfrutar de la caza, las confesiones inconfesables de alcobas no reconocidas por propios y extrañas... Y sin tener un blog!

Y si pensamos en los cantautores lastimosos, los cantores raciales, los cantantes popitos para las niñas locas que agitan sus ... amores, pasiones y se destetan en sus conciertos... creo que mola ser cantante de fama pues se lo deben pasar teta.. (nunca mejor dicho)... y Sin tener un Blog!

Este Internet que nació para otras cosas más útiles, como descargar porno, visualizar porno, masturbarse en remoto, conocer gente de otros lugares y soñar con hacer porno con ellas o pornocrear pornoadictos, es manchado por gente como yo, que cumpliendo el autoimpuesto trabajo de crear chapapote postea todos lós días.

Por lo menos, mis pajas no son mentales y son reales, así que, si quiero saber lo im-popular que soy no me busco en google sino que me voy a un bar e intento ligar y entonces compruebo la realidad... que no soy NADA popular....

Éste va para tí: Gilipollas!

A los demas: Saludos malignos!

lunes, noviembre 12, 2007

Barcelona

No tiene pocos problemas con que llegue o no el AVE y se arreglen las cercanias para que ahora a Barcelona lleguemos nosotros. ¡Cuanto lo siento!

Esta semana se celebra el TechED IT Forum, con charlas de presentación de productos y tecnologías por parte de Spectra para los profesionales IT y yo me voy a pasar por allí, lo cual, además implica otras muchas cosas nocturnas....a ver si me encuentro con Ronaldinho y se paga unas copas.

Además de estar nosotros allí haciendo maldades se van a realizar un montón de acciones en Barcelona, que hace mucho que no haciamos cosas, a saber:

- 21 de Noviembre: Framework de desarrollo CSLA.NET 3.0

     Ponente: Rockford Lhotka [MVP VB.NET]
     Agenda y Registro: CSLA.NET 3.0


- 29 de Noviembre: Pure Code: AJAX, Live & SilverLight

     Ponentes: David "Carmonix", Spectra Developer Evangelist
                    & David "Damisela" Salgado, Spectra Developer Evangelist
     Agenda y Registro: [Pure Code]


- 10 al 21 de Diciembre: Hands On Lab en Barcelona

     SharePoint Services
     SharePoint Portal Server 2007
     SQL Server 2008
     LOPD
     Análisis Forense I y II
     Seguridad en Vista

     Ponentes: Juan Luís Rambla [MVP Seguridad]
                    & Rubén Alonso [MVP SharePoint]
     Agenda y Registro: Hols Barcelona


Y en Enero estamos prerparando AseguraIT II para que se realice allí, en Barna.

¡Qué no os pase na!. ¡Saludos Malignos!

domingo, noviembre 11, 2007

Lunes Después de un Puente

Los lunes después de los días de puente son malos, así que... hay que "pelotear" un poco al jefe.... pero con delicadeza.


Saludos malignos!

AseguraIT I : Asegurate que Estás Seguro

Como lo prometido es deuda, aquí van los vídeos del evento que se realizó el 4 de Octubre de 2007 en Getafe. De nuevo, gracias a los ponentes y participantes. El sonido no es muy bueno, pero se puede entender perfectamente.

Sessión 1: Blind SQL Injection: Técnicas Avanzadas

Descripción: En esta sesión se muestra el funcionamiento de los ataque Blind SQL Injectión así como formas avanzadas de explotarlos mediante tiempo y usando consultas pesadas. Además se muestra como se pueden evitar este tipo de vulnerabilidades.

Ponente: Daniel Kachakil [Electronic Dreams]
Ponente: Pedro Laguna [Informática64]



Duración: 38' 25''

Diapositivas: [PPT] [OOXML - PPTX]

Sesión 2: Test de Intrusióna a una Aplicacion Web

Descripción: En esta sesión Roman da pautas que se deben seguir para realizar una un test de intrusión a una aplicación web. En esta sesión RoMaNSoFt hace la demostracion con el RetoHacking3.

Ponente: RoMaNSoFt [RS-labs]


Duración: 25' 29 ''

Diapositivas: [PPT] [OOXML - PPTX] [PDF]

Sesión 3: Auditoría de una Aplicacón Web. Bruteforcing

Descripción: Durante esta charla Alberto Moro, aka "Mandingo", cuenta técnicas para enfrentarse frente a un reto de auditoría; que mecanismos mentales seguir, que actitudes tomar y que realizar frente a situaciones de bloqueo. Al final, cuenta como utilizar la herramienta "pipper" para realizar realizar bruteforcing de aplicaciones web.

Ponente: Alberto Moro "Mandingo" [S21Sec] [Yoire]


Duración: 32' 55''

Diapositivas Primera Parte: [PPT] [OOXML - PPTX] [PDF] [ODP]
Diapositivas Segunda Parte: [PPT] [ODP]

Sesión 4: Network Security

Descripción: La presente sesión muestra como se puede realizar la auditoría de seguridad de los elementos que componen la infraestructura de una red de comunicaciones interna. Para ello Andrés Tarascó muestra el uso de la herramienta Fast Auth Scanner que audita vulnerabilidades y fallos de configuración en dispositivos de comunicaciones.

Ponente: Andrés Tarascó "Atar" [514]


Duración: 51' 48''

Diapositivas: [PPT] [OOXML - PPTX]

Sesión 5: Seguridad en LDAP

Descripción: La última charla trata sobre LDAP Injection & Blind LDAP Injection, técnicas necesarias para el RetoHacking IV. Además, durante esta charla se hace una breve descripción de la arquitectura y funcionamiento de la tecnología LDAP.

Ponente: José Parada [Microsoft Ibérica]
Ponente: Chema Alonso [Informática64]


Duración: 33' 41''

Diapositivas: [PPT] [OOXML - PPTX]

PD: Esta última sesión se ve distorsionada por algún problema en el ripeo, en cuanto esté el video ripeado otra vez lo cambio, pero como están las diapos y se escucha bien la dejo de momento así.

Saludos malignos!

sábado, noviembre 10, 2007

El maletín de la Piquer

***************************************************************************************
Artículo Publicado en Windows TI Magazine Noviembre de 2007
***************************************************************************************

En mi barrio llamábamos “el aplausos” a aquel tipo que nervioso y exaltado nos contaba con pelos y señales la noticia que todos sabíamos desde dos días antes. “¿Sabéis que “la pecas” se lio con “el pitufo”? Acto que todos consagramos con un caluroso aplauso resaltado con nuestra porte más digna y seria al tiempo que le vitoreábamos “bravo, “enterao”, ¡tú sí que estás al día macho!” Así que, para emular a nuestro protagonista de barrio y ganarnos vuestros aplausos, el abuelo y yo os informamos de que ¡Hamilton no ganó el campeonato del mundo de Fórmula 1! Lo que nos sorprende es que Fernando Alonso tampoco, pero… ¿por qué sonreía en el Podio brasileño?

Y es que estamos necesitados de aplausos, de vuestro cariño, de vuestro amor, de vuestro… vale, ya os hacéis una idea de lo que necesitamos. Y es que, como siempre en estas fechas a finales de año, los “productores” nos obligan a cumplir una gira que ríete tú de la de los triunfitos el año que todos fuimos la Rosa de España. Sí, “cantando” por las tierras de esta Ibérica Península nuestros grandes “fracasos” y arrastrando un baúl tan pesado como el de la Piquer, pero lleno de todo tipo de friki-gadgets electrónicos que hacen las delicias de los controles en trenes, aerportuertos y costas deportivas. Todo para lucirnos con la Gira Technet, rebautizada al más puro estilo Show Business como “Live Technology Tour”. 9 ciudades, 9 shows con las mallas ajustadas luciendo los encantos que nos han generado la pléyade de productos que hemos conocido gracias al “spam” para … bueno, para ya sabéis que.

En todas ellas buscamos al cuarto componente del grupo, ya que, de momento somos tres y nos falta un batería, para lo cual se ha habilitado el Factor TI, un concurso para seleccionarte a ti, que no te quiere nadie. Vente, haz el casting con nosotros, ponte las mallas, y gánate una XBOX o un teléfono HTC.

El cachon….digo… la gira comenzó a finales de Octubre llevándonos a un Vigo y una Zaragoza que como siempre nos acogieron... ¡¡Bastante que nos acogieron!! Ahora en Noviembre y Diciembre, mientras las empresas españolas se devanan los sesos para cerrar el Excel, o la aplicación presupuestaria de turno, y lograr ajustar los pocos euralios que se tienen para gastar en el, siempre “derrochador”, departamento IT, durante el año que viene, nosotros nos pulimos los últimos ahorros acerándonos a las ciudades a degustar lo que nos queda de la gira: Murcia (verduritas) y Valencia (paella) a finales de Noviembre. Tenerife (Papas arrugas) y Las Palmas (Sama) en el mes de Diciembre. Valladolid (Corderaco), Sevilla (torta de camarones) y Bilbao (tortilla de bacalao) con la cuesta de Enero.

Por el medio tocan las paradas habituales. Hay que visitar el SIMO en Noviembre para ver a las señoritas que alegremente nos muestran virtuosas las múltiples y diversas funcionalidades de sus grandes y novedosos productos en todos los coloridos stands. Vale, también hay señoritos, aunque como los imanes, el abuelo y yo nos sentimos atraídos únicamente por los polos opuestos. Este año, pararemos de nuevo a currar, al igual que el año pasado en el que nos tocó jugar con el Windows Vista, y haremos coincidir el Security Day (7 de Noviembre) con la feria, entregando como regalo a los asistentes, además del gadget tecnológico de turno (que nosotros nos sabemos cuál es pero no podemos desvelarlo aún) una entrada para ver el SIMO.

Este año el Security Day lo dedicaremos a las Estafas en Internet, en el que intentaremos dar a los asistentes algunos ejemplos lo más vistosos y divertidos posibles para, como dice la campaña creada por las iluminadas mentes de los publicistas, “Catch the Kinki”. Ha sido necesario un duro periodo de aprendizaje en el que, filtros antispam desactivados, hemos salido a Internet a apostar en todos los casinos a los que nos invitaron con la recuperada fortuna del cuádruplemente difunto rey de Nigeria, hemos aceptado, tal y como siempre soñamos, trabajos de altos beneficios y poco esfuerzo, moviendo dinero en cuentas bancarias de amigos de nombres curiosos y empresas extrañas y, como cobayas de laboratorio, probamos sobre nosotros, productos que nos prometían un lucimiento magnífico embutidos en las mallas.

Tras el SIMO, del que como siempre saldremos con las manos llenas de regalos y enormes bolsas repletas de panfletos “subversivos” que buscan trastocar el encaje de bolillos que has realizado con el presupuesto del año que viene…y alguna que otra foto con las señoritas de la feria, volveremos a hacer las maletas, esta vez, para asistir, del 12 al 16 de Noviembre, como buenos alumnos empollones gafotas, al IT Forum en Barcelona. Allí esperamos escuchar a alguno que de verdad sepa algo de tecnología pues cada vez resulta más complicado encontrarlos entre la maraña blogosférica de técnicoless.

Así que ya sabes, nos vemos en los bares.

Chema Alonso & José “el abuelo” Parada

viernes, noviembre 09, 2007

¿He oido que me quieres abandonar?

No puede ser, si acabamos de empezar, aun no nos conocemos bien, ¿cómo vas a abandonarme? Aprendí a cocinar, no ronco y no me huelen los pies, ¿por qué vas a hacer esto?¿Cuáles son los motivos? ¿Es mentira? ¿Son sólo rumores y te quedas conmigo?

Esa podría ser la conversación entre DELL UK y Ubuntu, pues parece que un amigo de la novia (DELL) sabe más que el propio novio (Ubuntu), así, en the inquirer publican la noticia Dell dumps Ubuntu, en la que dicen:

"A call to Dell's marketing folk in the UK confirms Dell no longer supplies Ubuntu pre-installed. "It has been discontinued in the UK," a closed source said."

Algo así como que una fuente cercana ha llamado a un tipo que trabaja en el departamento de Marketing de DELL en UK y ha confirmado que DELL no va a servir más ordenadores con Ubuntu pre-instalado, que ha diso discontinudado en UK.

Vamos, con el poquito tiempo que llevan saliendo juntos por Liverpool, Londres y Manchester. Claro, la vida loca y de cachondeo por Inglaterra puede acabar con cualquuier relación.

De momento es un rumor, pero ya "todo el mundo sabe" cuales sería los motivos de esta ruptura. No sería ningún problema de soporte con Ubuntu, no sería ningún descontento de los clientes, no sería ningún mal funcionamiento de los servicios post-venta. No. "Todo el mundo sabe" que la culpa sería de Spectra, y ya se publica en muchos sitios así.

Al final los cuernos, que son muy malos, y la golfa de DELL se iría con el tipo rico malo y viejo de Spectra, como siempre. Es decir, que no triunfaría el amor, sino el dinero. "Todo el mundo lo sabe"

Yo, que ya le declaré mi Amor Castúo a pesar de que se comiera en el desayuno mis discos duros y a pesar de que mucha gente lo haya podido abandonar, tengo claro cual va a ser la autocrítica que se puede hacer en este caso: ¡Ninguna!

La culpa, como siempre, es de ¡Los Romanos!

Saludos Malignos!

jueves, noviembre 08, 2007

Qué putada ser técnico

Nunca se ma ha dado bien la microeconomía, la macroeconomía ni la tricoeconomía. Con 17 años me saqué el título de Contabilidad por el colegio de no se que leches en Madrid, que era algo que las mamas nos hacían hacer. Con 12 años me apuntaron a Basic en la academia y desde entonces los cursos fueron cayendo curos tras curso: Basic + Logo, Basic para PC, MSDOS, Ofimática (WodPerfect, Write Assistant, Symphony, DBase y Havard Graphics), Cobol, Pascal, C, por el lado de la informática hasta que llegué a la universidad, pero al mismo tiempo tocaban los cursos de mecanografía, con las famososa Olivetti, hasta sacar los tres niveles que había, inglés, que nunca me gustó mucho, y los cursos de contabilidad I y II para poder sacar el título por el Colegio de ¿Contables? de la Comunidad de Madrid [me falla un poco la almedra, pero creo que era así].


Con esta máquina aprendí mecanografía, entiéndase ahora el muestrario de "cosas" que tengo por dedos

De toda aquella época la contabilidad nunca me enganchó lo que hizo que nunca me apasionara la bolsa ni las inversiones ni esas cosas. Hace un año me dijeron:

"Tio, compra acciones de Spectra, que te vas a forrar con ellas, que van a subir por lo menos a 32"

¿Jarl? ¿A 32? ¿32 qué? ¿Subir de dónde?. Vale, soy un puto ignorante de la bolsa, nunca lo he entendido bien porque supongo que nunca me ha parecido divertido (para gustos los colores) así que nunca me forraré dándo un pelotazo (me queda la opción de pegar un palo a alguien).

El caso es que ayer me encontré con alguno que me dijo: "Vaya pelotazo las acciones de Spectra, yo he estado a punto de vender"

¿Vender? ¿Pero no dices que van bien? El caso es que desde que Spectra sacó Windows Vista, y muy a pesar de los grandes técnicoless y futurólogos, a nivel nacional e internacional, que auguraban que Vista era el Fin del Imperio parece que no han acertado un año después.

Sí, parece que Spectra va bien...para los que han sabido invertir, no como yo.

Gráfico en MoneyCentral

Resulta que está por encima de 35, sea es lo que sea, y que por lo que parece muchos han ganado mucha pasta, y yo aquí, con mi cerdito.

Sniff, en fin, ya no me queda otra, así que seguiré con mi cerdito. Sniff.

Saludos Malignos!

miércoles, noviembre 07, 2007

Te vas, me dejas, y me abandonas

El Instituto Nacional de Estadística (INE), realiza periódicamente estadísticas sobre cosas. Cosas que tienen que ver con lo que pasa, sucede y acontece en los territorios de esto que aún se llama España (tenga o no letra en el himno).

Una de las últimas que ha publicado ha sido la “Encuesta sobre Equipamiento y Uso de Tecnologías de la Información y Comunicación en los hogares 2007” en la que ha preguntado cosas sobre …. Linux.

Las preguntas sobre Linux molan, pero las respuestas son … increíbles. Sobre 21.496.273 personas (ahí es na!), los porcentajes y los datos son:


Uff, de 2.020.649 personas en la encuesta que lo han probado, el 64,89 % lo han dejado. ¿Qué pasa aquí? ¿No gusta? ¿Algo huele mal? Es gratis, está disponible, algunos lo prueban… ¡y lo dejan!

¿Qué será? Está claro que esto es un hecho que llama la atención. El 64,89 % de la gente que lo prueba prefiere abandonarlo, algo llamativo, ¿no?

Me ahorro los chistes, que los datos son de INE y, como dice Héctor en su blog… ¿nadie había dicho nada? Si hubiera sido el ayuntamiento del Alburquerque del Rio Tordo el que se pasa a Linux seguro que tendríamos titulares por todas partes.

Haz tú tu propio análisis sobre estos datos. Puedes consultar el Informe en la web del INE.

Saludos!

martes, noviembre 06, 2007

Al abuelo no le rula nada!!

Estamos preparando el Security Day y al abuelo no le rula nada!!!!!. Claro, cómo yo nunca hago nada, a mi me rula todo....

En fin, ¡qué triste!. Si vais a venir al Security Day... daos prisa y reservad vuestro "croasan" a la entrada.

PD: ¿será qué aún estamos borrachos de la comilona?... ¿o qué el abuelo está mayor?

Riesgos de Seguridad

Desde que recibí esta historia no he parado de preguntarme cómo coño se llega a esa situación. Yo si estoy lo suficientemente borracho como para animarme a subirme ahí, cosa más peligrosa aún, entonces no tengo la suficiente sangre en su sitio para practicar "deportes de riesgo". No he querido poner todas las fotos porque son un poco fuera de tono, pero es que la situación es un poema.

Como se puede apreciar en estas foto [haz click para hacer zoom], son dos NO informáticos asumiendo riesgos innecesarios....


Para completar la faena, ahí está, que no falte, unos buenos wiskies con cocacola, como debe ser, ¡con do' cohone!. Eso es una fiesta y no pasarse la noche matando bichos con el Halo3. Luego, lógicamente, vienen los problemas de seguridad...

Creo que voy a dejar los ordenadores, que luego, mientras unos están así de afterhours, yo me veo los domingos cómo me veo....

Sniff.

lunes, noviembre 05, 2007

Monoteismo

¡Cómo vosotros no lo véis!, ¡Cómo no os dais cuenta de la verdad!, ¡Cómo no entendéis que es única!. ¡Oh, almas descarriadas! Un único Dios verdadero, un único señor sobre todos los demás. Será blasfemo aquél que escriba en otra leguna, sobre otro tipo de papel o con otros caracteres. Oh gran sagrada lengua sumeria escrita que todos deben seguir.

Nada es auténtico a excepción de él, el gran formato, el formato sagrado, único y real que acabará con todos los falsos. El gran ODF.

A partir de él nada debe nacer, nada debe crearse sin contar con él. La libertad comienza más allá de él. Todo por la innovación, pero sin más innovación. No debe haber libertad en el autentico Dios. Todos, absolutamente todos los formatos de documentos deben ser él.

Se va a retirar la camiseta, como en la NBA, de los formatos de documento, pues nada ni nadie debe existir más allá de él. Si algo quieres crear o hacer que ODF no soporte, entonces es que no debe existir pues es algo maligno. Ya incluirán lo que crean conveniente los patrones de las sagradas escrituras en futuras versiones... o no.

Serán solo unos meses (largos meses) hasta que el tribunal lo apruebe, tiempo más que suficiente para arruinar tu idea, pero es que ISO NO DEBE APROBAR NUNCA JAMÁS DE LOS JAMASES otro formato de documento, pues después de ODF no hay más. El mundo acabó en tí, oh gran ODF.

Gracias por poner un punto y final en la historia de la informática, para que ahora se pueda decir :

...y aquí acaba todo, cuando la humanidad descubrió ODF, ya solo nos dedicamos a cuidar ODF y depurar ODF. Fin. PD: Fueron felices y comieron perdices....

Mientras, otros sacrilegos como Gnumeric, Novell OpenOffice se dedicaban a implantar además otros formatos. Pero ¡será arrasados!

Sí, implantaban ODF, pero además otros formatos. Sí, vale, también eran abiertos, pero no eran ISO. Bueno, había algún ISO, ¡pero no para lo que es ODF!. Vale, alguno hace alguna cosa que no hace ODF, pero es que ODF ¡ya lo hará en el futuro! Así que no hay que hacer cosas que ODF ya hará en el futuro. Y si al cliente no le vale entonces... que se joda el cliente. Así que después de ODF no hay nada más.

Dedicaos a otra cosa, que con los formatos de documentos ya hemos terminado. Por fin, una cosa acabada en la informática. Gracias ODF.

Y tú, ya sabes, abraza el Monoteismo o serás quemado en la hoguera!

domingo, noviembre 04, 2007

Domingo por la tarde ... y currando...

Es domingo por la tarde y estoy currando. En palabras del Gran Garfield:


Jon: ¡Bien Garfield, la ropa está lavada!

Jon: Cada prenda, planchada, doblada y guardada.

Jon: ¡Sniff!

Garfield: Su vida está acabada.


Garfield of the Day 02/11/2007

Steve es Malo ... o lo que tú quieras

Todos sabemos que Spectra es mala, muy mala. Que lo único que quiere es gobernar el mundo y acabar con todo lo bueno. Ahora, ha llegado el momento en que se desvele la verdadera identidad de su maléfico lider.

Para ello, tú que puedes visionar la realidad sin los tapujos del FUD, debes utilizar tu fuerza interior y mostrarnos la verdadera cara de Steve Ballmer.

Yo, que he tenido una relación "intima" de "erotismo entre especies" le veo así, de esta guisa:


Tú, que tanto has sufrido con él, que tanto daño te ha hecho, que ha derrocado tus sueños, tus lascivios pensamientos de.. digo... tú, ese de ahí, tú puedes sentirte debuti haciéndole voodoo o lo que quieras, jugando con él en esta URL: barbie Steve

PD: ¡Gracias por el link Chico Maravillas!.

sábado, noviembre 03, 2007

Fortificando un Servidor Apache (IV de IV)

***************************************************************************************
- Fortificando un Servidor Apache (I de IV)
- Fortificando un Servidor Apache (II de IV)
- Fortificando un Servidor Apache (III de IV)
- Fortificando un Servidor Apache (IV de IV)
***************************************************************************************

mod_chroot

Una de las características que se siguen por seguridad es “enjaular” los procesos de un sistema. El termino enjaular se utiliza para referirnos a diferentes grados de aislamiento del proceso dentro del sistema operativo. Se puede enjaular un proceso dentro del sistema de ficheros, dentro de su parcela de memoria o incluso en las funciones de red. Una de las características más comunes es aislar los demonios de los servidores web dentro un sistema de ficheros virtual mediante el uso de las funciones chroot.

Realizar un chroot a un proceso siempre ha sido una tarea ardua, ya que hay que proveerle a dicho proceso de todas las utilizadas y ficheros de configuración que pudiera necesitar dentro de una nueva estructura de ficheros. Esto es así para muchos servicios pero desde la aparición de mod_chroot no es necesario en Apache.
Este módulo se carga dentro del sistema y ya se encarga él de aislar el sistema de ficheros a los que se van a enlazar los demonios httpd y todos sus hijos. Esto se debe a la implementación a nivel de sistema operativo de la función chroot() en las principales distribuciones Linux.

Para ello descargamos el modulo mod_chroot [http://core.segfault.pl/~hobbit/mod_chroot/] y lo incluimos dentro de los módulos del servidor Apache. Podemos realizar una compilación estática, con ./configure –add-module modules/mod_chroot o una compilación dinámica utilizando el DSO (Dynamic System Object) mediante el siguiente comando:

Imagen: Carga dinámica de mod_chroot

Una vez cargado el módulo, se procederá a configurar el archivo de configuración httpd.conf para decidir en qué directorio queremos enjaular los procesos httpd. Para ello se configura la directiva ChrootDir como se puede ver en la siguiente captura.

Imagen: Configuración mod_chroot en httpd.conf

Mod_chroot no realiza aislamiento de memoria, y en algunos casos puede requerir de la configuración de algún directorio especial dentro del sistema de ficheros “chrooteado” sobre todo para servicios de multiprocesamiento simétrico o para la inclusión dentro del servicio httpd del soporte de alguna función especial, pero como se puede comprobar, utilizando mod_chroot para Apache, es mucho más sencillo a como tradicionalmente había que configurar un soporte chroot para cualquier otro servicio.

Autenticación y Autorización

Autenticar es el mecanismo por el cual garantizamos que alguien es quien dice ser y autorizar es permitir que ese alguien pueda acceder a un determinado recurso. Para realizar estas dos funciones en Apache utilizamos en primer lugar un tipo de autenticación y un proveedor de autenticación. El tipo de autenticación es la forma en la que el cliente envía sus credenciales, esta puede ser en texto claro (Basic) utilizando el módulo mod_auth_basic o en codificación MD5 Digest utilizando mod_auth_digest. La elección de la autenticación se configura con la directiva AuthType Basic o AuthType Digest. Esto determina la forma en la que se transmiten las credenciales. Lógicamente en un entorno fortificado no se recomienda el uso de la autenticación Basic.

Una vez elegido el tipo de autenticación se debe configurar el proveedor de autenticación, o lo que es lo mismo, dónde está el repositorio de credenciales contra el que se deben comprobar las enviadas por el cliente. Estos repositorios pueden ser un árbol Ldad, un fichero del sistema operativo, una tabla en una base de datos, etc… Lógicamente, la configuración necesaria para cada entorno de autenticación será diferente.

Si se configura la autenticación utilizando un fichero, utilizando el módulo mod_authn_file, se debe crear dicho fichero previamente utilizando las herramientas htpasswd o htdigest. Estas herramientas nos crearán un fichero de usuarios, que deberemos situar fuera de la ruta pública del servidor Apache y se configurará en httpd.conf la directiva AuthUserFile como se ve en el siguiente ejemplo:

AuthType Basic
AuthName "Carpetas Privadas"
AuthUserFile /web/usuarios


Si se desea utilizar una tabla en una base de datos para autenticar a los usuarios, utilizando el módulo mod_authn_dbd, se debe configurar el conector con la base de datos, y la tabla de usuarios que se va a utilizar. El siguiente ejemplo muestra una posible configuración de httpd.conf. En primer lugar hay que cargar el driver de la base de datos con la que deseemos conectar. Este driver debe estar previamente cargado en el sistema operativo.

DBDriver pgsql

En segundo lugar se deberá configurar la cadena de conexión a la base de datos utilizando la directiva DBDParams:

DBDParams "dbname=mibasededatos user=miusuario password=mipassword"

Y por ultimo configurar las opciones de autenticación del servidor.

[Directory /www/privado]
AuthType Basic
AuthName "My Server"
AuthBasicProvider dbd
AuthDBDUserPWQuery "select password from authn where username = %s"
[/Directory]


Quizá, la forma más interesante de autenticar un sistema de usuarios complejo sea el uso de árboles LDAP. Para ello, se utilizan los módulos mod_authnz_ldap y mod_ldap. El primero se utiliza para autenticar y autorizar el acceso a recursos mediante la comprobación en árboles LDAP mientras que el segundo optimiza la gestión de memoria e hilos de procesos en las conexiones LDAP.

LDAP es un sistema jerárquico de objetos organizado en forma de árbol. Cada objeto pertenece a su clase y añade propiedades de su clase y propiedades heredadas de las clases madre. En un sistema LDAP se pueden dar de alta, usuarios, recursos y cualquier tipo de objeto que se desee. Cada elemento es posible referenciarlo mediante una descripción de la ruta que ocupa en el árbol o mediante el cumplimiento de unas condiciones de un filtro de búsqueda.

Para configurar la autenticación LDAP se deben configurar la directiva AuthLDAPURL que es la cadena de conexión al árbol LDAP y tiene la siguiente estructura:

ldap://host:port/basedn?attribute?scope?filter

- Host: Servidor dónde reside el árbol LDAP.
- Puerto: Generalmente el 389.
- Basedn: Es la ruta a un punto del árbol a partir del cual se realizan las búsquedas. Puede ser la raíz del árbol o una rama del mismo. Tiene la estructura de una ruta LDAP, es decir, ou=unidad_organizativa, dc= mi_dominio, o=organización
- Attribute: El atributo que identifica al usuario, por defecto, en los objetos user de los árboles LDAP es uid, pero puede cambiarse.
- Scope: Las consultas LDAP pueden ser sólo en la rama del árbol elegida o recursivamente en profundidad.
- Filter: filtro sobre los objetos. Por ejemplo que sean del tipo usuarios_reales o cualquier otro filtrado para determinar que un objeto es válido para logarse. (tipo=usuarios_reales).

Una vez autenticado a los usuarios por cualquiera de los proveedores anteriores se podrán establecer las reglas de control de acceso a los recursos. Así por ejemplo se podrá:

- Require valid-user: Se exige un usuario autenticado.
- Require user maligno: Se exige el usuario maligno.
- Require group locos: Se exige el grupo locos.
- Require ldap-user: Se exige un determinado usuario LDAP.
- Require ldap-group: Se exige un determinado grupo LDAP.
- Require ldap-dn: Se exige la pertenencia a una determinada ruta DN en LDAP.
- Require ldap-attribute tipo=admins: Se exige un determinado valor en un determinado atributo de un usuario ldap.
- Requite ldap-filter: Se exige el cumplimiento de un determinado filtro LDAP.

Mod_security

La securización y fortificación de un servidor Apache tiene muchos aspectos que tocar, pero después de todo lo que se ha tratado no me gustaría irme sin hacer una mención especial mod_security.

Este módulo nos permite realizar filtrado a nivel de aplicación, es decir, nos permite configurar reglas de firewall para las peticiones web que realizan los clientes. Es común que muchos de los ataques hoy en día no se produzcan contra el software del servidor y sí contra aplicaciones web mal desarrolladas o desactualizadas. Con mod_security vamos a poder configurar que peticiones van a ser procesadas o no por nuestras aplicaciones web.

Supongamos que tenemos una aplicación web vulnerable a un ataque de SQL Injection corriendo sobre nuestro servidor Apache. Con mod_security podremos evitar que cualquier intento de explotación llegue hasta la aplicación ya que será este componente el que la detenga antes de ser redirigida a la aplicación. Este tipo de comportamiento es deseable cuando estamos administrando un servicio sobre el que están corriendo aplicaciones web que no tenemos controladas. Ésta no es la mejor manera de proteger una aplicación web, pero sí es una forma de fortificarla aplicando el principio de Defensa en Profundidad ya que si la aplicación web queda comprometida puede quedar comprometida toda la infraestructura de los servicios web.
Al estar corriendo a nivel de aplicación y directamente sobre el servidor http el sistema no se ve limitado por los sistemas de cifrado. Hay que tener en cuenta que si disponemos de un NIDS (Network Intrusion Detection System) o sistema de detección de intrusiones de red, este no podrá analizar todas las peticiones que vayan cifradas sobre canales SSL, como por ejemplo http-s. En este caso, mod_security filtra las peticiones una vez se ha eliminado la capa SSL.

Es una buena decisión de diseño situar este componente en el frontal que redirige todas las peticiones hacia nuestros servicios, es decir, si tenemos un servidor que está realizando las opciones de Proxy reverso, es ahí donde hay que situar este componente.

El proceso de instalación se realiza mediante el uso del comando make. Para ello, tras descargar la última versión del módulo de http://www.modsecurity.org y descomprimir el paquete, hay que configurar en el archivo Makefile el valor la variable top_dir con la ruta dónde está instalado el software del servidor de Apache. Una vez configurado procedemos a realizar la ejecución de los comandos make y make install para dejar el módulo compilado y cargado en httdp.conf. Es necesario cargar la librería de objetos libxml2.so mediante la configuración de LoadFile /usr/lib/libxml2.so en el fichero httpd.conf.

Mod_security se configura por reglas, estas vienen en archivos independientes dentro del directorio rules. Todos los archivos tienen un numerito que se usa para indicar el orden de preferencia, ya que estas se van a ejecutar de menor a mayor. Es decir, si una petición de URL coincide con dos reglas se disparará la que primero se encuentre, ya sea de permitir o de denegar el acceso de esa petición.

Imagen: Directorio rules de mod_security

Así modsecurity_crs_10_config.conf será el primer conjunto de reglas a evaluar. Estas son las reglas "core" y siempre deben ser las primeras que se evalúen, así que, si queremos crear un fichero de reglas que evite un falso negativo o deseamos crearnos nuestra propia regla para evitar ataques de LDAP injection a nuestras aplicaciones podríamos crearnos un fichero de reglas que se llamara modsecurity_crs_15_ldapinjection.conf, y sería el segundo conjunto de reglas en ejecutarse.

Una vez instalado mod_security debemos configurar las directivas del módulo. Estas directivas se pueden configurar en diferentes ámbitos, es decir, de forma global, a nivel de servidor, de virtual host o de directorio.

[IfModule mod_security.c]
SecRuleEngine On
SecAuditEngine RelevantOnly
SecAuditLog logs/audit_log
SecDefaultAction "deny,log,status:500"
[/IfModule]


El segmento anterior es una configuración típica. Las directivas configuradas tienen las siguientes implicaciones:

- SecRuleEngine on/off: Activa o desactiva mod_security. Esta configuración se puede poner a nivel de servidor, virtual host o directorio.
- SecAuditLog: Ruta del fichero de log
- SecFilterSancPost on/off: Aplicar mod_security a peticiones por Post on/off.
- SecDefaultAction: Orden de actuación en caso de no estar definida una acción para la regla que hay que aplicar. En este caso denegar la petición, registrarlo y devolver un código de status 500. Las posibilidades que se pueden aplicar a una acción por defecto son más de 30 y van desde ejecutar un programar, dirigir la navegación a una redirección, devolver un mensaje, tirar la petición etc…

A partir de la configuración incial podemos personalizar las reglas tanto como deseemos. Mod_security viene acompañado de un conjunto básico de reglas preparadas para detectar violaciones de protocolo, ataques comunes de web, ocultar información ofrecida por el servidor, detección contra troyanos y contra recolectores de información. No obstante, es importante aplicar nuevas reglas frente a las nuevas amenazas por lo que la actualización debe ser constante.

La parte fuerte de mod_security es su motor de reglas. Está basado en perl y se tiene una estructura de definición de reglas tan compleja o tan sencilla como se necesite. Cada regla se define con el siguiente comando:

SecRule Varialbes Operadores [Acciones]

Por ejemplo, la siguiente regla bloquea el acceso a cualquier cliente que se identifique como uno de los User-Agents de la lista:

SecRule REQUEST_HEADERS:User-Agent "@pm WebZIP WebCopier Webster WebStripper SiteSnagger ProWebWalker CheeseBot" "deny,status:403

La configuración de mod_securty como un WAF (Web Application Filter) ajustado requiere conocer el lengunage de definición de las reglas, pero la documentación que se ofrece en sitio del proyecto es de muy buena calidad.

Otras acciones

Fortificar un servidor Apache implica fortificar toda la infraestructura, existen muchas más opciones para aumentar la seguridad en el servidor web pero lo más importante, además de todo lo visto en estos dos artículos, es la fortificación del sistema operativo dónde va a correr el servidor Apache, para ello puedes usar SELinux o herramientas como Bastille Linux si corre Apache sobre Linux [http://www.bastille-linux.org/] o Security Configuration Wizard (SCW) si corre sobre Windows Server [http://www.microsoft.com/windowsserver2003/technologies/security/configwiz/default.mspx] que te pueden ayudar.

viernes, noviembre 02, 2007

Breaking News: El Nigeriano!

Hoy, como muchos os esperabais, tocaba la cuarta y última parte de la serie sobre la fortificación de Apache, pero se está expandiendo por todo Internet la noticia del “corte de mangas” del gobierno Nigeriano a Mandriva Linux. La noticia estaba en Slashdot y en Barrapunto y como tiene cierto cachondeo hay que comentarla.

El tema es que el gobierno Nigeriano había cerrado un acuerdo con Mandrakesoft para comprar 17.000 máquinas con Mandriva Linux para un proyecto piloto en el área educativa en Nigeria. El anuncio se hizo el día 30 de Octubre de 2007 pero el día 31 de Octubre el cliente, es decir, el gobierno de Nigeria, hizo un bonito comentario a la gente de Mandriva:

[versión bronxtolita, en el original era distinto]

“Sí, bueno, vosotros id trayendo esas máquinas con ese sistema operativo tan bonito que tenéis que después vamos a aplicar fuego purificador e instalar algo como…, como Windows, para que los chavales se diviertan”

[/versión bronxtolita]

El empute fue tal que desde Mandriva se ha escrito una carta abierta a Steve Balmer. La tenéis en inglés y en castellano.

[Versión traducida]

Guau! ¡Estoy impresionado, Steve! ¿Qué has hecho para que esos tipos cambien de parecer de esa manera? Está bastante claro para mí, y probablemente para cualquiera. ¿Cómo decís donde tú vives lo que has hecho, Steve? En mi país, le dicen varios nombres, estoy seguro que los conoces.

Eh Steve, ¿cómo te sientes por la mañana mirándote al espejo?


[/Versión traducida]

No se, pero en Bronxtolex esto es peléa.

El resto de la historia nos lo podemos imaginar, aunque no tenemos datos, podemos hacer como muchos periodistas que salen en la tele y los bloggers que alimentan la teoría de la conspiración, así que vamos a recrear los supuestos hechos posteriores:

“La notica llegó directamente a la guarida del malvado Steve Balmer, que en esos momentos abría el cráneo de un pobre pingüino vivo que no claudicaba. Al enterarse del caso Nigeria gritó de alegría en el maléfico tono que acostumbra cuando un plan sale bien. Al final la treta de la extorsión había tenido éxito. Había sido un plan difícil, pero la idea de contaminar el agua de toda Nigeria si el gobierno se atrevía a seguir con sus planes de escape del imperio de Spectra había resultado. Y es que esos 17.000 equipos no vendidos podrían suponer …eh.. qué por lo menos… eh.. .tuvieran que estar otro día eh…vamos, que sería una gran pérdida… o algo. Y ahora, a por la siguiente fase de la dominación del mundo:

- Hay un instituto de FP en Sevilla que se quiere pasar a Linux, por favor, interceptadlo ya!. Ordenó por el intercomunicador Bluetooth..."


Pasó esto o algo similar, seguro.

El caso es que este negocio era un gran negocio para Mandriva, que este mundo no es fácil. Hay que tener en cuenta que la fundación Mozilla, con todo el ruido que hace, con más de 120 millones de usuarios alrededor de todo el mundo solo consigue dar trabajo a 90 personas (entre las full-time y las part-time) y el 85 % de sus beneficios son del acuerdo con Google.

En fin, que los pobres niños en Nigeria “sufrirán”, como el 90 % del mundo, el sistema operativo Windows…aunque esto aún está por ver. Y es que hay que ser masoquista, pues…¿quién quiere pagar por algo peor existiendo cosas mejores gratis? ¿O no?

Recuerda que desde aquí exigimos la discriminación positiva, pues si Windows es peor, consume más recursos, más inseguro y encima cuesta dinero, lo raro es que se venda, con lo que necesita una subvención y ayuda ...

Saludos malignos!

jueves, noviembre 01, 2007

Fortificando un Servidor Apache (III de IV)

***************************************************************************************
- Fortificando un Servidor Apache (I de IV)
- Fortificando un Servidor Apache (II de IV)
- Fortificando un Servidor Apache (III de IV)
- Fortificando un Servidor Apache (IV de IV)
***************************************************************************************

En estas dos últimas partes, vamos a tratar de varios aspectos importantes en la fortificación de un servidor Apache, a saber, en primer lugar vamos a ver como configurar los sistemas de cifrado de comunicaciones con SSL/TLS con nuestros sitios web; en segundo lugar la configuración de los registros de actividad para su posterior análisis, es decir, los logs; en tercer lugar vamos a ver los sistemas de autenticación de usuarios y por último como configurar mod_security para filtrar las URLs de acceso a nuestros sitios. En esta tercer parte Mod_SSL y la Gestión de Logs.

Mod_SSL

El protocolo de comunicaciones SSL/TLS se utiliza para cifrar la comunicación entre dos equipos y autenticar a los participantes de la misma. Este artículo no pretende mostrar el funcionamiento del sistema SSL, ampliamente descrito en numerosos artículos desde su aparición, sino simplemente como se debe configurar en un servidor Apache para que las conexiones a nuestro servidor estén cifradas y, en caso de que así se desee, también autenticadas.

Siempre que se utilice SSL/TLS estamos cifrando las comunicaciones extremo a extremo, sin embargo el proceso de autenticación requiere de una configuración con más cuidado. Si se desea autenticar al servidor, es decir, que los clientes tengan la certeza de que se están comunicando con el servidor que ellos desean, es necesario utilizar un certificado emitido por una Entidad Emisora de Certificados contrastable por los usuarios de nuestro sistema, o lo que es lo mismo, una Entidad en la que los clientes confíen y tengan la clave pública de esta instalada en su máquina. Si esto no se produce, el uso de SSL ayuda a cifrar las comunicaciones pero no ayudará a detectar un certificado falso (fake) emitido por un atacante en medio. Es por ello, a pesar de que en el presente artículo, y, como muestra didáctica únicamente, se utiliza un certificado emitido por nosotros mismos, se recomienda utilizar un certificado de servidor emitido por una CA de confianza para nuestros usuarios.

Con SSL, además de autenticar el servidor, se pueden autenticar a los clientes mediante certificados digitales a la hora de iniciar la conexión con SSL, aunque esta no es una práctica muy extendida debido a la complejidad en el despliegue y mantenimiento de los certificados de los clientes.

Para realizar un ejemplo de configuración, en este artículo hemos utilizado un Certificado Digital para servidores web creado por nosotros. Hemos utilizado para ello la utilizad OpenSSL [http://www.openssl.org] y hemos creado uno como se puede ver en la siguiente captura.

Imagen: Creación de un certificado digital con openssl

El proceso que hay que seguir para la creación del certificado es sencillo. Primero hay que instalar la herramienta openssl siguiendo los pasos de configuración (./configure), construcción (make) e instalación (make install). Una vez que tengamos funcionando la herramienta en nuestro sistema podremos crear el certificado con el comando que se ve en la imagen.

Con ese comando le estamos diciendo a la herramienta que nos cree un certificado X.509 con una caducidad de 1000 días, es decir, pasados estos 1000 días será necesario renovar el certificado. Este certificado va a ser creado con una clave de 1024 bytes y se van a generar dos ficheros, uno el del certificado y otro el de la petición y no van a estar protegidos por contraseña. Como se puede apreciar, hemos pedido que el certificado se emita para nuestro servidor al que hemos nombrado como “malignito.elladodelmal.com”.

Con el certificado digital emitido ya tenemos lo necesario para configurar el soporte SSL en nuestro servidor web. Lo primero que hemos de preparar el que el servidor Apache cargue el módulo SSL, para ello, como vimos en el artículo del mes pasado, realizando una configuración inicial podemos utilizar la opción de preparar el servidor con soporte para el mod_ssl usando configure –prefix=ruta –enable-ssl. Algunas distribuciones de Linux, como Debian, ofrecen una versión de Apache acompañada de algunas herramientas que ayudan en la gestión de módulos como a2enmod que permite agregar módulos a Apache. Como vimos en las partes anteriores, con el comando httpd –l se puede comprobar la lista de módulos que están activos.

Imagen: Lista de módulos cargados en Apache. Mod_ssl cargado.

Ya está cargado el modulo SSL en el servidor Apache, ahora deberemos configurar una serie de parámetros para dar soporte a SSL a nivel de servidor o de Virtual Host. Para ello se deben configurar las opciones en el archivo httpd.conf. SSL viene acompañado de muchas opciones y es recomendable, para ajustes especiales, consultar la documentación de mod_ssl que está disponible en la siguiente URL http://httpd.apache.org/docs/2.2/en/mod/mod_ssl.html. No obstante, la siguiente tabla muestra las configuraciones que se deben realizar para que nuestro servidor esté funcionando correctamente:

- SSLEngine on/off: Este parámetro activa el uso de SSL en nuestro servidor. Si, la configuración del servicio fuera errónea el soporte no se activaría y puede llegar a no levantar los demonios de Apache, luego es importante tener correctamente configurado el servicio antes de ponerlo activo.

- SSLProtocol:Este parámetro se utiliza para determinar cuáles van a ser los protocolos de cifrado que se van a utilizar en nuestro servidor. Hay que tener en cuenta que cuando se produce el “handshake” o saludo inicial entre el cliente y el servidor, estos negocian el protocolo a utilizar. Si no deseamos que se utilice un protocolo antiguo o inseguro debemos deshabilitar el uso de todos a excepción de los protocolos seguros. Esta acción puede producir problemas de acceso en clientes antiguos. La lista de protocolos que vienen con SSL son: SSLv2, SSLv3, TLSv1.

- SSLCipherSuite: Una vez elegido el protocolo SSL a utilizar, en mod_ssl podremos configurar las opciones de cifrado, para ello podemos elegir los algoritmos de generación de clave, decantándonos por el uso de RSA o de Diffie-Hellman con claves RSA o Diffie-Hellman con claves DSA, etc… Así mismo podremos elegir los algoritmos de firma, de codificación, y las longitudes de cifrado a usar. Es decir, podemos realizar un ajuste fino de la criptografía que nos va a permitir securizar las comunicaciones hasta nuestro deseo. Hay que tener en cuenta que el deshabilitar ciertas opciones de cifrado puede generar conflictos con clientes que no tengan una suite criptográfica amplia y moderna.

- SSLOptions: Este parámetro se va a utilizar para configurar diferentes comportamientos en diferentes situaciones. LA opción +StrictRequire se va a utilizar para deshabilitar el acceso por medio http a aquellas rutas en las que se exija SSL.

- SSLCertificateFile: Ruta al archivo del certificado del sitio

- SSLCertificateKeyFile: Ruta al archivo key del certificado.

- SSLCACertificateFile: El certificado digital de la Entididad Certificadora.

- SSLCARevocationFile: Archivo dónde se encuentra la CRL (Lista de Certificados Revocados).

- SSLRequire: Este parámetro se utiliza para exigir un cumplimiento de opciones SSL a la hora de acceder a una determinada ruta del servidor. Se utilizan expresiones regulares para poder afinar las restricciones.
SSLRequireSSL Parámetro para forzar el uso de http-s en un determinado directorio. Si está configurada la opción +StricRequire se prohibirá el uso de http.

En la siguiente captura tenemos una configuración válida del archivo httpd.conf que levanta los demonios httpd con soporte SSL. Como se puede ver se ha habilitado la escucha por el puerto 443, que es el que por defecto se utiliza para el protocolo https-s. Se han configurado los parámetros SSLEngine on para levantar los servicios SSL, SSLCertificateFile y SSLCertificateKeyFile con las rutas a los ficheros creados con el comando openssl; se ha activado el soporte para TLSv1 y SSLv3 en exclusividad y se ha configurado la suite de cifrado con soporte Medio y Alto y el uso de protocolos de firma SHA1 y MD5.
Después, en la ruta de acceso a los documentos se ha exigido el uso de SSL con el parámetro SSLRequireSSL.

Imagen: Configuración httpd.conf para soprote SSL.

Con esta configuración, cuando se levanta el servicio http y se intenta acceder a la ruta por defecto de nuestro servidor se obtendrá un mensaje de error, que puede ser personalizado como se explicó en el artículo del mes pasado, en el que nos avisa de que es estrictamente necesario el uso de httpd-s.

Imagen: Error, la conexión debe realizarse por medio de http-s.

Si se accede al servidor mediante el uso de una conexión http-s el acceso será concedido y se podrá consultar toda la información sobre el certificado digital que se está utilizando el servidor.

Imagen: Acceso mediante http-s

Gestión de Logs

La configuración de los registros de acceso y los eventos que ser producen en un servidor Web son de especial importancia pues pueden ayudar a detectar preventivamente un ataque al sistema, una debilidad que está siendo explotada o simplemente un fallo en la configuración o en el sistema. Para ello Apache dispone de herramientas flexibles que van a permitir una selección flexible de lo que se quiere guardar registro, dónde y en que formato se va a guardar esta información.
Apache gestiona, por defecto, tres tipos de registros: El registro de errores, el registro de acceso y el registro del identificador del proceso (PID) del demonio del servicio. El registro de errores se guarda en un fichero que es marcado por la directiva errorlog. Esta directiva también puede utilizarse para, en lugar de guardar la información en ficheros, utilizar el servicio syslog para registrar los eventos vía red y de forma centralizada. El uso del servicio syslog será de especial utilidad cuando tenemos sistemas de análisis de log centralizados o de correlación de eventos.

ErrorLog /ruta/ficheros/log/error_log ó ErrorLog syslog:user

El nivel de información que se va a almacenar en los ficheros de registro se configura con la directiva LogLevel en la que se pueden ajustar diferentes valores:

LogLevel

- Emerg: Sólo se almacenan los mensajes que dejan al sistema incapaz de ser utilizado.

- Alert: Cuando se produce un error en el sistema que requiere la ejecución inmediata de una acción para corregirlo.

- Crit: Fallos críticos del sistema. No requieren acción inmediata pero pueden dejar el sistema no disponible.

- Error: Condiciones de error en el uso del sistema. No tiene porque afectar al uso del sistema.

- Warn: Avisos. Se producen cuando algo no está realizándose correctamente. Puede producirse por un script o un cliente que no realiza la negociación correctamente con el servidor.

- Notice: Información significativa del funcionamiento del sistema.

- Info: Información general del sistema.

- debug: Información de debuging del sistema. Cuando abre o cierra conexiones o ficheros, etc…

Cuando se establece un valor de LogLevel, se van a registrar todos los eventos de mayor o igual importancia que la que se ha configurado, de tal manera, que si se establece el valor warn, se van a registrar los eventos de tipo warn, error, critical, alert y emergency.

Imagen: Archivo error_log configurado con nivel notice

Como se puede ver en la imagen anterior, se ha configurado el nivel notice, y así, por ejemplo, se puede observar el registro de los eventos info en los que se muestra la información relativa a la negociación SSL entre clientes y servidores. En un servidor de mucho tráfico este nivel de detalle puede generar un colapso en los almacenes de log.

Los registros de acceso al servidor se almacenan aparte de los errores del servidor. Estos registros guardan información relativa a todos los accesos a documentos o intentos de acceso a los documentos. Para almacenar estar información Apache se apoya en el uso de dos módulos, que son mod_log_confing y mod_setenvif. El primero se utiliza para configurar el lugar y el formato de los ficheros de registro y el segundo para utilizar variables de entorno que permitan generar ficheros de registro condicionales, que serán muy útiles a la hora de detectar sucesos en entornos con mucho tráfico.

Para configurar los registros de acceso utilizamos las directivas LogFormat y CustomLog.

LogFormat determina que información se va a escribir y de qué forma, en el fichero de registro. La forma común es tiene esta estructura:

LogFormat "%h %l %u %t \"%r\" %>s %b" common

- %h: IP del cliente.
- %I: Identificación del cliente utilizando el servido indentd. Esta información solo será accesible si Apache se ha configurado con Identitycheck activado. Esto puede generar un cuello de botella en la creación de los ficheros log, por lo que sólo se debe utilizar en entornos de Intranets, redes privadas, etc…, controlados.
- %u: Usuario cliente.
- %t: Fecha y hora.
- %r: Petición realizada
- %s: Código de status del servidor.
- %b: Tamaño de la respuesta.

Con la directiva LogFormat te puedes crear el formato de fichero log que a ti te convenga utilizando estas variables o añadiendo información de cabeceras del cliente como:

LogFormat "%h %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" miformato

Aquí hemos añadido % {Referer} y %{User-Agent} al formato de registro y hemos quitado %I y %u.

Una vez definido el formato que a utilizar hemos de marcar el lugar de registro con:

CustomLog /ruta/logs/access_log miformato

Podemos crear tantos ficheros de log como deseemos, así por ejemplo, en uno podemos almacenar la dirección IP y la hora y en otro La dirección IP, la petición y el referer.

Control de Logs

Los ficheros de log suelen tener un rápido crecimiento por lo que deben ser controlados y tener un mantenimiento muy ajustado. Para ello se pueden utilizar los sistemas de log rotacionales, que permiten, utilizando el programa externo rotatelog crear archivos automáticos cada cierto tamaño o tiempo. Para ello definimos en ErrorLog el formato de los ficheros:

ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 50M"

Es importante el uso del pipe para la dirección de los registros de logs. En este ejemplo se utilizan las variables de fechar %Y (year), %m (month), %d (day),… para crear un nuevo archivo de log cada 50 Megabytes de tamaño.

O directamente con CustomLog, que creará logapache.nnnn (nnnn el tiempo de creación)

CustomLog "|bin/rotatelogs /ruta/logs/logapache 50M" miformato

Otra opción para gestionar los logs en Apache es el uso de cronolog. Su funcionamiento es similar al del uso de logs rotacionales pero permite configuraciones más flexibles. No viene con Apache y hay que descargarlo desde la siguiente URL: http://cronolog.org/