Criptografía básica: diferencia entre clave simétrica y asimétrica

Una cuestión que siempre se pregunta todo el que se empieza a introducir en el mundo del saber oculto, en el mundo de la criptografía, es qué diferencia hay entre la criptografía simétrica o de clave secreta y la de clave pública o asimétrica. Al contrario de lo que mucha gente piensa, la criptografía asimétrica no proporciona una seguridad más robusta que la simétrica, simplemente ambas tienen una función distinta. Aunque la criptografía existe  ya desde la Roma Clásica, en los últimos años con las comunicaciones informatizadas se ha vuelto una pieza presente en nuestras vidas, aunque para los usuarios suela ser algo transparente su uso.

La criptografía simétrica es simple de explicar (bueno, de explicar por encima, que es lo que voy a hacer aquí): se trata de algoritmos que hacen uso de una sola clave para encriptar y desencriptar mensajes. Dado que en un buen algoritmo criptográfico la fuerza ha de estar en la clave, esto es que da igual que el atacante conozca el algoritmo pues no ha de servirle de nada si no tiene la clave, se nos plantea el problema de cómo compartirla entre dos usuarios de forma segura. Es decir, si yo mando un archivo encriptado a un amigo, este necesita la clave para poder acceder a su contenido, por lo que se nos plantea el ¿cómo le hago llegar de forma segura la clave?.

Y para solventar ese problema de intercambio de claves se creó la criptografía asimétrica. Esta nos ofrece dos posibilidades: enviar un mensaje que sólo puede ser leído por el destinatario y comprobar también que un mensaje no se ha modificado desde que sale del remitente. Como te puedes imagina, la criptografía asimétrica no utiliza una sola clave como la anterior, sino dos: una pública, que puede ser conocida por cualquiera, y una privada, que sólo conoce un usuario (de aquí en adelante llamado UserA para los ejemplos). Ok, ejemplos prácticos: Un amigo de UserA quiere mandarle un archivo con una foto suya en la que le pintaron un pene en la frente mientras dormía, y obviamente no quiere que nadie más la vea. Entonces utiliza la clave pública, que puede estar colgada en un repositorio de claves públicas por ejemplo, de UserA para codificar el archivo. Cuando UserA reciba el mensaje y quiera leerlo le bastará con usar su clave privada, que sólo él conoce, para desencriptarlo. La clave pública no permite desencriptar el mensaje, por lo que da igual que un atacante la tenga y, por otra parte no ha tenido el problema de enviar la clave a su amigo por un canal potencialmente inseguro. Otro ejemplo: UserA quiere responder a este mensaje enviándole al colega la dirección de otro de la pandilla para que le pase la foto. Obviamente necesita poder demostrar que el correo ha sido enviado por él. En este caso usa su clave privada para firmar digitalmente el correo, de forma que cualquiera con acceso a su clave pública puede verificar que la firma es auténtica y que el documento no se ha modificado entre medias. La criptografía asimétrica es esencial para las comunicaciones seguras entre usuarios, partiendo de los preceptos establecidos en el protocolo de intercambio de claves Diffie-Hellman.

El problema es que los algoritmos de clave asimétrica suelen requerir de más recursos del sistema para hacer su trabajo, son más pesados, más lentos, se tarda maś tanto en encriptar como en desencriptar, lo cual hacía muy engorroso encriptar mensajes o archivos muy grandes. Eso hizo que naciera la criptografía híbrida, basada en una idea sencilla: se envía el mensaje en dos bloques: uno encriptado de forma simétrica con el mensaje grande y otro de forma asimétrica sólo con la clave simétrica que desencripta el mensaje largo. Esto permite combinar la ligereza del algoritmo simétrico con la seguridad en el intercambio de claves del asimétrico.

En fin, espero que como aclaración esto os haya servido de algo. Un saludo y a seguir seguros.

Instalar Oracle Java en Ubuntu

Hasta hace unos años Java, de Sun Microsystems, estaba totalmente disponible en los repositorios de Ubuntu. Tras la compra de Sun por parte de Oracle la cosa cambió, se bifurcó entre la versión OpenJava y la OracleJava.

En principio Ubuntu nos proveerá de la versión OpenJava, que debería cubrir todas las necesidades del usuario medio. Pero para el desarrollador puede ser interesante disponer de la versión de Oracle, o simplemente puede darse en algún momento el caso de que un usuario la necesita. Así que la cosa es tal que así:

#Añadir el repositorio a la lista
sudo add-apt-repository ppa:webupd8team/java

#actualizar repositorios
sudo apt-get update

#Instalar OracleJava 7
sudo apt-get install oracle-java7-installer

#Si quieres comprobar que se ha instalado correctamente puedes con
java -version

Listo y sencillo.

Instalar KDE en Debian NetInst

Lo prometido es deuda, y tras el instalar KDE en Ubuntu toca la instalación en Debian, como prometía en el artículo. Por cuestiones «técnicas» para el experimento me vi obligado a utilizar Debian NetInst, una versión compacta de Debian (la versión i386 ocupa sólo 180 megas) que sólo incluye los paquetes básicos. Lo cual para este experimento no es un handicap, ya que el entorno gráfico de escritorio lo vamos a meter por nuestra cuenta.

Bueno, tras instalar Debian y todos los paquetes básicos (siguiendo, por ejemplo, la guía de instalación que viene en la página oficial de Debian), sin entorno de escritoriom desde la versión compacta, tocará ejecutar la siguiente línea para instalar KDE:

# aptitude install kde-full kde-l10n-es

Tras acabar la instalación tocará loguearse y agregar repositorios a /etc/apt/souces.list, y una forma muy facilita es utilizar esta página que te facilitará mucho la vida, con un formulario que te generará el código que has de pegar en la lista de sources.list y te dirá qué comandos debes ejecutar.

Instalar KDE en Ubuntu

Artículo dedicado a mi buen amigo Brais, que está dispuesto a lanzarse de cabeza al mundo de KDE. Vaya por delante una cuestión, y es que si quieres usar KDE sobre Ubuntu lo mejor es que descargues e instales directamente Kubuntu. Haces la instalación limpia y vía, te funcionará mejor.

Pero supongamos que no es el caso, pensemos que simplemente eres un usuario de Ubuntu que se ha cansado de Unity (todo ese diseño a la Apple a algunos les rechina aunque yo, la verdad, no estoy entre los descontentos, pero sí es cierto que se hace raro en un principio), has visto una demo de KDE y has dicho «Coño, esto es lo mío». ¿Cómo instalar KDE? Tres sencillos pasos desde el terminal y estará listo:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update
sudo apt-get install kubuntu-desktop

Esto te permitirá instalar KDE sin deshacerte de Unity, por si alguna de sus aplicaciones te resulta interesante, pudiendo así elegir en el GRUB con qué escritorio iniciar.

Si eso añado también otro día cómo hacerlo en Debian, que creo que puede ser interesante.

Software para virtualización (doméstico)

En fin, de nuevo a sugerencia del señor Mozano una entrada sobre virtualización.

¿Por qué virtualizar? Bueno, si tienes un ordenador medianamente potente te habrás pispado de que tienes potencia suficiente para mover varios sistemas operativos. De vez en cuando te puede apetecer probar una beta inestable de una distribución de Linux (para esos días en los que no puedes esperar a ver las novedades), o tener a mano un Windows 98, un XP o hasta un equipo con MS-DOS para trastear con algún programa o juego viejo, que ya no está soportado en las versiones más modernas de Windows (por ejemplo, me pasó con el emulador de Neo Geo NeoRage, que no funcionaba en Windows Vista). O simplemente para realizar experimentos, como ataques contra un servidor. Este software te permite crear un archivo que funcione como disco duro virtual y ejecutar otro sistema operativo en tu ordenador, como un ordenador dentro del tuyo (lo que llamamos máquina virtual).

El software más popular para virtualizar es el siguiente:

  • Virtual Box: Era un programa original de Sun Microsystems que actualmente ha quedado bajo el control de Oracle. Es gratis y tiene versiones para Windows, MacOS, Linux y, como no, Solaris (sólo jodería que siendo un producto de SUN no tuviese versión en su propio sistema operativo). Su gran atractivo son las Guest Additions, que nos permiten muchas chuminadas, como compartir con facilidad archivos y carpetas entra la máquina virtual y la máquina física, usar las ventanas en «modo fluído», como si el sistema operativo virtualizado fuera un programa en una ventana más. Además, permite clonar discos duros virtuales con gran facilidad y hacer «snapshots» del sistema para deshacer cambios en las pruebas. En mi casa es el que más utilizo.
  • VM Ware: Este software canadiense tiene dos versiones: gratis y de pago (alrededor de 199$), además de otra versión para servidores de la que no hablaremos, ya que no viene al caso. VMWare Player es la versión simple y doméstica, que permite simplemente descargar máquinas y ejecutarlas. La versión de pago, VMWare Workstation añade funcionalidades como una mayor integración entre máquina física y virtual, posibilidad de crear nuestras propias máquinas, creación de snapshots, permite deshacer y repetir cambios, compartir máquinas virtuales en red… Está disponible en Linux y en Windows.
  • Windows Virtual PC: Un limitado producto de Microsoft pero que puede ser muy útil. Sólo disponible para Windows y sólo permite crear máquinas virtuales de Windows. En principio parece un poco chorras la cosa, ok, pero tiene ciertas ventajas. Por ejemplo, pongamos que tienes un Windows 7  y una máquina virtual de Windows XP para usar… el Neo Rage que citaba antes, mismamente. Virtual PC te permitirá instalar Neo Rage en el XP, crear un acceso directo en el escritorio del Windows 7 y ejecutar la aplicación de forma que te parecerá que se ejecuta nativamente (vamos, como si usaras Wine en Linux). Es una opción interesante para usuarios de Windows que quieran usar programas que se han quedado incompatibles con su SO.
  • QEMU: Disponible desde no hace mucho para todas las plataformas (hasta hace un año y pico sólo existía para Linux), es una opción libre y muy potente. La verdad, no he llegado a trabajar con él en profundidad. Permite trabajar sobre todo tipo de arquitecturas (x86, AMD64, Power PC, SPARC… aunque el mejor rendimiento se consigue con una versión aceleraca, kqemu, en arquitectura i386), ser utilizado para proveer hosting virtual, hacer virtualización de escritorio… en él se basa Wine para ejecutar los programas de Windows sobre arquitecturas no Intel. Tengo pendiente profundizar, pero las posibilidades parecen casi infinitas.
  • Parallels: Famoso sobre todo por su versión para MacOS, existe también para Windows y Linux, aunque es menos popular. De pago (79 $), permite emulación de escritorio con una particularidad, cuando se pasa de la máquina física a la virtual fuerza a que el equipo anfitrión  renuncie a parte de su potencia para cederlo a la virtualización.

En resumen ¿Con cual nos  quedamos? A falta de profundizar en QEMU, yo me decanto por Virtual Box. Reconozco que es menos potente que VMWare y menos intuitivo que Parallels, pero incluye muchas variadas y potentes opciones totalmente gratis, es multiplataforma, la curva de aprendizaje no es muy exagerada y permite virtualizar casi cualquier sistema operativo. Para el usuario doméstico, y para las pruebas básicas de un desarrollador, da de sobra. Además, las máquinas virtuales que creas con Virtual Box las puedes ejecutar luego tanto en VMWare como en Parallels, y viceversa, puedes abrir con él un disco duro virtual creado con los otros. Además, desde la inclusión del modo fluído se ha superado su gran handicap frente a sus otros competidores. Si quieres virtualizar sólo para usar programas antiguos en Windows, entonces prueba Virtual PC.

Redes Zombi

Uno de los aspectos más interesantes de la seguridad en redes son las llamadas Redes Zombi, o botnets. Muchas veces nos encontramos con noticias en los medios sobre ataques DDoS o spam masivo, y detrás de esto suelen encontrarse las llamadas redes zombi.

Se trata de conjuntos de ordenadores infectados por software malicioso con una funcionalidad de puerta trasera (backdoor). Esto permite que el atacante tome el control de las máquinas sin disponer de acceso físico a las mismas y sin que el usuario lo sepa, pudiendo utilizarlas para su uso personal (lo que se conoce como drone o bot).

El ciclo de vida de una red zombi comienza con la fase de diseño del software malicioso, que se desarrolla con la intención de provocar una infección masiva. Tras esto llega la fase más importante, la implantación: se infecta a un primer equipo y se deja que el software, de forma vírica, vaya extendiéndose, infectando a más equipos (generalmente a través del correo electrónico, o de malware camuflado como si fuera sofware legítimo). Estas redes se explotan hasta que se detectan y corrigen las vulnerabilidades que lo permiten. Entonces llega una fase de decadencia y finalmente la inactividad de la red.

¿Por qué se crean bots? Tienen muchas formas de explotación, ilegales aunque no siempre ilegítimas. Pueden utilizarse por ejemplo para realizar ataques DDoS (peticiones masivas a un servidor para provocar su caída, a veces con fines económicos aunque en la mayoría de los casos estos ataques se hacen más como medida de protesta contra empresas que realizan prácticas inmorales, como pueden ser Facebook, Amazon, Apple, Microsoft…), aunque su utilización más habitual es para otro tipo de actividades con fines económicos:

  • Spam: Se utilizan las redes para hacer publicidad masiva (buzoneo on-line) por medio del correo electrónico.
  • Fraudes: Puede utilizarse para manipular encuestas, para mejorar estadísticas de jugadores en juegos on-line, para clickar en anuncios y generar beneficios por publicidad…

Otra de sus utilidades es servir como red de proxys para buscar el anonimato en la navegación, dificultando la traza de los datos desde el emisor hasta el receptor. Permiten además disponer de una red de computación distribuida para actividades que requieren mucha potencia, como para intentar romper contraseñas por fuerza bruta.

La forma de explotar estas redes es muy variada. Puede ser realizada de forma personal por el creador de la red, puede alquilar sus servicios a terceros (manteniéndose él como administrador) o puede venderles el software para que ellos creen sus propias redes.

Los consejos para protegerse de este tipo de redes son los básicos consejos de seguridad de siempre:

  • Nunca, jamás, reveléis vuestras contraseñas a servicios dudosos (sí, seguid con esa mierda de «Qué superhéroe eres?» o «Qué tolay con espada de Juego de Tronos serías» en Facebook, que os va dar la risa).
  • El sistema operativo siempre actualizado (quita esa mierda de Vista/XP pirata y ponte un Linux, hombre, que es gratis y la actualización te dará un plus de seguridad)
  • El antivirus, actualizado también, nunca sobra.
  • Ojo con lo que descargas. Si es software libre bájalo desde la web del fabricante. Si estás crackeando algo privativo, intenta que sea de una fuente relativamente fiable.

Y pensad que aunque os molen los zombis, que os zombifiquen el ordenador no es nada bueno. Si queréis participar en un ataque DDoS o prestar algo de vuestro procesador para alguna actividad de red distribuida (legal o no), hacedlo pero sin perder el control sobre vuestro equipo.

Instalar el módulo para DNIe en un servidor Apache

Estos días estoy realizando el curso de INTECO de desarrollo de aplicaciones del DNIe (os recomiendo que si estáis en paro os paséis por la sección de formación de su web, hay múltiples cursos gratis, que quieras que no ayudan a engordar el CV y a ampliar conocimientos) y, como ejercicio práctico, me he puesto a instalar el módulo para autenticación con DNIe en un servidor Apache.

La idea es instalar el módulo mod_ssl para que apache trabaje con certificados digitales para la autenticación cliente/servidor.

La idea es descargar el módulo, guardarlo en la carpeta /libexec de Apache y ejecutar estos comandos:

cd usr/local/modssl
./configure\
-- with-apache=../apache\
-- with-ssl=../openssl\
-- enable-shared=ssl\

make
make install

Se recompila y reinstala Apache con la opción –enable-module=modssl y ya está. A partir de ahora, para arrancar Apache con ssl se ejecutará el comando

/usr/local/apache/bin/apachectl startssl

Tras esto toca configurar el Apache. Debéis buscar el fichero http.conf, donde estarán todas las directivas de MOD_SSL para su gestión.

La configuración de SSL estará entre una etiqueta ifDefine SSL, dentro de la cual debéis comprobar si está habilitado el protocolo SSL (SSLEngine on). Comprobad por allí que está definido el certificado de servidor y su clave privada (SSLCertificateFile /usr/local/apache/conf/ssl.crt/certificatSERV.crt para el certificado y SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/clausSERV.key ). Luego hay que indicar el directorio donde se guarda la CA (autoridad de certificación) del DNIe, directiva que se utiliza para comprobar si se confía en el emisor del certificado cliente. Busca SSLCACertificateFile acraiz-dnie.cer y SSLCACertificatePath /usr/local/apache/conf/ssl.crt/, el primero es el nombre del certificado y el segundo la dirección donde debe estar guardado. Para cargar el resto de Autoridades de Certificación subordinadas en las cuales se confiará, el procedimiento es el siguiente:

  • Ubicar el certificado en el directorio antes indicado en formato PEM
  • Crear un nombre simbólico de la forma “hash.N” para cada certificado. Se puede hacer con el comando Makefile que proporciona el mismo mod_ssl

Para acabar comprueba que la autenticación del cliente está habilitada (SSLVerifyClient require) y la profundidad de verificación, que para el caso del DNIe se encuentra en las CA subordinadas y la CA Raiz (SSLVerifyDepth 2).

Con todo esto ya tienes el módulo instalado para usar una conexión segura SSL en tu Apache, usando el DNIe para la verificación.

Crear un USB arrancable con un linux usando Lili USB Creator

Lili USB Creator, abreviatura de Linux Live USB Creator, es un software gratuito para Windows que permite crear un usb arrancable de Linux fácilmente, desde un archivo .zip, una imágen .iso, un cd-rom o hasta descargando desde una red.

El primer paso, claro está, es descargar el software desde su página oficial. Una vez instalado necesitas una distribución de Linux (he hecho la prueba con Wifiway, Lubuntu 12.04, Debian 6.0 y Galinux, todos desde .iso menos Galinux, que tenía un cd que me habían regalado cuando empecé el ciclo) y un USB con el tamaño suficiente. La interfaz es muy intuitiva: Selecciona el dispositivo USB, la «fuente» (el archivo donde esté la distribución de Linux), espera mientras comprueba la validez de la misma, tienes la opción de «Tamaño de persistencia» para Virtual Box (que no he podido probar porque en Windows Vista/Windows 7 no va) y, tal vez el punto que requiere una poca de explicación, el paso de las opciones:

  1. Ocultar archivos creados: Bueno, esto requiere poca explicación. Si quieres crearlos como archivos ocultos puedes, si no pues será visibles en Windows.
  2. Formatear dispositivo en FAT32: Borrará los datos que tengas en el pendrive y formateará este como FAT32. Recuerda que el tamaño máximo de archivo en este formato es de 4GB y de volúmen creo que la propia Microsoft no recomienda usarlo en volúmenes mayores de 32 gigas (aunque en teoría podría abrirlos de 2TB). El caso, que si es un pen de 4GB es recomendable, y si es mayor pasad de todo.
  3. Activar Iniciar LinuxLive en Windows: Si seleccionas esta opción te permitirá virtualizar el Linux desde Windows sin necesidad de que instales un software de virtualización en tu equipo. Aunque tiene un poco de trampa, como te explico más abajo.

En fin, tras esto el paso 5: pulsáis el botón de creación y a vivir.

Una vez creado tenéis dos opciones: usarlo como USB arrancable o virtualizar en vuestro Windows (si lo habéis elegido como opción en el punto 3 del paso 4).

Para usarlo como USB arrancable tenéis que entrar en la BIOS, o en equipos más modernos en la selección de arranque (generalmente pulsando F2 o F8 durante la primera fase del arranque, antes de que empiece a cargar el SO), y con el USB puesto elegir Arranque desde USB (obviamente la opción estará en inglés). No todas las placas base que tienen USB te permiten arrancar desde él, así que igual no tienes esta posibilidad.

Una vez arrancado podrás elegir si quieres probarlo en modo Live, para testearlo en tu equipo sin hacer cambios, si quieres ejecutar un test de memoria o si quieres instalarlo como tu nuevo sistema operativo. Bueno, las opciones que tendrías también desde un cd de arranque, vamos.

Si habéis elegido la opción de LinuxLive en Windows debéis entrar en el pen y buscar la carpeta VirtualBox, dentro tendrás dos ejecutables: Virtualize_this_key.exe y VirtualBox.exe. El primero lanza el Linux de golpe, ejecutado a través del Virtual Box y el segundo abre la interfaz completa de Virtual Box. Ya decía arriba que lo de «sin necesidad de tener instalado un software de virtualización» era un poco trampa, porque lo que hace este programa es meterte en el pen una versión portable de Virtual Box con la que trabajar.

En cualquier caso, se trata de una buena herramienta de creación de USB de Linux desde Windows, que merece la oportunidad de que la pruebes.

P2P ¿Qué es? ¿Por qué quiere cargárselo la industria del copyright? ¿por qué no hay que permitírselo?

Una red P2P, o peer to peer, es lo que podríamos traducir como red de pares o red punto a punto. Se trata de una red para compartir información donde los servicios no funcionan con la estructura típica de cliente/servidor sino como varios nodos que se comportan como iguales entre sí, permitiendo que un archivo puede descargarse a la vez desde varios nodos. Existen varias topologías de red P2P pero no es objeto de este artículo.

Las ventajas de las redes P2P sobre la estructura cliente/servidor para la descarga de archivos de gran tamaño se pueden ir adivinando sólo con ver el concepto de la propia red. Se trata de redes muy robustas, mientras que en la estructura cliente/servidor la caída del segundo deja el sistema inutilizado, en una red de pares es complejo que todo el sistema se venga abajo, la caída de un nodo no provoca la caída del sistema. Este punto nos lleva a la siguiente ventaja: la descentralización permite una enorme escalabilidad, cuántos más nodos conectados mejor funciona la red y esto sin necesidad de una enorme inversión en infraestructura, ya que el cliente hace a su vez de nodo. Incluso se pueden montar enormes bases de datos sobre una red P2P para ahorrar costos en un servidor central, con todas las ventajas que esto comporta para proyectos científicos (claro que cuando estos están auspiciados por la inversión privada su nivel de oscurantismo haría que fuera más propio llamarlos alquímicos).

A la hora de hablar de servicios famosos, BitTorrent o eMule son redes P2P mixtas, donde existe un servidor central que administra los recursos y funciona como concentrador pero que, en caso de caída, no es indispensable ya que podría pasar a funcionar como una red P2P pura. Por su parte Ares o GNUtella son redes P2P puras.

En los últimos días ha surgido por varios medios el rumor de que la industria del Copyright americana ha pedido al senado que aprueben el cierre de estos servicios para compartir archivos como ya hicieron con Megaupload, al comprobar que el cierre del servicio de Kim DotCom no les sirvió para paliar las descargas. Su nueva pretensión es acabar con este tipo de redes, en parte con la idea de limitar la cantidad de descargas y por otra con la de crear sus propias redes, bajo su control, como forma de distribución manejada por estas empresas con total control sobre los contenidos descargables. En resumen, ellos se lo guisan, ellos se lo comen. Y no sólo estas presiones al gobierno (que no se cuánto tienen de ciertas y cuánto hay de factible en intentar capar el sistema) están siendo su única arma, pues no hace muchos meses Microsoft inyectó dinero a una empresa rusa que diseñaba un software para ralentizar redes de pares (lamento no poder aportar enlaces ahora mismo pero estoy falto de tiempo para buscarlos, si rebuscáis por blogs como Alt 1040 encontraréis información sobre el tema).

¿Por qué esto es malo? Pues mayormente porque, como ya he dicho en muchas ocasiones, está guerra por el copyright no es tanto por el dinero que puedan perder supuestamente con las descargas como por su interés en controlar totalmente la distribución de contenidos. Para que sólo se venda lo que ellos quieran vender, porque en un sistema de distribución digital libre el disco autoproducido tiene el mismo número potencial de compradores que el lanzamiento de la gran discográfica (en el sistema tradicional no, porque el pequeño autor no podrá llegar a los grandes centros de distribución), en este sistema la película independiente está tan accesible como el gran superestreno. Y es que aunque sea cierto que la mayor parte de los usuarios utilizan estas redes para descargar material bajo licencias privativas, matar el P2P es matar una sistema ideal para la distribución de software libre o de obras creadas fuera del sistema de Copyright, ya que como afirmaba antes no requieren el costo extra de un gran sistema de servidores. Los que habitualmente descargamos distribuciones de Linux podemos dar fe de la diferencia de velocidad que se logra al hacer la descarga desde P2P (sistema de distribución muy habitual en este mundillo) o al hacerla desde un servidor directamente (y eso que suele haber muchos mirrors).

Por todo lo arriba expuesto queda claro lo nocivo de las intenciones de la industria, y que será necesario volver a pararles los pies, como con la PiPA, la SOPA y la ACTA.

Mejorar el rendimiento de la batería en Ubuntu

Entrada que se me antojaba sencilla mientras me recupero de destructivo fin de semana currando en el Pardiñas Rock, y que por problemas con máquinas virtuales, configuración de Windows y caídas constantes de la red (Carrefour Mobile, si llueve pierdes la mitad de la cobertura… menos mal que en Galicia llueve poco). ¿Cómo optimizar el rendimiento de la batería en Ubuntu Linux?

En fin, hace tiempo que tenía esto pendiente tras un debate con un Windolero que me decía que con el sistema de Mr. Gates la batería rinde más que con Linux. Realmente esto no es así, aunque si eres usuario de Ubuntu pueda paracerlo. El problema del rendimiento de la batería está en las derivaciones de Ubuntu (y no en todas, en Lubuntu, con LXDE, no he notado problemas de rendimiento, aunque tampoco he profundizado), no en todos los Linux, y no es complejo arreglarlo.

En todo caso, antes de meternos en configuraciones un consejo, válido además tanto para equipos Linux como para Windows: Si no usas el wifi ni el bluetooth no los tengas conectados, consumen muchísima batería.

Ahora vamos con cuestiones más técnicas: uno de los problemas de Ubuntu es que no diferencia entre si está instalado en un portátil o en equipo de sobremesa, lo cual hace que no haya un sistema de optimización de energía por defecto para este tipo de equipos. La solución no es compleja, y comienza por editar /etc/default/acpi-support y añadir al final ENABLE_LAPTOP_MODE=true y, tras esto, instalar laptop-mode-tools, ya sea desde el repositorio con un sudo apt-get install laptop-mode-tools o desde su página web. Luego en /etc/laptop-mode/conf.d/ puedes encontrar diversos archivos de configuración que tocar para lograr mejor rendimiento de la batería.

En Hotfixed recomiendan también instalar PowerTop, un software que te avisa de qué componentes están consumiendo más energía y cómo optimizarlos o desactivarlos. Con esto lograrás un menor consumo, aunque yo no lo he probado personalmente.

Añado por aquí que también he leído que existe un problema de rendimiento cuando el equipo tiene dos tarjetas gráficas: una NVIDIA y una integrada. Parece ser que el proceso Optimus, que tira de la NVIDIA sólo cuando hace falta toda la potencia gráfica y si no utiliza la integrada, en Linux no funciona, por lo que siempre recurre a la NVIDIA. ¿La solución? Parece que Bumblebee arregla esto, pero sólo para los casos de NVIDIA con Optimus. No he tenido oportunidad de comprobarlo, en este caso hablo de oídas.

En fin, con estos consejillos lograréis que vuestra batería en Ubuntu tenga la misma vida que con Windows, o incluso más.