Nov 28

Eliminar una URL indexada per Google

Reading time: 2 – 2 minutes

És un cas que no he requerit personalment però que ahir el Law em va haver d’explicar com es fa per poder ajudar a en Martin. La cosa és ben simple, els bots de google són molt inquiets i en un moment donat poder arribar a indexar webs o parts de webs que no ens interessa que estiguis accessibles a través del buscador. Doncs bé, si teniu la necessitat de donar de baixa alguna cosa que no volieu que s’indexés cal que a través de les google webmaster tools la doneu de baixa, concretament a l’screenshot següent podeu veure la secció exacte on fer-ho.

google-remove.png

Doncs bé després de complimentar adequadament el procés i en unes 48h la URL hauria de deixar d’estar indexada.

Per altre banda, i perquè això no torni a passar és important que a l’arrel del vostre servidor web afegiu, si no ho teniu, el fitxer robots.txt. Amb, per exemple, el següent contingut:

  • Exemple 1: Cap robot de cap buscador indexa res del nostre site
  • User-agent: *
    Disallow: /
    
  • Exemple 2: Cap robot de cap buscador indexa res de la URI /admimn/.
  • User-agent: *
    Disallow: /admin/
    

En princpi amb aquest parell d’idees hauria de ser suficient perquè pogueu dormir tranquils.

Nov 22

Configurant una Atheros AR5212/5213 amb Ubuntu 6.06 Dapper

Reading time: 2 – 4 minutes

La base del MPK és una Ubuntu 6.06 Dapper, doncs bé ahir vaig tenir la necessitat de configurar-hi una targeta Wifi per primera vegada. La qüestió és que la cosa em va donar una mica més de feina de la esperada. Així doncs, aquí penjo quatre notes de com posar-la en solfa ben ràpid.

Al iniciar l’Ubuntu amb l’Atheros punxada els drivers de madwifi del kernel la detecten perfectament però malgrat no em donava cap error i després d’associar-me a diversos APs amb WEP i WPA-PSK no hi havia manera d’intercanviar tràfic, sempre donava l’error de que no trobava el destí del paquet. Finalment el que vaig fer va ser descarregar els drivers de madwifi, concretament la versió 0.9.3.3. Que ha compilat sense problemes i després de borrar els drivers que inclou l’Ubuntu per defecte, s’han instal·lat a la carpeta dels mòduls del kernel. Després de comprobar que amb un depmod -a no donen cap error he reiniciat i la targeta s’ha detectat sense problemes.

Amb les següents simples comandes:

iwconfig ath0 essid ssid_ap
iwconfig ath0 key codi_wep_en_hexadecimal
ifconfig ath0 up
dhclient ath0

Només amb això ja esta llesta la xarxa wifi per funcionar amb xifrat WEP, obviament no ús el recomano però hi ha gent que encara viu enganyada confiant-hi. En cas de voler-la configurar per WPA-PSK la cosa és tan senzilla com crear el següent fitxer /etc/wpa_supplicant.conf:

network={
        ssid="ssid_ap"
        scan_ssid=1
        proto=WPA
        key_mgmt=WPA-PSK
        psk="clau_psk"
}

Després des de la línia de comandes podem cridar el wpa_supplicant per provar-lo així:

wpa_supplicant -Dwext -iath0 -c/etc/wpa_supplicant.conf

Un cop veiem que s’ha associat podem anar a una altre consola i configurar la interficie de xarxa. Com sempre amb la comanda iwconfig podem observar si l’associació s’ha fet correctament, entre d’altres dades com el nivell de senyal.

Finalment si voleu posar en la seqüència d’arrencada la crida del wpa_supplicant podem afegir el següent a /etc/network/interfaces:

auto ath0
iface ath0 inet dhcp
pre-up wpa_supplicant -Bw -Dwext -iath0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant

Per automatitzar el WEP, el que he fet malgrat sigui una mica xapussa és fer un script que fa les dues comandes iwconfig i aquest script es crida a pre-up al fitxer /etc/network/interfaces.

Oct 27

Passant d’una Ubuntu real a una de Virtual (VMWare)

Reading time: 2 – 2 minutes

Aquesta setmana he clonat un sistema montat en Ubuntu, d’una màquina real a una màquina virtal corrent dins d’un VMWare Server. La veritat pensava tenir més problemes, però finalment la cosa ha estatm és senzilla del que pensava. Intentearé explicar-vos els passos que he seguit, espero no deixar-me cap detall important ja que ho faré de memòria.

  • Servidor nou
  • Creem una màquina virtual amb la VMWare Server Console.
  • Instal·lem una Ubuntu 6.06 LTS (la mateixa versió qu hi ha a la màquina que volem clonar)
  • A diferencia de la original aquesta la montem amb LVM, això va ser un capritxu meu no una necessitat
  • Un cop finalitzada la instal·lació estàndard i fetes les actualitzacions, instal·lem el servidor d’ssh
  • Servidor original
  • Creem un fitxer de text amb aquest contingut, l’anomenaré exclude.txt:
  • /proc
    /sys
    /dev
    /mnt
    /cdrom
    /tmp
    /etc/fstab
    /etc/mtab
    /boot
    /etc/iftab
    
  • Ara ve l’hora de la veritat i usant rsync començo a clonar la màquina:
  • rsync -cavz --exclude-from=exclude.txt /* root@IP_NOVA_MAQUINA:/
    
  • Apaguem o desconnectem cable de xarxa
  • Server nou
  • Reiniciem la màquina, jo ho vaig fer a sac, o sigui… apretant botó reset de la màquina virtual. Digueu-me radical però vaig pensar que era el millor en aquest cas.
Oct 11

bar: linies de progrés per bash

Reading time: 1 – 2 minutes

Una eina senzilla i útil, a més programada totalment en shell script que encara té més merit. Servei per fer coses tan vistoses com un línia de progrés mentre fem un tar, cp, etc.

Una imatge val més que mil paraules…

bar.png

És fàcil i vistosa, oi que si? en l’exemple es veu com descomprimeixo la pròpia eixa amb una barra de progrés generada per ella mateixa.

Doneu un cop d’ull a la web, a mi m’ha agradat molt l’eina i l’he usat per fer un CD d’instal·lació d’una eina de la feina. Per si la web deixés d’existir, que això ja passa amb aquest tipus d’eines deixo una còpia del programa a l’article: bar-1.4.tar.bz2.

Sep 25

inotify, inotify-tools i incron: un gran descobriment per substituir dnotify

Reading time: 2 – 3 minutes

Fa forces anys, vaig parlar del dnotify és una eina que ens permetia saber quan hi havia un canvi en els fitxers d’un directori, llavors aprofitabem per llençar un procés al produir-se l’event. Com que l’arquitectura interna del programa comentat no era massa bona (controlava els canvis a base de fer pooling) i degut a les millores dels nous kernel, s’ha aprofitat el concepte de l’inotify: inotify is a Linux kernel subsystem that provides file system event notification..

Així doncs, les inotify-tools són les eines que ens permeten usar aquesta funcionalitat del kernel des de l’espai d’aplicacions d’usuari. Realment un passada. Permeten vigilar un fitxer, per generar-ne estadístiques, llençar processos associats quan es detecti un determinat canvi en el fitxer, etc. Però potser la funcionalitat que més m’ha interessat és la de la llibreria que ofereix per programar aplicacions usant les funcionalitats de l’inotify.

Concretament aquestes llibreries són les necessaries per compilar el incron. Per mi l’aplicació final més genial de totes: es tracta d’un ‘inotify cron’. Bàsicament l’eina es composa de dues parts d’un dameon i d’una taula d’accions. Aquesta taula s’usa d’una forma semblant al servei de cron. La diferència és que els events no són senyals horaris, sinó captures d’evenets del sistema de fitxers.

Un exemple d’especte que pot tenir el incrontab -l:

/var/mail IN_CLOSE_WRITE abc $@/$#

Això captura l’event cada cop que s’hagi canviat un fitxer (IN_CLOSE_WRITE) dins del directori /var/mail, després llença el programa abc passant com a paràmetre el path/file_name. Com podeu veure la potència és infinita i la simplicitat d’ús és impressionant. Potser el que més m’agrada és el fàcil que és tenir centrilitzats tots els directoris que estic controlant i les accions associades. Per exemple, és ideal per mantenir un RSS de les novetats de música, video, descàrregues, etc.

Jun 28

QGRUBEditor – Editor gràfic del fitxer menu.lst del Grub

Reading time: < 1 minute

Sempre va bé tenir una referència d’aquestes aprop per quan hem de modificar el fitxer i no volem anar consultant el man. La veritat és que no l’he provat encara i potser ni el provi mai perquè ja tinc els menu.lst molt per la mà. Però no sé sap mai quan pot fer falta algo així.

qgrub-editor.png

Si voleu més informació del aplicatiu: QGRUBEditor web site.

Nov 23

Script: entrar en un servidor protegit amb iptables

Reading time: 3 – 4 minutes

Un fenòmen molt humà i per tant habitual, quan estem configurant un firewall amb iptables contra un servidor remot al que no tenim accés, posem per cas que esta als EUA, és el de fer-nos fora a nosaltres mateixos al executar l’script que llença les regles de filtrat. Llavors podem reiniciar la màquina a través del panell de control que ens ofereix l’ISP, o qualsevol altre procediment. El problema esta en que si aquest script s’executa només iniciar la màquina en el rc.local o qualsevol altre procés d’arrencada serà impossible que ens autentiquem per SSH després de que arrenqui el servidor.

Però… com tots els que hem vist arrencar un servidor en linux sabem, entre crida el servidor SSH i es llença l’script de les regles del firewall, pot passar 1s (~aprox) segons el ràpid que sigui el servidor. Si fossim prou ràpids autenticant-nos a la màquina podriem llençar un procés que es llencés després de l’script de les iptables i aquest script ens podria tornar a donar accés a la màquina, per exemple, netejant les regles del firewall i canviant la política per defecte.

Doncs bé, després de provar de fer-ho a mà vaig arribar a la conclusió que malgrat haver fet un curs de mecanografia quan era petit, encara era massa lent i l’enllaç es tallava abans no pogués recuperar el control de la màquina. Així doncs, vaig decidir comprovar si la màquina disposava d’un llenguatge que s’anomena expect i que es basa en TCL/TK. Aquest llenguatge com ja he comentat algún cop al blog ens permet automatitzar processos intereactius. Així doncs, vaig fer-me aquest petit script:

#!/usr/bin/expect -f

spawn /usr/bin/ssh root@ip_del_servidor expect "ssword: $" { send "password_de_root\n" } expect "#" { send "echo \"sleep 30;iptables -F;iptables -P INPUT ACCEPT;iptables -P FORWARD ACCEPT;iptables -P OUTPUT ACCEPT\" > rest.sh \nchmod 700 rest.sh\nnohup ./rest.sh\nsleep 5\n./rest.sh" } interact

Fixeu-vos que és molt senzill, el que fa és connectar-se per SSH amb el servidor remot, enviar el password de root; després crea un script molt senzill que es guarda a rest.sh li dona permisos d’execusió i l’executa amb un nohup perquè si la nostre consola perd la connexió amb el servidor l’script no deixi d’executar-se. El contingut d’aquest petit script que es crea és tan senzill com esperar-se 30s perquè així s’assegura que la màquina ha acabat el procés d’arrencada i després neteja les regles del firewall i posa les polítiques en ACCEPT. Així doncs, ja podem entrar sense problemes.

Doncs bé amb això un ping que vigili quan s’ha aixecat la targeta de xarxa i després executant aquest script que us he posat aquí, jo el dimarts vaig aconseguir ressussitar un servidor remot al que no tenia accés físic, només forçant reboots a través del panell de control que em van facilitar. El senzill que hagués estat tenir una consola d’administració remota i tot llest amb un segon. Però suposo que la necessitat desperta l’enginy, no?

Oct 19

eBox – gestió de serveis via web

Reading time: 2 – 2 minutes

ebox-logo.pngAvui he descobert aquesta petita meravella, a través de digg he vist un howto que és prou interessant, però el que realment m’ha ensenyat és que hi ha una eina que via web ens permet administrar molts serveis a l’estic webmin però en xulo 😉

eBox is a framework for the development and deployment of network services in small and medium-sized networks, offering a simplified graphical interface to non expert users. It can be set up as a gateway, having some extra features over a usual router.

  • Network Configuration
  • Firewall with NAT/Port redirections
  • HTTP Proxy and content filtering
  • DHCP server
  • Configuration backups
  • Windows user, file sharing
  • PDC support
  • Printing server
  • DNS Cache
  • Jabber server
  • NTP server
  • Software updates
  • Mail server
  • Debian Installer!!!

Com a característica d’usabilitat important, és que suporta AJAX. Això i la imatge al més pur estil Web 2.0, jo diria que fa que li doni mil voltes al webmin. Tot i que a nivell de potència ja deu ser una altre cosa.

Per si a algú li pot ser útil el howto que on he trovat l’eBox és Running A File-, Print-, Proxy-, DHCP-, AND Time-Server For Small/Medium Enterprises (local).