28/6/09

Uso de ethtool para cambiar parametros de red

Muchas veces nos es útil cambiar los parámetros por defecto que se configuran en la placa de red y obtener algo de información de ella, hoy vamos a ver el uso básico de la herramienta ethtool...

En primer lugar vamos a averiguar las características de la tarjeta que tenemos:
  • $ lspci | grep Eth
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
El sistema además la reconoce e identifica como eth0 (podemos verlo con ifconfig), para ver qué módulo del kernel la está manejando ejecutamos:
  • ethtool -i eth0
driver: via-rhine
version: 1.4.3
firmware-version:
bus-info: 0000:00:12.0
Para ver la configuración actual de esa tarjeta basta con hacer:
  • ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes
E incluso podríamos ver la información de la EEPROM de la tarjeta de red (en algunos casos) con:
  • ethtool -e eth0
Algo muy util suele ser bajar la velocidad de la placa de red:
ethtool –change eth0 speed 10 autoneg off
Para hacerlo de forma permanente deberías incluirlo en el fichero /etc/network/interfaces de la siguiente manera:
post-up ethtool –change eth0 speed 10 autoneg off
poniendo esta línea justo detrás de la que defina eth0...

Para configurar una interfaz ethernet a full-duplex, hacemos lo siguiente:
# ethtool -s eth0 autoneg off duplex full
Bueno es todo por hoy, si a alguien se le ocurre algo mas para agregar a la entrada comente que lo actualizo!

25/6/09

Introduccion a los logs de Linux

Algunas entradas de este blog he mencionado la posibilidad de analizar los log del sistema operativo para tener un indicio de lo que puede estar fallando, asi que como no trate el tema vamos a ver una breve introducción a ellos....

Los más importantes son:
/var/log/kern.log: Mensajes del núcleo
/var/log/syslog: Registro de mensajes relativos a la seguridad del sistema
/var/log/dmesg log con mensajes del sistema
/var/log/debug: Información de depuración de los programas
/var/log/messages: Información general que nos proporciona el sistema
/var/log/user.log: Información de usuario
/var/log/fsck/ log de los chequeos de disco
/var/log/auth.log: Conexiones al sistema (incluidos los intentos fallidos)
/var/log/Xorg.0.log: Información sobre el entorno gráfico
/var/log/debian-instaler: log de la instalación de Debian
/var/log/apt/term.log log de APT
Si tenemos instalado algún servidor:
/var/log/samba/ log de SAMBA
/var/log/cups/ logs del servidor de impresion
/var/log/mail.log logs del sistema de correo (por ejemplo postfix)
Para mantener seguro nuestro pc, debemos conocer muy bien los logs del sistema, saber interpretarlos e incluso protegerlos.

Para ver logs, podemos usar cualquier procesador de textos o incluso comandos como cat, less, more o zcat (si es que estan con algun tipo de compresion). Ésto puede convertirse en problema ya que si no hemos cambiado los permisos por defecto a estos archivos, cualquier usuario que se conecte a nuestra máquina tendrá acceso a ellos y por lo tanto conseguirá información sensible del sistema.

¿De que manera un usuario puede aprovechar los logs para realizar un ataque?
Por ejemplo, el archivo /var/log/auth.log contiene los usuarios que han accedido al sistema y las conexiones fallidas, por lo tanto, si un usuario se equivoca y en vez de introducir el usuario para la conexión, introduce la contraseña por ejemplo "password" esto queda almacenado en el archivo como que el usuario "password" no pudo iniciar sesión. El usuario (por ejemplo "fulanito") al no poder acceder al sistema volverá a intentarlo, esta vez con éxito, y ahora la siguiente línea del archivo mostrará que el usuario "Fulanito" inició sesión con éxito.
Con éste descuido del usuario y con la falta de protección ofrecida por el administrador, nos hemos hecho con la cuenta de "Fulanito" con pass "password", con la que podremos lanzar ataques al sistema sin dejar rastro de nuestra presencia.

23/6/09

Mouse serie en linux

Recuerdo que hace algún tiempo un chico de la facu tenia problemas para configurar un mouse serie en X, he aquí la solución...

Van a ver que tienen las siguientes lineas en el xorg.conf:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
EndSection
En la opción "Device" debemos cambiar "/dev/input/mice" por "/dev/ttyS0" (o ttyS1, o ttyS2, dependiendo del com que este usando su mouse). Luego en la opción "Protocol" "ImPS/2", debemos cambiar "ImPS/2" por "Microsoft" =-.(

La configuración de esta sección quedaría así:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/ttyS0"
Option "Protocol" "Microsoft"
Option "Emulate3Buttons" "true"
EndSection
Con esto estamos!

Usando Firefox / Iceweasel con perfiles

Muchas veces es util tener dos "configuraciones" de Firefox, para iniciar los dichosos perfiles debemos hacer:
$ firefox -P [nombre_perfil]
si estamos en linux, pero si estamos en win2 seria:
firefox.exe -P
Por supuesto, el nombre del perfil es opcional.

Si no lo ponemos, nos abrirá el asistente de creación y selección de perfiles.

Podemos tener un perfil básico, sin extensiones (o sólo las imprescindibles), otro con montones de extensiones destinadas al desarrollo web, otro con diccionarios, traductores.... Las posibilidaes son casi infinitas!!!

Si queremos trabajar con varios perfiles a la vez, hay que indicar la opción -no-remote, así:
$ firefox -no-remote -P nombre_perfil
Para mas informacion visiten esta web...

12/6/09

Papelera para la consola

Sip! lamentablemente, por error, elimine un archivo que no quería en la consola (por suerte ya lo recupere, luego cuento como lo hice) así que buscando di con una solución bastante elegante (mejor que la de crear una alias de rm).

Para solucionar este tipo de problemas, debemos instalar el paquete libtrash:
# aptget install libtrash
Luego añadimos en nuestro .bashrc una nueva variable de entorno LD_PRELOAD ( carga en memoria la librería dinámica que le indiquemos) con la ruta a la librería:
echo "export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4" >> ~/.bashrc
Ahora debemos cerrar y abrir la consola de nuevo para grabar los cambios o ejecutar:
source ~/.bashrc
Entonces, cada vez que hagamos un:
rm algo.txt
El archivo algo.txt va a ir al directorio Trash de nuestro home, que es el que simula la papelera...

Esto lo podemos personalizar aun mas, haciendo que el directorio trash apunte a otro lugar, esto quedara como ejercicio para el lector atento, solo les digo que busque en el archivo de configuración ~/.libtrash

Esto es todo por hoy y quizá para el mes ya que es época de examen, se ven al rato che!

9/6/09

Instalar Firefox en debian junto con Iceweasel

Bueno, retomando el tema blog... Esta vez le toco el turno a iceweasel, la verdad es que estoy algo decepcionado con su rendimiento, asi que me decidi instalar FIrefox para ver si el rendimiento mejora un poco, en estos momentos estoy escribiendo desde el, asi que después les cuento que tal funciona... Para instalarlo es muy simple:
  1. Descargamos desde la pagina de mozilla el navegador
  2. Una vez descargado lo descomprimimos con nuestra herramienta predilecta
  3. Copiamos el contenido de lo que descomprimimos (por lo gral. un directorio llamado firefox) a la capeta /opt de la siguiente manera:
    sudo mv firefox /opt
  4. Actualizamos el menu de Desktop que estemos usando (Kde, Gnome, LXDE, etc), donde dice comando lo apuntamos a:
    /opt/firefox/firefox
OBS: en caso de que no les funcione la maquina virtual de java pueden hacer un enlace simbolico de la siguiente manera:
# ln -s /usr/lib/jvm/java-6-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so
Espero no tengan estos problemas con iceweasel, pero por ahora es la unica solucion....