Si quieres tener un servidor web con tu conexión de ONO y el router NETGEAR CG3100-RG v3, Tendrás que hacer un poco de magia, porque en los teléfonos de atención de ONO poco conseguirás. Tengo una conexión de 50Mb/5Mb, ideal con esa subida para mi servidor web, salvo por el hecho de que el puerto 80 está en uso por el propio router.

Cuando accedes a la interfaz web de configuración del router te solicita una contraseña, ONO solo facilita la de administrador “normal”, anotada debajo del router, con la que no podemos redireccionar el puerto 80. Necisitamos la contraseña para el usuario MSO. Que está en esta tabla extraída del wiki de bandaancha.st.

App. Account Password Level CM/ Port WAN/ Port LAN/ Port
==================================================================================

HTTP admin password 2 DISABLED/ 80 DISABLED/ 8080 ENABLED/ 80
TELNET admin password 2 DISABLED/ 23 DISABLED/ 23 DISABLED/ 23
HTTPS admin password 2 DISABLED/ 443 DISABLED/ 443 ENABLED/ 443
SSH admin password 2 DISABLED/ 22 DISABLED/ 22 DISABLED/ 22
HTTP MSO 0n0Adm1Ni$tRaT0r 4 DISABLED/ 80 ENABLED/ 8080 ENABLED/ 80
TELNET MSO 0n0Adm1Ni$tRaT0r 4 DISABLED/ 23 DISABLED/ 23 DISABLED/ 23
HTTPS MSO 0n0Adm1Ni$tRaT0r 4 DISABLED/ 443 DISABLED/ 443 ENABLED/ 443
SSH MSO 0n0Adm1Ni$tRaT0r 4 DISABLED/ 22 DISABLED/ 22 DISABLED/ 22

Accedemos al interfaz web de configuración, normalmente en http://192.168.1.1 y usamos como credenciales MSO y onoAdm1Ni$tRaTor, en el menú de la izquierda pulsamos en Administración remota, desmarcamos las dos casillas que vemos en la imagen de abajo y pulsamos en el botón Aplicar que está abajo del todo.

Administración Remota

Tras esto podemos ir a la izquierda, a la sección Fordward de puertos (sí, se han currado la traducción una barbaridad), y añadir la redirección del puerto 80 a la tabla. Así de sencillo, una vez que lo sabes, claro…

Fuente | wiki.bandaancha.st

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 1GPgF5twKZNmeqa3HHUNqZQ3VT3nsyKFPn

Comments No Hay Comentarios »

Los usuarios de Gentoo hemos podido notar en muchas ocasiones una repentina reducción del rendimiento porque la compilación acapara la mayor parte del tiempo de cómputo del sistema cuando estamos instalando nuevo software. Esto se agrava aún más cuando compilamos paquetes muy grandes, el compilador o lenguaje usado puede necesitar más recursos para el proceso de compilación. Por ejemplo C++ necesita más recursos que C para compilar. Para evitar que cuando la máquina está siendo usada para otros menesteres que consideremos más importantes o urgentes, Portage nos ralentice los procesos de estas tareas, podemos hacer uso de las variables PORTAGE_NICENESS y PORTAGE_IONICE_COMMAND en el fichero /etc/portage/make.conf.

Para el make.conf de mi equipo de trabajo uso esta configuración:

  • PORTAGE_NICENES=10
    Con este conseguimos bajar la prioridad de Portage y de los procesos hijos que ejecute.
  • PORTAGE_NICE_COMMAND="ionice -n7 -p \${PID}"
    Con este otro, el fin es hacer que la copia de ficheros (io = entrada/salida) tenga la proridad más baja posible.

Para más información sobre estas variables recomiendo las páginas del manual de make.conf, nice e ionice.

$ man make.conf
$ man nice
$ man ionice

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 1GPgF5twKZNmeqa3HHUNqZQ3VT3nsyKFPn

Comments No Hay Comentarios »

Para modificar el comportamiento del historial de BASH tan solo tenemos que hacer un export de la variable de entorno HISTCONTROL.
Podemos hacerlo de tres modos:

  1. Desde la consola con el comando $ export HISTCONTROL=ignoredups, por ejemplo.
  2. O si queremos que este cambio sea permanente para nuestro usuario, podemos ejecutar el siguiente comando:
    $ echo "HISTCONTROL=ignorespace" >> ~/.bashrc
  3. O bien, si además queremos que este cambio sea para todos los usuarios incluido el usuario root, tendríamos que establecer el valor de esta variable para todos los usuarios de este modo:
    # echo "HISTCONTROL=ignoreboth" > /etc/env.d/99histcontrol

Los valores válidos que puede tomar esta variable son:

  • ignorespace: si un comando comienza por espacio no se incluye en el historial.
  • ignoredups: no se añaden los comandos que ya se han usado previamente en esa sesión de consola.
  • ignoreboth: el igual a ignorespace e ignoredups juntos.
  • erasedups: antes de añadir un comando al historial, borra todas las ocurrencias coincidentes anteriores.

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 1GPgF5twKZNmeqa3HHUNqZQ3VT3nsyKFPn

Comments No Hay Comentarios »

Hace tiempo compré un netbook chino de esos baratos, me costó 69€, bastante barato y la verdad que es divertido, venía con un Android algo tosco, ya que la adaptación que hicieron no era demasiado buena. Mirando por internet y foros conseguí ponerle una versión modificada que realmente mejora mucho la funcionalidad del aparato, ¡incluso puedo usar Skype!

Pero realmente compré el aparato porque me parecía muy interesante poder instalarle una distribución GNU/Linux personalizada para la máquina, pero para ello primero comenzaremos probando si es posible cargar un núcleo fiel a los parámetros que siguen los núcleos Linux. Que el núcleo Linux de Android, señores, no lo es, al menos hasta la versión 3.2 de Linux.

En Android: $ uname -m
armv5tejl

En el computador:
# crossdev -t armv5tel-softfloat-linux-gnueabi
# git clone git://git.code.sf.net/p/linuxwmt/code linuxwmt-code

$ make ARCH=arm menuconfig
$ make -j4 ARCH=arm uImage modules

Si no usas Gentoo puedes usar un toolchain descargado de aquí.

Fuentes:

 

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 1GPgF5twKZNmeqa3HHUNqZQ3VT3nsyKFPn

Comments 40 Comentarios »

Hacía tiempo que quería tener la funcionalidad de conexión segura SSL en el protocolo HTTP (HTTPS) en mi servidor, sobre todo para poder utilizarlo cuando accedo al área de administración en redes poco seguras. De este modo me aseguro que la comunicación entre mi servidor y mi navegador va cifrada, además de reducir la posibilidad de un ataque man-in-the-middle.

Desde hace tiempo que lo puse a funcionar en Cherokee Web Server, y no puedo dejar de escribir qué hice para hacerlo funcionar, así además de no olvidarlo yo, puede servirle a alguien también.

Los pasos básicamente son instalar apropiadamente los certificados raíz de CAcert.org en el servidor (concatenados en un fichero único), generar una petición de firma de certificado, generar la firma de CAcert.org usando la petición anterior y por último instalar la clave privada y la firma en el servidor.

  1. Generamos nuestra petición de firma de certificado (certificate signing request), ejecutamos en una consola el comando:
    # openssl req -nodes -newkey rsa:4096 -keyout private.key -out server.csr
  2. Iniciamos sesión en cacert.org.
  3. A la derecha, en el menú, pulsamos en Dominios y luego en agregar.Agregar domiinio Ponemos nuestro dominio, en mi caso juanluperez.com.
  4. Después pulsamos en Certificados de Servidor, y en nuevo.Agregar certificado de servidor Copiamos el contenido de server.csr y lo pegamos en la caja donde nos pide el certificate signing request.
  5. Nos devolverá un texto que comienza con algo como ----BEGIN CERTIFICATE----. Copiamos el texto tal cual está en un fichero texto plano y lo nombramos certificate.pem. ¡Ojo! La última línea debe ser ----END CERTIFICATE----, no nos servirá una última línea vacía. Lo aviso para los usuarios del editor nano, que siempre añade esta línea al final.
  6. Descargamos el certificado raíz root.crt y el certificado intermedio class3.crt.
  7. # cat root.crt class3.crt > chained.crt
    Concatenamos los dos certificados en un único fichero, tal y como lo necesitará cherokee más adelante.
  8. Activamos SSL, vamos en el panel de configuración de Cherokee haciendo uso de cherokee-admin, un interfaz web de administración muy sencillo, en General y en pestaña Network vamos a la opción SSL/TLS backend y escogemos OpenSSL/libssl. A continuación vamos a la pestaña Ports to listen, añadimos el puerto 443 y activamos la casilla TLS/SSL.
  9. Pulsamos en la sección vServers, a la izquierda seleccionamos el servidor virtual sobre el que queremos aplicar el certificado. Luego pulsamos a la derecha en la pestaña Security, donde vamos a añadir todos los ficheros de certificado que se necesitan.
  10. En Certificate añadimos la ruta a certificate.pem.
  11. En Certificate key añadimos la ruta a private.key.
  12. En Client certs. request tenemos tres opciones, skip para no pedir certificado de cliente, accept en el caso de que acepte certificado en el caso de que se le envíe o require, que exigirá un certificado de cliente válido para permitir el paso. En mi caso me basta con skip, ya que no estoy interesado en autenticación, solo en el cifrado.
  13. En CA List añadimos la ruta a chained.crt.

Los certificados que generamos en CACert duran 6 meses, por lo que cuando caduque nuestro certificado tenemos que volver a cargar uno renovado, pero esto es muy sencillo. Vamos a CACert, iniciamos sesión, pusamos en “ver” en la sección “Certificados de servidor”, luego seleccionamos el certificado que está apunto de caducar (o ya caducado) y le damos a renovar. Luego nos mostrará el certificado, lo copiamos en un fichero certificate.pem y lo volvemos a cargar en Cherokee.

Si no vemos listado el certificado que queremos renovar, debemos pulsar en “ver todos los certificados”.

Fuente | Wiki CaCert.org
Fuente | mail-archive.com

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 1GPgF5twKZNmeqa3HHUNqZQ3VT3nsyKFPn

Comments 3 Comentarios »

Detexify

Me encontré hace tiempo un problemilla para escribir el caracter ‘~’ en LaTeX, buscando como conseguir escribir ese símbolo correctamente encontré un método genial para salir de dudas. Se llama Detexify, es una aplicación web con un funcionamiento simplísimo, tan solo basta con dibujar el caracter que estamos buscando y él nos mostrará las propuestas que más se aproximen a nuestro dibujo, acompañado claro está de como conseguir escribirlo en nuestro LaTeX.

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 12Ktf11yD3FedJrRdoQFL5uvd8XFEgpQhB

Comments No Hay Comentarios »

Después de tanto tiempo parece que por fin es posible usar el DNIe en Gentoo satisfactoriamente. Aquí detallo las instrucciones, que por supuesto son válidas para otros sistemas diferentes, salvo que habría que proceder de forma análoga con comandos distintos en la instalación de los paquetes propios del sistema de paquetería que uses.

  1. # emerge pcsc-tools pcsc-lite opensc
    Instalamos los paquetes necesarios.
  2. # rc-update add pcscd default
    Añadimos pcscd al arranque.
  3. # /etc/init.d/pcscd start
    Iniciamos el servicio pcscd
  4. # emerge jss
    Network Security Services para Java necesario para muchos sitios web
  5. $ mkdir dnie; cd dnie
  6. $ svn checkout https://svn.forge.morfeo-project.org/opendnie/opensc-opendnie/trunk
  7. $ cd trunk
  8. $./bootstrap
  9. $ ./configure --prefix=/usr/local
  10. $ make
  11. $ su -c "make install"
  12. Modificar el fichero de configuración /etc/opensc.conf:
    # card_driver dnie {
    # # Enable/Disable user consent on signing (default: enable)
    # user_consent_enabled = true;
    # # Program to be used for ask confirmation (default: pinentry)
    # user_consent_app = /usr/bin/pinentry;
    # }
    ...
    reader_driver pcsc {
    ...
    # Connect to reader in exclusive mode?
    # Default: false
    # connect_exclusive = true;
    ...
    # Enable pinpad if detected (PC/SC v2.0.2 Part 10)
    # Default: true
    enable_pinpad = false;
    ...
    }
    ...
    # PKCS #15
    framework pkcs15 {
    ....
    # Prefer pkcs15 emulation code before
    # the normal pkcs15 processing.
    # Some cards (like esteid and pteid) work in emu-only mode,
    # and do not depend on this option.
    #
    # Default: no
    try_emulation_first = yes;
    ....
    }
    ...
    # Parameters for the OpenSC PKCS11 module
    app opensc-pkcs11 {
    pkcs11 {
    # Should the module support hotplug of readers as per PKCS#11 v2.20?
    # This affects slot changes and PC/SC PnP, as v2.11 applications
    # are not allowed to change the length of the slot list.
    # Default: true
    plug_and_play = false;# Maximum Number of virtual slots
    ...
  13. $ dnie-tool -d -w
    Probamos que tenemos acceso al DNIe. Asegúrate de tener el lector conectado y el DNIe introducido en el lector.
    $ dnie-tool -d -w
    Waiting for a card to be inserted...
    DNIe Number: 99999999X
    SurName: PEREZ
    Name: JUAN LUIS
  14. Seguimos las instrucciones de esta web.
  15. Añadimos los certificados raíz como autoridad certificadora en Firefox. Que los podemos bajar de aquí.
  16. Añadimos el módulo para acceder al lactor en Firefox, en Editar->Preferencias->Avanzado->Cifrado->Dispositivos de seguridad->Cargar->Examinar… Y añadimos la ruta /usr/local/lib/pksc11/opensc-pkcs11.so.
  17. Comprobamos que funciona en una página de prueba de la FNMT.

Fuente | OpenDNIe Cenatic
Fuente | Un enfermo de los bits

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 12Ktf11yD3FedJrRdoQFL5uvd8XFEgpQhB

Comments 1 Comentario »

Bitcoin es básicamente una moneda virtual, sus características técnicas principales son que es descentralizada (P2P), segura y anónima. Antes de seguir con más información sobre esta moneda os propongo ver un pequeño vídeo de weusecoins.com.

La idea parece genial, ¿no? Claro, pero seguro que te preguntas si es verdad que hay gente que las usa, hace negocios con esta moneda, gente que venda cosas y compre cosas… Y la verdad es que sí, cada vez más negocios aceptan esta divisa como medio de pago y eso que solo tiene poco más de dos años de vida.

El código de divisa oficial para Bitcoin es BTC , no está reconocido como código ISO estándar, pero es el que se usa. Aunque también mucha gente utiliza el símbolo ฿, el problema es que este es el símbolo que se usa para el Baht tailandés, cuyo código ISO es THB.

Había pensado en escribir un artículo explicativo sobre esta moneda, pero hay muchos artículos y sitios que puedes usar para entender de qué va Bitcoin, así que voy dejarte algunos consejos prácticos de cómo comenzar a usar Bitcoin y conseguir tus primeros céntimos de Bitcoin para que pruebes cómo funciona.

Los Bitcoins pueden fraccionarse hasta 8 decimales, esto quiere decir que si por ejemplo el euro puede fraccionarse hasta 2 decimales, teniendo los céntimos de euro, Bitcoin se puede fraccionar hasta céntimos de micro Bitcoin (µBTC), esto quiere decir que podemos tener céntimos de una millonésima parte de un Bitcoin. Esto ha sido pensado así teniendo en mente la posible deflacción de la moneda, para que podamos fraccionarla tanto como necesitemos. También se habla de mili Bitcoins (mBTC) que son la décima parte de un céntimo de Bitcoin. En cualquier caso, si necesitásemos más fracciones, no habría inconveniente en modificarlo a posteriori, pudiendo llegar a los pico Bitcoins o más fraccionado si fuese necesario.

Comenzar a usarlos:

Si usas Gentoo puedes instalarlo de Portage directamente:

  1. echo “net-p2p/bitcoin-qt ~amd64″ >> /etc/portage/package.keywords
  2. emerge -avq bitcoin-qt

Si usas Ubuntu puedes entrar en su página oficial bitcoin.org y descargarlo e instalarlo desde el PPA oficial.

Si usas otra distribución o bien si usas Windows:

  1. Descargamos el programa oficial de la web, bitcoin.org.
  2. Descomprimimos el fichero.
  3. Entramos en la carpeta correspondiente y ejecutamos el programa llamado bitcoin, que es la versión con entorno gráfico. La otra es para usuarios más experimentados. Hay dos versiones de cada uno, para 32 y 64 bits así que ejecuta la que se adecúe a tu sistema.

Una vez ejecutado podemos ver un interfaz bastante simple pero funcional, a la izquierda vemos nuestro saldo confirmado en la cartera y el que está todavía sin confirmar (se necesitan 6 confirmaciones de la red para ello). A la derecha los últimos 3 movimientos, tanto envíos como recibos. Y por último en la parte de arriba un menú que nos permite el acceso a algunas acciones clave.

Ahora hagamos nuestras primeras acciones con nuestra cartera y hagamos alguna transacción con Bitcoin:

  • Cifrar la cartera: nuestra cartera se encuentra en un fichero llamado wallet.dat, al principio sin cifrar, por lo que nuestras claves privadas que usamos para cifrar nuestros Bitcoins están ahí para cualquiera que tenga acceso a nuestro sistema de ficheros. Pulsamos en opciones y luego en encriptar cartera. Damos una contraseña lo suficientemente buena como para que no puedan hacernos un ataque de fuerza bruta rápido y arreglado. Ahora cada vez que vayamos a hacer una transacción de envío de monedas no pedirá nuestra contraseña. No olvides tu contraseña, ¡porque no podrás usar tus Bitcoins!
  • Crear una dirección para recibir dinero en nuestra cartera: pulsamos en recibe monedas y luego en nueva dirección. Podemos poner una etiqueta a cada dirección para así poder recordarlas más fácilmente. Podemos crear una dirección nueva para cada recibo de dinero, así podemos tener una para persona, para cada empresa, sitio o bien una por cada transacción.
  • Recibir tu primer pago: no va a ser mucho, puede que un céntimo de Bitcoin o tal vez tan solo unos mBTC  (mili Bitcoins o milésimas de Bitcoin), pero será suficiente para que puedas hacer tus primeras pruebas de funcionamiento. Entramos en dailybitcoins y ahí ponemos una dirección que hayamos creado para recibir dinero y el código de comprobación. Después debemos esperar a que nos llegue la transacción. Esta web retrasa los pagos para enviar muchos de una sola vez y así reducir los costes por comisión en las transacciones, así que tal vez tengamos que esperar algunas horas a que nos llegue el pago, pero llega, yo ya lo he comprobado varias veces. También puedes recibir un pago en Bitcoin Faucet.
  • Enviar tu primer pago: te propongo algo, ¿qué tal si pruebas a hacer tu primer pago? :-) Es muy sencillo, copias esta dirección 12Ktf11yD3FedJrRdoQFL5uvd8XFEgpQhB al portapapeles, Ctrl+C, pulsas en “envía monedas” en el programa de Bitcoin, pegas la dirección y envías la cantidad que desees y quieras. En este caso me enviarás una cantidad de monedas a mí. Puedes poner 0.00003 o la cantidad que quieras, 0.01, 0.5, 1, 10, 0.000001 (un µBTC o micro Bitcoin). Et voilà, ¡has hecho tu primer donativo con Bitcoin! ¿No es genial? Por cierto, muchas gracias ;-)

 

Enlaces de información:

  • elBitcoin.org: un blog de noticias relacionadas con Bitcoin en español.
  • Bitcoin en la Wikipedia.
  • Comprar Bitcoin con Euro en España, bitcoin.com.es.
  • mtGox, el mercado de compra/venta más importante.
  • TradeHill, el segundo mercado de compra/venta.

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-D

También acepto donaciones a través de Bitcoin en esta dirección: 12Ktf11yD3FedJrRdoQFL5uvd8XFEgpQhB

Comments 1 Comentario »

Hasta ahora el único nombre de usuario que se usaba en mi página con WordPress era admin, no hay duda de que esto supone una situación comprometida para mi sitio. Es obvio que es más vulnerable a ataques pues ya se conoce un nombre  de usuario existente en la web y ya solo necesitamos conocer la contraseña para conseguir acceso.

Los pasos son muy sencillos, en este caso he decidido usar la consola de comandos de MySQL, me resulta más cómoda la consola para tareas que no son complicadas, como esta.

  1. mysql -u root -h localhost -p
    Entramos en la consola de administración de MySQL poniendo la contraseña de root para MySQL, suponiendo que root es el usuario.
  2. show databases;
    Mostramos las bases de datos que tenemos y buscamos la de WordPress.
  3. use wordpress;
    Indicamos que vamos a trabajar sobre la base de datos wordpress.
  4. show tables;
    Mostramos las tablas y buscamos la tabla wp_users.
  5. describe wp_users;
    Vemos la estructura de la tabla wp_users.
  6. select user_login from wp_users;
    Mostramos toda la información de todos los usuarios que tenemos y buscamos el usuario admin y miramos su id, que probablemente sea 1.
  7. update wp_users set user_login = "mi_nuevo_nombre" where ID = 1;
    Cambiamos el nombre de usuario para identificarnos en la web por el que prefiramos.

 

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-)

También acepto donaciones a través de Bitcoin en esta dirección: 12Ktf11yD3FedJrRdoQFL5uvd8XFEgpQhB

Comments No Hay Comentarios »

Si queremos que nuestros overlays añadidos con layman se actualicen automáticamente cada vez que hacemos un eix-sync… Es muy sencillo:

# echo "*" >> /etc/eix-sync.conf

Si te ha resultado útil te agradecería que me ayudaras a mantener el blog, :-)

También acepto donaciones a través de Bitcoin en esta dirección: 12Ktf11yD3FedJrRdoQFL5uvd8XFEgpQhB

Comments No Hay Comentarios »