Archivos de la categoría ‘Seguridad’

Cuando desplegamos una aplicación, es imprescindible aplicar medidas de seguridad. Una de ellas puede ser utilizar una plataforma como Cloudfare. Por un lado, oculta la IP real del servidor. Por otro, frena ataques DDOS, que, probablemente, desde nuestra infraestructura no podríamos parar. Además, añade una protección adicional a los accesos desde redes anónimas, como puede ser Tor.

Utilizar esta plataforma es muy útil pero no es suficiente. Os voy a contar un caso real, para ilustrar el por qué.

(más…)

Anuncios

¿Me están espiando Skype?

Publicado: marzo 31, 2017 en Seguridad
Etiquetas:, ,

A veces sospechamos que alguien está espiando nuestras conversaciones de Skype. Normalmente, cuando la cuenta es corporativa y las credenciales nos las han facilitado, luego puede que las tengan otras personas, tenemos esa duda. También es posible que hayamos usado una contraseña demasiado débil y alguien la haya averiguado.

Un motivo de sospecha es que, al cerrar sesión, en el equipo del compañero salta una notificación de que acabas de conectarte. Otro motivo es abrir la cuenta en casa y ver a otros compañeros conectados en horario no habitual. Podría ser simplemente casualidad o que haya sido abierta por un tercero…

Bien, un método rápido para ver las seiones abiertas es utilizar el comando /showplaces en cualquier ventana de conversación. Esto nos devolverá cuántas sesiones tenemos abiertas, pero esa información sólo la veremos nosotros. Si hay más de las que hemos abierto, alguien conoce nuestra contraseña y tiene una sesión abierta, recibiendo todo aquello que hablemos.

¿Qué podemos hacer? Pues, si tenemos control sobre la cuenta y podemos cambiar las credenciales, lo primero es cerrar las sesiones abiertas. Para ello bastará ejecutar en cualquier ventana de conversación /remotelogout. Lo siguiente, cambiar las credenciales.

¡Espero que os sea útil!¡Hasta la próxima!

Torificación: ¡¡Ojo con los pings!!

Publicado: febrero 16, 2017 en Seguridad
Etiquetas:, ,

En muchas ocasiones utilizamos la torificación, bien sea usando el Transparent Proxy de Tor o torify, para conseguir que todas nuestras conexiones salgan a través de Tor. Esto es muy útil cuando vamos a usar herramientas o aplicaciones que carecen de soporte para configurar proxys o, sencillamente, para que evitar fugas.

Esto, que a priori es muy bueno, puede ser un problema si intentamos que protocolos no soportados salgan a través de Tor. Si nos paramos a leer el manual de torify, al final, nos encontramos con esto: (más…)

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. (más…)

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!

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. (más…)

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. (más…)

malwareUna vez instalado el sistema, es conveniente aplicar ciertas medidas de seguridad. Al igual que en el resto de sistemas, un GNU/Linux también puede sufrir ataques de diversos tipos, así que, aunque confiemos en su seguridad, hay que establecer medidas.

Un S.O. es tecnología, no debemos dejar su seguridad en manos de la fe, que es algo místico.

Lo primero que vamos a instalar es un detector de rootkit. Vamos a configurar chequeos del sistema diarios, así como actualizaciones  de su base de datos.

(más…)

Email-LogoEXIM es un servidor de correo, utilizado por algunas distribuciones por defecto, que nos puede venir muy bien para el envío de correo local. Así podremos recibir notificaciones de algunos servicios, como pueden ser cron, fail2ban, etc.

En el caso de querer levantar un servicio de correo no solo para nuestra red local, y con acceso desde fuera de la misma, quizás sea más interesante utilizar PostFix. En este artículo veremos cómo configurar EXIM para que funcione dentro de nuestra red y, además, pueda enviar correo al exterior utilizando otro servidor smtp, por ejemplo,  una cuenta de GMAIL.

(más…)

archlinux-vert-dark-grad1

En el artículo anterior, realizamos el particionado del sistema de archivos, cifrando los volúmenes. Utilizamos LVM para crear volúmenes virtuales y LUKS para cifrarlos. Ahora, continuemos con la instalación.

Lo siguiente que debemos hacer, una vez particionado y formateado el disco, será indicar los puntos de montaje. Para comprender mejor cómo es la jerarquía del sistema de archivos en ArchLinux, podéis leer esto.

(más…)