Vulnerabilidades en Skype

Buenas. Leyendo en www.hispasec.com/unaaldia/2558 me encuentro con que Skype tiene una vulnerabilidad y tal y cual.

Afecta a TODAS las versiones, Linux incluido. Luego a mí me afecta. Antes de que los anti-linuxeros entre la audiencia comiencen a frotarse las manos, que se sepa que si ese Skype ejecuta código en mi máquina, como no borre /home/dfreniche …

Así que ya sabeis:

a) Actualizad la versión

b) No acepteis tarjetas de visita de gente que no os suene. Se aprovechan de eso para colar código.

Y otra cosa. El colmo del SPAM. El otro día me mandaron un mensaje instantáneo por Skype para venderme páginas web a 100 Eur. Tiene bemoles.

j j j

A Google también le puede ocurrir

En la Wikipedia hay un par de artículos para los típicos fallos de Windows (los de Win3.11 eran los Black screen of Death y los de Win98 en adelante son los Blue Screen of Death). Mucho nos hemos reído los informáticos a costa de esto. Bueno, cuando te pasaba tres veces en una hora y no habías grabado el código del programa que estabas escribiendo, no te reías tanto.

Pues a Google también le pasa. Y como muestra la imagen de al lado. ¿Cómo se llamará esto? ¿GSoD?

j j j

Estructura del if en la bash

if list; then list; [ elif list; then list; ] ... [ else list; ] fi

The if list is executed. If its exit status is zero, the then
list is executed. Otherwise, each elif list is executed in
turn, and if its exit status is zero, the corresponding then
list is executed and the command completes. Otherwise, the else
list is executed, if present. The exit status is the exit sta-
tus of the last command executed, or zero if no condition tested
true.

j j j

Error al instalar NFS: invoke-rc.d: initscript nfs-kernel-server, action «restart» failed.

Tras actualizar el servidor NFS nfs-kernel-daemon, nos encontramos con éste error.Este error se debe muchas veces a la prisa con la que se instalan los paquetes. Probablemente hemos dejado los ficheros de configuración que ya teníamos y no los que trae el nuevo paquete. Si no cambiamos nada, el nuevo NFS intenta utilizar el servidor sgss, que si no está configurado hace que no se inicie el servidor nfs.
Para solucionarlo iremos a la carpeta /etc/defaults que es donde nfsd guarda su configuración. Una vez allí, es posible que tengamos un fichero llamado nfs-kernel-server y otro nfs-kernel-server.dpkg-dist. Este último es el que nos ha instalado apt-get, con la configuración del paquete. En el caso que nos ocupa, no vamos a usar gssd, pero no se lo hemos dicho (en el fichero de configuración antiguo no lo teniamos). La solución:
NEED_SVCGSSD=no

j j j

CUPS no imprime en Red

Se puede deber a múltiples causas. El puerto 631 (IPP) no debe estar bloqueado por el firewall. El servicio cupsd debe estar corriendo (/etc/init.d/cupsd start).
En el fichero /etc/cups/cupsd.conf, la sección viene por defecto:

Order Deny,Allow
Deny From All
Allow From 127.0.0.1

Lo cual sólo nos permite imprimir desde la máquina que tiene la impresora conectada. Debemos añadir una línea como:

Allow From 10.1.1.*

si nuestra red privada tiene esta dirección, claro.

j j j

Crear un servicio personalizado

A veces es deseable disponer de un servicio personalizado en /etc/init.dAl crear el nuevo servicio (borra-tmp) aparece en la lista de services-admin

El método más rápido consiste en copiar un script de los que tengamos en /etc/init.d y retocarlo a nuestro gusto. Aparecerá en la herramienta Servicios (menú Sistema, aunque podemos llamarla desde consola con services-admin)

Por ejemplo, un servicio que borre el tmp mediante la orden /etc/init.d/borra-tmp start puede ser:

#!/bin/sh
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
usage () {cat << END$initd options:

start

Borra la carpeta tmp

clear

no usado

END

}
case "$1" instart)rm -r /tmp/*

;;

clear)
;;*)if test "$@"; then

echo "Aborting iptables initd: unknown command(s): \"$@\"."

fi

usage

;;

esac
exit 0
j j j

Crear modelines. X no coge la resolución de mi monitor.

Si con las XFREE-4 tu monitor no se ve a la resolución y con la tasa de refresco que esperabas, deberías hacer:1) comprobar que efectivamente XFREE-4 intenta y no puede poner tu monitor en la resolución esperada. Hay que leerse /var/log/XFree86.0.log

# less /var/log/XFree86.0.log

especialmente las lineas que aparecen como:

(II) SIS(0): Not using default mode "800x600" (vrefresh out of range)
(II) SIS(0): Not using default mode "800x600" (hsync out of range)

Esto son mensajes de información (II): los modos definidos en /etc/X11/XF86Config-4 y de nombre «800×600» no cuadran con la información de sincronización vertical y horizontal que ha detectado para nuestro monitor.
Si miramos en /etc/X11/XF86Config-4 nos encontraremos con unas curiosas líneas en las que se describen los modos que soportan la mayoría de los monitores, líneas llamadas modeline y que tienen esta pinta:
Modeline «800×600» 40.12 800 848 968 1056 600 601 605 628 #60Hz

2) Suponiendo que tras leer /var/log/XFree86.0.log vemos que se detecta nuestra tarjeta de video y que indica que nuestro monitor soporta la resolución que deseamos (o tenemos Windows instalado en otra partición y lo tenemos con esa resolución) podemos:
a) buscar los modelines por Internet
b) generar nuestras propias modelines

3) Para generar los modelines, usa videogen (instala antes el paquete, se usa desde consola) y create un fichero en el directorio donde vayas a ejecutar videogen que se llame .videogen y con un contenido más o menos como:

max_dotclk=60 # the maximum pixel/dot clock supported by my projector
max_hfreq=54; max_vfreq=90 # the max horizontal and vertical frequency
desired_vfreq=60 # the frequency you decided to use
mode 1024x768 # the resolution your HTPC will be running

Es decir, si en tu consola estás en /home/pepe, crea un fichero .videogen mediante un:
dfreniche@tesla:home/pepe $ gedit .videogen

y copias en el editor el contenido mostrado más arriba.
Tras ésto, grabas, cierras gedit y ejecutas videogen. Te imprimirá en la consola una línea Modelines. La copias, editas el fichero de configuración de las X (debes ser root para cambiarlo), grabas y pruebas.
En mi caso, el monitor es un LG StudioWorks 550M. Lo he puesto a 1024×768 y a 60 Hz.

j j j

Configurar hosts virtuales en Apache

Los host virtuales en apache nos permiten tener en una misma máquina diferentes sitios web, cada uno con una URL diferente pero apuntando a la misma IP. De esta forma, podemos tener dos versiones de un mismo portal web, de producción y desarrollo, con URLs: desarrollo.miportal.com y produccion.miportal.com
Para conseguir ésto, hay que tocar tres ficheros:
1. Hay que redirigir las URLs a la IP de la máquina. Hay que editar /etc/hosts para conseguir ésto. Mi /etc/hosts tiene la pinta:

127.0.0.1 tesla localhost
10.1.1.1servidorservidor
127.0.0.1local.freniche.comlocal.freniche.com
127.0.0.1phpmyadminphpmyadmin
127.0.0.1phpphp

para comprobarlo, hay que hacer ping a las direcciones nuevas para ver que «responden». Es decir, ping local.freniche.com, ping php, etc
Todos deben responder desde el 127.0.0.1
2. Una vez hecho esto, hay que editar /etc/apache/httpd.conf y modificar la sección virtual hosts

NameVirtualHost 127.0.0.1
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
#
#
# ServerAdmin webmaster@host.some_domain.com
# DocumentRoot /www/docs/host.some_domain.com
# ServerName host.some_domain.com
# ErrorLog logs/host.some_domain.com-error.log
# CustomLog logs/host.some_domain.com-access.log common
#
#
#

# ServerAdmin webmaster@host.some_domain.com
#Options Indexes Includes FollowSymLinks MultiViews
#DocumentRoot /home/dfreniche/Documents/trabajo/xoops/xoops-2.0.5/html
DirectoryIndex index.php
DocumentRoot /home/dfreniche/xoops/html
ServerName local.freniche.com
# ErrorLog logs/host.some_domain.com-error.log
# CustomLog logs/host.some_domain.com-access.log common

# ServerAdmin webmaster@host.some_domain.com
#Options Indexes Includes FollowSymLinks MultiViews
#DocumentRoot /home/dfreniche/Documents/trabajo/xoops/xoops-2.0.5/html
DirectoryIndex index.php
DocumentRoot /home/dfreniche/phpMyAdmin-2.5.4
ServerName phpmyadmin
# ErrorLog logs/host.some_domain.com-error.log
# CustomLog logs/host.some_domain.com-access.log common

# ServerAdmin webmaster@host.some_domain.com
#Options Indexes Includes FollowSymLinks MultiViews
#DocumentRoot /home/dfreniche/Documents/trabajo/xoops/xoops-2.0.5/html
DirectoryIndex index.php
DocumentRoot /home/dfreniche/php
ServerName php
# ErrorLog logs/host.some_domain.com-error.log
# CustomLog logs/host.some_domain.com-access.log common
  1. No olvidemos cambiar la configuración del proxy del navegador/explorador para que no intente.
j j j

¿Cómo obligo a SAMBA a que los ficheros creados en una carpeta compartida pertenezcan a un usuario determinado?

Si tenemos una carpeta compartida en SAMBA con permisos de escritura para los usuarios que accedan por la red (como es el caso de la carpeta /home/compartido en Guadalinex), los nuevos ficheros creados pueden, o pueden no pertenecer al usuario que nos interese.

Es decir, al pasar ficheros por la red puede pasarnos que estos ficheros no podamos editarlos porque pertenecen a nobody, nogroup. Para obligar a samba a que el usuario sea dfreniche y el grupo users hay que añadir en smb.conf:

force user = dfreniche
 force group = users

Por supuesto hay que reiniciar samba

/etc/init.d/samba restart
j j j