viernes, 30 de mayo de 2008

Próximamente: Nautilus con pestañas

Nautilus, el todopoderoso navegador de GNOME, todavía tiene postergada una muy solicitada característica: navegación con "pestañas" (o "solapas", como quieran llamarla). La primera solicitud para incorporarlas se registró el 2001, pero debido a los grandes cambios de infraestructura que requiriría un cambio como ese, su implementación se demoró hasta la fecha. Sin embargo, los usuarios de GNOME que migraron al mucho más liviano PCMan sólo por esa característica ahora pueden estar de regreso gracias al trabajo de Christian Neumair, que prácticamente tiene terminada su implementación en la rama de desarollo multiview del repositorio SVN de Nautilus.

Nautilus

Nautilus con pestañas podría estar listo para debutar junto con el próximo GNOME 2.22.4, si todos hacen su parte y ayudan a Neumair a realizar todas las pruebas necesarias.


Tomado de http://www.vivalinux.com.ar/soft/nautilus-con-solapas-proximamente.html


jueves, 29 de mayo de 2008

Cambiar el gcc por defecto en Debian Testing

Cambie mi vieja tarjeta de video sis por una Nvidia.

Al instalar los driver propietarios me dio un error, que me indicaba que la versión del gcc por defecto 4.2 era superior a la usada para compilar el nucleo, que era la 4.1.

Así que para cambiar la versión por defecto del gcc

  • Convertirse en usuario root
    • su
  • Ubicar donde se encuentra el binario de gcc
    • whereis gcc
  • Ir a la ubicación de gcc
    • cd /usr/bin/
  • Verificar la version por defecto
    • En realidad el ejecutable gcc es un enlace simbolico a una de las versiones de gcc
    • Con ls -lha gcc* vemos que gcc es un elnace simbólico a gcc-4.2
  • Eliminar el enlace gcc
    • rm gcc
  • Crear un nuevo enlace simbólico
    • ln -s gcc-4.1 gcc

Con este procedimiento, el enlace simbólico gcc queda apuntando a gcc-4.1 y la compilación de los drivers de nvidia se puede realizar normalmente.

Luego de la compilación puede crearse el enlace como estaba originalmente apuntando a gcc-4.2

miércoles, 28 de mayo de 2008

Compilar Mplayer en Debian Testing

El compilar aplicaciones multimedia tiene muchisimas ventajas, ya que el paquete resultante estará optimizado para aprovechar a el máximo nuestro hardware, a diferencia de un paquete precompilado para la mayoría de sistemas.

Todos los pasos de deben realizar como el usuario root

PREREQUISITOS

Luego de realizar una instalación básica de debian Testing, se debe instalar
  • Los headers del kernel que estemos usando
  • El paquete make
CODECS

Obtenemos los codecs ANTES de compilar el Mplayer desde aquí
  • Creamos la carpeta /usr/lib/codecs
    • mkdir /usr/lib/codecs
  • Copiamos los codecs desde el escritorio a su nueva ubicación
    • cp /home/USUARIO/Desktop/all-20071007.tar.bz2 /usr/lib/codecs
  • Descomprimimos los codecs
    • bzip2 -d all-20071007.tar.bz2
    • tar -xvf all-20071007.tar
  • Eso nos va a generar la carpeta /usr/lib/codecs/all-20071007
  • Movemos el contenido de la carpeta /usr/lib/codecs/all-20071007 a /usr/lib/codecs/
    • mv /usr/lib/codecs/all-20071007/* /usr/lib/codecs/

FUENTES MPLAYER

  • Obtenemos los fuentes de mplayer desde aquí
  • Los colocamos en /usr/src
    • mv /home/USUARIO/Desktop/MPlayer-1.0rc2.tar.bz2 /usr/src
  • Descomprimimos los fuentes
    • bzip2 -d MPlayer-1.0rc2.tar.bz2
    • tar -xvf MPlayer-1.0rc2.tar
  • Ingresamos a la carpeta MPlayer-1.0rc2
  • Revisamos los requisitos de los fuentes
    • ./configure
    • Si existe algún problema o falta algún paquete ahi se debería indicar claramente
  • Generamos el makefile
    • ./make
    • Acompañarse de café ya que dependiendo de su procesador este punto puede durar mucho :)
  • Instalamos el nuevo paquete
    • ./make install

SKIN


A mi me gusta el gui de xine para ver los videos así que apt-get install xine, y listo a reproducir cualquier formato.

martes, 27 de mayo de 2008

Protegiendo el ssh con DenyHosts

SSH (Secure SHell)

Es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos.

SSH trabaja de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión.

Ahora entiendo que mediante el protocolo ssh, se puede obtener el completo manejo de una máquina, muchos intentarán robar su contraseña, mediante varios métodos, donde los más comunes son

Ataque de fuerza bruta
En criptografía, se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso.

Ataque de diccionario
Un ataque de diccionario es un método de cracking que consiste en intentar con un listado de palabras, probándolas todas hasta dar con la contraseña o password. Un ataque de diccionario suele ser más eficiente que un ataque de fuerza bruta ya que los usuarios suelen utilizar contraseñas débiles. Tienen pocas probabilidades de éxito con sistemas que utilizan contraseñas fuertes con letras en mayúsculas y minúsculas mezcladas con números.

Existen variantes que comprueban también algunas de las típicas sustituciones (determinadas letras por números, intercambio de dos letras, abreviaciones) así como distintas combinaciones de mayúsculas y minúsculas.


En síntesis, dado lo valioso y provechoso de tener acceso ssh a una máquina, muchas personas utilizarán varios métodos para hacerse con acceso a su máquina probando diferentes usuarios y miles de combinaciones de contraseñas.


Como se 've' un ataque ssh

Realizando un análisis en el archivo auth.log
Vemos una entrada como la siguiente

Apr 7 17:30:08 servidor sshd[90935]: Invalid user dvp from 59.36.99.246
Apr 7 17:30:11 servidor sshd[90937]: Invalid user cvp from 59.36.99.246
Apr 7 17:30:14 servidor sshd[90940]: User root from 59.36.99.246

Evidentemente se trata de un ataque porque
  • Esta intentando ingresar como root
  • Es una dirección IP desconocida
  • Trata de realizar conexiones con diferentes nombres de usuarios


Qué es DenyHosts


Es un programa o script escrito en lenguaje de programación python y su función es prevenir el ataque a el servicio o demonio SSH por métodos como fuerza bruta o diccionario.

Muy importante mencionar que DenyHosts NO ES UN FIREWALL o CORTA FUEGOS, ya que únicamente protege el servicio o demonio SSH, SIEMPRE debe de acompañarse de un firewall.

Requerimientos
  • Python v2.3 o una versión superior
  • Un servidor sshd con soporte para tcp_wrappers habilitado

Instalación

Para la instalación y configuración vamos a indicar los pasos necesarios tanto para Freebsd como para Gnu/Linux Debian.


En Freebsd
  • Actualizar el árbol de ports
  • Instalar el port ports/security/denyhosts (make install clean)

En Gnu/Linux Debian
  • Actualizar la lista de paquetes (apt-get update)
  • Instalar DenyHosts (apt-get install denyhosts)

Configuración de DenyHosts

En freebsd
  • Añade, en el fichero /etc/rc.conf las líneas:
    • denyhosts_enable="YES"
      syslogd_flags="-c"
La primera línea es para que inicie el programa al iniciar el sistema. La otra es para que syslogd no agrupe mensajes de log repetidos, así sabremos cuantos intentos se han realizado
  • Edite el archivo /etc/hosts.allow y agregar
    • sshd : /etc/hosts.deniedssh : deny
      sshd : ALL : allow

  • Cree el archivo /etc/hosts.deniedssh
    • touch /etc/hosts.deniedssh
      chmod 644 /etc/hosts.deniedssh
      chown root:wheel /etc/hosts.deniedssh

Editando el archivo de configuración de DenyHosts

Dependiendo del Sistema operativo que se utilice, la ubicación del archivo de configuración de DenyHosts, varia.

SO Ubicación
Freebsd /usr/local/etc/denyhosts.conf
Gnu/Linux Debian /etc/denyhosts.conf
CentOS /usr/share/denyhosts/denyhosts.cfg

Los primeros parámetros del archivo son la ubicación del archivo que contiene la información de los accesos ssh y la ubicación del archivo que contiene las direcciones ip de las máquinas que no deben tener acceso,los cuales varían según el Sistema Operativo que se utilice, para lo cual el archivo de configuración trae las opciones para cada uno de ellos.

Solo se comentarán los cambios que se le hicieron a el archivo, siéntase en la libertad de modificar el archivo a sus necesidades, cada parámetro del archivo esta internamente documentado

Nunca vaciar la lista de hosts prohibidos
# never purge:
PURGE_DENY =

Ńumero de intentos fallidos antes de bloquear el host o ip
DENY_THRESHOLD_INVALID = 3

Dirección de correo donde se envían las notificaciones de bloqueo
ADMIN_EMAIL = correo@email.com

Asunto del mensaje
SMTP_SUBJECT = DenyHosts Report

Importante
Al realizar una conexión existosa, la cuenta de 3 se regresa a 0
RESET_ON_SUCCESS = yes


Seguidamente, luego de los cambios en el archivo de configuración se debe reiniciar el servicio DenyHost, y ver como se va llenando el archivo de hosts prohibidos :)

Recomendaciones adicionales sobre el protocolo ssh

  • No permitir el acceso de el usuario root mediante ssh
  • Cambiar el puerto estandar (22)donde 'escucha' ssh
  • Editar la lista de usuarios que pueden realizar conexiones ssh al equipo
  • Utilizar la autentificación mediante el uso de claves DSA/RSA y no mediante usuario y contraseña.


Resultados

Luego de un buen tiempo de uso se han bloqueado un total de 3271 direcciones ip.