Liberar espacio en /boot para instalar actualizaciones en Ubuntu 14.04

Hoy mi Ubuntu (14.04 LTS) me pedía una actualización, pero al intentar descargarla me avisaba de que no había espacio en /boot para descargarlas. No era la primera vez la verdad, ocurre cuando se acumulan viejas versiones del Kernel que se descargan para las actualizaciones y que ya no son necesarias. Si alguna vez os pasa podéis recurrir al terminal para «ahuecar» un poco de espacio, no es complicado para nada, basta con copiar las instrucciones que os dejo:

#Lo primero es coseguir permisos para ejecutar como root las instrucciones
sudo -i

#ahora toca ejecutar todo este churro
#básicamente creará un documento con todos los archivos de imagen viejos
#y luego lo recorrerá borrándolos
dpkg --get-selections|grep 'linux-image*'|awk '{print $1}'|egrep -v "linux-image-$(uname -r)|linux-image-generic" |while read n;do apt-get -y remove $n;done 

#y finalmente aplicamos el autolimpiado de apt-get
#para dejar bien limpia la caché
sudo apt-get autoclean

Cifrar nuestro tráfico con DNSCrypt

El cifrado del tráfico entre nuestro equipo y el ISP es una medida de seguridad que nos permitirá protegernos de ataques Man in the Middle, de intentos de espiar nuestras comunicaciones y dificultará al ISP la posibilidad de aplicarnos algunas restricciones (ahora que la neutralidad de la red está en peligro).

Nuestra solución segura será usar DNSCrypt, un software disponible para Windows, Linux, BSD, Android, iOS y OSX. Aquí nos ocuparemos de la instalación en Linux. Como no existe ningún paquete .deb, .rpm o repositorio que podamos utilizar para instalarlo nos tocará compilar el código fuente. Como paso previo, pues, tendremos que tener en el equipo los paquetes necesarios para instalar. En los linux de la familia Debian lo amañamos con un

sudo apt-get install build-essential

Luego tocará descargar la librería libsodium, una librería necesaria para la compilación:

tar -xvzf libsodium-0.5.0.tar.gz
cd libsodium-0.5.0
./configure
make

make check  ##esto verificará si está todo en orden

sudo make install

El siguiente paso es descargar ya el código de DNSCrypt, descomprimirlo y compilarlo

sudo ldconfig #necesitamos lanzar esta configuración primero

tar -xvzf dnscrypt-proxy-1.4.0.tar.gz
cd dnscrypt-proxy-1.4.0
./configure
make

sudo make install

Muy bien, DNSCrypt está instalado, lo siguiente es configurarlo. Nos vamos a editar nuestra conexión de red y en la configuración de IPv4 elegimos en el campo Método la opción Sólo direcciones automáticas (DHCP) y en el campo Servidores DNS ponemos la dirección 127.0.0.1 (si os da problemas al probarlo cambiad por, por ejemplo, 127.0.0.2). Después desde el terminal ejecutamos restart network-manager. Tras hacer esto nos quedaremos sin conexión a internet ya que hemos desconfigurado las DNS y hasta que no se ejecute DNSCrypt no volverán a estar funcionales. Por tanto, lo ejecutamos:

/usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096

Para comprobar que todo funciona prueba a entrar en http://www.opendns.com/welcome/ para ver que la conexión ha vuelto. Como ya dije arriba es posible que usando 127.0.0.1 falle, así que si os pasa matáis el proceso de DNSCrypt, cambiáis la IP por, por ejemplo, 127.0.0.2 y volvéis a lanzar DNSCrypt añadiendo esa dirección como parámetro tal que así:

/usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096 --local-address=127.0.0.2

Ahora vamos con un último paso ¿quieres que DNSCrypt se ejecute cada vez que iniciamos el sistema? Si estás en un sistema basado en Debian toca modificar el archivo /etc/rc.local y pegamos, justo antes de la instrucción exit 0 una de las siguientes líneas:

#en caso de que utilicéis la ip 127.0.0.1
exec /usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096

#en caso de la 127.0.0.2
exec /usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096 --local-address=127.0.0.2

En la documentación de DNSCrypt podéis leer más opciones sobre parámetros, resolución de problemas, cambiar OpenDNS por un DNS alternativo…

Ralentizando el acceso a determinadas páginas mediante Squid

Cuando uno administra una red corporativa se topa con algunos usuarios que hacen un uso inadecuado de la misma. No pasa nada porque de vez en cuando algún usuario entre a revisar si tiene un mail en su cuenta personal, un mensaje en facebook o a twittear una cosa, pero otros se tiran la mañana. Me se de alguno que usaba la red corporativa del hospital en el que trabajaba para descargarse gigas de discos de metalcore. Cuando la gente se pone a tirar de youtube, u otros servicios de vídeos o música, además puede consumirte bastante ancho de banda que podría ser necesario para otros menesteres.

Cortar completamente el acceso a estas webs es una solución, pero ¿es la mejor solución? Lo primero es que generará malestar en los trabajadores y mal rollo entre estos y el administrador, y sembrar discordias en un centro de trabajo nunca es una buena idea. Además ¿por qué castigar por igual al que mientras se toma el café de media mañana entra a colgar una foto de un gato jugando con un iPad que al que se ha tirado dos horas leyéndose de pe a pa la web de Marca? Hoy vamos a ver como usar las Delay Pools de Squid para solucionar esto.

Delay Pools nos permite ralentizar la velocidad de navegación de ciertos usuarios o hacia ciertos sitios (o ambas a la vez). Esto hará que el procastinador desista de su idea.

Como es obvio para poder hacer esto necesitamos que los usuarios naveguen por medio de un proxy, donde tendremos instalado Squid para controlar el tráfico y acceso a según qué páginas. Si has instalado Squid desde repositorio ya vendrá con soporte para Delay Pools, si ha sido una compilación propia entonces asegúrate de que lo tenga.

Con la instalación comprobada vamos al siguiente paso: en la carpeta /etc/squid/ (o /etc/squid3 si usas esa versión) creamos un archivo con la lista de todas las ip’s que queremos ralentizar, para el ejemplo el archivo se llamará «vaiamodo» (en gallego «ve despacio»).

Cuando tengamos el archivo con la lista de las ip a ralentizar tocará editar el archivo squid.conf, que te encontrarás dentro de /etc/squid/ (o /etc/squid3, repito, si usas esa versión) para hacer varias cosas:

Lo primero, crear una lista de control de acceso (acl) con el contenido de la lista de ip que hemos bautizado como vaiamodo, acl que llamaremos ralentizar. Luego establecemos el ancho de banda para el Delay Pools, que será de 1, que es el mínimo posible. Tras eso creamos una regla llamada capar que hará que las Delay Pools actúen sobre las url que coincidan con una expresión regular concreta (en este caso frenaremos varias webs populares y además todas las url que tengan la palabra «watch» ya que suele ir ligada a sitios donde ver vídeos). Finalmente ordenaremos que los usuarios de la primera regla vayan más lentos en la páginas definidas en la segunda. El ejemplo para Squid2 escrito es así:

acl ralentizar src "/etc/squid/vaiamodo"
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/100
acl capar url_regex -i vimeo
acl capar url_regex -i watch?
acl capar url_regex -i youtube
acl capar url_regex -i youtu
acl capar url_regex -i facebook
acl capar url_regex -i twitter
acl capar url_regex -i marca

delay_access 1 allow capar ralentizar

Con esto haremos que su velocidad de conexión sea tan lenta que las páginas en cuestión sean innavegables para ellos porque cargarán a 1kbps.

Hay que tener en cuenta que podrías tener que cambiar algo en la configuración si ya estás usado control de navegación por listas blancas o si los usuarios en vez de por la ip acceden por LDAP o algún otro sistema de autentificación.

Rotar la pantalla en Windows

Un tip rápido ¿necesitas rotar tu pantalla en Windows?, puede que quieras colocar el monitor en una posición diferente a la normal y necesites que la pantalla se te vea bien. Tienes dos opciones simples para esto:

  1. Pulsas Ctrl+Alt+F12 a la vez y te abrirá el menú de configuración de la tarjeta gráfica. Ahí tienes una opción que se llama Rotación que te permitirá modificarla.
  2. Pulsando Ctrl+Alt+una de las flechas de navegación (la cruceta que tienes en el teclado con cuatro teclas en forma de flecha) la pantalla se gira. Si pulsas Ctrl+Alt+Flecha Abajo esta se pondrá bocajabo (180º), con Ctrl+Alt+Cursor Izquierda se rotará 90º, con Ctrl+Alt+Cursor Derecha 270º y con Ctrl+Alt+Cursor Arriba vuelve a la posición normal.

Hacer un window.open() en segundo plano

Vamos con un tip rápido de javascript ¿Cómo hago un window.open(), en una ventana nueva, de forma que la ventana nueva se sitúe detrás de la principal y no delante? Hay dos opciones:

Bueno, empezando por el principio, recordad que para que se abra en nueva ventana debéis añadir el parámetro «_blank» tal que así:

window.open('emergente.php', '_blank'); /*y ya luego le metéis las variables extra que os apetezca*/

Entonces ¿cómo lo mandamos a segundo plano?

  • Opción a: Centrando el foco en nuestra ventana principal, añadiendo la línea self.focus(); tras el window.open().
  • Opción b: Sacando el foco de la nueva ventana abierta, añadiendo en la cabecera el siguiente script:

    <script languaje="javascript">
      self.blur();
    </script>
    

Alternativa on line a Visio: draw.io, lo que le faltaba a GoogleDrive

Visio es un popular software privativo de Microsoft para la creación y edición de diagramas. Todo el que haya hecho un DFD, el diseño de una topología de red, un modelo de una base de datos… seguramente lo ha probado alguna vez. Como todo lo privativo y de Microsoft tiene un coste de licencia. En OpenOffice y LibreOffice el Draw nos puede ayudar, pero una opción cómoda y fácil de utilizar, además de multiplataforma, es Draw.io, que podréis disfrutar tanto en su versión web como en forma de webapp para Chrome (si lo instaláis en Chrome lograréis bastante más fluidez).

Draw.io alternativa a Visio
Garabateando un poco con Draw.io

Os permitirá exportar vuestros diagamas como pdf o imagen, y también guardarlos en formato XML para poder editarlos posteriormente, ofrece una estética similar a las aplicaciones de Google Drive y sincronía con esta plataforma y con Dropbox, además de permitiros guardar los diagramas en vuestro disco duro.

Una herramienta interesante a la que darle un muerdo, tampoco he profundizado mucho todavía con ella. En temas de licencia creo que el lado malo es que no es software libre aunque sea gratis.

Script para automatizar backups de MySQL en servidores Windows

Aunque en servidores Windows lo más habitual es trabajar con el SQL-Server de Microsoft como SGBD a veces puede tocarnos instalar un MySQL. Entonces nos asalta la duda ¿cómo automatizo un backup de la base de datos? Una de las tareas más habituales de todo administrador.

En la instalación de la base de datos se os instalará el programa mysqldump.exe para la gestión de copias de seguridad. Este programa nos permite, por medio de la línea de comandos, realizar un backup de la base de datos. Con la siguiente sintaxis, a grosso modo, haréis la copia de seguridad:

mysqldump –u (TuUsuario) –p(password) (nombre_base_datos) > (nombreArchivo).sql

Dato importante: entre -u y el nombre de vuestro usuario hay un espacio, entre -p y el password NO. Para más información sobre este comando, podéis visitar el artículo pertinente en el manual de MySQL.

Podéis abrir con CMD un terminal de comandos, situaroes en vuestra carpeta de MySQL y, situándoos allí en la carpeta bin, ejecutar el comando con los parámetros que correspondan para comprobar su funcionamiento. Una vez visto que mysqldump funciona el siguiente paso es crear un script de batch (con la extensión .bat) que ejecute el comando incluyendo la fecha. Los backups los guardaremos en una carpeta llamada C:\backups, y a la hora de escribir el script os vale cualquier editor, mismo el Notepad (aunque yo suelo usar en Windows Notepad++):

echo off                                        
set FECHA= %date%
set FECHA=%FECHA:/=%
mysqldump -e -u root –p7j91lt0y articulos > C:\backups\backuparticulos%FECHA%.sql

NOTA:Edito porque esta semana me he topado con que en el PowerShell de Windows 2k12 no me estaba funcionado esa instrucción, y también me han comentado hoy que el script no funcionaba. Lo mejor es que probéis primero en el intérprete de comandos si funciona, y si os falla la de arriba podéis cambiar la sintaxis por esta:

mysqldump --user=root --password=7j91lt0y articulos > C:\backups\backuparticulos%FECHA%.sql

Con la primera instrucción desactivamos la salida por pantalla de la consola, luego recogemos la fecha actual, la formateamos y finalmente creamos el backup anexando a su nombre la fecha de la copia. En este ejemplo he usado el usario root, recordad siempre que el usuario que utilicéis debe tener permisos en la base de datos para realizar la copia de seguridad. Guardad este script en la carpeta bin de vuestra instalación de MySQL.

Pues ya tenemos el script listo, ejecutadlo con permisos de administrador para ver que funciona. Si os crea un archivo vacío es que algo falla, repasadlo (la sintaxis, la contraseña, el nombre, los permisos tanto en la bd como en el sistema operativo…). Ahora lo que nos queda es automatizar la ejecución del script para programar, por ejemplo, una copia diaria de la base de datos. Para eso os váis al menú de administración del servidor y creáis una tarea básica que ejecute el batch a diario a una hora predeterminada (a poder ser una hora con poca actividad para la base de datos). Para más ayuda con el tema de la automatización podéis visitar la web de Microsoft.

Cambiar la contraseña de la base de datos en Prestashop

Pongámonos en situación: has cambiado la contraseña de la base de datos de MySQL que usabas para tu instalación de Prestashop. Con el cambio verás que tu vieja instalación no funciona, ¿solución? Cambiar la configuración de la contraseña. ¿Cómo? Con los siguientes pasos:

  • Busca la carpeta config.
  • Busca en dicha carpeta el archivo settings.inc.php.
  • En ese archivo busca las líneas BD_USER y DB_PASSWD, ahí tienes definidos los nombres de usuario y las contraseñas, basta con cambiarlos ahí

Y con esto ya está la cosa listas para funcionar otra vez.

CONAN mobile: herramienta de seguridad para tu Android

CONAN mobile es una herramienta gratuita desarrollada por los técnicos de INTECO que te permitirá chequear el estado de la seguridad de tu móvil o tablet, proporcionándote consejos y soluciones para mejorarla.

Funciona en Android 2.2 y superiores, y te muestra información sobre diferentes ámbitos:

  • Configuración: Te mostrará los ajustes de tu configuración que pueden ser potencialmente peligrosas, las redes WIFI inseguras a la que estés conectado o los dispositivos Bluetooth con los que estés emparejado.
  • Aplicaciones: Listará las aplicaciones que están reconocidas como maliciosas, las que podrían serlo, las que no están actualizadas a la última versión y las que no están registradas. También te mostrará los permisos de la aplicación organizados por su nivel de inseguridad.
  • Servicio de seguridad proactivo: Alerta de comportamientos anómalos en el dispositivo tales como cambios en el fichero /etc/host, llamadas y sms a servicios de pago, conexiones a la red realizadas por las aplicaciones… y además analiza las redes WIFI a las que nos conectamos y las apps que descargamos.

Al momento de escribir esto la aplicación se encuentra en fase beta, por lo que todavía puede presentar fallos en su funcionamiento, además de sólo estar disponible para el mercado español. Para profundizar en su uso tenéis este videotutorial. Podéis descargarla desde GooglePlay

Social Lab: Un juego que te enseña seguridad en redes sociales.

Desarrollado conjuntamente por la universidad de Deusto y Telefónica, Social Lab es un wargame, un juego que replica el funcionamiento de una red social al estilo de Facebook o Tuenti y donde se te plantearán desafíos consistentes en conseguir datos sobre unos usuarios ficticios.

El objetivo del juego en enseñar a los usuarios las diversas técnicas de ingeniería social a las que se puede recurrir para conseguir información sobre ellos, la forma en que estos «hackers sociales» manipulan a su objetivo para que inconscientemente caiga en sus redes.

Una buena iniciativa para concienciar a los usuarios y para enseñarles formas de proteger sus cuentas y mantener su privacidad.