El teu blog de Linux en català

Xarxes i seguretat

No són solament els governs dels estats amb alguna cosa a perdre els que fabriquen por. No. Jo també us la venc, i més bé de preu. Si. Malícia en forma de senyal electromagnètic polsat. Malícia que s’escola per les escletxes de pisos en què no tenen ganes de comprar banda ampla al mercat lliure. Malícia d’script-kiddies i hackers equivocats que engeguen els sniffers i endollen antenes amb llaunes i usen drivers GPL i rebenten claus WEP en menys de cinc minuts.

Vet-ho aquí. Esborronador. Horrorós.

Per parar-los els peus traspasso les notes de com configurar un supplicant d’autenticació i xifratge WPA. És un programa que s’executa al background i controla els enllaços WPA, molt més segurs que els de xifratge WEP. En el meu cas (xipset Ralink) el supplicant demostra ser molt estable, provat sota Debian GNU/Linux 5.0.1 aka lenny.

Per variar, uso una targeta de wifi de Conceptronic amb xipset Ralink RT61. El supplicant funciona bastant bé amb els drivers del fabricant, que trobareu aquí.

Descarregueu el driver. També inclou l’WPA Supplicant

wget http://www.ralinktech.com.tw/data/drivers/2009_0123_RT61_Linux_STA_v1.1.2.3.tar.bz2
tar -jxvf 2009_0123_RT61_Linux_STA_v1.1.2.3.tar.bz2
cd 2009_0123_RT61_Linux_STA_v1.1.2.3

Eliminem el driver RT61 autocarregat que vé per defecte amb el sistema i el posem a la llista negra de mòduls prohibits

sudo rmmod rt61pci
echo rt61pci >> /etc/modprobe.d/blacklist

Preparem el sistema per a compilar el mòdul i l’WPA Supplicant i procedim

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install linux-headers-2.6-686 make libc6-dev libssl0.9.8 libssl-dev gcc wireless-tools
cd Module
make && make install
sudo modprobe rt61

Com que hem instal·lat les wireless-tools, podem comprovar el funcionament de la nova interfície ra0

sudo ifconfig ra0 up
sudo iwconfig ra0

Aleshores eliminem un fitxer que provoca un missatge absurd en engegar i afegim rt61 a la llista de mòduls de càrrega en boot time

sudo rm /etc/modprobe.conf
echo rt61 >> /etc/modules

Seguidament compilem i instal·lem l’WPA Supplicant

cd ../WPA_Supplicant
make && make install

Ja està tot preparat. Ara hem de pensar en la clau (en anglès, passphrase) per a la nostra xarxa, que serà del tipus WPA Personal (Pre Shared Key + TKIP). L’WPA Supplicant té una utilitat que transforma la clau a hexagesimal i la prepara pel fitxer de configuració que estem a punt de crear. Ara també heu de saber el nom de la vostra xarxa. Generem la clau llançant wpa_passphrase (que pren els dos paràmetres) i l’enviem al nou fitxer de configuració escollit

sudo wpa_passphrase nom-vostra-xarxa clau-escollida > /etc/wpa_supplicant.conf
sudo nano /etc/wpa_supplicant.conf

Editem el fitxer. L’heu d’omplir així, canviant el nom de la xarxa i usant la vostra clau generada

ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
network={
ssid="nom-vostra-xarxa"
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP
group=TKIP
psk=...
}

A hores d’ara ja podeu provar l’WPA Supplicant. El parametritzeu (driver, interfície i fitxer) i l’engegueu (Nota: cal que hagueu configurat la interfície ra0 al fitxer /etc/network/interfaces, mireu més avall)

sudo wpa_supplicant -D ralink -i ra0 -c /etc/wpa_supplicant.conf

Si el sistema s’ha associat correctament, podeu veure la sortida de la utilitat wpa_cli, que informa de l’enllaç

sudo wpa_cli status

Per a automatitzar això, només cal modificar fitxer /etc/network/interfaces.

sudo nano /etc/network/interfaces

Afegim, a la interfície ra0, una ordre que s’executarà abans de l’alçament de la interfície (és a dir, pre-up). Ho ho tinc fet estàticament, i la ordre ja sabeu quina és

auto ra0
iface ra0 inet static
pre-up wpa_supplicant -D ralink -i ra0 -c /etc/wpa_supplicant.conf -B
address 192.168.1.5
netmask 255.255.255.0
gateway 192.168.1.1

El paràmetre -B executa el programa a background. I només cal reconfigurar les interfícies

sudo /etc/init.d/networking restart

Més d’un ja coneixeu Dropbox, un servei d’emmagatzematge de dades en línia. Allò que el fa diferent respecte a altres discs durs virtuals a la xarxa és que tenim la possibilitat de crear una carpeta al nostre directori personal que està directament enllaçada amb el disc virtual en línia.

Recentment s’ha publicat una nova versió, la 0.6.1, que ja és compatible amb les darreres versions de les distribucions gnu/linux més famoses. A la pàgina de baixades trobareu paquets precompilats per a Fedora i Ubuntu (també en trobareu els repositoris adients), a més dels fitxers font.

Avui parlarem de com augmentar la seguretat dels nostre disc virtual dropbox que consisteix bàsicament en xifrar el directori. Així, els passos a seguir serien instal·lar el paquet encfs i aplicar-lo a dos directoris que haureu de crear (un a dins del Dropbox i l’altre com a directori on es muntarà el sistema de fitxers). És a dir, per exemple, a Ubuntu:

sudo apt-get install encfs
mkdir /home/usuari/Dropbox/xifrat /home/usuari/.dropbox/xifrat
encfs /home/usuari/Dropbox/xifrat /home/usuari/.dropbox/xifrat
killall nautilus

Quan executeu l’ordre encfs eixirà un diàleg que us donarà a triar entre mode expert o paraonic-preconfigurat (trieu el paranoic) i us demanarà la contrasenya.  de tindre en compte que aquest directori no serà accessible des de la interfície web, tampoc des del windows o el mac (per a mac estan desenvolupant un port). Haureu de fer el mateix a la resta d’ordinadors on tingueu el Dropbox.

D’aquesta manera tindreu una carpeta xifrada a dins del Dropbox, només accessible per als que 1) tinguen gnu/linux 2) sàpien els paràmetres del vostre compte 3) sàpien la contrasenya del directori xifrat. Bàsicament evitareu que algú pugui accedir des de la interfície web, encara que siga algú que treballe per al Dropbox.

https://www.getdropbox.com/static/1240729201/images/new_logo.png

Fer servir l’ordre rm a la terminal per eliminar fitxers és com demanar a qualsevol que es clave al teu ordinador per llegir dades antigues. rm no esborra les dades al disc dur, sinó les referències a la seua existència per tal que després es puga escriure a sobre. Però mentre no s’escriga a sobre, les dades continuen allà, encara que no les veiem.

Per eliminar els fitxers de forma total i absoluta podem fer servir una altra ordre, shred, que el que fa bàsicament és sobreescriure el fitxer amb noves dades aleatòries abans d’eliminar-lo, de forma que és impossible que algú recupere el fitxer original. Per exemple, si teniu un fitxer anomenat contrasenyes i el necessiteu esborrar de forma que no siga recuperable:

shred -z -u contrasenyes

Aquesta ordre sobreescriu el fitxer 25 vegades amb dades aleatòries, després es fa una darrera passada de cero (-z) i, a continuació l’elimina (-u). Tingueu en compte que shred pot eliminar particions senceres, així que heu de fer-lo servir amb compte. Podeu també fer-lo servir com a script al nautilus per tal que us aparega al menú del botó dret. Hauríeu de crear un fitxer anomenat ~/.gnome2/nautilus-scripts/shred i allà dins enganxar això:

#!/bin/bash

# “Shredder” secure file delete for Nautilus
# Distributed under the terms of GNU GPL version 2 or later
# Copyright (C) James Jones
#
# Dependency : gdialog (gnome-utils)
# : shred (Colin Plumb’s)
#
# From shred’s info file, wise words:
#
# Please note* that `shred’ relies on a very important assumption:
# that the filesystem overwrites data in place. This is the traditional
# way to do things, but many modern filesystem designs do not satisfy
# this assumption.
#
# Exceptions exist, and are noted in shred’s info manual.
# Type ‘info shred’ from a prompt to see the list.

SHRED_PATH=/usr/bin #Path to shred binary.

if dialog=`gdialog –title “$1” –yesno “Are you sure you want to shred
$1” 100 200 –defaultno`
then
$SHRED_PATH/shred -zu “$1”
fi

I finalment donar-li permisos d’execució:

chmod 755 ~/.gnome2/nautilus-scripts/shred

Synapse és un nou missatger d’Internet que fa servir el protocol jabber (amb el qual es pot fer servir el Gtalk de gmail) que porta un disseny diferent dels altres missatgers d’Internet que ja coneixem com serien el Pidgin, l’aMSN, l’emesene o d’altres.

Tot i que el programa és molt nou i encara no es troba en català, ja té extensions per a Twitter, Flickr, Youtube, etc. Com podreu comprovar, la finestra del programa no fa servir exactament el mateix tema del nostre escriptori, sinó que utilitza unes vores pròpies i es troba programat en Qt. La connexió és ràpida i senzilla, configurar-ho també.

Sembla que només existeixen versions per a GNU/Linux. Des de la pàgina de baixades es poden seguir manuals d’instal·lació per a Ubuntu i prometen que aviat hi haurà paquets per a OpenSUSE i Foresight Linux. La instal·lació a Ubuntu requereix anar a Sistema > Administració > Fonts de programari i anar a la pestanya programari de tercers. Allà caldrà fer clic a “Afegeix” i afegir aquest repositori (canvieu “intrepid” per “jaunty” si ja feu servir la darrera versió en desenvolupament d’ubuntu):

deb http://ppa.launchpad.net/firerabbit/ppa/ubuntu intrepid main

Accepteu, però no tanqueu la finestra. Seguidament, baixeu-vos la clau GPG del repositori (feu clic sobre l’enllaç i deseu el fitxer a l’escriptori). Torneu a la finestra de Fonts de programari i aneu a la pestanya de “Autenticació”. Allà feu clic sobre “Importa un fitxer de clau” i seleccioneu el que heu desat a l’escriptori. Després tanqueu i actualitzeu.

Finalment podreu instal·lar Synapse des de la terminal o des del synaptic, el nom del paquet és synapse. Recordeu que és un client jabber, els comptes de hotmail i el messenger de Microsoft no funcionen aquí. Com diu la viquipèdia: Jabber és un protocol lliure de missatgeria instantània d’especificacions obertes basat en XML. Aquest està gestionat i mantingut per la Jabber Software Foundation i ha estat estandarditzat per l’IETF amb el nom de XMPP.

http://synapse.im/images/synapse-promo2.png

wicdGeneralment he sigut “obert” amb les xarxes sense fil que he tingut. Darrerament, però, m’he trobat amb alguns “xucladors” que han acabat amb la meua “obertura” tenint com a resultat haver-ne d’activar la seguretat WEP o WPA al meu router. Dels dos ordinadors que tinc, un fa servir Fedora i l’altre Ubuntu.

A l’Ubuntu em passa ara que tinc clau una cosa una mica conyaç: cada vegada que inicie l’ordinador, en iniciar-se l’escriptori em demana la contrasenya de l’anell de claus per tal de deixar al Network-manager accedir-hi. A més, però, als ordinadors de casa de la meua xicona, quan vaig actualitzar de l’Ubuntu Hardy a l’Ubuntu Intrepid, el Network-manager va deixar de funcionar.

Després de molt de temps de mal de caps, avui he trobat la solució que havia tingut sempre al davant però que havia ignorat: instal·lar Wicd, un altre gestor de xarxes, però millor. Així que, ja li he dit adéu al Network-manager i “hola” al Wicd. A continuació us explique com instal·lar-lo:

  1. Aneu a Sistema > Administració > Fonts de programari
  2. Aneu a la pestanya programari de tercer i afegiu el següent repositori
  3. deb http://apt.wicd.net intrepid extras

  4. Deseu i actualitzeu
  5. Finalment instal·leu el paquet wicd des del synaptic. La mateixa instal·lació del wicd elimina el network-manager i activa el wicd com gestor per defecte, així de fàcil.

A altres distros sembla que la cosa no és tan fàcil, almenys a Fedora la cosa no m’ha funcionat (tampoc li he dedicat molt de temps).

Normalment no parlem de Microsoft, no per res, sinó perquè no ens interessa gaire què passe o deixe de passar-li. No obstant, avui cal fer un xicotet apunt sobre una de les darreres actualitzacions del Windows. Concretament l’actualització del Microsoft .Net Framework Assistant 3.5 SP1.

Quan s’instal·la aquesta actualització també s’instal·la una extensió del Firefox (si el teniu instal·lat) sense demanar-vos permís. A més, aquesta extensió no pot desinstal·lar-se per les vies normals (anar a Complements i desinstal·lar des d’allà). Per eliminar aquesta extensió-paràsit al Windows XP SP3 heu de fer el següent:

  1. Entreu al regedit (Inicia > Executa > regedit)
  2. Cerqueu HKEY_LOCAL_MACHINE/SOFTWARE/Mozilla/Firefox/extensions i allà esborreu la clau del .NET Framework
  3. Esborreu també HKEY_LOCAL_MACHINE/SOFTWARE/MozillaPlugins/@microsoft.com/WPF,version=3.5
  4. Finalment tanqueu, obriu el Firefox i escriviu a la barra d’adreces about:config i elimineu general.useragent.extra.microsoftdotnet i microsoft.CLR.clickonce.autolaunch
  5. Una vegada fet això, els fitxers de l’extensió es poden eliminar a la ruta WINDOWSMicrosoft.NETFrameworkv3.5Windows Presentation FoundationDotNetAssistantExtension

Qui vol Microsoft Windows??.

Més avenços per a KDE4, aquesta vegada per fi han creat un gestor de xarxes que s’integra perfectament amb la resta de l’escriptori i sembla que millora considerablement la versió anterior Knetworkmanager que ja s’havia quedat una mica endarrerit quant a la integració amb KDE4.

Concretament, ara el knetworkmanager serà un plasmoid que s’integrarà perfectament amb l’escriptori. L’aplicació ha estat programada per Sebastian Kügler que, segons comenta al seu propi bloc, ha tractat d’implementar tots els punts positius dels diferents gestors de xarxes de Windows, MacOSX, GNOME, iPod Touch, etc.,  per tal d’aconseguir un gestor complet per a KDE.

El nou knetworkmanager (no tinc clar si ho anomenaran així) ja es troba a la branca inestable de KDE (o siga, que probablement vindrà per defecte amb KDE 4.3 que està planejat per a finals de juliol). Com podeu comprovar, la imatge parla per si mateixa:

networkmanager-kde4

És una idea equivocada pensar que tots els correus que es tenen al compte de Gmail estan completament fora de perill i que estaran allà per sempre. Per diferents camins, ja siga perquè Gmail estiga caigut (poc probable) o Google us bandege, no podreu accedir als vostres correus.

Per tal de previndre una cosa tan horrible com aquesta, fer una còpia de seguretat és la millor opció. Doncs Gmail-backup és un programa que té versió per a GNU/Linux i que permetrà fer-ho. Primer de tot, cal comprovar que al nostre compte de Gmail està activat el reenviament IMAP. Aneu al vostre compte > Configuració > Pestanya “Reenviament POP/IMAP”, i assegureu-vos que l’opció d’IMAP és activa:

imapgmail

Ara heu de descarregar la versió per a GNU/Linux:

Només cal descomprimir el fitxer i canviar el nom de la carpeta per gmail-backup. Després caldrà que instal·leu dependències des del vostre gestor de paquets. Concretament, haureu d’instal·lar python y l’extensió wx del python:

Ubuntu

sudo apt-get install python2.5 python-wxversion

Fedora

yum install python2.5 wxPython

Amb això, ja podreu executar el programa. Només cal que entreu a la carpeta i feu doble clic sobre gmail-backup-gui. S’obrirà la interfície gràfica del programa, que no té cap complicació.

gmailbackupCom podeu comprovar, només cal omplir els camps:

  • Gmail login | el vostre login d’entrada a gmail
  • Gmail password | la vostra contrasenya
  • Backup folder | ací heu de triar a quina carpeta desareu la còpia de seguretat
  • Since date/Before date | des de/fins

I això és tot. Una vegada que hageu omplert els camps, feu clic sobre Backup i començarà el procés de creació de còpia de seguretat. Aquest programa també permet restaurar una còpia de seguretat feta en el passat al vostre compte de Gmail.

iSocial es una alternativa lliure a la xarxa social Facebook. Faebook és una web on l’usuari es pot crear un perfil i interactuar amb la resta d’usuaris: compartir fotografies i vídeos, intercanviar missatges, comentar qualsevol contingut aportat per algun altre usuari, etcètera. iSocial, aplicació web programada en PHP/MySQL i distribuïda sota llicència GPL, pretén copiar-ne el funcionament i l’aspecte visual.

Captura de pantalla de l'iSocial

Tot i que encara es troba en fase pre-alpha, és a dir, es tracta només una versió preeliminar, ja és possible comprovar que iSocial té les següents característiques:

  • Una eina per a crear el perfil dels usuaris molt semblant a la de Facebook, amb camps per indicar l’edat, el sexe, l’orientació política, les creences religioses, etcètera. També s’hi inclou una àrea per a escriure missatges.
  • Una eina per a desar textos ordenats cronològicament, que en iSocial s’anomena blog (blogapp) i que és similar a l’apartat «Notes» del Facebook.
  • Un àlbum de fotografies.
  • Un servei de missatgeria interna, anàleg a la «Bústia d’entrada» del Facebook.
  • Inclou la possibilitat de crear grups d’usuaris, amb un apartat d’informació del grup i un fòrum específic.

Els usuaris es poden afegir entre sí com a «amics» com passa al Facebook i d’interfície és de fet molt similar. El sistema no limita l’usuari a l’ús exclusiu d’aquestes característiques perquè qualsevol programador podrà incorporar noves aplicacions i funcionalitats a través d’una API.

Fins aquí les similituds entre iSocial i Facebook, que són moltes. Però algunes de les diferències són notables. Els programadors d’iSocial pretenen implementar un sistema que permeti que un usuari que s’hagi fet un perfil en qualsevol lloc web que funcioni amb iSocial, pugui iniciar sessió a qualsevol altra lloc web basat en iSocial sense cap problema. Encara que estigui en un altre servidor. A més, la sessió es podrà iniciar amb OpenID (o similar) i les APIs de Facebook i OpenSocial estaran implementades, de manera que es podrà actuar amb les dades d’accés d’aquests serveis talment com si fossin del propi iSocial.

Una de les grans possibilitats que ofereix Nautilus (el navegador de fitxers de GNOME), és l’afegit de fer servir els anomenats scripts. Un script sol ser un mini-programa que permet fer tasques concretes com podrien ser conversions directes entre formats d’imatge o vídeo, descarregar subtítols d’un fitxer de vídeo, crear un paquet precompilat .deb o .rpm, etc.

Podeu veure i descarregar molts scripts a la pàgina Gnome-Look. En aquest cas ens centrarem en un script que permet escanejar per virus fitxers concrets. Per exemple, descarreguem un fitxer del Word i volem comprovar si té virus. Doncs només fent clic dret sobre el fitxer, podrem seleccionar l’opció d’escanejar el fitxer en cerca de virus.

La instal·lació requereix els següents passos:

  1. Instal·leu el paquet clamav i zenity des del vostre gestor de paquets (clamav és un antivirus per a GNU/Linux que també té versió per a Windows.
  2. Obriu una terminal i creeu el fitxer virus-scan:
  3. gedit ~/.gnome2/nautilus-scripts/cerca-virus

  4. Copíeu a dins el següent:
  5. #!/bin/bash
    #
    # Nautilus anti-virus scanner script v1.2 – Uses Clam Anti-virus
    # Written by Robert Pectol, December 2005 – http://rob.pectol.com
    #
    # This program is free software. It is distributed in the hope
    # that it will be useful, but WITHOUT ANY WARRANTY; without even
    # the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    # PURPOSE. See the GNU General Public License for more details.
    ######################################################################

    # Set some variables used in the script
    files=$1
    if [ “$NAUTILUS_SCRIPT_CURRENT_URI” == “x-nautilus-desktop:///” ]; then
    files_path=$HOME”/Desktop”
    else
    files_path=`echo $NAUTILUS_SCRIPT_CURRENT_URI | sed -e ‘s/^file:////’`
    fi
    gui=`which zenity`
    vscan=`which clamscan`

    # Function to scan file(s)
    scan_it()
    {
    touch /tmp/scanresult
    if [ “$files_path” = “” ]; then
    # Script can run from launchers, scripts other than from Nautilus, etc. (doesn’t require $NAUTILUS_SCRIPT_CURRENT_URI)
    result=`$vscan -r “$files” –log=/tmp/scanresult | $gui –title “Virus Scanner” –progress
    –text=”Scanning $files…” –pulsate –auto-close; cat /tmp/scanresult` &> /dev/null
    else
    result=`$vscan -r “$files_path/$files” –log=/tmp/scanresult | $gui –title “Virus Scanner” –progress
    –text=”Scanning $files…” –pulsate –auto-close; cat /tmp/scanresult` &> /dev/null
    fi
    rm -f /tmp/scanresult &> /dev/null
    # Feedback – if scan ended with errors or was terminated prematurely…
    if [ “$result” = “” ]; then
    err_text=”S’han produït errors quan s’escanejava $files”
    errors
    fi
    # Feedback – if scan completed successfully…
    clean=`echo $result | grep ‘FOUND’`
    # Alter gui feedback according to presense/absense of virus(s) found during scan
    if [ “$clean” != “” ]; then
    $gui –title “S’han trobat virus!” –error –text=”$result” &> /dev/null
    else
    $gui –title “Resultats de l’escaneig” –info –text=”$result” & &> /dev/null
    fi
    }
    # Function to handle errors
    errors()
    {
    $gui –title “S’ha produït un error” –error –text=”$err_text” &> /dev/null
    exit 1
    }

    # Check for presense of required utilities
    if [[ -x “$vscan” && -x “$gui” ]]; then
    scan_it
    else
    if [ -x “$vscan” ]; then
    echo “No s’ha trobat Zenity al vostre sistema. Instal·leu-lo.”
    exit 1
    else
    err_text=”No s’ha trobat Clam Anti-virus al vostre sistema. Instal·leu-lo.”
    errors
    fi
    fi
    exit 0

  6. Per últim, doneu permisos d’execució al fitxer
  7. chmod 755 ~/.gnome2/nautilus-scripts/cerca-virus

Com podeu comprovar, els scripts de nautilus es desen a la carpeta .gnome2/nautilus-scripts del nostre usuari. Normalment podeu descarregar el fitxer d’script i desar-lo allà directament (sense necessitat de crear el fitxer vosaltres mateixos). Una vegada desat allà, us apareixerà directament la opció al menú del botó dret.

script-virus