Skip to Content

No te olvides de visitar:

Software libre

Software libre

Longevidad de las distros de Linux

Como hace unos días ha sido el 5º Aniversario de Ubuntu, la gente de Mundo Geek ha hecho está gráfica en la que muestra la longevidad de las distros más populares de Linux:

Distros de Linux

Quería aprovechar para citar una frase que he leído en los comentarios de Meneame y me ha hecho gracia:

Ubuntu es la manera africana de decir "no tienes huevos de instalar una Debian"

Un saludo a todos!

Protege tu servidor SSH de ataques de fuerza bruta

Categoría:

Si tenéis un servidor SSH corriendo y alguna vez os habéis parado a mirar los logs, habréis visto una gran cantidad de intentos de acceso no autorizados. Si estudiáis más detenidamente los logs descubriréis que la mayoría de veces son ataques basados en diccionarios o similares, por tanto a no ser que nuestros passwords sean muy débiles es difícil que consigan acceder a nuestra máquina. Pero para que arriesgarnos...vamos a ver como protegernos de estos seres malignos e indeseables que intentan entrar en nuestro sistema.

Hay varios programas/scripts que sirven para proteger nuestro servidor SSH de ataques de fuerza bruta, como por ejemplo:

Después de probarlos , me quedo con Denyhosts, ya que es sencillo de instalar/configurar, apenas consume recursos y cumple su cometido de sobra. Vamos a ver como instalarnos Denyhosts en nuestra Ubuntu.

En Ubuntu Hardy Heron Denyhosts viene incluido en los repositorios, así que su instalación es tan sencillo como:

    • sudo apt-get install denyhosts

Una vez instalado debemos crear un par de archivos (si es que no existen ya), para ello nuestro colega touch nos será útil:

    • sudo touch /etc/hosts.allow
    • sudo touch /etc/hosts.deny

Con esto ya tenemos instalado denyhosts y con la configuración por defecto, para arrancarlo y pararlo manualmente haremos lo siguiente:

    • sudo /etc/init.d/denyhosts start
    • sudo /etc/init.d/denyhosts stop

La configuración de denyhosts se guarda en /etc/denyhosts.conf, vamos a ver algunas de las directivas que podemos modificar desde este archivo:

    • DENY_THRESHOLD_INVALID: Número de intentos fallidos (con un usuario que no exista) necesarios para banear esa IP.
    • DENY_THRESHOLD_VALID: Número de intentos fallidos (con un usuario existente) necesarios para banear esa IP.
    • DENY_THRESHOLD_ROOT: Número de intentos fallidos (intentando entrar como root) necesarios para banear esa IP.
    • BLOCK_SERVICE = sshd/ALL/etc... : Esta directiva indica los servicios que bloqueará a los usuarios baneados.
    • DAEMON_LOG = /var/log/denyhosts : Indica el archivo en el que se guardará el log de denyhosts.

Estas son las directivas más utilizadas, aunque tiene muchas más, dentro del propio archivo /etc/denyhosts.conf viene comentado para que sirve cada una, por tanto no me alargaré más en explicarlas todas. Otro de los consejos que os daría para evitar el 90% de los intentos de acceso es cambiar el puerto en el que tenemos corriendo el servidor de ssh por uno más alto (por encima del 1024 a ser posible), eso lo hacemos modificando la directiva port en el archivo /etc/ssh/sshd_config. Para terminar os aconsejaría que no permitierais logearse por ssh como root, esto se desactiva en el mismo archivo etc/ssh/archivo sshd_config mediante la directiva "PermitRootLogin no"

Con todo esto tendremos algo más seguro (en informática pocas veces se esta seguro de algo un 100%) nuestro servidor SSH.

Un saludo compañeros

Como hacer un reinicio seguro cuando se cuelga Linux

Categoría:

A pesar de la solidez de Linux (en 3 años y pico que llevo con él trabajando a diario, se me ha colgado un par de veces), el sistema alguna vez se queda pillado sin posibilidad de hacer nada para recuperarlo. En ese momento debemos acudir a este artículo para ver que podemos hacer.

Cuando el cuelgue se produce podemos reiniciar el sistema de manera "no salvaje" (manera salvaje=botonazo) activando el modo SysReq, para ello mantenemos pulsado Alt+Impr Pant mientras pulsamos la siguiente combinación de teclas: RSEIUB.

Ahora vamos a ver que significado tienen las teclas RSEIUB (y alguna otra que hay disponible para el modo SysReq):

    • R: Retorna el control al teclado y ratón.
    • S: Sincroniza los sistemas de archivos y las unidades montadas.
    • E: Envia a todos los procesos la señal TERM.
    • I: Envia a todos los procesos la señal KILL.
    • U: Desmonta todos los sistemas de archivos.
    • B: Reinicia la máquina.
    • F: (Out Of Memory Killer) Mata a los procesos que esten consumiendo toda la memoria disponible.
    • K: Mata todos los procesos del terminal actual.
    • L: Envia la señak SIGKILL a todos los procesos (no recomendable, ya que habría que reiniciar de botonazo).
    • M: Realiza un volcado de memoria por pantalla.
    • 0-9: Configura el nivel de log, decidiendo que mensajes serán mostrados por pantalla.
    • O: Realiza un shutdown via ACPI.
    • P: Hace un volcado en la consola de los registros y flags actuales.
    • Q: Vuelca información de todos los timers en la consola.
    • T: Hace un volcado en la terminal de las tareas actuales.
    • W: Hace un volcado del estado de las tareas bloqueadas.

Solo me queda deciros que si esto que hemos comentado aquí no funciona...ya sabéis ¡botonazo rulez! ...y a rezar :P

¡Un saludo a todos compañeros!

Artículo original (inglés): Ubuntuforums

El directorio Proc, ese gran desconocido

Categoría:

Si alguna vez os habéis puesto a explorar el árbol de directorios de Linux puede que os hayáis encontrado con un directorio muy curioso, el directorio "proc". Una de las cosas curiosas de este directorio es que casi todos los archivos tienen tamaño 0, sin embargo hacemos un cat archivo y casi todos tienen contenido. Este directorio tan especial esta formado por "archivos virtuales" (no existen físicamente en el disco, el sistema les crea al vuelo al leerles) que contienen todos los detalles sobre nuestro Linux: kernel, procesos, hardware, parámetros de configuración, etc...

Algunos archivos que pueden ser interesantes dentro de este directorio son:

    • /proc/meminfo -> Este archivo nos muestra, como su propio nombre indica, información del uso de la memoria del sistema. Este archivo mostraría algo como esto:
        • total: used: free: shared: buffers: cached:
        • Mem: 2107932672 2097041408 10891264 0 47378432 1366601728
        • Swap: 4293136384 82972672 4210163712
        • Mas líneas....
    • /proc/cpuinfo -> Este archivo muestra información sobre la CPU del sistema.
    • /proc/loadavg -> Aquí podemos ver la carga media del sistema en el formato habitual (último minuto, últimos 5 minutos y últimos 15 minutos)
    • /proc/uptime -> Muestra información del tiempo en segundos que lleva la máquina funcionando desde el último arranque.
    • /proc/filesystems -> Muestra que sistemas de archivos son soportados por nuestro kernel.
    • /proc/fs -> Muestra los directorios que tenemos compartidos mediante NFS.
    • etc...

Dentro del directorio proc hay además, una serie de directorios cuyo nombre es un número, estos directorios contienen información sobre procesos cuyo PID
es el nombre del directorio. Una vez que el proceso finaliza automáticamente desaparece su carpeta. Si entramos en la carpeta de un proceso podemos encontrar toda la información sobre el mismo en diferentes archivos: el comando que inicio el proceso (cmdline), estado del proceso (stat y status), las variables de entorno del proceso (environ), etc...

Además de todos estos archivos y directorios, hay algunos directorios más que muestran información completa sobre otros dispositivos o partes del sistema como el directorio net (nos da información de la red), el directorio sys (permite modificar al vuelo parámetros del kernel), los directorios SCSI e IDE (información sobre dispositivos SCSI e IDE), etc...

Un saludo a todos.

Artículo basado en un artículo de Linux.com

[Howto] Backup del MBR desde Linux

Categoría:

Supongo que más de uno de vosotros y más de dos, habrá tenido alguna vez problemas con el MBR (Master Boot Record), que si windows no me arranca, que si la abuela fuma una hierba rara... Para tratar de solucionar todos estos problemas vamos a ser unos chicos precavidos y vamos a hacer una copia de seguridad del MBR. Para ello nos vamos a la consola de nuestro querido e idolatrado Linux y escribimos:

    • dd if=/dev/hdx of=backup-mbr bs=512 count=1

Con este comando lo que estamos haciendo es copiar en el archivo backup-mbr los primeros 512 bytes del dispositivo /dev/hdx (evidentemente aquí debéis especificar el dispositivo de que queréis hacer el backup, por ejemplo /dev/hda, /dev/sda si es un dispositivo SCSI, etc...). Una vez hecho esto guardaremos en un lugar seguro el archivo generado para cuando lo necesitemos poder restaurar la copia del MBR mediante el siguiente comando:

    • $dd if=backup-mbr of=/dev/hdx bs=512 count=1

Si sois gente observadora (de lo cual estoy casi seguro) os habréis dado cuenta de que lo que hacemos aquí es justamente el proceso inverso, con lo cual queda restaurado nuestro MBR y todo solucionado.

Un saludo muchachos!

Distribuir contenido