Hoy voy a hacer un pequeño Howto, que nos va a servir para “torificar” el sistema. ¿Por qué hacer esto? Bueno, cuando utilizamos Tor-Bowser, podemos navegar a través de la red TOR y, en principio, hacerlo con un alto grado de anonimato. Sin embargo, existen diferentes técnicas que van a permitir revelar nuestra IP.

Para clarificar un poco esto, podéis visitar https://ipleak.net (con Tor-Browser, no podrá descubrir vuestra IP mediante WebRTC, porque ya lo tiene deshabilitado).

La idea es que, por un lado, todas las consultas de DNS las hagamos a la red TOR. Por otro, vamos a enviar todo el tráfico saliente a través de TOR por defecto. El tráfico entrante y saliente, estará bloqueado por defecto. De esta manera, evitaremos que pueda ser revelada nuestra IP con mecanismos similares, basados en JavaScript. Leer el resto de esta entrada »

grsecEn Mejora la respuesta de tu desktop con linux-ck, os hablé sobre el linux-ck, el kernel con unos parches, que permiten mejorar la respuesta del sistema. Sin embargo, si estamos hablando de servidores, o estamos preocupados por la seguridad del sistema, ese conjunto de parches o el kernel por defecto, no será suficiente.

El kernel por defecto viene compilado para poder utilizar SELinux o AppArmor. Para poder utilizarlos, deberemos recurrir al AUR o a repositorios no oficiales, pues, el primero necesita que ciertas partes del sistema estén parcheadas y, el segundo, unas utilidades específicas.Algo que sí está soportado desde hace poco tiempo, es grsecurity. Un conjunto de parches y utilidades, que nos van a proporcionar una funcionalidad similar a SELinux y AppArmor, además de una protección adicional, mediante PaX, que permite añadir una protección a la memoria, de manera que podamos proteger el equipo de exploits que utilizan desbordamientos de la misma.

Lo primero que vamos a hacer es instalar el kernel parcheado y generar las entradas para el Grub. No se eliminan el resto de kernels, así que no hay por qué preocuparse:

sudo pacman -S linux-grsec
sudo grub-mkinstall -o /boot/grub/grub.cfg

Las opciones de grsecurity se activan mediante sysctl y están disponibles en /etc/sysctl.d/05-grsecurity.conf. Podemos ajustar, según sea nuestra necesidad. Encontraremos opciones que van desde restringir nuevos USBs, hasta restricciones para chroot, bloquear las restricciones en sysctl para impedir modificaciones en valores de grsec, etc.

Para el caso de servidores, es muy interesante el RBAC (Role Based Access Control). Podemos crear diferentes roles para las aplicaciones, de manera que podamos controlar mejor qué pueden hacer, disminuyendo el alcance en caso de una intrusión.

Esto está desactivado por defecto y guarda alguna similitud con SELinux y AppArmor. Para habilitarlo y ver cómo crear los roles, os recomiendo echar un ojo aquí y a la documentación del proyecto. Necesitamos instalar el siguiente paquete:

sudo pacman -Syu gradm

La protección PaX está desactivada por defecto. Esto es porque no todos los binarios soportan bien todas las opciones de protección y hay que añadir excepciones para desactivar alguna. Para poder testear y revisar el estado de los binarios, instalaremos:

 pacman -Syu checksec pax-utils paxtest

Os dejo una captura, a la izquierda, un test realizado con paxtest con PaX desactivado, a la derecha, activado.

screenshot2014-07-11_210254_755473508

Hay varios métodos para controlar las excepciones que necesitemos desactivar en los binarios. El más cómodo es utilizar  paxd, un daemon que también se encuentra en community.

sudo pacman -Syu paxd

Este paquete consta de un servicio estático (está habilitado por defecto) y, en el archivo /etc/paxd.conf, se añaden las excepciones necesarias. Si lo editamos, vemos que es muy fácil deshabilitar las excepciones.

Tanto en las opciones de grsecurity, como en la configuración de paxd, se está trabajando para conseguir un equilibrio entre seguridad, funcionalidad y estabilidad, de manera que, con la paquetería soportada, no necesitemos tocar nada (instalar y a correr😉 ).

En cualquier caso, si al instalar paxd algún binario deja de funcionar, podemos chequear si ha sido por una restricción, ejecutando:

sudo dmesg | grep nombre_binario

Por ejemplo, elinks necesita la excepción mprotect. Al ejecutarlo sin añadirla, obtendremos una “Violación de segmento”. Si ejecutamos el comando anterior, nos devolverá algo siminar a:

[ 2906.767704] grsec: denied RWX mmap of <anonymous mapping> by
/usr/bin/elinks[elinks:3800]uid/euid:1000/1000 gid/egid:1000/1000,
parent /usr/bin/bash[bash:2213] uid/euid:1000/1000 gid/egid:1000/1000

Una vez localizado el problema, editados /etc/paxd.conf y desactivamos la opción correspondiente:

 m /usr/bin/elinks

En realidad, elinks necesita añadir las excepciones emr, pero ya lo están en el fichero configuración.

Volvemos a lanzar el comando y, si todo va bien, sería interesante avisar al desarrollador en github, enviando los datos, para que pueda comprobarlo y corregirlo.

En el caso de Firefox, en algunos sistemas x86_64, crashea si no está añadida la excepción p. Es un caso curioso porque, si lo ejecutamos en safe-mode, no ocurre. Además, no es en todos los sistemas. Si, al activar PaX, Firefox crashea al poco de iniciarlo, bastará editar el /etc/paxd.conf y añadir la excepción, quedando la línea correspondiente así:

pem /usr/lib/firefox/firefox

En cualquier caso, os animo a que lo utilicéis, sobre todo, por la seguridad adicional que nos aporta.

¡Espero que os sea útil!

Hoy voy a presentaros Ranger, un gestor de archivos para consola… Pero… ¿Cómo? ¿Para consola? ¿En 2014? Pues, aunque no parezca necesario, hay muchas circunstancias en las que, por sus características, nos puede ser muy útil.

Una de ellas es su bajo consumo que, junto a un emulador de terminal como urxvt, es mínimo. Esto, en máquinas con pocos recursos, es una buena alternativa, junto con gestores de ventanas ligeros.

Otro uso, puede ser en servidores. En muchas ocasiones son administrados remotamente y mediante ssh. Tanto si es una sesión gráfica, como si no, cuantos menos recursos consumamos, mejor.

Leer el resto de esta entrada »

Tiling Window Manager: I3

Publicado: mayo 27, 2014 en Desktops
Etiquetas:,

Lo habitual, cuando usamos uni3 sistema operativo con entorno gráfico, es utilizar un escritorio completo, con un gestor de ventanas “flotante”. En los sistemas GNU/Linux, disponemos de múltiples alternativas y una de ellas, es no utilizar un escritorio, sino  sólo un gestor de ventanas. Dentro de éstos, hay un tipo específico que son los Tiling Window Manager. Estos gestores de ventanas tienden a evitar el uso del ratón. Muestran las ventanas utilizando diferentes disposiciones y nos proporcionan diferentes combinaciones de teclas para su gestión. De esta manera, aunque su curva de aprendizaje sea más alta, permiten aumentar la productividad.

Tienden a ser altamente personalizables y, además, se podrían utilizar como gestor de ventanas alternativo al que utilice el escritorio que estemos usando. Dado que suelen consumir muy pocos recursos, nos van a permitir una mejor respuesta del equipo.

En esta ocasión, os voy a hablar de i3, un magnífico Tiling Window Manager, que nos va a permitir comprobar la potencia de estos gestores de ventanas.

Lo primero será instalarlo. Además del gestor de ventanas, instalaremos algunas herramientas, que nos vendrán bien, como un daemon para las notificaciones, una barra para la bandeja del sistema y algunos applets. Leer el resto de esta entrada »

Cuando utilizamos escritorios pesados, es posible que la respuesta del sistema, según la carga del sistema, sea pobre. Para el kernel Linux existe un patchset, ck1, desarrollado por Con Kolivas, que mejora extremadamente las respuestas del sistema.

Con este patchset, podemos utilizar Brain Fuck Scheduler (BFS) como planificador de procesos. Además, podemos activar Budget Fair Queueing (BFQ), que es un planificador de disco, que también nos va a permitir mejorar, en general, el rendimiento. Leer el resto de esta entrada »

malware
En los artículos anteriores, vimos cómo detectar rootkits y la utilización de antivirus y antispam. En éste, vamos a ver unas herramientas para proteger nuestra red.

Lo primero que no debe faltar en nuestro equipo, es un cortafuegos. Disponemos de múltiples alternativas. Una bastante fácil de utilizar es UFW, que es un front-end de iptables. Es decir, utiliza iptables, pero la creación de reglas es mucho más sencilla. Leer el resto de esta entrada »

KDE+Openbox, la combinación perfecta

Publicado: febrero 23, 2014 en Desktops
Etiquetas:, ,

kde-openbox-comptonKDE es un gran escritorio, sin embargo, su consumo de recursos puede resultar excesivo. Veamos una combinación que permitirá reducir drásticamente este consumo.

Una de las cosas que suelen aconsejarnos, es la desactivación de Akonadi y el escritorio semántico. Hacer esto, reduce el consumo de recursos, pero es una “mutilación” de la capacidad de este escritorio, impidiendo la utilización de las herramientas que incorpora.

Leer el resto de esta entrada »

malwareEn el artículo anterior, vimos cómo instalar un detector de rootkits. Dado que el malware se distribuye, sobre todo, mediante el correo y, además, es posible que necesitemos escanear diferentes archivos,  vamos a instalar un antivirus y un filtro antispam.

El antivirus que vamos a instalar es ClamAV, el cual está integrado en diferentes clientes de correo. Además, podríamos utilizarlo, también, para filtrar los correos electrónicos de nuestro servidor de correo, en caso de tener alguno alguno instalado. Exim, por ejemplo, está compilado en ArchLinux con soporte para filtrar los correos con ClamAV y Spamassassin. Leer el resto de esta entrada »

Tasa Google: No es boicot, es autodefensa

Publicado: febrero 19, 2014 en Opinión
Etiquetas:

NoCanonAEDEEl motivo de esta entrada es la polémica creada por la “tasa Google” y el boicot propuesto por los internautas a los miembros de la AEDE (Asociación de Editores de Diarios Españoles), que apoyan esta ley.

Antes de nada, decir que yo no estoy a favor de ningún tipo de boicot. En este punto, los miembros de esa asociación pueden estar tranquilos, no considero que el mismo sea antidemocrático, pero no lo apoyo.

Leer el resto de esta entrada »

Email-Logo

En un sistema GNU/Linux, el mecanismo para envío de notificaciones de determinados demonios (servicios), es mediante el envío de correos con sendmail. En este artículo veremos cómo enviar correos, sin necesidad de configurar un servidor de correo.

En el artículo sobre Exim, vimos cómo configurar este servidor para hacer esto. Ahora, veremos dos alternativas que nos permiten enviar correos, sin necesidad de utilizar un servidor de correo. No podremos recibir/enviar correos a otros equipos de nuestra red local, pero sí enviarlos a cuentas externas, mediante una cuenta, por ejemplo, de gmail, incluso hacer una entrega de correo en local, a los buzones de los usuarios del sistema.

Leer el resto de esta entrada »