¿Cómo instalo Elementary Tweaks en Elementary OS Luna?

(Nota: Este artículo era sobre la instalación en ElementaryOS Luna, para Freya mira Este)

Si usas ElementaryOS y quieres tener más opciones de personalización, cuentas con la opción de Elementary Tweaks, una herramienta que te permitirá aumentar la precisión en tu personalización del escritorio de este sistema operativo basado en Ubuntu. La cosa es sencilla, basta abrir un terminal y teclear las siguientes instrucciones:

sudo apt-add-repository ppa:versable/elementary-update
sudo apt-get update
sudo apt-get install elementary-tweaks

Luego basta con ir a la configuración del sistema y ya encontrarás el icono para abrir Tweaks.

Consejos para asegurar tu red WiFi

Soy una persona que valora mucho las formas. Por ejemplo, cuando un vecino logró colarse en mi WiFi el verano pasado ya me encargué de dejarlo claro que mejor no andar jodiendo con esos temas. En cambio, cuando llegó un nuevo vecino y me ofreció compartir los gastos no sólo le he dejado usarla, sino que se lo dejo de gratis (aunque me ha regalado unas botellicas de vino, un chaval agradecido).

2000px-Wi-Fi_Logo.svg

En todo caso, la mayoría de la gente no quiere a otros pululando por su red ¿cómo podemos fortificarla?. Vamos con una serie de consejos (que, por otra parte, no pueden garantizar protección total, eso por desgracia es una quimera):

  • Utiliza un cifrado fuerte, WPA/WPA2 – PSK es el más robusto para redes domésticas. No es infalible, desde luego, pero sí bastante más consistente que otras opciones.
  • El nombre de la red (el SSID) puede ser utilizado para crackearla con un ataque de diccionario, así que cambiarlo será una de las primeras cosas que deberías hacer (y pones un nombre que probablemente no esté en los diccionarios habituales, tipo CaghoN0KaRaLloDTeUPae).
  • Cambiar la contraseña por defecto es otro must. Hay herramientas para crackear redes que se basan en los algoritmos que usan las compañías para generar las contraseñas por defecto. Como siempre que hablamos de claves, usa una contraseña fuerte (puedes servirte de un generador aleatorio de contraseñas).
  • Desactiva el WPS (por los motivos expuestos en el enlace).
  • Cambia periódicamente la contraseña y el nombre de la red, y apágala cuando no la estés usando. El tiempo es un factor fundamental para encontrar la clave, por tanto si lo apagas le estás limitando ese tiempo al atacante, mientras que un cambio de contraseña tirará por tierra todo el trabajo ya realizado. Tienes la opción de ocultar la WiFi también, pero yo nunca le he acabado de ver la práctica, ya que el atacante puede configurar su equipo para buscar redes ocultas.
  • Seguramente la configuración de tu router te permita hacer un filtrado por MAC (hablo de media access control, no de orenadores con manzanitas).Todos los routers suelen tener esta opción, basta con que accedáis al mismo, la busquéis, hagáis una lista blanca con las MAC de vuestros dispositivos y bloqueéis el resto. Es un coñazo si un amigo viene a casa y quiere conectarse a la WiFi, y puede ser burlado, pero es un escollo más para el atacante.
  • Fortifica tu Router: Si alguien logra romper tu contraseña, a pesar de toda la seguridad extra aplicada, lo que menos te interesa es que entre en la configuración de tu punto de acceso. Esencial, desde luego, es cambiar tanto la contraseña por defecto como el usuario (una simple búsqueda en Google te puede decir la del tuyo). Básico tambien es tener el firmware actualizado. Pero la medida más efectiva, que permiten casi todos los routers y que además no genera mucho problema al 90% de los usuarios, es restringir el acceso al router vía WiFi, para que sólo puedan acceder a él los usuarios conectados mediante cable, lo cual ya te da un plus de fortificación.

Con esta serie de consejos, ya te lo comentaba arriba, no lograrás la seguridad completa e infranqueable (lo dicho, una quimera, no existe a día de hoy, y seguramente no existirá), pero al menos ganarás bastantes puntos respecto a lo que supone dejar todas las configuraciones por defecto.

Utilizando Team Viewer dentro de una LAN

Una función poco conocida del popular software para acceo remoto TeamViewer es que, además de permitir la conexión vía internet (de una forma extremadamente cómoda para un usuario que no tenga muchos conocimientos, ya que requiere mucha menos configuración que VNC) admite configurar el programa para, cuando queremos acceder a un equipo de nuestra red local, hacerlo a través de ella en lugar de usar la conexión estándar por internet. ¿Qué logramos con esto? Generalmente nuestra red local va a tener más ancho de banda que nuestra conexión a internet, así que la conexión será más rápida.

¿Cómo lo configuramos? Pues debemos hacerlo tanto en el cliente como en el servidor, y en ambos casos no es muy complicado, se hace gráficamente en un par de clicks:

  • En el equipo que queremos controlar:
    1. Abrimos TeamViewer y en la pantalla de conexión nos vamos, en el menú superior, a EXTRAS >> OPCIONES
    2. Ahí hay una opción, junto a combo desplegable, llamada Conexiones de LAN entrantes
  • Ahora vamos con el equipo servidor:

    1. Necesitos saber la IP del equipo cliente en la LAN. Las opciones son múltiples, tanto en Windows como en Linux. Puede consultarse a través de la consola de comandos, mirando las propiedades de la red…
    2. Una vez sepamos la Ip del cliente ya sólo necesitamos la contraseña de TeamViewer (la misma que para una conexión normal) para acceder a él. Básicamente nos conectamos como siempre, pero poniendo la IP del equipo en lugar del habitual ID para conexión, luego insertamos la contraseña como siempre y estamos conectados.

De esta sencilla forma podremos conseguir mayor velocidad en nuestras conexiones dentro de redes locales. He de reconocer que aunque sea software privativo, TeamViewer es una solución cojonuda para solucionar problemas mediante acceso remoto. Hay buenas alternativas libres a nivel de funcionalidad, pero por desgracia no tanto a nivel de sencillez, y muchas veces lo que necesitamos es que el que esté al otro lado del teléfono pueda entender lo que tiene que hacer sin perder mucho tiempo (sí, claramente me estoy intentado justificar por usar software privativo, y en serio que me jode usarlo). Aunque próximamente hablaremos por aquí de ese tema y de soluciones alternativas).

Pin WPS ¿por qué se recomienda desactivarlo?

El sistema WPS fue promovido como un standar de seguridad en 2007 para redes wifi, que además permitía simplificar la configuración de las mismas haciendo uso de un código PIN de 8 dígitos para conectar nuevos dispositivos a la red.

En 2011 dos especialistas en seguridad, Stefan Viehböck y Craig Heffner, descubrieron (cada uno trabajando por su cuenta) una vulnerabilidad en este sistema, en la forma en que los routers devuelven la respuesta a la inserción de un pin erróneo, lo cual facilita a los atacantes obtener dicho código por medio de un ataque por fuerza bruta. Una vez han conseguido dicho código, los atacantes puede hacerse con la clave de la wifi de manera rápida utilizando unas simples herramientas comunes.

No existe más solución que desactivar la opción del pin WPS en vuestro router para protegeros de este ataque. Me encantaría daros una explicación de cómo hacerlo… pero no hay explicación genérica posible, ya que en cada router es distinto, por lo que os tocará recurrir a algún buscador para encontrar las instrucciones de vuestro modelo. En cualquier caso, lo normal es hacer lo siguiente:

  • Accedéis al router desde vuestro navegador, introduciendo la ip del mismo en la barra de direcciones (podéis saber la ip del router mirando vuestra configuración de red, ya que ahí aparece con el nombre de «Puerta de Enlace«).
  • Lo normal es que os pida un usuario y contraseña para acceder al mismo. Si se lo habéis configurado previamente ya lo sabréis, si nunca lo habéis hecho lo más probable es que tenga la que trae por defecto el dispositivo. Suele venir en el manual del dispositivo, y si no lo tenéis a mano es posible que la encontréis en algún foro realizando una simple búsqueda.
  • Una vez en la configuración del router buscáis la opción de «Habilitar Seguridad WPS«, «Habilitar WPS«, «PIN WPS«… en fin, hay múltiples posibles nombres según el router, pero os hacéis una idea de que tiene que poner WPS en algún sitio. Allí lo desconectáis, si es posible (algunos routers no permiten desactivarlo)

Efecto 2038 ¿qué es? ¿ trae el próximo apocalipsis?

No, desde luego que no será el fin de la humanidad, como tampoco en su día el Efecto 2000. Pero alguno ha visto el titular y ha pensado ¿Qué es el efecto 2038?. Primero toca hacer un poco de historia y reflexión.

La primera reflexión es ¿cómo le decimos a un ordenador que mida el tiempo? Convertir la fecha ya la hora en algo que una computadora regida por dígitos binarios pudiera entender y con lo que pudiera trabajar era un tema complejo. Cuando el Instituto de Ingeniería Eléctrica y Electrónica se puso a estandarizar este tema creó la norma IEEE 1003, también llamada POSIX a propuesta de Richard Stallman, donde se define que la hora, tomando a los sistemas UNIX como referencia, se expresa con un entero con signo, de 32 bits, que marca los segundos transcurridos desde el 1 de enero de 1970.

¿Qué significa que el número de segundos se almacene en un entero con signo? Pues que de los 32 bits que se usarán para guardar el número el bit menos significativo (el que está a la izquierda) se utiliza para guardar el signo (es decir, si el número es positivo o negativo) y los 31 bits restantes para guardar el resto del número, implicando que el número más grande que podemos guardar es 231-1.

Cuando lleguen las 03:14:07 UTC del 19 de enero de 2038 el número almacenado en un equipo de 32 bits como fecha será el 01111111 11111111 11111111 11111111, que pasado a decimal serían 2.147.483.647 segundos que habrían transcurrido entre la fecha de referencia de inicio y ese momento. Un segundo después el número almacenado pasaría a ser 10000000 00000000 00000000 00000000, recordando que el bit de la izquierda se interpreta como el signo, que acaba de cambiar, por lo que la cifra sería negativa: -2.147.483.648 segundos, o lo que es lo mismo, «viajaríamos en el tiempo» al 13 de diciembre de 1901. Es posible que hace poco hayas leído una noticia sobre que Youtube cambió su contador de visitas por culpa del gran número de reproducciones del Gangnam Style, era exactamente este mismo problema.

El comportamiento de determinados programas y sistemas ante esta eventualidad es algo que no podemos aventurar, como pasaba hace 15 años cuando hablábamos del Y2K, el efecto 2000. Aunque un día hice la prueba en un equipo antiguo y no me generó problemas más allá del salto de fecha (reconozco que no le trasteé mucho, a fin de cuentas era un equipo que iba para trashware).

Por otra parte, ya hace unos años que trabajamos con sistemas de 64 bits por lo que esta eventualidad está solucionada para varios milenios (pensad que al ser cifras binarias la cantidad aumenta exponencialmente). Todavía quedan equipos de 32 bits, ahora mismo de hecho os escribo desde uno, pero en el transcurso de los años estos irán retirándose para dar lugar a nuevos equipos. Es muy poco probable que en 2038 nos encontremos con equipos o software pensado para 32 bits, así que si el apocalipsis llega no lo hará por ahí, por este lado puedes estar tranquilo.

Ver qué IP’s están libres en una red

Por la mañana me preguntaba un compañero «¿hay forma de ver qué Ip’s están libres en una red?», ya que estaba configurando una red que requiere que las dichas IP estén fijas.

¿Hay forma de hacerlo? Sí, la hay. Y es muy sencillo. Desde tu terminal linuxero (testeado en Ubuntu) la útil herramienta nMap te puede dar esa información:

#Con el siguiente comando 
# nmap -v -sP seguido del rango donde buscaremos
#podemos ver todas 
#las ip's que hay dentro de una subred local 
#y su estado:
#

nmap -v -sP 192.168.1.*

#como queremos ver las libres
#recurriremos a una expresión regular
#sacando sólo las que estén "down":

nmap -v -sP 192.168.1.* | grep down

En vuestro caso cambiáis los datos por el rango de ip que os corresponda según la configuración de la red y la máscara de subred. Podéis conocer esos datos utilizando el comando ifconfig, y si no sabes calcular el rango de direcciones de la red siempre puedes recurrir a esta herramienta.

La herramienta nMap es sumamente útil para auditorías de seguridad, aunque también puede usarse para pequeñas consultillas como esta.

Error 502 Bad Gateway en Nginx. Posibles soluciones

Me han preguntado varios lectores sobre el mismo problema: se encuentran con un error 502, Bad Gateway o puerta de enlace, devuelto por un servidor Nginx. ¿Dónde se produce este error? Pues en el punto en que el servidor Nginx se comunica con otra aplicación o servicio ¿Y por qué se da? Por muchos motivos: que uno de los dos esté caído, que no se «aclaren» con el protocolo (mala configuración), etc. Puede darse cuando Nginx funciona como proxy de Apache, con problemas derivados de la configuración del buffering o del tiempo de espera de respuesta, cuando Nginx funciona como puerta de enlace con otra aplicación o cuando Nginx funciona con el daemon PHP-FPM.

Lo primero, tanto en el caso del daemon de PHP-FPM, como en el de usarlo como proxy de Apache o como puerta de enlace para otro servicio es reiniciar dichos servicios. En la mayoría de los casos el error surge porque el servicio se ha detenido por algún motivo, y con el reinicio se soluciona. En caso de que ocurra reiteradamente entonces investigad por qué ese servicio «casca» de forma tan habitual. Seguramente en los logs del servidor esté mucha de la información que necesitaréis para encontrar la solución.

Aunque la caída del servicio es lo más habitual no es la única opción. En otro artículo ya hablamos de configurar los valores del tiempo para timeout de FastCGI en IIS, en Nngix podemos hacer esto editando el archivo nginx.conf, dentro del bloque http (esto es un ejemplo copiado de la documentación oficial de Nginx, cada caso deberá adaptarse a sus necesidades):

http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
...
}

En caso de que estéis usando Nginx como proxy deberéis añadir unas líneas como estas en el archivo nginx.conf:

proxy_connect_timeout       600;
proxy_send_timeout          600;
proxy_read_timeout          600;
send_timeout                600;

Para el caso de PHP-FPM debes asegurarte, revisando el fichero http://www.conf de configración de Nginx, de que está bien configurado el puerto en que el servicio debe estar «a la escucha». Generalmente es una de estas dos opciones:

listen = /var/run/php5-fpm.sock
#o si no
listen = 127.0.0.1:9000

Si no está configurado así probad una de esas dos opciones y reiniciad el servicio.

Otra causa de este problema venía derivado del uso de APC Cache, y se solucionaba dejando de usarlo y pasándose a Xcache. De esto hará cosa de un año, puede que a día de hoy ya no genere problemas, pero a saber.

Y a más de uno le ha comenzado el problema tras actualizar algunos paquetes de PHP en su servidor. El problema viene porque en esa actualización los permisos de lectura-escritura-ejecución del socket han sido modificados, y el servidor no puede acceder a ellos porque no está en el mismo grupo. Para solucionar esto tienes que tocar varios archivos. El primero nginx.conf, donde comprobaremos que esto esté tal cual:

user nginx;

Luego nos vamos a /etc/php-fpm.d/www.conf y lo configuramos así

listen = /tmp/php5-fpm.sock
listen.owner = nginx
listen.group = nginx

Y tras esto reiniciamos tanto el servicio de nginx como el de php-fpm.

Estos son los principales problemas y soluciones que he ido encontrando por la red, espero que os sirvan de ayuda.

Servicio AntiBotNet de la OSI

La Oficinia de Seguridad del Internauta, dependiente de INTECO y del Ministerio de Industria suele presentar además de múltiples consejos de seguridad informática básica en su web algunos productos para mejorar la seguridad de los usuarios. En el pasado ya hablamos por aquí de CONAN, una herramienta para chequear la seguridad de teléfonos Android. Hoy el producto a comentar, que podéis ver en el vídeo de arriba, es su servicio AntibotNet, que verificará que vuestro equipo no pertenezca a una red zombi. Podéis acceder a dicho servicio en el siguiente enlace, desde el que también podréis descargar los complementos para Chrome.

El servicio en principio chequeará vuestra IP externa y comprobará que no aparezca en su base de datos de ip’s relacionadas con incidentes con BotNets. Sobre su fiabilidad ya no podría deciros nada, no tengo herramientas para comprobarla, desde la información que vierten en su propia web afirman que puede haber falsos positivos, pero dicen que su fiabilidad es muy alta (claro que tampoco van a decir que es una patata). En cuanto al complemento para Chrome lo que hará será avisaros automáticamente si vuestra IP apareciera por algún motivo en su base de datos.

El uso de este servicio implica que estaréis enviando vuestra dirección IP a un servicio dependiente del gobierno español, tenedlo claro a la hora de pensar en vuestra privacidad y en lo queréis enviar o no, si bien afirman que la IP pública sólo la guardan para estadísticas y sin relacionarla con ningún usuario (eso es cuestión de que os lo queráis creer o no). En todo caso puede ser una herramienta muy útil para determinados usuarios.

Conocer tu ip externa desde línea de comandos en Linux

Ya comentamos en su momento la forma de conocer nuestra ip externa visitando un par de webs, pero desde un sistema Linux podemos, además, conocerla desde línea de comandos facilitando así el uso de esos datos en un script. Al igual que en el artículo pasado también se depende de un servicio exterior, ifconfig.me, con cuya api contactaremos mediante cURL.

El comando es el siguiente:

curl ifconfig.me/ip

El API de ifconfig.me además nos permite conocer otras cosas como nuestro user agent, el puerto por el que conectamos, el idioma predefinido con el que navegamos… en la página principal podéis ver, debajo de vuestros datos, todos los comandos disponibles.

fondo de pantalla xfce con docky

Instalando Docky en Xubuntu

Comentaba el otro día, creo, que tengo un cacharro nuevo para trastear. Le he metido Xubuntu como sistema operativo y estuve probando algunos docks. El primero fue el Cairo, muy bonito, muy Apple todo pero me parecía malgastar recursos. Probé con Plank pero no me acabó de convencer y al final me pasé a Docky.

Docky no tiene tantas opciones como Cairo ni es tan bonito, pero consume menos y es mucho más fácil de personalizar.

El primer paso es instalar, cosa sencilla ya que se puede hacer desde el repositorio:

sudo apt-get install docky

Una vez instalado es posible que nos de un error, Docky requires compositing to work. Necesitamos un cambio en la configuración de las ventanas para poder usar todas las opciones de Docky, que será activar la composición en pantalla. Dentro de la gestión de configuración te vas al menú marcado en rojo en la foto:

Menú configuración xubuntu

Y una vez dentro te vas a la pestaña de Composición y desde ahí eliges activarla, marcando el check correspondiente como en la foto:

Xubuntu Activar Composición

Tras este cambio ya tendremos Docky funcional al 100%, con opciones como la de que se oculte automáticamente y con animaciones. Para añadir programas al dock basta con arrastrar los mismos desde el menú hasta la barra, y así os lo configuráis de la forma más cómoda. Yo lo he dejado en la parte inferior, como se puede ver en la foto:

fondo de pantalla xfce con docky