Mostrando entradas con la etiqueta varios. Mostrar todas las entradas
Mostrando entradas con la etiqueta varios. Mostrar todas las entradas

Colección #RefraneroInformático

La verdad es que tenía estas entrada lista desde hace ya unos meses, cuando fue #RefraneroInformático TT en Twitter, pero nunca terminé de redactarla hasta ahora. Así que aquí os dejo algunas de las mejores frases, que bien fijo a muchos informático les sacará una sonrisa y quizás a los no tan informáticos también.
Cuando a tu cuñao en Softonic veas entrar, pon un buen antivirus a descargar.
En wifi cerrada no entran moscas
Compílame despacio que tengo prisa
¿Qué le decimos a la actualización de Windows? HOY NO
Si tus datos no quieres perder, copias de seguridad debes hacer
Ama a una persona por su Software, no por su Hardware
Si el historial está borrado es que ayer hubo pecado.
Sólo hay 10 tipos de personas, las que saben binario y las que no.
Donde hay root no manda user.
Si problemas ves asomar, Ctrl + Alt + Supr deber apretar.
A quien satura, Ctrl + Alt + Supr le ayuda
Antes de ponerte a lamentar, prueba a reiniciar
Mail de muchos, cadena de tontos
Más vale http en mano que error 404 volando
No hay RAM que 100 años dure
Contra el vicio de pedir está la virtud de decir "busca en Google"
No es más listo el que más sabe, sino el que mejor busca en #Google
A buen programador, pocas lineas bastan
A código compilado no le mires los warnings
El que al compilar este libre de warnings, que lance el primer ejecutable
Leer más

20 mandamientos del #sysadmin

Una más que interesante recopilación de los 20 mandamientos o consejos que Steve Stady y Seth Vidal recogieron en su día para sysadmins o administradores de sistemas. La traducción del documento original es libre.
  1. Do it the same, over and over and over again.
    Haz lo mismo una y otra y otra vez.
  2. Backups are sacred! If you do not know if your backups are current, then test them by restoring the data and comparing.
    Las copias de seguridad son sagradas! Si no sabes si están al día, entonces pruébalas restableciendo los datos y comparando.
  3. Do not make many, tiny partitions, make a smaller number of larger partitions, instead.
    No crees muchas pequeñas particiones, crea un número pequeño de particiones grandes.
  4. Why change the system default when you don’t have to?
    ¿Por qué cambiar el sistema por defecto cuando no es necesario?
  5. Think now so you don’t have to later (at 4am).
    Piensa ahora como si fuese más tarde (las 4 de la mañana).
  6. If you have to do it more than once, automate it. If you cannot automate it, document it.
    Las tareas repetitivas, automatízalas
     [puppetsalt]
    . Si no puedes automatizarlas, documéntalas.
  7. Personality is for people, not for computers.
    La personalidad es para las personas, no para los ordenadores.
  8. Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it” - Brian W. Kernighan
    Depurar código es dos veces más duro que escribirlo. Por lo tanto, si escribes el código de la manera más inteligente posible, no eres, por definición, lo suficientemente inteligente para depurarlo.
  9. If you do not know what a machine will do when it is rebooted, then it is not production ready.
    Si no sabes qué pasará cuando la máquina se reinicie, entonces no está lista para pasar a producción.
  10. Unless you write an essay on why you need to do something "special" use the tools, procedures, techniques and resources the OS provided for you.
    A menos que escribas un ensayo sobre por qué una máquina necesita hacer algo especial, utiliza las herramientas, procedimientos, técnicas y recursos que te proporciona el sistema operativo.
  11. Remember the Mack Truck Scenario: If no one will be able to figure this out if you get hit by a Mack truck, then you’re doing something wrong.
    Recuerda la escena del camión: Si nadie será capaz de comprender lo que pasa si te atropella un camión, entonces es que algo estás haciendo mal.
  12. Revision Control! Comment!
    Usa sistemas de control de versiones!
     [git
    Comenta!!
  13. Log and rotate logs. Log remotely for best effect.
    Crea losg y guárdalos! Mejor incluso, en remoto [syslog, splunk].
  14. Simplicity is its own reward.
    La simplicidad es la mayor recompensa.
  15. If you haven’t thought of at least one potential negative outcome of hitting enter at the end of the command you just typed; then you don’t understand the command well enough to use it on a production system.
    Si no has pensado al menos una vez en los inconvenientes de pulsar "Enter" justo después de escribir el comando, entonces no conoces suficientemente bien la línea de comandos como para utilizarla en una máquina de producción.
  16. Use a unique marker for names of packages that are locally developed. $domainname perhaps?
    Utiliza un tag sencillo de identificar ($domainname) para todos los paquetes que se han desarrollado en la máquina local.
  17. If you cannot enumerate every port that should be listening on a given machine; then it is not production ready.
    Si no puedes enumerar cada uno de los puertos que deberían estar a la escucha en un servidor concreto, entonces no lo pongas en producción.
  18. If the host firewalling allows access to more ports than ABSOLUTELY necessary; then the host is not production ready.
    Si el firewall permite acceso a más puertos de los absolutamente necesarios; entonces ese servidor no puede estar en producción.
  19. If it seems like someone else would have encountered this problem before, they probably have. We do not live in a vacuum. Google for the answer
    Si parece que alguien más ha encontrado antes un problema, probablemente es que así ha sido. No vivimos aislados. La respuesta está en Google.
  20. DOCUMENT!
    Documentación!
Leer más

SEO, a nivel teórico

Hacía tiempo que no escribía nada sobre SEO, y este fin de semana, tras una más que interesante lectura sobre técnicas SEO y de mejora de posicionamiento Web, voy a escribir una pequeña entrada acerca de ello. Nada a nivel práctico, como las entradas de mejora de posicionamiento web en Blogger [1] y [2], sino temas teóricos.
A día de hoy, tener una página en la red y que te encuentren por nombre es imposible y mucho menos tener un flujo de visitas constante. La gente que va a consumir tu información es, en la mayoría de los casos, gente que llega a tu URL a través de enlaces en los buscadores, que son los grandes protagonistas en la estructura World Wide Web actual. Por lo tanto, a nivel de negocio como de blog, es importante estar bien posicionado si pretendes que se lea lo que escribes. Para conseguirlo existen dos formas básicas:
  1. SEO (Search Engine Optimization)
    Es el posicionamiento natural, en base a la información que ofreces. No se paga por estar, sino que se está por contenidos.
  2. SEM (Search Engine Marketing)
    Son campañas de pago por enlaces o mejoras de posicionamiento mientras pagues. Pagas por salir en la primera página, no importa tu calidad o tus contenidos.
Sobre el segundo método de posicionamiento poco hay que decir o explicar. Pasas por caja y sales como anuncio en la primera página. Vamos a dedicar un poco de espacio por lo tanto a explicar el primer método: Las técnicas SEO. Éstas se basan en 4 principios básicos:
  1. Indexación
    Quizás es la parte más importante de estas técnicas, ya que es necesario comprender cómo funcionan los buscadores para adaptar la estructura de tu página a ellos. Cuanto más facilites la información al indexador, mejor le vas a caer, más fácil le será encontrar la información y más escalarás.
    Por supuesto, cada buscador es un mundo y lo que es bueno para Google, no tiene por que serlo para Bing. Aunque es cierto, que todos intentan más o menos buscar lo mismo.
  2. Relevancia
    Son las palabras sobre las que queremos y tenemos que hacer hincapié y darle más fuerza en nuestra página. Por decirlo de alguna forma, buscar y dar palabras clave al buscador es como ofrecer un criterio de búsqueda con técnicas SEM, pero sin pasar por caja.
    En cada página hay que establecer 3 o 4 palabras importantes y hacer que destaquen. No todo el texto puede ser importante, de ahí que haya que darle fuerza a aquellas palabras por las que nos interesa que nos busquen, para que salgamos.
  3. Popularidad
    Simplemente, enlaces externos.
    No es fácil conseguir que un sitio sea popular, pero es un trabajo del día a día. Es importante tener enlaces externos, pero enlaces de verdad, no enlaces en granjas de links.
    Los enlaces de verdad se consiguen con calidad de contenidos.
  4. Honradez
    Ser honrado, en lo que escribes, al igual que en la vida y te verás recompensado. Procura no engañar al indexador, pues cuando se de cuenta, te penalizará. Intenta crear contenido de calidad, no copies. Y sobre todo, ten presente que lo que hoy es bueno, mañana puede no serlo.
Después de tener claros los 4 principios básicos, queda constancia de que conseguir un buen SEO no es algo sencillo ni que se haga de la noche a la mañana. Existen técnicas, como el tema de las keywords para páginas, pero la popularidad y mantenerse ahí arriba con un buen Page Rank cuesta muchas horas de dedicación. Así que no os desesperéis y acordaros que invertir en calidad nunca está demás.
Leer más

Cómo ejecutar comandos externos desde Perl

Si empleas GNU/Linux para trabajar, saber Perl y Python suele ser interesante ya que te permite crear pequeños script que interaccione muy directamente con el sistema. Además de todo eso, Perl es un gran lenguaje de programación, permite realizar numerosas tareas en pocas líneas y por lo general es simple de manejar y comprender.
Hoy tuve la necesidad, en un script perl de procesamiento de correos, de ejecutar comandos externos y tocó realizar una búsqueda en Google de cómo realizar lo que me interesaba. Yo necesitaba ejecutar un comando y obtener la salida del mismo en una variable. Finalmente lo realicé con backticks, pero aproveché para recordar otros métodos de ejecución de comandos que voy a continuación a compartir con vosotros.
  • system
    Se emplea para ejecutar comandos del sistema en los que no interesa capturar la salida del mismo.
    system acepta el paso de un comando con argumentos directamente, así como el paso de variables como argumentos a la hora de ejecución. Aunque no captura la salida del comando, sí permite saber si éste se ejecutó correctamente o no (variable $?) y en caso de fallo, saber el error devuelto (variable $!).
    ...
    system($command, @args);
    if ($?) {
       print "command failed: $!\n";
    }
    ...
    
  • exec
    Ejecuta el comando especificado, pero a diferencia de system, exec nunca devuelve al programa de llamada, excepto que la llamada falle por que el comando no exista.
    Al igual que system, los argumentos pueden ser un array.
    ...
    if (($pid = fork()) == 0) {
       exec($command, @args);
    }
    waitpid($pid, 0);
    ...
    
  • open
    Se emplea si quieres que tu script importe o exporte datos externos mediante un pipe. Existen dos formas de ejecutarlo,
    • open("command | ")
      Para capturar datos desde la ejecución de un comando.
    • open(" | command")
      Para enviar datos a un programa externo desde Perl.
    ...
    open (DST, '-|', $pdftk, @pdf, 'cat', 'output', $final);
    close DST;
    ...
    
  • backticks
    Hay que emplear este método en caso de que deseemos capturar a una variable la ejecución de un comando del sistema. En método de funcionamiento es similar al mismo empleo en bash. Al igual en systema, $? almacena el estado de salida del comando.
    ...
    $random = `< /dev/urandom tr -dc A-Za-z0-9_.,@ | head -c12; echo n`;
    ...
    
Leer más

SEO: Optimización de entradas

No soy un experto ni mucho menos en técnicas SEO, pero dicen que la lectura hace al hombre completo y aprovechando que estoy leyendo en ratos muertos libros e información sobre técnicas SEO, quiero seguir compartiéndola con vosotros. Dicha información no es novedosa ni nada que no se haya escrito antes, ya que realmente estas técnicas ya está escritas y perfectamente documentadas, especialmente en todo lo referente a Blogger y entradas en Blog's. Sin embargo, sí puede resultar de cierto interés para algunos refrescarlas y con ello conseguir más visitas a sus entradas y ganar un par de posiciones en los buscadores.
Antes de seguir, hay que dejar claro que nunca vas a encontrar una fórmula mágica que haga que Google te coloque en la primera posición en una búsqueda. Eso depende de muchas variables, algunas sí controlables, como las que ya vimos o las que vamos a ver a continuación y otras que establece el motor de búsqueda y que no son directamente controlables.
Cuando escribimos una entrada o un artículo que se vaya a publicar en la red, algunos de los factores que sí están en nuestras manos para poder mejorar su posicionamiento son,
  1. Palabras clave
    Se entiende por palabras clave aquellas palabras o frases que cualquier persona busca en la red a la hora de querer acceder a la información. Por lo tanto, cuando escribamos algo tenemos que centrarnos y hacer hincapié en dichas palabras, para que los buscadores las indexen y tengan relevancia. Algo muy importante sobre el uso de esta palabras clave es el no abuso de las mismas. Esto quiere decir que no podemos, ni debemos escribirlas continuamente sino, en vez de favorecer lo que hará será desfavorecer y bajar la prioridad del contenido.
    Así que ya sabéis, escribir inteligentemente, pero sin abusar.
  2. Uso de sinónimos
    Creo que esta parte ya no tiene ni que explicarse. Si en la vida real o en cualquier redacción siempre nos aconsejaban escribir con sinónimos  lo mismo es aplicándolo a la red. Cada posible visitante tiene su forma de expresarse y de buscar, por lo tanto, el empleo de sinónimos para definir una misma cosa es útil y necesario. A mayores, el empleo de sinónimos da una mayor fortaleza al texto escrito, lo que a la vez ayuda en su posicionamiento.
  3. Negritas y cursivas
    Las frases o palabras clave deben resaltarse para que el lector centre su mirada sobre ellas. De la misma forma que en un texto escrito esto se hace de forma directa, un buscador también es capaz de realizarlo. Aunque en la mayoría de las webs actuales, cada vez más se emplean CSS's para dar formato, para que un buscador tenga en cuentas las negritas y cursivas, se deben emplear las etiquetas HTML, <b>, <strong> y <i>. Es importante no abusar con el empleo de formato en el texto para no dejarlo muy sobrecargado y las palabras más destacadas emplear <strong> para establecer la negrita y en el resto de los casos, <b>.
  4. Ortografía y expresión escrita
    Si es importante el empleo de sinónimos, más todavía una buena ortografía. Es muy importante no escribir con faltas ni emplear palabras coloquiales. Aunque puede ser que para la entrada quede bonito, para el posicionamiento no y para el lector que lo va a consumir, menos.
    En Internet el uso de mayúsculas tiene un significado similar a gritar, así que no escribas una entrada en mayúsculas!
  5. Genera temas nuevos
    Aunque una de las cosas que más influye a la hora de posicionar un Blog es la frecuencia de actualización es tanto o más importante generar nuevo contenido y no únicamente copiar y copiar contenido ya generado. Aunque escribas de un mismo tema, hazlo por ti mismo. Consulta, investiga, averigua toda la información que necesites y luego transfórmala con tus palabras en un artículo.

La entrada SEO: Optimización de entradas la puede leer en Puppet Linux.
Leer más

SEO: Optimización de Blogger

Técnicas SEO
Recientemente he comenzado a leer un poco de técnicas SEO y aunque Blogger no permite hacer demasiados ajustes en lo que a SEO se refiere, hoy quiero enseñaros un pequeño truco que mejora un poco el SEO en nuestro blog. Poco a poco iré introduciendo mejoras, algunas aplicables a Blogger, otras no.
De momento vamos a ver cómo crear la URL de cada post, cómo cambiar el título del blog en cada artículo y cómo añadir etiquetas META.
Cuando creamos un post, a éste le ponemos un título y luego al visualizarlo en el navegador y por lo tanto también al indexarlo Google, quedará de la siguiente forma, por defecto.
Titulo blog | Titulo post
Esto queda muy bien, pero el problema viene cuando Google recoge los títulos de vuestros post. Google por defecto tiene unos títulos de 60 caracteres, por lo que si vuestra combinación de "Título blog + Título post" sobrepasa esos caracteres, se pueden ignorar partes de título o key's importantes de dicho artículo.
Tecnicas SEO Blogger
Título Blogger con SEO
Para solucionar esto, existen dos formas de hacerlo, o bien eliminamos el título del blog o bien intercambiamos las ocurrencias. Primero el título del post y luego el del blog. A mi personalmente me parece más adecuada la segunda, así que vamos a ver qué cambios hay que realizar si estáis empleando una plantilla de Blogger. Tenemos que ir a editar la plantilla en HTML y buscar el siguiente código,
<title><data:blog.pageTitle/></title>
Que será reemplazado por este otro,
<b:if cond="’data:blog.pageType" item="" quot="">
   <title><data:blog.pageName/> | <data:blog.title/> </title>
<b:else>
   <title><data:blog.pageTitle/></title>
</b:else></b:if>
En caso de que sólo deseemos quedarnos con el título del post y obviar la parte del título del blog, el código final quedaría,
<b:if cond="’data:blog.pageType" index="" quot="">
   <title><data:blog.title/></title>
<b:else>
   <title><data:blog.pageName/></title>
</b:else></b:if>
Tecnicas SEO Blogger
SEO en URL
La segunda parte que tenemos que cuidar también bastante es la URL con la que publicamos cada uno de nuestros posts. Los motores de indexación también se fijan en ello y no sólo en el contenido. Esta parte es importante. Cuando estáis redactando un post, al lado derecho tenéis el botón Permalink, que por defecto coge un valor predetermiando, en función del título o de las primeras palabras del artículo. Esto lógicamente no es bueno para posicionarse, así que lo mejor es siempre editarlo y poner una URL estática con las 2 o 3 palabras que mejor definan de lo que estáis hablando. La separación de palabras, lo mejor es realizarla con -. Es importante también no pasar de 3 palabras en crear el título. Por ejemplo, para este post, no sería lo mismo http://.../tecnicasseoi.html, que http://.../tecnicas_seo_i.html que http://.../tecnicas-seo-i.html. De las 3 aproximaciones aquí puestas, la primera no significa nada, ya que para un indexador la palabra tecnicasseoi no tiene sentido y será muy raro que alguien la busque así. De las 2 que quedan, realmente la diferencia es muy poca y depende en gran medida del bot, algunos los _ no los toman como separadores de palabras mientras que -, sí.
Como píldora final, os dejo otro pequeño truco para mejorar también el posicionamiento. Los motores de búsqueda cada vez hacen más hincapié en los metadatos, es decir, la tendencia es ir hacia lo que se quiere decir y no a lo que se dice. Esto es muy complicado, así que como método de ayuda podemos incluir metadatos con información de nuestro blog en las cabeceras del mismo. En este caso, vamos a añadir metadatos de descripción y palabras clave. Para ello, nuevamente editamos la plantilla (edición HTML) y buscamos
<![CDATA[/*
Justo antes de esa línea, agregamos estas,
<b:if cond='data:blog.url == data:blog.homepageUrl'>
   <meta name="description" content="Tu descripción" />
   <meta name="keywords" content="key1, key2, key3" />
</b:if>
Con ello conseguiremos meter las meta-etiquetes a nivel general del blog.

Más información: search-engine-optimization-starter-guide.pdf

La entrada SEO: Optimización de Blogger la puedes leer en Puppet Linux.
Leer más

intypedia (III)

En este post, trataremos las últimas 4 lecciones disponibles de intypedia a día de hoy.



  • Lección 11: Análisis y gestión de riesgos


  • Lección 12: Seguridad en redes WiFi


  • Lección 13: Seguridad en DNS


  • Lección 14: Funciones Unidireccionales y algoritmos de hash

Otras lecciones de Intypedia:
  • Intypedia (I)
  • Intypedia (II)
  • Intypedia (III)
Leer más

intypedia (II)

Siguiendo las lecciones sobre los temas de intypedia, os dejo a continuación las próximas 5 lecciones de este más que interesante método de aprendizaje. Espero que las disfrutéis.


  • Lección 6: Malware


  • Lección 7: Seguridad en aplicaciones web


  • Lección 8: Protocolo de reparto de secretos


  • Lección 9: Introducción al protocolo SSL


  • Lección 10: Ataques al protocolo SSL

Otras lecciones de Intypedia:
  • Intypedia (I)
  • Intypedia (II)
  • Intypedia (III)
Leer más

intypedia (I)

intypedia es un proyecto de la Universidad Politécnica de Madrid que pretende construir una enciclopedia visual para la Seguridad de la Información. Dicho proyecto no pretende más que difundir conocimientos y conceptos básicos a partir de lecciones sencillas y visuales, para que esté accesible a todo el mundo. Para más información de este interesante proyecto,
A continuación os dejo las 5 primeras lecciones sobre Seguridad de la Información.
  • Lección 1: Historia de la criptografía y su desarrollo en Europa


  • Lección 2: Sistemas de cifra con clave secreta


  • Lección 3: Sistemas de cifra con clave pública


  • Lección 4: Introducción a la seguridad en redes telemáticas


  • Lección 5: Seguridad perimetral

Otras lecciones de Intypedia:
  • Intypedia (I)
  • Intypedia (II)
  • Intypedia (III)
Leer más

[Solución] Reto esteganográfico

A continuación describo de forma rápida cómo obtener la solución del reto propuesto hace 15 días y que como veréis, si lo habéis intentando, es realmente simple y conocido.
A los que lo hayáis solucionado enhorabuena :-), a los que no, algo nuevo que aprendemos ;-)
Espero haya sido divertido para todos.
  1. Descargamos el archivo desde el link que se nos indica
  2. Descomprimimos el fichero
    shell> tar zxvf reto.tar.lzma.tar.gz
    
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    
    La extensión hace pensar que el fichero es un tar.gz, aunque al intentar descomprimirlo obtenemos un fallo de que efectivamente la extensión no coincide con el tipo.
  3. Comprobamos el tipo de fichero
    Puesto que ya sabemos que extensión y tipo de fichero no coinciden, vamos a averiguar qué tipo de fichero es. Para ello empleamos el comando file.
    shell> file reto.tar.lzma.tar.gz 
    reto.tar.lzma.tar.gz: 7-zip archive data, version 0.3
    
    Bien! Observamos que el fichero realmente es de tipo 7-zip. Que este tipo de compresión se habría aplicado, también lo pudimos pensar sobre todo teniendo en cuenta parte de la extensión del fichero.
  4. Descomprimimos correctamente el fichero y vemos qué obtenemos
    shell> 7z e reto.tar.lzma.tar.gz
    shell> ls
    image_0.png     image_1466.png  image_1931.png  image_2397.png
    image_1000.png  image_1467.png  image_1932.png  image_2398.png
    image_1001.png  image_1468.png  image_1933.png  image_2399.png
    image_1002.png  image_1469.png  image_1934.png  image_239.png
    
    Vemos que tras descomprimir el fichero, tenemos miles de pequeñas imágenes de forma secuencial.
  5. Observamos las imágenes
    Nos fijamos en que todas las imágenes tienen el mismo nombre y un número al final...
    También si abrimos dichas imágenes vemos que el contenido es muy similar. Todas tienen el mismo tamaño, 3x3 píxeles y cambia el color.
    Pensamos qué puede significar esto...
  6. Construimos una imagen final
    Vamos a probar a agregar todas imágenes de forma secuencial a una imagen final, ya que todo hace indicar que se hizo una descomposición de dicha imagen.
    shell> convert -background skyblue *.png -layers flatten +repage reto_solucion.png
    
  7. La solución final
     
Leer más

Reto esteganográfico

Hoy os quiero proponer algo cuando menos curioso y no habitual en este blog. La resolución de un reto un tanto peculiar sobre esteganografía. La verdad es que cuando lo hagáis veréis que es una chorrada, pero espero que sirva a alguien para mostrar algo de curiosidad por estos métodos cada vez más difundidos de ocultar información.
Para los novatos en estos temas que lo quieran intentar, que sepan que la esteganografía es la disciplina que estudia y aplica técnicas de ocultamiento de mensajes embebidos dentro de otros. En nuestro caso imágenes ;-)
Para el que lo quiera intentar, dejo aquí el fichero sobre el que trabajar, reto.tar.lzma.tar.gz.

Actualización: se ha publicado la solución.
Leer más

Mac OS X en modo 64 bits

Mac OS X permite ejecutarse con un kernel de 64 bit's, pero algunas de las versiones no lo traen por defecto, perdiendo así la mejora de rendimiento que se presupone en un equipo de 64 bit's.
Por suerte, se puede activar el soporte 64 bit's si en el arranque, durante el mismo, se mantienen presionadas las teclas 4 y 6.
Si este nuevo modo de 64 bit's os convence, se puede activar para que arranque así por defecto. Para ello hay que editar el fichero /Library/Preferences/SystemConfiguration/com.apple.Boot.plist y en él, buscamos:
<key>Kernel Flags</key>
<string> </string>
Y lo cambiamos a:
<key>Kernel Flags</key>
<string>arch=x86_64</string>
Leer más

Deshabilitar touchpad mientras escribes

Ya no recuerdo exactamente qué fue lo que estaba buscando, pero acabé en esta web (ubuntuleon.blogspot.com) en la que vi un script bastante interesantes que quiero compartir con vosotros por si os puede resultar interesantes. Para la gente que emplee equipos de sobremesa no creo, pero para aquellos que trabajen con portátiles puede ser especialmente útil deshabilitar el touchpad cuando están escribiendo. A quién no le pasó que está escribiendo y se le mueve el ratón y termina por escribir donde no debe o sin escribir. Aunque muchos de los equipos modernos ya comienzan a incluir esa opción, a los que no, si emplean GNU/Linux, se la pueden poner.

#!/bin/bash

gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_auto-disable true
echo "Generando los scripts"
MANUAL=touchpad-manual
AUTO=touchpad-auto
zenity --question --text="¿Desea activar las notificaciones?\nSe instalara el paquete libnotify-bin\npara lanzar notificaciones a traves de Notify-OSD"
if [ $? = 0 ];then
    gksu echo Instalando
    sudo apt-get install libnotify-bin
    gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_notify true
else
    gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_notify false
fi
echo '#!/bin/bash
gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_auto-disable false
#Si el estado actual es activado, lo desactiva, si no, lo activa
if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = true ]; then
    gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_enabled false
    #synclient TouchpadOff=1
    if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_notify) = true ]; then
        notify-send --icon=mouse "Touchpad Deshabilitado"
    fi
else
    gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_enabled true
    #synclient TouchpadOff=0
    if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_notify) = true ]; then
        notify-send --icon=mouse "Touchpad Habilitado"
    fi
fi' | tee $MANUAL

echo '#! /bin/bash
# Depende de libnotify-bin
notify=0    # Deshabilita la notificacion en el arranque
# Sincroniza synclient con gconf
#if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = true ]; then
#    synclient TouchpadOff=0
#elif [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = false ]; then
#    synclient TouchpadOff=1
#fi
while [ 1 ]
do
    if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_auto-disable) = true ]; then
        if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = true ] && [ -e /dev/input/by-id/*event-mouse ]; then # Se enchufa un Ratón
            gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_enabled false
            #synclient TouchpadOff=1
            if [ $notify = 1 ]; then
                notify-send --icon=mouse "Touchpad Deshabilitado" "Se ha detectado un Ratón externo"
            fi

        elif [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = false ] && [ ! -e /dev/input/by-id/*event-mouse ]; then # Se desenchufa un Ratón
            gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_enabled true
            #synclient TouchpadOff=0
            if [ $notify = 1 ]; then
                notify-send --icon=mouse "Touchpad Habilitado" "Se ha desconectado el Ratón externo"
            fi
        fi
    fi
    if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_notify) = true ]; then
        notify=1
    fi
    sleep 5  # Periodo de refresco en segundos
done' | tee $AUTO

echo "Instalando los script"
gksu cp $MANUAL /usr/bin/
rm $MANUAL
sudo cp $AUTO /usr/bin/
rm $AUTO
cd /usr/bin/
sudo chmod +rx $MANUAL
sudo chmod +rx $AUTO

echo "Asociando combinacion de teclas Alt+t"
gconftool-2 -t str --set /apps/metacity/global_keybindings/run_command_8 "t"
gconftool-2 -t str --set /apps/metacity/keybinding_commands/command_8 "$MANUAL"
echo "Asociando combinacion de teclas Alt+a para el modo automático"
gconftool-2 -t str --set /apps/metacity/global_keybindings/run_command_7 "a"
gconftool-2 -t str --set /apps/metacity/keybinding_commands/command_7 "gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_auto-disable true"

echo "Creando autoarranque"
cd /usr/share/gnome/autostart/
echo '[Desktop Entry]' | sudo tee $AUTO.desktop
echo 'Type=Application' | sudo tee -a $AUTO.desktop
echo 'Name=AutoDeshabilitar Touchpad' | sudo tee -a $AUTO.desktop
echo "Exec=$AUTO" | sudo tee -a $AUTO.desktop
echo 'Icon=mouse' | sudo tee -a $AUTO.desktop
echo 'Comment=Detecta si exixte un raton, y si es asi, deshabilita el touchpad' | sudo tee -a $AUTO.desktop
echo "Listo"

Leer más

(in)Seguridad en los acortadores de direcciones

Reflexiones públicas sobre seguridad de acortadores
Aunque ya hace tiempo que me vine fijando es esto, hoy quiero hacer una pequeña reflexión pública sobre los acortadores de URL y el arma de doble hilo que son.
Con la expansión de Twitter, el empleo de acortadores de URL es cada vez mayor, ya no sólo en el propio servicio del pajarito, sino en prácticamente todos los servicios web modernos. Por lo tanto, cuando alguien "cuelga" una URL corta, realmente nosotros lo que hacemos es consultar al "creador" de la misma para que nos haga una redirección a la URL de verdad. Por poner un ejemplo, el link http://goo.gl/kr0UO, creado con el acortador de Google lleva a éste blog, sin embargo eso es así por que yo os lo digo y vosotros os lo creéis. Si realmente lleva a otro lado, es algo que hasta después de pinchar en él, no lo podremos saber.
Hagamos ahora un pequeño parón y cambiemos de tema. En la actualidad es muy común ver fallos de programación en páginas web que permiten efectuar ataques XSS, SQL, BlindSQL, etc. Dependiendo del tipo de ataque, el resultado puede ser más o menos interesante y tener una repercusión u otra.
El ejemplo típico de ataque XSS es el efectuado sobre una página web de la que interesa obtener algunas credenciales. La forma más simple de hacerlo es descubrir la vulnerabilidad y hacer que las víctimas pinchen el enlace mal intencionado para llevarlas a la web falsa. Una vez ahí, únicamente habrá que esperar a que inicie sesión y las credenciales ya estarían comprometidas. Un XSS sobre la web un proveedor de mail (GMail, Hotmail, Yahoo!, etc.) sería, cuando menos una gran fuente de datos para los hackers.
Por lo tanto, cuando unimos acortadores de URL's y fallos de seguridad, podemos tener un problema. Fue sonado, si os acordáis, el XSS que se le hizo a la web del Gobierno de España y que se expandió como la pólvora por las redes sociales gracias a los acortadores de URL. El "churro" de URL que había que poner, si no fuera por los acortadores de URL sería cuando menos sospechoso para la mayoría de la gente. 
http://www.eu2010.es/en/resultadoBusqueda.html?query= < script > document.write('< i m g s rc="h t t p ://blog.tmcnet.com/blog/tom-keating/images/mr-bean. jpg" />') < / script >;&index=buscadorGeneral_en
Web Gobierno de España, eu2010
Sin embargo, si yo lo pongo más amigable, tal como "pincha aquí", seguimos teniendo el mismo problema, pero algo más camuflado. La ventaja, que antes de pinchar al pasar el ratón por encima, podemos observar la URL completa a la que lleva.
Ahora imaginémonos qué pasaría si el mismo link lo camuflamos con un acortador de URL's. Para el ejemplo vamos a emplear una URL con un pequeño fallo XSS, el cual vamos a explotar para que nos diga Hola! Nada peligroso ;-)
La URL real a comprobar es http://demo.testfire.net, mientras que la URL vulnerable es http://demo.testfire.net. Sí, la misma ;-)
Si os fijáis, cambia un poco el contenido del link colgado, así que si ahora pongo un Tweet con
Estrenamos nueva web. Visítala aquí
Puede ser que esto impida ya a mucha gente acceder al contenido, ya que realmente se está desplegando, sin embargo, para hacerlo más fuerte y potente, vamos a pasarlo por un acrotador de URL's (en este caso, bit.ly) y ahora ponemos,
Estrenamos nueva web. Visítala http://bit.ly/aACnrM
La URL que podemos ver es exactamente la misma, pero hasta que pinchas y salta el alert("Hola") no lo sabemos, quedando así demostrada la (in)seguridad de los acortadores de direcciones.
Leer más

Formato de texto en gTalk

Hace tiempo descubrí uno de esos pequeños trucos de Google que a la gente le suele fascinar. Cómo poner el texto en diferentes formas en gtalk. Hablando con los compañeros por el chat, lo empleas y siempre queda muy gracioso, pues al principio no saben cómo hacerlo y eso siempre causa un poco de desconcierto. Hoy voy a poner cómo hacerlo, ya que considero que puede ser de interés general. Ya bien sea para pasar el rato, o usándolo de manera correcta, podéis dar énfasis o remarcar vuestras palabras con negrita, cursiva e incluso tachar algo que no querríais decir. Para hacerlo, cuando escribáis, anteponer los símbolos a las palabras y así conseguís el efecto deseado.
*prueba* : prueba
_prueba_ : prueba
-prueba- : prueba
Leer más

Manifiesto

Ante la inclusión en el Anteproyecto de Ley de Economía Sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que…
  1. Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
  2. La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
  3. La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
  4. La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
  5. Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
  6. Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
  7. Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
  8. Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
  9. Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
  10. En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios