Estas aquíBlogs

Blogs


Proteger a root de ataques SSH con una llave de autenticación

En un artículo reciente [1] mostramos como limitar la tasa de conexiones SSH entrantes con iptables. Sin embargo, la cuenta de root puede seguir siendo atacada, aun limitando la tasa, 3 veces por minuto, según los parámetros sugeridos en el artículo mencionado. Para eliminar toda posibilidad de ingreso a root con dichos ataques, genera una llave de autenticación SSH RSA en tu computador,

ssh-keygen -t rsa -b 2048

Esto crea un par de llaves en ~/.ssh/, una privada id_rsa, que por ningún motivo debes perder, y otra pública, id_rsa.pub. -b indica el número de bits de la llave. 2048 es considerado suficiente.

Transfiere la llave pública al servidor, por ejemplo con scp, e insértala en el archivo de llaves autorizadas de root,

cat id_rsa.pub >> /root/.ssh/authorized_keys

Protege la lista de llaves autorizadas con,

chmod 600 /root/.ssh/authorized_keys

Desde el computador que generó la llave de autenticación SSH, ingresa a la cuenta de root del servidor,

ssh root@servidor

(debería ingresar automáticamente sin mediación de una clave).

Ahora en el servidor, edita /etc/ssh/sshd_config y modifica

PermitRootLogin yes

a

PermitRootLogin without-password

Reinicia el daemon SSH.

La opción without-password deshabilita la autenticación de root con una clave; solo se puede ingresar a root con la llave de autenticación y desde computador que tiene la llave privada. Así se elimina toda posibilidad de un ataque a root exitoso.

[1] http://www.debianchile.org/?q=node/20

Imágenes Debian con BitTorrent

Una manera muy fácil de descargar imágenes Debian es con BitTorrent. Instala el paquete gnome-btdownload. Con un navegador (iceweasel) busca el archivo bittorrent de la imagen en,

http://ftp.cl.debian.org/debian-cd/current/

Marca la arquitectura, luego bt-cd/ o bt-dvd/. Marca el archivo .torrent de la imagen. Abre el archivo con BitTorrent y guarda la imagen, por ejemplo, en Desktop/.

Desinstalar paquetes huérfanos

Este es un método relativamente fácil para desinstalar paquetes huérfanos en Debian:

Instala deborphan. Corre,

deborphan -P

La "-P" es para mostrar la prioridad del paquete huérfano. Hay dos prioridades que generalmente son prescindibles; optional y extra. Para desinstalarlos corre,

deborphan -P | grep optional | cut -d\ -f1 | xargs dpkg -P

como root. Nota que en `cut -d\ ` tiene que haber un espacio extra, porque el delimitador de cut es un espacio.

Remover paquetes huérfanos puede dejar a otros paquetes huérfanos. Repite el procedimiento hasta que `deborphan -P` deje de listar paquetes huérfanos con prioridad optional o extra.

Emular Windows XP con QEMU

He escrito un wiki (http://wiki.debianchile.org/QemuWindowsXP) sobre como instalar QEMU en Debian e instalar Windows XP sobre el. A mi me ha servido ante todo para navegar con IE esas fastidiosas páginas WWW que son hechas con productos MS y solo se ven y funcionan con navegadores en Windows. QEMU es suficientemente rápido y está desarrollado a tal punto que hace innecesario la instalación de máquinas duales si es que el propósito de tenerla es tan simple como correr IE con esos sitios MS, o no se puede vivir sin PowerPoint o Ares.

QEMU tiene solo una desventaja sobre VMWARE. La resolución de pantalla es solo posible configurarla con valores convencionales, 800x600, 1024x768, 1152x864, 1280x1024 y 1600x1200. A parte de esto, QEMU es fuente abierta y no cuesta un cobre a diferencia de VMWARE.

Limitar la tasa de conexiones entrantes con iptables

Ha resultado muy popular un artículo en Debian Administration sobre como limitar con iptables la tasa de conexiones entrantes del puerto 22 (SSH). Limitar la tasa de esta manera reduce considerablemente los ataques por red y permite abrir el puerto SSH en forma ilimitada. A mi me ha resultado tremendamente valioso porque soy uno de aquellos administradores que se ve forzado a administrar sus servidores en forma remota. Me ha sucedido varias veces que mi proveedor Internet cambia sin aviso el rango de IPs a números no contemplados por el cortafuego del servidor, quedando bloqueada la entrada sin remedio. Abrir el puerto 22 a todo IP, pero limitando fuertemente la tasa de conexiones, me permite entrar desde cualquier IP en forma remota y a la vez saber que un hackeo es muy improbable.

Voy a reproducir las reglas de iptables pero a la manera de nuestra guía sobre cortafuegos en Debian.

La regla se inserta en /etc/network/if-up.d/firewall en la cadena pqtes-tcp-permitidos,

$IPTABLES -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --set
$IPTABLES -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 4 -j DROP
$IPTABLES -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -j ACCEPT

La primera regla agrega el número IP que inicia una conexión SSH a una lista. La segunda regla actualiza la lista y prueba que no hayan más de 4 requerimientos nuevos en un lapso de 60 segundos. Si los hay, la regla descarta el requerimiento. De esta manera limitamos la tasa a máximo 3 requerimientos por minuto por IP.

Debian Backports

Debian estable es muchas veces criticado por actualizarse muy a lo lejos. Todos queremos estabilidad y software actual. Pero esto es casi imposible de lograr en el vertiginoso mundo del software abierto.

Cuando Debian estable es demasiado antiguo, algunos optan por pasarse a la versión de prueba o inestable. Sin embargo, existe una alternativa, Debian Backports. Este proyecto toma software actualizado, generalmente de la versión de prueba (en contados casos de la inestable) y los hace funcionar en la versión estable. Los paquetes del backport pueden ser actualizaciones de paquetes existentes o software completamente nuevo para la versión estable.

Para facilitar el uso de Debian Backports en Chile hemos alojado un mirror en el depósito de software http://apt.debianchile.org/.

Para configurar y usar el backport lee el wiki http://wiki.debianchile.org/DebianBackports.

FrostWire para Debian

Hemos compilado y empaquetado FrostWire, un cliente P2P para la red Gnutella muy parecido a Ares, a la manera estricta de Debian. Lo hemos puesto, binario y fuente, en el depósito,

deb http://apt.debianchile.org/frostwire etch main
deb-src http://apt.debianchile.org/frostwire etch main

(mayor información en http://apt.debianchile.org/)

La versión empaquetada es la 4.13.3. que iremos actualizando a medida que surjan versiones revisadas.

Borrar enlaces simbólicos colgados

Muchos paquetes Debian vienen con enlaces simbólicos. En algunos casos los scripts de pre- y post-instalación los crea con update-alternative. Sucede que un paquete, especialmente después de un cambio mayor de versión, no mantenga correctamente sus enlaces simbólicos, dejándolos colgados en el sistema, es decir, apuntando a un archivo inexistente. Estos enlaces colgados se encuentran generalmente en /etc y /usr.

Para encontrarlos usa el comando find,

find -L /etc -type l

Una manera de borrarlos, sin tener que hacerlo uno a uno, es encontrarlos primero y luego usar xargs para borrarlos,

find -L /etc -type l | xargs rm

Este comando es un poco arriesgado. Lo dejamos al criterio de cada administrador.

Audio Bluetooth en Debian

Bluetooth-alsa contiene dispositivos para integrar aparatos de audio bluetooth, como auriculares y teléfonos celulares, con Linux. El uso mas común del audio bluetooth es para crear una conexión inalámbrica a un teléfono celular, por ejemplo, con un auricular pequeño que cabe en el oído. Diferentes perfiles, como Synchronous Connection-Oriented (SCO) están hechos para minimizar el retraso en este tipo de conexiones mono-fónicas. Otras adaptaciones, Headset Profile (HSP) y Hands-free Profile (HFP), proveen mayor funcionalidad, como la posibilidad de controlar el volumen, iniciar, cortar, rechazar llamadas o marcar un número.

Audio de alta fidelidad lo provee el perfil Advanced Audio Distribution Profile o A2DP, que combinado con Audio/Video Remote Control Profile (AVRCP) permite pausar, tocar, avanzar o retrasar pistas de audio. Este perfil es usado para controlar equipos de música integrados con bluetooth, o receptores bluetooth que se integran a equipos por una entrada AV.

Este wiki http://wiki.debianchile.org/BluetoothAlsa explica como instalar bluetooth-alsa en Debian e integrarlo con aplicaciones como mplayer, xmms y rhythmbox.

Autoconf y Automake

He escrito en la wiki un pequeño artículo sobre estos dos interesantes softwares, que permiten la creación de archivos Makefile mediante scripts del sistema. La dirección es http://wiki.debianchile.org/Autoconf