Detectar un intruso en tu red wifi

Es más habitual de lo que creéis que algún cabroncete se cuele en vuestra red wifi. A fin de cuentas cualquier hijo de vecino se puede hacer con el Wifiway y un manual, y si su tarjeta  de red se lo permite en cuestión de minutos, u horas, se te cuela. Si notáis que la red empezó a ir más lenta desde hace una temporada, es un buen indicador de que puede que os estén jodiendo la wifi.

Hoy he probado dos aplicaciones: Zamzom Wireless Network Tool y Wireless Network Watcher.

El primero os lo podéis bajar desde su página oficial pero es de pago, por lo que la versión gratuita no tiene todas las funcionalidades. En todo caso lo básico sobre quién está conectado a la red te lo dará (IP y MAC), pero por ejemplo no te deja ver el nombre del equipo. 

En el caso del segundo, que puedes descargar aquí, la interfaz es más fea, si lo quieres en castellano te tienes que bajar un fichero con la traducción aparte y da la impresión de ir un poquitín más lento (realmente no, lo que pasa es que este no tiene análisis rápido como el Zamzom, por defecto hace siempre el análisis en profundidad). Ventajas: este te da toda la información sobre quién está conectado, por lo que es mucho más útil. Para instalar el idioma que quieras basta con descargarse el archivo de traducciones que hay en la misma página de descargas y copiarlo dentro de la carpeta donde tengáis el .exe guardado.

Hay una tercera opción: AirSnare que lleva sin actualizaciones desde 2006 pero que dicen que da buen rendimiento. En este caso sólo está disponible en alemán o en inglés.

Ok, y una vez detectado el intruso ¿qué? ¿Cómo echar a un intruso de la red wifi?. Pues toca cambiar la contraseña del router y, de paso, comprobad que esté usando una encriptación fuerte, porque si usa wep estáis jodidos, con Wifiway es cuestión de minutos entrar. Para cambiar de wep a un tipo de encriptación más fuerte, aquí tienes un tutorial de cómo hacerlo.
En fin, a ver si no tenéis muchos intrusos pateando vuestra red, jeje. Suerte con la caza.

Instalar PostgreSQL en Ubuntu / Debian / Linux Mint

PostgreSQL mola por muchos motivos: es libre (licencia BSD), es estable, puede usarse en aplicaciones comerciales, es muy escalable y tiene un elefante como logo (y todo el mundo que no es Borbón ama a los elefantes).

La instalación de PostgreSQL en tu linux (ya sea Debian, Ubuntu o Mint) es sencillita. Empezaré con Ubuntu/Mint, y tras esto, Debian.

Empezamos con el clásico:

sudo apt-get install postgresql  libpq-dev

En Debian la cosa sería prácticamente igual pero con aptitude en lugar de apt-get.

Luego toca lanzar una instancia del servidor de bases de datos y cambiar la

su -n postgres

psql -d postgres -U 

##ahora estaréis en la una instancia de Postgres, ya.
postgres=#
postgres=# alter user postgres with password 'El que toque' 
postgres=# q

Obviamente en vez de ‘El que toque» ponéis un password decente, uno que creáis seguro (nunca menos de 12 dígitos, con letras, número y símbolos)

Y tras esto sólo os queda instalar el entorno gráfico del servidor de la base de datos. Para esto basta un simple:

sudo apt-get install pgadmin3

PostgresAdmin es un cómodo y liviano entorno gráfico que os facilitará mucho la vida.

Ok ¿y en Debian? Similar y sencillito. Ya no explico los pasos, porque son los mismos, lo meto todo en un mismo bloque de texto:

aptitude install postgresql

##Cambiamos la contraseña

su postgres

psql

alter user postgres with password 'nuevopassword';

##Instalamos PostgresAdmin

aptitude install pgadmin3

Ya lo ves, clavadico en Debian.

En fin, es tarde y mañana tengo un examen de certificación de Oracle así que os dejo con esto. Estos días estoy menos activo porque he estado chapando para estas cosas y administrando y gestionando la página de WP del festival Pardiñas Rock.

Instalar ICECAST2 en Ubuntu o Debian

¿Quieres instalar un servidor de radio en tu Ubuntu o Debian? Icecast2 es una buena solución para esto, un servidor de streaming libre, para linux, con soporte para .ogg y .mp3. Irá todo hecho por línea de comandos, porque si quieres montar un servidor de verdad lo más probable es que uses una distribución sin entorno gráfico.

El servidor icecast requiere de un cliente que le provea los contenidos, que pueden ser archivos ubicados en una carpeta en el PC, un reproductor de CD, un micrófono conectado a la tarjeta de sonido. En este ejemplo utilizaremos Ices2.

El primer paso será instalar icecast con el siguiente comando:

sudo apt-get install icecast2 ices2 vorbis-tools

Una vez instalado el servidor seguimos con la configuración del mismo. Empieza por editar el xml con la configuración:

sudo gedit /etc/icecast2/icecast.xml

Dentro te tocará definir los password para las fuentes y del administrador, así como el nombre del servidor. Busca la siguiente sección y rellena entre las etiquetas con los datos que correspondan:

<authentication>
<!-- Sources log in with username 'source' -->
<source-password>PASSWORD_FUENTE</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>PASSWORD_RELAY</relay-password>

<!-- Admin logs in with the username given below -->
<admin-user>ADMINISTRADOR</admin-user>
   <admin-password>PASSWORD_ADMINISTRADOR</admin-password>
</authentication>

Y tras poner esto tal cual busca la siguiente línea para indicar el nombre del servidor que vamos a utilizar. Si emitimos desde nuestro equipo en local ponemos localhost

<!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. -->
<hostname>www.miservidor.com</hostname>

También puedes modificar el listen socket para elegir el puerto, pero si va a ser desde tu equipo local deja por defecto el 8000

Ahora te toca habilitar el servicio, que por defecto viene deshabilitado para obligarte a cambiar la contraseña y el administrador.

sudo gedit /etc/default/icecast2

Ahí encontrarás esta línea, donde el valor estará a false y debes dejarlo a true como en el ejemplo:

# Edit /etc/icecast2/icecast.xml and change at least the passwords.
 # Change this to true when done to enable the init.d script
 ENABLE=true

Una vez habilitado, lo único que nos queda es activarlo:

sudo /etc/init.d/icecast2 start

La parte jodida llega ahora, ya que Ices2 no viene con archivos de configuración por defecto. En /usr/share/doc/ices2/examples se encuentran ejemplos para configuraciones de alsa, ogg y playlist. Como lo más habitual es utilizar esta última (usamos un playlist con música y con los programas previamente grabados), creamos una carpeta en etc llamada ices y copiamos el archivo allí. De paso, ya creamos la carpeta para el archivo log de ices y le damos permisos

sudo mkdir /etc/ices2
sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/
sudo chmod +x /etc/ices2/ices-playlist.xml
sudo mkdir /var/log/ices
sudo chmod 777 /var/log/ices

Ahora toca modificar el xml:

sudo gedit /etc/ices2/ices-playlist.xml

Ahora os explico todo del tirón y luego ya os pongo debajo el documento completo para que veáis el ejemplo. Lo primero es en background cambiar el 0 por un 1, para así ejecutar en segundo plano el cliente y no tener el terminal abierto todo el tiempo. En la sección metadata configuramos el nombre, género y descripción de la estación de radio. En la sección input establecemos la ruta del archivo con la lista de reproducción (parámetro file), si queremos que la reproducción sea aleatoria (parámetro random, siendo 1 que sí y 0 que no) y si queremos que al acabar se corte la emisión o que se siga emitiendo en bucle (parámetro once). Finalmente en la sección instance configuramos el servidor, puerto, la contraseña de las fuentes (usa los mismos que pusiste antes al configurar el servidor) y el punto de montaje (pon algún nombre que sea descriptivo, sin espacios y acabado en .ogg

<?xml version="1.0"?>
<ices>
    <!-- run in background -->
    <background>1</background>
    <!-- where logs, etc go. -->
    <logpath>/var/log/ices</logpath>
    <logfile>ices.log</logfile>
    <!-- 1=error,2=warn,3=info,4=debug -->
    <loglevel>4</loglevel>
    <!-- set this to 1 to log to the console instead of to the file above -->
    <consolelog>0</consolelog>

    <!-- optional filename to write process id to -->
    <!-- <pidfile>/home/ices/ices.pid</pidfile> -->

    <stream>
        <!-- metadata used for stream listing (not currently used) -->
        <metadata>
            <name>Donnie Rock Radio</name>
            <genre>Rock'n'fuckin'roll</genre>
            <description>Lemmy en la cabeza y el corazón</description>
        </metadata>

        <!-- input module

            The module used here is the playlist module - it has 
            'submodules' for different types of playlist. There are
            two currently implemented, 'basic', which is a simple
            file-based playlist, and 'script' which invokes a command
            to returns a filename to start playing. -->

        <input>
            <module>playlist</module>
            <param name="type">basic</param>
            <param name="file">/home/donato/musicaradio/playlist.txt</param>
            <!-- random play -->
            <param name="random">0</param>
            <!-- if the playlist get updated that start at the beginning -->
            <param name="restart-after-reread">0</param>
            <!-- if set to 1 , plays once through, then exits. -->
            <param name="once">1</param>
        </input>

        <!-- Stream instance
            You may have one or more instances here. This allows you to 
            send the same input data to one or more servers (or to different
            mountpoints on the same server). Each of them can have different
            parameters. This is primarily useful for a) relaying to multiple
            independent servers, and b) encoding/reencoding to multiple
            bitrates.
            If one instance fails (for example, the associated server goes
            down, etc), the others will continue to function correctly.
            This example defines two instances as two mountpoints on the
            same server.  -->
        <instance>
            <!-- Server details:
                You define hostname and port for the server here, along with
                the source password and mountpoint.  -->
            <hostname>localhost</hostname>
            <port>8000</port>
            <password>XYZw3c676</password>
            <mount>/lista_programa.ogg</mount>

            <!-- Reconnect parameters:
                When something goes wrong (e.g. the server crashes, or the
                network drops) and ices disconnects from the server, these
                control how often it tries to reconnect, and how many times
                it tries to reconnect. Delay is in seconds.
                If you set reconnectattempts to -1, it will continue 
                indefinately. Suggest setting reconnectdelay to a large value
                if you do this.
            -->
            <reconnectdelay>2</reconnectdelay>
            <reconnectattempts>5</reconnectattempts> 

            <!-- maxqueuelength:
                This describes how long the internal data queues may be. This
                basically lets you control how much data gets buffered before
                ices decides it can't send to the server fast enough, and 
                either shuts down or flushes the queue (dropping the data)
                and continues. 
                For advanced users only.
            -->
            <maxqueuelength>80</maxqueuelength>

            <!-- Live encoding/reencoding:
                Currrently, the parameters given here for encoding MUST
                match the input data for channels and sample rate. That 
                restriction will be relaxed in the future.
            -->
            <encode>  
                <nominal-bitrate>64000</nominal-bitrate> <!-- bps. e.g. 64000 for 64 kbps -->
                <samplerate>44100</samplerate>
                <channels>2</channels>
            </encode>
        </instance>

    </stream>
</ices>

Ahí tenéis el ejemplo completo.

En fin, ya estamos acabando. Nos falta configurar el archivo de canciones a reproducir, siguiendo una de estas dos opciones:

##Opción 1: Crear una ruta hacia el archivo con la lista de canciones con el siguiente comando
sudo find /Ruta_Archivo -iname "*.ogg" > /Ruta_Archivo/LISTA.TXT

##Opción 2: Editamos el archivo y tecleamos la ruta completa para cada canción
sudo gedit /Ruta_Archivo/LISTA.TXT

##Y las vas agregando con esta este formato:
##/Ruta_Archivo/cancion1.ogg
##/Ruta_Archivo/cancion2.ogg

Ahora simplemente tienes que lanzar ices2:

sudo ices2 /etc/ices2/ices-playlist.xml &

Tras todo esto si vamos a http://localhost:8000 encontraremos un link al punto de montaje y, al picar en él podremos escuchar nuestro servidor de radio.

El servicio se para como cualquier otro servicio, con un sudo /etc/init.d/icecast2 stop mientras que para parar el cliente ices deberás buscar el pid del proceso y matarlo.

Si en lugar de un playlist lo que queréis es emitir radio en directo La cosa no cambia mucho. Lo primero que necesitáis, claro está, es tener una tarjeta de sonido que os deje enchufar un micrófono. Aunque si queréis algo más profesional lo mejor es meter una mesa de mezclas para poder alternar entre música (desde otro dispositivo reproductor conectado a la mesa) y el micro. La gran diferencia es que en lugar del xml de configuración playlist de ices2 debes copiar y editar el alsa. Con lo cual la cosa quedaría más o menos así:

sudo cp /usr/share/doc/ices2/examples/ices-alsa.xml /etc/ices2/
sudo gedit /etc/ices2/ices-alsa.xml

Mayormente la configuración es casi igual que la del playlist, pero obviamente sin la ruta a la lista de canciones, que en este caso no existe.

También cambia la instrucción para lanzar el ices, que ahora será sudo ices2 /etc/ices2/ices-alsa.xml & así que tenlo en cuenta a la hora de ejecutarlo.

La emisión en vivo es más coñazo, pero por otra parte te da las ventajas de emitir en directo en lugar de hacerlo con canciones o programas ya pregrabados.

En fin, ahora sólo os queda buscar un alojamiento en Islandia o Rusia desde el que poder emitir sin preocuparos de la persecución de la SGAE.

Diez aplicaciones prácticas para tu USB

Cuando te vas por esos mundos de dios a arreglar ordenadores llega un punto en que necesitas diversas aplicaciones. Ya hicen en su día una entrada sobre algunas herramientas básicas para la reparación, recuperación y mantenimiento, pero ahora hablaremos de otra serie de aplicaciones que no está mal que lleves siempre encima, dentro de un USB, por lo que pueda pasar. Hablamos de Windows, y lo haremos en la mayoría de los casos

  • AVZ-Antiviral Toolkit: Esta herramienta, incorporada por Kaspersky en sus propios antivirus. Se trata de un antivirus hardcore, vamos, que es para usuarios avanzados, tal vez demasiado poco usable por el usuario medio pero tremendamente potente.
  • CCleaner: Una herramienta que te permitará limpiar tanto la «basura» (temporales, cookies) como el registro del sistema, liberando espacio en tu disco duro y acelerando el rendimiento del sistema operativo.
  • Eraser: En ciertos casos no querrás dejar huella en el equipo en que has estado (uno de una ubicación pública, por ejemplo), y una aplicación de borrado seguro de archivos, que te permite decidir cuantas veces se sobreescribe la memoria que antes ocupaba el archivo borrado.
  • Firefox: No está demás llevarse un navegador portable, por si necesitáis llevaros vuestros marcadores, o por si el equipo con el que tenéis que trabajar tiene aberraciones como Explorer o Safari instalados.
  • Notepad++: Este editor de texto multilenguaje es a los programadores lo que el Metal Zone a los guitarristas heavys, simple, todos se cachondean de él, pero al final les acaba salvando el culo en algún directo. Un Block de notas vitaminado por si tienes que editar un script, un xml, o simplemente abrir un archivo de código fuente de casi cualquier lenguaje. Está claro que no es un entorno de desarrollo, pero yo he apañado muchos pequeños parcheos en html o php con él.
  • Speccy: En caso de ir a realizar una instalación o una ampliación de hardware, Speccy es una herramienta muy válida y útil. Mayormente nos permitará conocer qué hardware hay montado en el equipo.
  • Spybot: Si el antivirus no es suficiente, este programa nos ayudará a buscar software espía dentro del equipo. Con algún malware nuevo puede fallar, pero en general funciona bien.
  • Recuva: De esta herramienta ya hablé también en el pasado. Nos permite recuperar archivos borrados del sistema.
  • SumatraPDF: Puede ser que llegues al equipo y te topes con que no tiene un lector de PDF, no es habitual pero te sorprendería la de veces que pasa. ¿Solución? Este paisano del mono rata (chiste para muy fans de Peter Jackson) será una buena ayuda a la hora de leer estos archivos.
  • 7Zip: En su momento ya hablé de este compresor/empaquetador, compatible con múltiples tipos de archivo.

En fin, para las reparaciones y comprobaciones habituales con esto te llega. Para algo más avanzado ya tienes el primer artículo referenciado. Por otra parte, si te dedicas a la programación web puede que un servidor portable como XAMPP y un FTP como FileZilla te sean de mucha utilidad también.

Finales NBA 2012

Finamlmente la sorpresa prometida para la final no va a poder ser. Me fallaron los colaboradores estrella, y no será porque no les di la vara bastante. Sobre todo a uno que se me rajó a última hora. En todo caso, ayer Miami ganó el séptimo partido ante los Celtics por lo que ya tenemos final.

Aunque ni Oklahoma City Thunder ni Miami Heat fueron los mejores equipos de sus conferencias en la liga regular no se puede decir que la final sea una sorpresa. Seguramente esta era la final que menos se pagaba en las apuestas, ya que todo el mundo la veía como la más probable.

Hablar de estos equipos es hablar de dos filosofías de construcción diferentes pero en cambio dos filosofías de juego similares. Dos filosofías de construcción porque el grueso de Oklahoma se construyó mediante elecciones en el draft (Durant, Ibaka, Westbrook y Harden; y Perkins llegó a cambio de Jeff Green que también venía de ahí) mientras que Miami ha hecho su equipo mayormente a base de pescar en el mercado de agentes libres (Bosh, LeBron, Miller y la mayor parte de banquillo). En cambio su forma de jugar es similar: intensidad defensiva, contundente contraataque y que los tiros se los jueguen sus estrellas.

Línea por línea es complicado decantarse. En el exterior ambos cuentan con puntos similares: un alero estelar capaz de subir el balón y que puede incluso llegar a ser un falso cuatro si las condiciones lo requieren (Durant/Lebron), un combo guard explosivo y buen penetrador (Wade/Westbrook) y un experto en pegarse de hostias en defensa (Sefolosha/Battier). En el banquillo de Oklahoma, entre los exteriores, destaca el mejor sexto hombre, James Harden, que aporta casi 18 puntos con buenos porcentajes, y la veteranía del mítico Derek Fisher, cinco veces campeón con Lakers. Por parte de Miami está el base Mario Chalmers, que puede salir desde el banquillo si juegan de inicio con Wade de falso base o como titular si Espoelstra dedice que LeBron sea el cuatro o que Battier no salga de inicio (en el caso de Miami hay más variedades de salida que en el de Oklahoma), y Mike Miller, experto tirador exterior aunque con un físico muy maltratado por las lesiones en los últimos años.

En el interior Miami aporta más gracilidad con Chris Bosh, que puede estar acompañado de los gladiadores Udonis Haslem, Joel Anthony o Ronnie Turiaf, mientras que los tres grandes de Oklahoma son más duros y rocosos: Kendrick Perkins, Serge Ibaka, Collison y Nazr Mohamed. En general mucho tipo duro en la pintura, donde ser verán auténticas batallas, y por donde también pueden aparecer Durant y James y como falsos cuatros, como comentaba más arriba.

Si la experiencia es un grado, en ese caso gana Miami, dado que el grueso de su plantilla ya jugó la final del año pasado ante Dallas. Además Haslem y Wade formaron parte del equipo campeón en 2006, y LeBron también perdió otra final cuando estaba en Cleveland. El Oklahoma, en cambio, la mayoría son vírgenes en finales de la NBA, menos Perkins (2 finales, ganando una, con Boston), Fisher (muy experimentado con Lakers) y Nazr Mohamed (campeón con los Spurs en 2005).

¿Las claves de la final? Como no soy Daimiel no las copiaré de ESPN, aunque puede que coincidan. Creo que lo imporante será lo siguiente:

  1. Ibaka/Perkins frenando a Bosh: Chris bosh es el jugador interior con más recursos ofensivos de esta final, con una media de 18 puntos durante la temporada regular. Ha estado lesionado gran parte de los play off (músculo abdominal) pero parece que llega en forma, por lo que estará más fresco que sus compañeros, que han tenido que sufrir una serie muy dura contra Boston Celtics. Pero claro, ahora tendrá que enfrentarse a la pareja Perkins/Ibaka. El primero muy duro, agresivo y a veces hasta sucio, pero hace bien las labores de intendencia. Sobre Serge sobra decir que ha sido el máximo taponador de la NBA y elegido en el mejor quinteto defensivo. La capacidad de estos para parar a bosh será definitiva.
  2. Duelo LeBron/Durant: ¿Los dos jugadores más decisivos de la NBA actual? Seguramente. Y ambos con cosas en común: Juegan de tres, tienen estatura para hacerlo de cuatro, pueden subir el balón, saben crearse sus propios tiros, son agresivos en defensa. LeBron es más explosivo físicamente, Durant más técnico y con mejor muñeca. Se plantean cuestiones sobre quién defenderá a quién. ¿Se enfrentarán directamente? Ambos se tienen ganas, porque ambos quieren confirmar que son el mejor 3 de la NBA actual, pero como ya hemos dicho, ambos tendrán minutos de 3 y de 4. Es muy posible que Harden e Ibaka defiendan muchos minutos a LeBron, como también lo es que Battier y Haslem se puedan acabar pegando a Durant. Dependerá de los entrenadores diseñar la estrategia para ver si el enfrentamiento será directo o no. Tal vez a LeBron le interese más defender a Durant que al revés, dado que este tiene varios kilos de ventaja que siempre ayudan en defensa.
  3. Los segundos espadas: En algunos partidos, sobre todo en las derrotas, Wade ha dado una sensación apática y poco competitiva, como dejándose llevar o dejando todo el peso del equipo a LeBron. De Westbrook en cambio se puede decir todo lo contrario, sobre todo en liga regular ha abusado mucho de su tiro, vamos, que se ha chupado un montón de bolas donde el pase era la mejor opción. De la tenacidad del primero y los porcentajes del segundo dependerá mucho el devenir de esta final.
  4. La anotación de los No big three: Ambos equipos tienen tres claros referentes anotadores, por lo que será clave ver cuánto pueden anotar el resto de las plantillas. En Oklahoma este extra de puntos puede llegar de manos de Ibaka, si recibe balones dentro (no olvidemos que se quedó a una canasta de igualar el record de tiros anotados sin fallo en Play Off), mientras que en Miami los debería aportar Chalmers, aunque el algún partido puntual una resurrección de Miller, antaño uno de los mejores triplistas de la NBA, puede ser clave. Incluso Norris Cole podría dar un susto.

Como siempre, alguien pedirá que me moje. Como siempre empezaré con un «si no hay lesiones» para decantarme esta vez por Oklahoma City, y no sólo con el corazón porque Ibaka y Durant me caen simpáticos (y a LeBron ya sabéis que no puedo verle delante), sino porque también pienso que tienen mejor equipo. La duda es si pagarán la novatada, y la otra cuestión es si este duelo OKC-MIA, si mantienen estas plantillas, podrá ser un clásico de esta década en la NBA, o por lo menos de este primer lustro.

Crear nuestra propia VPN en Ubuntu

Ya hace unos días hablamos de cómo configurar una IP estática en Ubuntu (y MacOS de regalo). Esto, como ya comenté en el artículo en cuestión, es necesario para ciertos servicios, como el que hoy nos atañe: Crear nuestra propia VPN en Ubuntu. Además, el puerto PPTP (1723 TCP) debe estar abierto. Como también necesitamos tener abierto otro puerto que soporte el protocolo GRE, lo mejor es usar la regla para PPTP del router. Manualmente no podemos realizar esta operación, pero las reglas predefinidas sí la realizan.

Una vez con la configuración previa lista, tocará irse al terminal para descargar e instalar el paquete PPTP, con permisos de administrador como para toda instalación. Tal que así:

sudo apt-get install pptpd

Como ya sabéis sudo nos permite realizar una instrucción con permisos de administrador (la primera vez que lo usas en el terminal te pedirá la contraseña). Cuando comience la instalación también os preguntará si queréis instalar el paquete bcrelay, pulsad la S para confirmar y vía.

Cuando termine la instalación, se lanzará de forma automática el servidor PPTP. Ahora toca meter mano en la configuración, con el editor de texto Nano.

sudo nano /etc/pptpd.conf

Al final de todo tenéis que añadir las líneas localip seguida de la ip que queráis tener como servidor local en la VPN (ojo, poned una que esté fuera del rango de IP locales, para evitar conflictos) y remoteip seguido del rango de direcciones que usaremos para asignar a los clientes, podéis poner un rango o varias separadas por comas. Aquí un ejemplo:

localip 10.11.0.1
remoteip 10.11.0.100-150,10.10.10.245

Ya tenéis un ejemplo con ambas opciones. Tras esto tocará añadir usuarios a nuestra VPN, configurando el archivo chap-secrets.

sudo nano /etc/ppp/chap-secrets

El formato es el siguiente, con los elementos separados por tabulaciones: nombre_usuario pptpd password *. El primero es el nombre de usuario (ponéis el que queráis darle a ese usuario en la red), lo siguiente el nombre del servidor (en este caso pptpd), la contraseña (poned algo seguro, no abc123) y la ip (un *, que ya nos ocuparemos de eso después).

En fin, tras esto, y como ya he dicho, toca ocuparse de las ip, concretamente configurando el cortafuegos. Como en todo lo primero es que nuestro amigo «el nano» nos abra el archivo rc.local:

sudo nano rc.local

En este caso vamos a la penúltima línea (justo antes de exit 0) del script y añadimos:

iptables -t nat -A POSTROUTING -s 10.11.0.0/24 -o eth0 -j MASQUERADE

El argumento 10.11.0.0/24 es el rango de direcciones que elegimos cuando estábamos configurando PPTPD, si pusiste otro configúralo en consecuencia. El argumento eth0 es el nombre de la tarjeta de red, asegúrate de poner la tuya. Guarda cambios y sigue porque ahora tocará editar otro archivo, el del ip forwarding:

sudo nano /etc/sysctl.conf

Ahí busca la línea comentada #net.ipv4.ip_forward=1 y quítale el # para descomentarla. Guarda cambios y sal.

Y con todo esto nuestro servidor de VPN en Ubuntu está configurado. Ahora sólo te queda configurar los clientes y ya tienes tu propia VPN creada, para poder comunicarte con seguridad con sus miembros, de forma que vuestros datos no estén expuestos a espionajes varios (eso sí, recuerda que toda seguridad no vale de nada si la contraseña de alguno de los usuarios es revelada, la seguridad perfecta no existe, ni existirá mientras haya un factor humano)

Listas en jQueryMobile: ordenadas y desordenadas

A la hora de trabajar tanto con listas ordenadas o listas desordenadas con jQueryMobile no hay mucha ciencia, es como trabajar con listas en html clásico.

Mayormente hay que usar la etiqueta ul para listas desordenadas y ol para ordenadas, como en cualquier página. La única diferencia es añadir el atributo data-role=»listview». Esto es lo único que necesitas en jQueryMobile para aplicar el estilo «móvil» a la lista. Te pongo un ejemplillo


<ol data-role="listview" data-inset="true" data-filter="true">
   <li><a href="#">El Resplandor</a></li>
   <li><a href="#">La Naranja Mecánica</a></li>
   <li><a href="#">Barry Lyndon</a></li>
   <li><a href="#">La Chaqueta Metálica</a></li>
</ol>

<ul data-role="listview" data-inset="true">
   <li><a href="#">Gran Torino</a></li>
   <li><a href="#">Mystic River</a></li>
   <li><a href="#">Million Dollar Baby</a></li>
   <li><a href="#">Sin Perdón</a></li>
</ul>

Sep, la lista ordenada son películas de Kubrick y la sin índices son de Clint Eastwood. Y no hay más que hablar, sólo el atributo data-role=»listview», por el resto HTML de toda la vida.

Eliminar troyano Mediyes.D en Windows

Mediyes es un troyano bastante cabrón. No dispone de rutina propia de difusión, así que requiere de un usuario o un código malicioso para propagarse. Está diseñado para robar información sensible del usuario cuando navega por la web, activándose a la par que los navegadores Internet Explorer y Firefox. Generalmente su nombre de archivo intenta pasar por una librería Direct3D legítima.

En fin, que es un troyano peligroso porque te puede joder datos importantes (piensa que con tu contraseña del correo, por ejemplo, el atacante podría acceder a los servicios que uses para pagos on-line, que no es una coña), así que habrá que intentarlo. Lo primero, como siempre, es intentar una restauración del sistema, a ver si el punto de restauración está creado antes de que tu equipo se infectara. Si funciona, fetén, si no toca romperse más la cabeza.

Si la restauración no funcionó (es decir, el punto de restauración se creó estando ya infectado), lo primero y más conveniente es desactivar la restauración del sistema, para evitar que se haga una copia del troyano en la restauración. Tras esto habrá que reiniciar el equipo y arrancar en modo a prueba de fallos. Teniendo un antivirus actualizado basta con ejecutarlo para buscar el troyano. Cuando acabe el escaneo tendrás que borrar los siguientes archivos .dll:

  • d3dye5xnv.dll
  • d3dybnavy.dll
  • d3dyyg81j.dll
  • d3dyymlyn.dll

Todos estos archivos estarán en la carpeta del sistema (C:\Winnt\System32 o C:\Windows\System32) ya sea con la dirección absoluta o con la variable de sistema %system%.

Existe la posibilidad de que no se nos permita borrar los archivos antes citados, ya que pueden estar en uso por el troyano, residiendo en la memoria. En este caso la solución es liquidar el proceso. Entráis al administrador de tareas con ctrl+alt+supr, allí buscad el botón «Mostrar procesos de todos los usuarios», localizad los procesos y, haciendo click derecho sobre ellos, elegís «Terminar proceso». A continuación volved a intentar el borrado o reparación de los ficheros que se han creado por la acción del troyano.

Finalmente, para no dejar ni rastro, eliminad todos los archivos temporales del sistema, e incluso haced una limpieza del registro (mismamente CCleaner os facilitará mucho esta labor. Vaciad incluso la papelera de reciclaje. Ahora debería estar desinfectado, reiniciad y comprobadlo pasando otra vez el antivirus (incluso podéis programar lanzar el antivirus desde el arranque). Si ya no detecta ninguna infección reactiva la restauración del sistema, y ya puestos aprovecha para crear un punto de restauración, dado que el equipo estará libre de infecciones y te podrá ser útil por si tienes problemas más adelante. Como último consejo de seguridad, cambia todas tus contraseñas on-line, por aquello de que habrían estado expuestas por el troyano.

Entorno gráfico en FreeBSD

A nivel usuario los sistemas libres BSD, desarrollados por la universidad de Berkeley, no son muy populares. No es así a nivel de servidores, donde han ganado popularidad en los últimos tiempos, ya que varios especialistas afirman que son los sistemas menos vulnerables a ataques DDOS. Por otra parte, a nivel software son casi totalmente compatibles con Linux, por lo que no aporta apenas handicaps frente a un servidor Linux.

Por defecto FreeBSD no incluye entorno gráfico, pero existe la posibilidad de instalarle uno (GNOME o KDE). Lo primero es que para hacer esto es más recomendable haber descardo una versión STABLE que una RELEASE. Aunque se recomienda RELEASE para entornos de servidores el instalar paquetes del repositorio STABLE en equipos con ese Kernel puede provocar problemas de estabilidad en el sistema.

En fin, si estáis instalando desde cero os dejo por aquí este enlace a un tutorial de instalación (es del 8.0, pero vale perfectamente para el 8.1). Cuando ya tengáis el SO instalado en vuestro equipo es cuando toca instalar. Podéis elegir, como dije antes, entre GNOME o KDE (también puedes instalar ambos, probar y luego quedarte con el que más te guste). Yo, por mi parte, para este sistema creo que KDE es la mejor opción: más austero, pero más robusto y estable. Los comandos serían:

#primero hazte root con 
su -root

#para ambos casos ejecuta
pkg_add -r xorg

#para instalar KDE
pkg_add -r kde4

#para GNOME
pkg_add -r gnome3

Con esto ya tienes instalado tu entorno gráfico, pero si reinicias el equipo verás que sigue arrancando con el entorno de consola. Esto es porque tenéis que cambiar la configuración para que, por defecto, el equipo arranque con él.

Para activar el entorno gráfico GNOME por defecto hay que editar el fichero rc.conf y añadir al final la línea gnome_enable=»YES». Para editar el fichero basta con teclear lo siguiente, teniendo todavía permisos de root

ee  /etc/rc.conf

Cuando hayas añadido la línea antes citada sal pulsando ESC y guardando los datos. Si ejecutas un reboot debría arrancar ya con el entorno gráfico.

Podrías pensar que para KDE la cosa es igual, pero no. El caso de KDE prueba con el siguiente comando:

echo “exec /usr/local/kde4/bin/startkde” > ~/.xinitrc

Con esto lograrás que arranque KDE al escribir startx en la consola.

Piens que BSD no es un Ubuntu, el instalar el entorno gráfico vendrá seguido de tener que ir agregando a mano todas las utilidades y herramientas de aplicacion que deseamos tener en nuestro entorno, no os saldrá preconfigurado.

Y un apunte final, si no queréis romperos la cabeza con esto, existe GhostBSD, un sistema operativo BSD con entorno gráfico GNOME ya instalado. No lo he probado, pero por comentarios que he leído parece que es bastante estable. Si alguno lo ha instalado ya, puede comentarlo por aquí.

Instalar complemento de PHP para MongoDB

Como complento a la entra sobre cómo instalar MongoDB en Linux, toca ver cómo se instala la extensión para PHP.

Algunas distribuciones de MongoDB ya traen de por si la citada extensión, así que antes de hacer nada prueba con lo siguiente:

php --re mongo

Si tras esto nos devuelve Extension mongo does not exist es que tenemos que instalarlo. Lo más fácil es usar los repositorios PECL, aunque recuerda que tienes que tener instalada una versión de PHP compatible, porque si no te dará error (si tienes PHP 5 no hay problema, si no instálalo). El código sería el siguiente:

sudo pecl install mongo

##Si necesitas instalar PHP lo puedes hacer con la siguiente instrucción##
sudo apt-get install php5-dev

Ahora, tras reiniciar el servidor basta con volver a ejecutar php –re mongo para comprobar que sí está instalada la extensión.

Con esto ya tienes la extensión para PHP de MongoDB instalada en tu equipo Linux.