domingo, enero 31, 2010

Errores Oracle ORA-01033, ORA-01219, ORA-03113


Normalmente el sistema de codificación de errores Oracle ofrece información clara de lo que está ocurriendo. Sin embargo en algunas ocasiones surgen códigos de error que dan información demasiado imprecisa, y también puede ocurrir que depediendo de lo que intentemos salgan errores diferentes.

En una ocasión, una avería en la UPS (Uninterruptible Power Supply) provocó un corte de suministro eléctrico en un servidor Oracle. Se arrancó el servidor, pero cada vez que se intentaba acceder por SQL*Plus, Toad, Aplicaciones, etc. aparecía el error ORA-01033: Oracle initialization or shutdown in progress.

El servicio Oracle se encontraba corriendo sobre un cluster activo-pasivo (Service Guard de HP) y el comando #cmviewcl mostraba que el cluster estaba levantado y el paquete Oracle corriendo.

Por supuesto lo primero fue reiniciar el cluster:

cmhaltpkg oracle_servicio
-> Se para el paquete.

cmhaltcl -> Se para el cluster.

cmviewcl -> Todo aparece Down.

cmruncl -> Cluster levantado, todos los elementos UP.

Pero no resultó. Aunque el paquete parecía estar UP, Oracle no estaba en estado abierto. Daba el mismo error ORA-01033. Así que tocaba ver que estaba ocurriendo.

Desde la misma máquina, iniciando sesión con el usuario "oracle" entramos en sqlplus:

SQL>sqlplus “/as sysdba”

Y al probar ejecutar cualquier sentencia SQL, nos apareció un error similar al anterior, pero diferente...

SQL>select * from user_tables; -> Error ORA-01219. Database not open.

Con esos dos mensajes ya vemos lo que está ocurriendo. Por una parte nos indican que Oracle se está inicializando y por otra que la base de datos no está abierta.

Entoces toca saber cual es el estado de la base de datos...

SQL>select open_mode from v$database; -> MOUNTED.

Si la base de datos está montada lo siguiente sería abrirla. Intentamos levantarla...

SQL>alter database open; -> Error ORA-03113: End-of-file on communication channel.

Vaya, un tercer error diferente, y este ya no hace más que despistar. Lo que ocurre es que ha interrumpido la acción y ha dado por terminada la comunicación.

Probamos a desmontar y montar la base de datos y a ver si arranca de una vez:

SQL> shutdown immediate -> OK

SQL> startup mount -> OK

SQL> alter database open; -> Error ORA-03113: End-of-file on communication channel.

Está claro que necesitamos algo más de información. Vamos al log de Oracle (fichero alert_servicio.log) para ver si ha recogido algún detalle más:

Vemos que cada vez que hemos intentado el ALTER DATABASE OPEN, se registra el mismo error: ORA-00600: Internal error code. Arguments: [kcratr1-lastbwr]

Vaya, un error genérico de los que no dicen nada salvo por el argumento kcratr1-lastbwr.

Bien, pues llegamos al final. En mi caso ese "Internal Error" se solucionó simplemente con una recuperación de la Base de Datos. Esta recuperación consiste en aplicar los cambios almacenados en los ficheros de REDO (redolog files).

Teniendo la base de datos montada, hacemos una recuperación de la base de datos:

SQL> recover database; -> Media recovery complete.

SQL> alter database open; -> Database altered.

De esta forma la base de datos ya se quedó funcionando con normalidad.

Saludos.

miércoles, enero 27, 2010

Datacore caído

Puede que tengas alguna solución de alta disponibilidad basado en dos servidores Datacore.

Datacore es el producto líder en virtualización de almacenamiento. Además hay que remarcar que no es una solución propietaria de los grandes fabricantes como IBM, HP, etc. sino que puede funcionar con la mayoría de cabinas del mercado.

Una configuración habitual con dos cabinas y dos nodos suele ser la siguiente:

Cabina1 ---> Datacore1 ---> Servidores
Cabina2 ---> Datacore2 ---> Servidores


Los servidores Datacore se encargan de la replicación de datos entre ellos.
Cada servidor Datacore sólo ve su Cabina.

Si se cae una cabina, no pasa nada porque el otro servidor Datacore seguirá dando servicio.

Durante las pruebas realizadas en abril de 2009, teniendo Oracle en auténtica ebullición, quité la fibra que conectaba uno de los Datacores a los switch de fibra. La base de datos ni se inmutó. El mérito aparte de Datacore es también del HP-UX por supuesto.

El caso es, que creo que es necesario tener claro qué hacer si algún día se caen los dos servidores Datacore.

El problema ante una caída simultanea es que no es suficiente con volver a arrancar las cabinas, los servidores Datacore, y los servidores finales (en ese orden), porque los servidores Datacore van a quedarse en estado de Double Failure hasta que hagamos una serie de acciones.

En la imagen se ven los volúmenes virtuales (Virtual Volume) en estado de Double Failure y en diagnóstico: "primary and secondary volumes down".

Cuando en la ventana de arriba seleccionamos un Virtual Volume concreto, en la sección de volúmenes lógicos (Logical Volumes) de abajo vemos que tanto el volumen primario como el secundario están caídos (estado Down).

Pero tranquilos que tiene solución:

Primero hay que elegir entre uno de los Datacores. La consistencia se ha perdido por la caída y tenemos que indicar cual de los dos tiene los datos "buenos".

En igualdad de condiciones mejor coger como buenos los volúmenes primarios, ya que los servidores se habrán configurado para que preferentemente utilicen estos (preferred path). Pero bueno, todo depende de cómo esté el datacore de los volúmenes primarios (averiado...), de si pensamos que uno se ha apagado antes que el otro, ...

Lo que hay que hacer es ir a Logical Volumes, coger el primario o el secundario, darle al botón derecho y "star recovery using this volume as recovery base". En unos cuantos minutos el volumen lógico pasará a estado UP como se ve en la imagen. En la sección del Virtual Volume, el volumen virtual estará todavía en estado: "redundancy compromised".

El otro volumen (en la imagen de arriba sería el secundario) empieza a recuperar los datos a partir del que esta up. En la descripción viene: "Down. Local full recovery pending". Este proceso puede tardar incluso 20 horas para un volumen de 1 Tb. Después de esa larga espera los Datacores volverán a tener el volumen con la replicación activa y mostrarán el estado "Healthy".

Importante:

Una vez tomada la decisión de elegir uno de los datacores para la recuperación, no se debe solicitar lo mismo para el otro datacore porque se perderían todos los datos.

Si como en mi caso, los 4 volúmenes son para un servidor Oracle, la lógica dice que recuperes todos los volúmenes del mismo servidor Datacore. Recuerda que si Oracle encuentra ficheros con distintas marcas de tiempo no va a arrancar.

Saludos.

domingo, enero 24, 2010

Dangling cursor snarfing II

Vamos a analizar el ejemplo concreto de Dangling Cursor Snarfing II que proponía David Litchfield en 2006.

El otro día comenté las líneas generales de un ataque de este tipo. Recordad para el futuro que traduje el título como Snarfing de Cursor Colgado.

El paper original se encuentra en www.databasesecurity.com/dbsec/cursor-snarfing.pdf.

Este procedimiento se crearía por ejemplo con el usuario SYS y se le daría permiso de ejecución al resto de usuarios: Grant Execute on pwd_compare to public;

¿Qué hace el procedimiento?

  • Recibe como parámetro el usuario que lo está ejecutando.
  • Mira si el usuario es diferente que SYS.
  • Abre un Cursor con el paquete DBMS_SQL. Este paquete es un interfaz para utilizar SQL dinámico.
  • Ejecuta la sentencia SQL creada dinámicamente que lo que hace es buscar la password del usuario en la tabla SYS.DBA_USERS.
  • Compara esa password con un string concreto, y si coincide saca un mensaje.
  • Cierra el Cursor.
Pues en esta secuencia existen ya los elementos peligrosos que vimos el otro día para este tipo de ataque:

  1. El procedimiento se ha creado con un usuario privilegiado respecto al que lo ejecuta.
  2. Hay alguna comprobación antes de abrir el Cursor que va a dar guerra.
  3. Se abre un Cursor con SQL dinámico. En la SQL construida se utiliza un parámetro que le pasa el usuario que ejecuta.
  4. No hay captura de excepciones. Si se produce un error el Cursor va a permanecer abierto.

¿Qué puede hacer un usuario malicioso?

Se supone que el usuario (puede ser una aplicación) ejecuta el procedimiento de esta forma:

Ejecución del procedimiento PWD_COMPARE del usuario SYS:

SYS.PWD_COMPARE(X);

El desarrollador piensa que como parámetro del procedimiento (X) le van a pasar el nombre del usuario ejecutante, pero y si hace...

FOR I IN 1..10000 LOOP
X:='B' || X;
END LOOP;
SYS.PWD_COMPARE(X);

O sea, que ha creado un bucle que se va a ejecutar 10.000 veces.
En es bucle va concatenando la letra 'B' a la variable. Así que la cosa terminará con 10.000 B-s:

BBBBBBBBBBBBBBBBBBBBBBBBBB....BBBBBB.....BBBB....

Y pasa como parámetro esas 10.000 letras B.

Como el procedimiento no hace ninguna comprobación de longitud se producirá un error en la ejecución del paquete DBMS_SQL.

Ahora bien, se ha producido una excepción, pero no se ha capturado (para cerrarlo), y el cursor continúa en memoria.

Los cursores tienen como nombre un número entero. El atacante no lo conoce pero puede probar con un bucle probando con el 1, el 2, el 3, etc. Cuando lo encuentre podrá ejecutarlo tal cual, sin pasar por los controles previos del procedimiento original. En este caso particular podrá ejecutarlo indicando que es el usuario SYS. De esta forma obtendría la password del usuario SYS.

CURSOR_NAME:=1 (luego probará con el 2, 3, 4, 5, etc.)
DBMS_SQL.BIND_VARIABLE(CURSOR_NAME, ':u', 'SYS');
DBMS_SQL.DEFINE_COLUMN(CURSOR_NAME, 1, PWD, 30);
I := DBMS_SQL.EXECUTE(CURSOR_NAME);
IF DMBS_SQL.FETCH_ROWS(CURSOR_NAME) > 0 THEN
DBMS_SQL.COLUMN_VALUE(CURSOR_NAME, 1, PWD);
END IF;
DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);
DBMS_OUTPUT.PUT_LINE('PWD: ' || PWD);

¿Y el antídoto?

Capturar la excepción y cerrar el cursor.

EXCEPTION WHEN OTHERS THEN
IF DBMS_SQL.IS_OPEN(CURSOR_NAME) THEN
DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);
END IF;

Por supuesto a nivel de aplicación siempre habría que limitar con una longitud máxima los campos que rellenan los usuarios.

Saludos.

martes, enero 19, 2010

Dangling Cursor Snarfing

Esta técnica debía ser "nueva" sobre noviembre de 2006 cuando David Litchfield publica su paper Dangling Cursor Snarfing: A new Clas of Attack in Oracle.

Hoy veremos el concepto y otro día ya veremos casos concretos. Entre esos ejemplos analizaremos el del paper, pero creo que el autor no fue muy afortunado con el ejemplo propuesto.

No he visto ninguna traducción de la denominación, pero creo que podría ser algo así como "Snarfing de Cursor colgado" (colgado o desconectado).

La idea es esta:

En la organización hay un proceso que lo pueden ejecutar los usuarios (por medio de alguna aplicación) de forma controlada. Este proceso puede ser un procedimiento PL-SQL creado con un usuario privilegiado de Oracle como SYSTEM, SYS, o cualquier otro al que un usuario o aplicación normal no tendría acceso.

La idea es que se les da a los usuarios o aplicaciones permiso de ejecución de ese procedimiento. La aplicación lo ejecuta, pero el mismo procedimiento realiza unas comprobaciones antes de abrir el cursor. Esas comprobaciones son necesarias porque por ejemplo hay que limitar el número de veces que se ejecuta al día, o hay que controlar el perfil del usuario de aplicación que lo ejecuta, etc. etc.

El cursor se construye dinámicamente en tiempo de ejecución y en la SQL participa un argumento que ha recibido el procedimiento por parte de la aplicación. Imaginemos que el dato lo obtiene la aplicación a partir del usuario.

Pues el "Snarfing de Cursor colgado" consiste en lo siguiente:

1.-El usuario malicioso pasa un argumento envenenado al procedimiento que provoca una excepción después de abrir el cursor y antes de que se cierre. Esto hace que el cursor se quede colgado en memoria.

2.-Como el desarrollador no captura la excepción para cerrar el cursor, el cursor sigue en memoria.

3.-El usuario, que es un pillo, sabe que el cursor se ha quedado abierto. Lo busca y bingo!!! Ya puede ejecutarlo sin las comprobaciones previas que el procedimiento realizaba antes de abrir el cursor.

En cuanto veamos unos cuantos ejemplos enseguida veréis lo peligroso que puede ser esto.

Saludos.

lunes, enero 18, 2010

Oracle hacking

Hoy en día Oracle es la base de datos estrella del mercado. Cualquier hacker que se precie lo conocerá tan bien como los desarrolladores. Teniendo en cuenta además lo que comentaba el otro día... es el sistema que más peligro tiene en tu organización y probablemente el más sencillo de ser hackeado.


"No hay que olvidar que el 70% de los ataques suele ser por parte de personal interno (Inside Factor). Este artículo está muy bien: http://www.segu-info.com.ar/amenazashumanas/amenazashumanas.htm "

Realmente el artículo es muy recomendable y explica lo que puede estar detrás de un ataque de este tipo. Símplemente como curiosidad os comento que según el estudio, el intruso interno más habitual suele ser el curioso.

Este post es el primero de una pequeña serie sobre oracle-hacking, o más bien de lo contrario: buenas prácticas para evitar el oracle-hacking.

Por cierto, os habéis preguntado de donde viene el término ORACLE?

Muchos dicen en broma que de ELCARO (ORACLE al revés) por el precio de las licencias. Pero el origen real es de lo más curioso.

Parece ser que el nombre tiene que ver con un antiguo proyecto de base de datos de la CIA denominado ORACLE que es ORÁCULO en inglés.
El oráculo es la respuesta de los Dioses a través de los sacerdotes, pitonisos,... Hay que reconocer que el nombre es de lo más apropiado.

Ya es tarde. Mañana más.
Saludos.

domingo, enero 17, 2010

Cansancio extremo


Como el año pasado por estas fechas, hoy también ha tocado hacer la que me parece la carrera más dura del mundo: La subida al Apuko (Apuko Igoera). La diferencia es que en lugar de la modalidad mountain bike este año he preferido la de "a pie". Y es que en esta prueba, la bicicleta no hace más que estorbar.

Si ya el año pasado el perfil era duro (16 km), este año lo han covertido en media maratón. Lo que ocurre es que ha debido haber un pequeño error y en la salida han avisado que había un exceso de 1 km.

22,2 km en total con bastante desnivel como se ve en la foto de arriba.

El Petu, sintiéndolo bien poco, no ha podido venir, jejeje, normal viendo lo que ocurrió el año pasado.


Bonita foto esta que he visto en la web del año pasado:


Nunca nunca nunca vayáis a una carrera de estas con una parrilla de estudiante... que vais a parecer unos globeros.


Por cierto, en el sorteo que ha habido entre los participantes me ha tocado un cuadro de bicicleta, así que el año que viene igual toca modalidad mountain bike.

Saludos.

jueves, enero 14, 2010

Sólo Internet difunde el drama


No todo es basura y pirateo en Internet a pesar de lo intentan transmitirnos. La última catástrofe ocurrida en Haití demuestra una vez más que hay situaciones en las que los mismos periodistas no tienen otra forma de saber lo que ocurre que conectarse a la Red.



Como señala el autor de este artículo, son muchos los casos en las que la prensa tradicional no llega y es a través de Internet como se conocen los hechos.

Por supuesto es un tema que no gusta nada a los Gobernantes que ven crecer un poder que no controlan. Ahora cierran webs por orden del Ministerio en cuatro días para proteger a los "artistas", mañana puede que nos quieran proteger de nosotros mismos y nos desenchufen Internet.

Saludos.

miércoles, enero 13, 2010

País de pandereta II


Continuando con el post del otro día...

Empieza a haber tímidas reacciones en contra de la decisión del Gobierno de censurar Internet en favor de un supuesto derecho fundamental que se lo han sacado de la manga para atacar otros derechos fundamentales que se supone que estaban garantizados.

Por decir algo diferente comentaré que lo más grave de toda esta serie de medidas (canon, cierre de webs, nueva Ley de desarrollo sostenible, estudio de corte de conexiones, etc.), es que según parece se negociaron en privado antes de las pasadas elecciones, y sin embargo no se metieron en ningún programa electoral. Esto da la sensación de que da igual lo que vote la gente que los partidos harán lo que les de la gana (así aumenta la abstención elección a elección, cosa que preocupa tanto a los políticos).

Recojo algunas de las reacciones:




Resulta que "Red Sostenible" ha cambiado de aspecto hoy mismo. Ahora es como lo he puesto en el encabezado de este post.



Y por último "La lista de Sinde". Recordad que Sinde es la Ministra de Cultura. Su nombramiento se consideró una provocación para los Internautas, y ahora ya sabemos de qué iba la cosa.



Como sigan "defendiendo la cultura" de esta forma van a terminar convirtiendo Internet en una mierda que sólo vale para ver pornografía.

Saludos.

lunes, enero 11, 2010

Single user de forma remota

Continuación del post anterior...

¿Se puede conseguir entrar en el modo single user como root de forma remota, sin conocer la contraseña de root?

Pues sí.

En los servidores UNIX de gama media-alta suele haber una terminal llamada "system console" que la puede usar el Administrador para tareas especiales.

Por ejemplo, supongamos que queremos ver el arranque completo de la máquina, o el apagado completo. Si la única posibilidad fuera hacer ssh (nunca telnet) nos perderíamos la mayor parte del arranque o apagado.

Como es natural esto se consigue por medio de un procesador auxiliar que puede realizar operaciones sobre el principal. Por eso se puede arrancar un servidor totalmente apagado de forma remota.

Para esos casos, nos conectamos ese procesador auxiliar, introducimos usuario/password (no es la cuenta de root), y vemos la salida estándar del servidor, los leds, los logs, el estado de la memoria, se puede apagar, arrancar, abrir una sesión, etc.

En servidores HP, ese servidor auxiliar que permite el acceso al system console se llama MP (Management Port). Antes se llamaba GSP y creo que en los nuevos servidores ya le han cambiado el nombre otra vez.

Ahora viene lo peligroso...

Al MP se puede acceder de muchas formas.

Se puede acceder por un emulador VT100 y un cable serie RS-232.
Remotamente por modem.
Por HTTP y HTTPS.
Y por Telnet!!!

Http y Telnet serían los accesos más inseguros en los que el usuario y la password viajan en claro por la LAN. Por eso debería estar pinchada en una subred de gestión separada del resto de usuarios, o controlado por un firewall, o similar. Con el modem también puede haber intrusión.

Además lo grave es que o bien todos los servidores vienen por defecto con el mismo usuario y password o es que todos los instaladores ponen la misma, por lo que lo primero que debería hacer un Administrador es cambiarlas.

Una vez validados en el MP, en condiciones normales al acceder a la consola tenemos que meter un usuario válido en el sistema operativo. Pero en condiciones "especiales" con el sistema operativo sin montar no hay validación que valga.

Supongamos que el servidor está en estado de HALT.

Nos conectamos al MP a través del usuario/password que ha circulado en claro por toda la red.

Entramos en el modo de introducción de comandos (Command Menu o CM)...
MP > cm

Ahora hacemos un restart:
MP:CM> rs

Vamos al Main Menu (ma):
MP:CM> ma

Vamos a la consola:
MP> co

Podremos interrumpir la secuencia pulsando cualquier tecla...

Nos pregunta si queremos interactuar con el ISL... decimos que sí.

ISL> hpux -is

Y objetivo conseguido. Estamos en single user.

Saludos.

domingo, enero 10, 2010

El acceso físico al servidor

Hoy quería continuar con el tema del rozamiento en la caída libre pero no puede ser porque necesito conocer una serie de datos (tabla de coeficientes de rozamientos aire-acero) que no encuentro por ningún sitio, así que otro día será.

Además parece que a la gente le gusta el tema de la seguridad informática que es lo que tiene tirón... así que hoy un poco de seguridad.

Primera regla de seguridad informática del mundo real: Si un indeseable tiene acceso físico al sistema que tu quieres proteger, estás perdido. Olvídate de todo porque sin ningún esfuerzo ni conocimiento informático (bueno, un conocimiento mínimo como verás a continuación) puede ser Administrador o root del sistema.

Llegados a este punto no sé si debería continuar o no, pero creo que la respuesta es sí. La persona que quiera acceder ilegítimamente al sistema seguro que ya sabe todo lo necesario, y en cambio esta información servirá de aviso al Administrador.

Además hay otro motivo y es que con tanta contraseña, con tanta máquina diferente y con tanta rotación de personal informático un día cualquiera os puede ocurrir que hayáis perdido la contraseña del usuario Administrador. Y esto es un gravísimo problema que tiene fácil solución.

¿Como se puede conseguir ser Administrador en un PC o servidor Windows?

Una opción muy sencilla es usar el ERD Commander. Escribí un post sobre esto que podéis ver aquí.

¿Y en un Sistema UNIX?

Pues más fácil aún. Normalmente en una máquina UNIX habrá varios modos de operación o estados.

El habitual en un servidor se llama multi-user mode (modo multiusuario). En este estado los usuarios se pueden conectar (login), los sistemas de ficheros están montados y los servicios y demonios funcionan con normalidad.

Otro estado sería el de HALT en el que se desmontan todos los file system y se matan todos los procesos.

Pero, en UNIX suele haber otro estado especial para tareas administrativa llamado single-user mode. En este estado los usuarios no pueden hacer login, los file system no críticos no se montan y los servicios y demonios no críticos están parados.

Este modo sirve para hacer backups del sistema, revisar la consistencia de los sistemas de ficheros (fsck en HP-UX), labores sin interferencias de otros usuarios, etc.

El truco para ser root es muy fácil. Símplemente entra en single user y ya estás con el usuario root. Si no recuerdas la contraseña de root la cambias con el típico passwd.

Single user en Tru64

Tru64 es el UNIX de Compaq. HP adquirió Compaq en 2002 así que habrá que decir que es un UNIX de HP.

Tenemos dos opciones:

A.-Apagar la máquina y al encender...

Cuando te aparezca el prompt >>> en lugar de un arranque normal con b (boot), hacemos lo siguiente:

>>> boot -fl s (he puesto efe ele, no efe uno)

B.-Desde el modo multi-user podemos pasar al estado halt y de ahí a single user:

#shutdown -h 5 "pasamos a single user"
>>> boot -fl s

Después tenemos que arrancar el LSM (Logical Storage Manager) para habilitar los volúmenes lógicos. Esto se hace así:

# /sbin/lsmbstartup

Ahora hay que chequear y montar los file system-s locales que aparecen en /etc/fstab:

# /sbin/bcheckrc

Y ya está. Si hacemos...

# whoami
root

# passwd

Single user en HP-UX

Es el UNIX de HP (sin tener en cuenta el Tru64 que tiende a desaparecer):

A.-Si se tiene una sesión iniciada en el modo multi-user:

#shutdown -y 0
#init s

B.-Si se arranca la máquina desde el principio...
Durante el arranque pulsar ESC para interrumpirlo y preguntará por el dispositivo de arranque (boot device).

Interact with ISL? Y

ISL> hp-ux -iS

Para otros sistemas podemos ver la línea "BOOT SINGLE USER" de la siguiente guía UNIX que viene muy bien, la verdad: http://www.unixguide.net/unixguide.shtml

Saludos.

sábado, enero 09, 2010

País de pandereta

Ayer el Gobierno Español aprobó la medida que permite nada menos que a la Audiencia Nacional a cerrar una web que viole la propiedad intelectual.

Hablamos de un tribunal excepcional que trata "materias de especial importancia" (como pone en su web http://www.audiencianacional.es/#materias).

Ha habido casos en los que el Tribunal ha llegado a tardar tranquilamente hasta 2 años en dictar sentencia: http://es.noticias.yahoo.com/5/20091203/ttr-la-audiencia-nacional-tarda-2-aos-en-c2ebf40.html

¿Cuánto tiempo tardará la audiencia nacional en cerrar una web?

Pues la SGAE no se tiene que preocupar por la tardanza de la Audiencia Nacional, ya que su caso es tan tan tan grave, y se trata de una materia de tan especial importancia que tiene 4 días para Resolver el cierre.

¿Pero es que alguien se ha vuelto loco? o tal vez ¿hay algún interés oculto?

¿Tiene que ver esto con el apoyo de ciertos artistas un mes antes de las elecciones generales de marzo de 2008?


http://www.elpais.com/articulo/espana/Arranca/plataforma/artistas/intelectuales/apoyan/Zapatero/elpepuesp/20080208elpepunac_18/Tes

http://www.cadenaser.com/espana/articulo/artistas-cientificos-apoyan-zapatero-creando/csrcsrpor/20080208csrcsrnac_5/Tes

Vaya si también participaron en un video electoral: http://video.publico.es/videos/0/4896/2/recent

Parece que su principal adversario relacionó el apoyo con el canon digital: http://www.lavanguardia.es/lv24h/20080210/53435444009.html

He leído un artículo que resume muy bien toda esta "Injusticia Expréx" como la ha llamado el autor:

El texto se encuentra en http://www.escolar.net/MT/archives/2010/01/la-injusticia-express-de-la-sgae.html, el autor es Ignacio Escolar y se ha publicado hoy en el diario Público.

Saludos.

lunes, enero 04, 2010

Galileo Galilei y la Torre de Pisa


Mañana ya veréis a donde quiero ir a para con esto...

Seguro que habéis visto un montón de veces la imagen de Galileo tirando dos objetos desde la Torre de Pisa.

Creo que en el "Libro de Petete", que yo apreciaba mucho de pequeño, había una ilustración en la que se le ve arrojando una pluma y una piedra.

Teníamos que creernos que los dos objetos caían al suelo al mismo tiempo, ya que supuestamente es lo que quería demostrar Galileo. El caso es que todos los chavales sabíamos por experiencia propia que no iba a ser así. Es por la resistencia del aire nos decían.

¿Qué es la resistencia?

No es una pregunta fácil y es que hasta 1781 no se conocían las Leyes que gobiernan el rozamiento. Fue Coulomb el que las estableció (sí, el de la carga eléctrica) experimentalmente.

Para empezar hay dos rozamientos diferentes: el estático y el dinámico. Tienen propiedades diferentes:

Rozamiento estático

Es la resistencia que opone el objeto a moverse.
Se cumple que:

1.-El rozamiento es independiente de la extensión de las superficies en contacto (Así es aunque no te lo creas).

2.-Depende de la naturaleza y estado de las superficies (material, rugosidad,...).

3.-Proporcional a la reacción normal (en un coche la fuerza normal es la que se opone a su propio peso).

4.-La fuerza de rozamiento está dirigida en sentido contrario a la velocidad relativa, siendo independiente de la misma.

Rozamiento dinámico o cinético

Es el rozamiento una vez que el objeto está en marcha y para enredar más las cosas su comportamiento es diferente al otro:

1.-Aquí se aplica la segunda Ley de Newton. Siendo F la fuerza que mantiene el objeto en movimiento y R la resistencia que va en sentido contrario: F + R = masa X aceleración.

2.-El coeficiente de rozamiento dinámico del material siempre es inferior al coeficiente de rozamiento estático.

Cosas curiosas que ocurren

El rozamiento lo originan sobre todo interacciones moleculares.

Estaría muy bien que no hubiera rozamiento para que nuestro coche corriera más, pero es que sin rozamiento ni siquiera podría ponerse en movimiento (recuerda lo que ocurre con la nieve).

A nivel atómico, cuanto más lisa es la superficie mayor el rozamiento. Si la superficie fuera lisa a nivel molecular, los materiales estarían prácticamente soldados. He colocado la explicación de esto en forma de comentario y es realmente curioso, por ser contradictorio y lógico a la vez.

Al utilizar un lubricante estamos variando el coeficiente de rozamiento.

Saludos,
A ver si sacamos provecho de esto para un programita...