Category: Networking and Internet

imapfilter: eina per filtrar emails via IMAP

Reading time: 1 – 2 minutes

IMAPFilter, una altre bona troballa d’en Marc. Realment interessant, permet classificar, filtrar, modificar flags, llençar busquedes, moure, borrar, etc. dels correus d’una compte IMAP remota. A més també ens permet jugar amb més d’una compte IMAP simultànea, per copiar/moure correus entre ambdues comptes. El llenguatge per programar els scripts amb IMAPfilter es basa en LUA, la qual cosa ens permet fer realment coses molt complexes i potents. Dubto que hagiu pensat alguna funció que no ús la deixi fer aquest programa.

A mesura que vagi creant scripts per les meves comptes de correu, ja penjaré els snippets de codi. Així serviran com a exemple, malgrat això la secció d’exemples de la web esta prou bé.

Snap: el complement d’escriptori ideal per l’asterisk

Reading time: 2 – 2 minutes

De fet, personalment no em fa gaire utilitat aquesta eina. Però no puc dir el mateix dels meus clients. Per fi, he trobat una eina econòmica que els permet interactuar amb l’asterisk de forma senzilla i fer les típices pijades que sempre em demanen quan els monto un asterisk, gràcies Marc pel descobriment. Snap és un programet per Windows que permet veure qui ens esta trucant a la pantalla del PC, buscar aquest número a l’agenda. Marca el número de telèfon que ens apareix al firefox mentre naveguem. Marca on volem trucar des d’una petita aplicació que ens surt a la pantalla. Invocar el CRM requerint la informació del client que ens esta trucant, o fins hi tot connectar-lo via AGI a funcions més avançades d’Asterisk. Però la cosa no s’acaba aquí, s’integra amb Outlook, permet tenir un registre de les trucades que fem i que rebem. Entre d’altres coses.

snap.png

El programa té dues versions la free i la pro, aquesta última costa uns ~30$ per usuari. El que ambdues tenen en comú és la integració amb Office, Outlook, firefox i thunderbird. La versió pro a més ens mostra una finstra flotant quan entre una trucada, permet connectivitat contra el CRM per trucades entrants i sortints, disposa d’un driver TAPI (TSP driver), a més d’una versió avançada de l’identificador de trucades i del buscador de números de teléfon.

Postfix: relay contra un altre mailserver

Reading time: 14 – 23 minutes

En aquest article Set Up Postfix For Relaying Emails Through Another Mailserver de HowtoForge s’explica com configurar un Postfix per fer relaying contra un servidor extern. O sigui, perquè el servidor de correu (MTA) envii sempre els correus contra (MTA) un altre servidor de correu via SMTP. Potser el més iteressant és que explica com fer-ho a través d’un SMTP autenticat.

Intentant resumir els passos explicats a l’article comentat.

En l’exemple farem relay contra el sevidor smtp.example.com. A part d’usar l’ordre postconf per fer això, també podem editar el fitxer /etc/postfix/main.cf i afegir-hi les comandes indicades entre cometes.

postconf -e 'relayhost = smtp.example.com'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options ='

Guardarem l’usuari i el password a usar contra el servidor smtp.example.com al fitxer /etc/postfix/sasl_passwd. Aquest fitxer ha de ser propietat de l’usuari root i ningú més hi ha de tenir accés (perms: 600). Finalment creem el seu arxiu .db.

echo "smtp.example.com   someuser:howtoforge" > /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

Finalment només cal reiniciar el postfix:

/etc/init.d/postfix restart

Amavisd-new: Re-enviar correus marcats com a spam

Reading time: 3 – 4 minutes

Sempre tinc el mateix problema amb l’amavisd-new intento que els correus marcats com a spam no s’enmagatzemin en un directori sinó que s’enviin al client i mai recordo la comanda, així doncs aquí va aquesta nota:

$spam_quarantine_to = 'correu@exemple.com';

De fet, la gràcia seria automatitzar millor la variable perquè el destinatari fos dinàmic. O sigui, el destinari real que anava a rebre el correu i això encara no he descobert que he de posar.

RouterOS el sistema operatiu de Mikrotik

Reading time: 3 – 5 minutes

mikrotik.png

Ahir vaig poder jugar unes quantes hores (unes 6h) amb el RouterOS el sistema operatiu que usen els dispositius Mikrotik. Fins ara no hi havia pogut jugar gaire estona (durant 1h aproximadament) però ahir realment vaig poder aprofundir una mica més en aquest sistema. A priori sembla força complex o una mica difícil d’usar, sobretot per la sintaxi i que no hi ha un manual que expliqui com treballar amb la CLI. Bàsicament el truc és usar el Winbox que és una utilitat semi-gràfica que simplifica molt les comandes al més pur estil CLI.

El que més m’ha agradat d’aquest sistema operatiu és el seu gran dinamisme però sense caure en la complexitat d’haver de mantenir un sistema operatiu de PC. S’ha de dir però que de senzill no ho és gaire, és a dir calen coneixements tècnics per poder usar-lo, no tant per la sintaxi sinó perquè s’ha de treballar a baix nivell. És a dir, no usa aquest coi d’assistents de configuració que tan em molesten sinó que has de tenir clars els conceptes de xarxes per tal de fer les configuracions del dispositiu. En part recorda al IOS de Cisco, però jo diria que és molt més senzill i orientat a les aplicacions per les que està pensat. A més malgrat no ser lliure les llicències són molt més econòmiques que les de Cisco. També cal dir que malgrat esta pensat per les plaques embedded de Mikrotik també pot funcionar en arquitectures PC i d’altres.

Obviament esta molt orientat a serveis que es donen des d’un AP, ja que els equips de Mikrotik són escencialment equips de WiFi. Però arriben a soportar serveis com ara servidors RADIUS, servidors d’VPN, servidors RAS, proxies, etc. Per no parlar de les eines d’escaneix de freqüències i d’altres eines més enfocades a les xarxes sense fils. Obviament el hardware que suporta és força limitat però s’ha de pensar que esta molt orientat a tasques de routing, firewalling, hotspot gateway, bridging, client access, etc. així doncs no interessa tan el fet de suportar un gran ventall de hardware com el fet de ser molt potent en les funcions comentades.

En l’aspecte referent al WiFi destacar la capacitat de publicar més d’un SSID simultaneament, a més de poder actuar simultaneament com a AP, client o bridge. A més de suportar múltiples sistemes de xifrat: WEP, WPA-PSK, WPA-RADIUS, WPA2, etc. A l’hora de montar un hotspot també és brutal la capacitat que té de simplificar els passos per montar-lo i els sistemes d’autenticació, les formes i llocs on pot tenir o demanar les BBDD d’usuaris, a més d’estar completament preparat per montar un sistema AAA i unir-lo amb un sistema de facturació, per exemple. A més per internet he vist diversos programes orientats a facturar com a WISP o per propietaris de hotspots, com hotels i d’altres similars.

Així doncs estic molt content d’aquest descobrimient, a veure si puc completar les proves de l’escenari que estava provant les quals encara no les he pogut acabar al 100% però ja puc quasi assegurar que funcionaràn amb el que he vist fins ara. Així doncs Jordi el sistema mixte de hotspots de Mikrotiks amb Linksys (amb DD-WRT v23 SP2) ha de funcionar quasi segur quan ho tingui llest ja passaré la configuració per aquí. Si voleu ampliar coneixements sobre les funcions que ofereix el routerOS sobretot no ús perdeu aquest resum (local).

SSH tricks: control usuaris i col·lisions en la fingerprint

Reading time: 31 – 51 minutes

Un parell de tricks per l’SSH un pel servidor (sshd) i l’altre pel client (ssh).

Si volem deixar accedir només a alguns usuaris al nostre sistema via SSH s’ha de posar al fitxer /etc/ssh/sshd_config la comanda AllowUsers. Aquest eginy l’he extret de Restrict SSH per user.

Un exemple:

AllowUsers root oysteivi otheradmin

L’altre enginy és molt útil quan programem scripts que usen per exemple: scp, rsync o d’altre similars. A vegades per molt que usem un sistema d’autenticació per clau pública amb ssh això no és suficient perquè hi pot haver un conflicte den la fingerprint que tenim guardada (o no) del servidor on anem a connectar. Llavors se’ns pregunta si volem guardar aquesta fingerprint sinó la tenim guardada o si assumim que hi ha conflicte entre la fingerprint guardada i la que ens esta enviant el sevidor. Per més detalls sobre el problema podeu consultar aquest article de securityfocus SSH Host Key Protection. A més segur que aquest exemple ajudarà a refrescar la memòria sobre el que em refereixo.

 $ ssh ssh-server.example.com
  The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
  RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
  Are you sure you want to continue connecting (yes/no)? yes

Per tal de controlar el comportament d’aquest event ho podem fer amb el paràmetre StrictHostKeyChecking=[yes|no|ask], això ho podem posar a /etc/ssh/ssh_config o bé a la línia de comandes a través del flag -o.

Exemple forçant la comprovació:

  $ ssh -o 'StrictHostKeyChecking=yes' ssh-server.example.com
  No RSA host key is known for localhost and you have requested strict checking.
  Host key verification failed.

Exemple preguntant la comprovació:

  $ ssh -o stricthostkeychecking=ask ssh-server.example.com
  The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
  RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
  Are you sure you want to continue connecting (yes/no)? yes

Unbuntu liveCD en mode persistent

Reading time: 2 – 3 minutes

En l’article d’unionFS ja parlava dels liveCD en mode persistent. La idea és ben senzilla i potent a la vegada, es tracata d’inicar el linux a partir del liveCD en aquest cas, la Ubuntu. Però a direferència d’un procés d’inici normal indicarem al menú inicial que volem fer-ho en mode persistent i guardarem tots els canvis que fem durant la sessió: nous paquets instal·lats, dades d’aplicacions, personalitzacions del sistema, configuracions diverses, etc.

Com fer-ho és ben senzill i només cal disposar d’un pendrive, disc dur o qualsevol altre dispositiu d’enmagatzematge amb suport d’escriptura. Ara només cal:

  • Canviar l’etiqueta el nom del volum per casper-rw:
    e2label /dev/hda1 casper-rw
  • Si la partició té format ext3 s’usarà la partició arrel per enmagatzemar-hi els fitxers persistents.
  • Si tenim un disc dur amb format FAT32, per exemple, podem crear un fitxer a l’arrel amb el nom casper-rw i dins del fitxer hi creem un sistema de fitxers ext3, així:
    • Suposem que tenim la partició FAT32 montada a /media/hda1 i hi creem un sistema de fitxers ext3 de 128M. Cal que ens fixem en que el fitxer que conté el sistema de fitxers s’ha de dir casper-rw:
      dd if=/dev/zero of=/media/hda1/casper-rw bs=1M count=128
  • Quan iniciem el sistema amb el CD o DVD i ens trobem al menú inicial cal premer F6 i als paràmetres del kernel que ens apareixen a la part inferior de la pantalla afegim la paraula persistent al final.
  • Si ens hi fixem quan s’inicia la distribució ja no només llegeix del CD sinó també del pendrive o disc dur.

Com que aquesta guia no és gaire exaustiva, ja que només volia exposar la idea i explicar la funcionalitat, per més informació es pot consultar: LiveCDPersistence del wiki d’ubuntu.

NOTA: és vital que recordeu que al disc dur també li heu de canviar l’etiqueta perquè es monti com a part d’enmagatzematge del mode persistent del liveCD sinó no es montarà. Jo vaig perdré més de 2h mirant codi font per culpa d’un error ortogràfic i de no tenir clar el que posava el manual d’ubuntu.

UnionFS – A Stackable Unification File System

Reading time: 2 – 4 minutes

unionFS és un sistema de fitxers de linux és realment un somni fet realitat, en principi ens permet fer una cosa ben senzilla. Com diu el títol, permet unir sistemes de fitxers apilant-los. Què vol dir això? doncs montar sistema de fitxers un sobre de l’altre. La gràcia on és? doncs en que per exemple podem montar un sistema de fitxers de només lectura i després a sobre un de lectura i escriptura; la difèrencia entre això i un montatge convencional és que veurem el contingut dels dos directoris i podrem modificar el sistema de només lectura guardant els canvis en el de lectura i escriptura. O sigui, ara tenim un nou sistema virtual format per la unió d’amdós sistemes. Crec que amb aquest exemple queda claríssima la potència de la idea.

També es pot usar aquest sistema de fitxers amb suport d’snapshots. O sigui, mantenint còpies passades de les versions anteriors dels fitxers. Així doncs, del sistema de modificar fitxers que usa el unionFS se’n diu copy-on-write, perquè quan ha de fer una escriptura d’un fitxer el que fa és fer-ne una còpia mantenint el contingut antic en un dels sistemes de fitxers que estan a la unió.

Quan es monten sistemes de fitxers amb diferents branques d’uns mateixos fitxers s’acostuma a donar prioritat a una de les branques. Si el que tenim montat és un CDROM i un disc dur, obviament la branca que ha de tenir prioritat és la del disc dur sinó no es podrien guardar els canvis.

unionfs.png

L’ús més destacable que se’n fa d’aquest sistema de fitxers és en els liveCD, perquè permeten guardar dades de forma persistent en un disc dur o en un pendrive. O sigui, podem iniciar una distribució de linux amb un CD o DVD i instal·lar nous paquets, fer canvis en la configuració del sistema, guardar dades amb aplicacions, etc. i totes les noves dades que s’haurien d’haver guardat al suport de només lectura s’hauràn guardat en el disc dur o el pendrive gràcies al unionFS. Molts dels liveCD de les vostres distribucions preferides suporten el que se’n diu mode persistent ús recomano que consulteu la documentació si ús interessa la funcionalitat.

Per més informació: Versatility and Unix Semantics in a Fan-Out Unification File System (local).

OpenDNS – els millors DNS que podeu usar per navegar

Reading time: 2 – 2 minutes

opendns.gif

Sovint quan et pregunten quins DNS li poso a la màquina acostumo a contestar 194.179.1.100 com a primari i 194.179.1.101 al secundari, això ho vaig aprendre a l’època del primer infovia el del 055. Des de llavors se m’han quedat grabats aquest parell de DNS públics. Doncs bé, si a més d’això a cada empresa que vaig, a la xarxa de la meva feina o la meva intranet a tot arreu hi tinc un servidor DNS intern llavors mai tinc la necessitat de configurar-me servidors DNS externs. Així doncs, mai havia tingut la necessitat de plantejar-me quins eren millor o pitjors i què m’oferien uns o altres. Doncs bé, aquest cap de setmana tot llegint el blog de l’Alex King, concretament l’article sobre l’OpenDNS he descobert aquest servei tan interessant.

Algunes de les avatatges de l’OpenDNS són:

  • Temps de resolució molt ràpid. Servidors per tot el món.
  • Correcció d’errors tipogràfics comuns (p.e. convertir .xom -> .com)
  • Avisa si s’intenta entrar en una pàgina de phishing. Per tant, és ideal per protegir d’aquests atacs.
  • Es pot forçar l’update d’un domini, forçant el refresc.
  • A més és gratuït. Viuen de la publicitat que posen a la web i a les pàgines de bloqueig de phishing.

cleanup-maildir – netejant el maildir

Reading time: 2 – 2 minutes

Avui he trobat aquest article Cleanup Maildir folders (archive/delete old mails) | MDLog:/sysadmin i no he dubtat ni un segon en baixar-me l’script: cleanup-maildir (local) programat en python. De fet, el seu nom ja diu molt del que fa. Bàsicament jo l’uso per netejar el directori Junk. És a dir, allà on rebo les alertes de correus considerats spam, virus, phishing o d’altres malwares. És a dir, he posat l’script al cron i li he dit que el contingut de la carpeta Junk del maildir que tingui més de 15 dies es vagi eliminant. Així no m’he de preocupar d’anar borrant de forma periódica tot el correu mailiciós que ja mai miraré perquè ningú m’ha dit allò tan famós de: “T’he enviat un correu, no ho has vist?” i llavors comences a buscar per la carpeta on hi ha tota la brossa a veure si el troves. Doncs bé, ara només hi haurà 15 dies de brossa.

Realment és un script molt xorra però que el trobo molt útil, ja que té força opcions com per exemple no borrar els correus marcats com a llegits, o com a importants, o crear automàticament subcarpetes on guardar els correus que tenen una antiguitat determinada. Segurament encara em deixo alguna funció però jo diria que la idea queda més que clara.

Scroll to Top