Tag: linux

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.

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).

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.

M’he comprat un hosting als EUA

Reading time: 3 – 5 minutes

dreamhost.png

M’he comprat un hosting a dreamhost. Ja fa temps que a través d’un blog vaig veure l’anunci i és realment impresionant els serveis que et donen per dos duros. Com ja vaig comentar en el post Ja en tenim un altre… fem-nos els nous propòsits fa temps que tenia ganes de comprar-lo per guardar-hi els arxius relacionats amb el blog, posar-hi les fotografies, les còpies de seguretat i per tenir un lloc on experimentar amb mil històries. Doncs bé, no us perdeu la llarga llista de funcions totalment gestionables per un panell de control i per una shell de linux que m’han donat per només 9,95$ al mes.

  • 97-day money-back guarantee
  • 24 hour Technical Support (E-Mail)
  • Disk Storage at signup: 200 GB
  • Monthly Bandwidth at signup: 2 TB
  • MySQL Databases: Unlimited
  • Web-Based Account Control Panel
  • Jabber TM Chat Server
  • User Accounts
    • E-Mail Accounts (POP/IMAP): 3.000
    • Shell / FTP Users 75
  • EMail
    • POP / SMTP Access
    • IMAP Access
    • Web-Based Email Access
    • Procmail Mail Filtering
    • Spam Filtering – SpamAssassin
    • Email Addresses (Aliases)
    • Announcement Lists
    • Discussion Lists
  • Domains
    • Free Domain Registrations (A $9.95 Value!)
    • Free Domain WHOIS Privacy
    • Domains Hosted: Unlimited
    • Subdomains Hosted Unlimited
    • Domains Forwarded/Mirrored: Unlimited
  • Custom DNS
  • Programming
    • PHP4 Support
    • PHP5 Support
    • Full Unix Shell
    • Crontab Access
    • Full CGI Access
    • Ruby On Rails
    • Canned CGI Scripts
    • Server Side Includes (SSI)
    • CVS Repository
    • Subversion Repository (SVN)
  • Advanced Features
    • SSL Secure Server (req. Unique IP)
    • Enhanced Web Security
    • WebDAV
    • Snapshot Data Backup
    • Daily Access Statistics
    • Access to raw log files
    • Banner-Free DreamBook.com account
    • Passworded Directories (.htaccess)
    • FrontPage Extensions
    • RealAudio and Video (http stream)
    • QuickTime Streaming
    • Anonymous FTP Server (req. unique IP)
    • One-Click Automatic Software Installers: WordPress, phpBB, Advanced Poll, ZenCart, MediaWiki, Joomla, Gallery, WebCalendar

Vull recomanar aquest servei de hosting a tot aquell que vol penjar-se un blog a internet o necessita uns serveis semi-professionals per ús personal. Obviament mai hi ha res com tenir el teu propi servidor a casa. Però malgrat tenir els servidors de casa, de la feina i dels amics. Sempre va bé tenir un altre lloc on guardar-hi coses sense haver de patir ni perdre-hi temps en haver de gestionar-lo tu mateix. Ja que et dona un cert nivell de tranquilitat i de despreocupació. En principi estic molt content de la meva compra, a veure si el temps em dona la raó. De moment ho he comprat per un any però m’agradaria fer-ho durar, ja que els preus per dos anys etan molt bé.

Així doncs, aquest és el regal de reis que m’he fet i de moment hi he hospedat el domini oriolrius.cat. Tot i que si hi accediu us redireccionarà cap al servidor que tinc a casa via un petit script que m’he fet amb php. Suposo que la cosa es quedarà així molt de temps mentre hi vaig migrant cada cop més serveis. A mesura que els vagi migrant ja aniré informant a veure què tal funciona tot plegat.

Montat unitats de xarxa via SSH amb Windows

Reading time: < 1 minute

Via caballe.cat he descobert que es pot mapejar una unitat de xarxa amb windows a través del protocol SSH. Concretament en la seva variant SFTP. Això s’ha de fer amb el software sftpDrive. Segons diu en Xavier funciona perfectament. Jo fa molt temps ja us havia parlat del sshFS per linux que funciona via LUFS. Jo amb la versió de linux hi he treballat força i de vegades dona alguns problemes, perquè al borrar o editar fitxers té comportaments una mica extranys. No tan si ho fem des de consola sinó com quan ho fem des de programes. Concretament jo els problemes els havia tingut amb editors de codi (IDEs de programació).

Actualitzant gentoo: emerge -uD world

Reading time: 7 – 11 minutes
gentoo.gif

Als que usem Gentoo l’ordre del títol ens sona moltíssim, i encara més l’efecte típic que segueix a aquesta ordre quan tenim un munt de paquets per actualitzar i deixem l’ordinador tota la nit compilant, o no? perquè no… doncs perquè sovint en algún punt del procés ha sorgit un problema i s’ha parat la compilació. Un munt de temps perdut perquè el sistema esperava que corregíssim un problemilla que havia sorgit per poder continuar i els tropocientos paquets que hi havia per instal·lar s’han quedat a mitges.

Al Gentoo Weekly News d’aquesta setmana a l’apartat de Tips and Tricks ha sortit un script que de ben segur si el comenceu a usar no podreu viure sense ell. Realment útil, perquè s’encarrega just de solucionar el problema que he comentat. O sigui, que en cas de que fent una actualització un paquet doni un error ell seguirà compilant i al final deixarà dintre d’un fitxer un informe dels problemes que hagin sorgit durant l’upgrade del sistema.

Per instal·lar l’script:

# wget -O /usr/bin/update-world http://countzero.amidal.com/files/update-world
# chmod +x /usr/bin/update-world

Per preparar l’ugprade:

# update-world --prepare

Això crea una llista dels paquets que s’instal·laràn (equival a emerge -uD –newuse world). Si voleu també podeu generar una llista amb tots els paquets del sistema amb l’ordre update-world –empty, seria equivalent a emerge -e world). La llista de paquets a instal·lar la podeu trobar a ~/.update-world/emergelist, així que un cop generada la llista de paquets podeu modificar-la i després ja podeu llençar l’actualització:

# update-world --install

En cas de que falli un paquet durant el procés d’instal·lació/actualització de paquets (penseu que equival a emerge -uD world) a ~/.update-world/failedlist trobareu una llista amb els paquets que hagin fallat. A més també es crearà un enllaç a ~/.update-world/[date]/log/ cap al log amb l’error que ha donat aquest paquet.

Com podeu veure tot un gran enginy que simplificarà la feina d’administrar els sistemes Gentoo que tenim.

TrueCrypt i Onekript – guardant la informació ben guardadeta

Reading time: 2 – 3 minutes

openkript.pngGràcies a l’Oriol fa una colla de mesos vaig descobrir el TrueCrypt que ell usava des de windows. De fet, l’eina em va agradar moltíssim sobretot per la seva simplicitat. Sovint m’he trobat usuaris preocupats per guardar informació confidencial al seu portàtil, pendrive, etc. i no sabia mai quina eina els podia recomanar per fer aquestes tàsques de forma senzilla i la vegada eficient. Doncs bé aquest aplicatiu s’integra molt i molt bé amb windows i és una bona solució a aquest problema.

Tot i esta totalment suportat en linux, el suport genèric només és via CLI, així doncs, es fa una mica engorrós usar-lo des de linux sense tenir al cap tots els paràmetres necessaris per treballar amb l’eina. Doncs bé, avui he descobert OneKript a través de Kriptopolis. Es tracta d’una eina que s’integra amb Konqueror i simplifica moltíssim l’ús de TrueCrypt en linux.

De fet, jo no uso KDE i per tant, fins que això no es suporti en nautilus no tinc cap gran avantatge a l’hora d’usar aquesta eina des de linux, però no volia deixar passar la oportunitat per recomanar un bon software per guardar les nostres dades privades en els dispositius d’enmagatzematge.

Les principals característiques d’aquest software són:

  • Creates a virtual encrypted disk within a file and mounts it as a real disk.
  • Encrypts an entire hard disk partition or a storage device such as USB flash drive.
  • Encryption is automatic, real-time (on-the-fly) and transparent.
  • Provides two levels of plausible deniability, in case an adversary forces you to reveal the password:
    • Hidden volume (steganography – more information may be found here).
    • No TrueCrypt volume can be identified (volumes cannot be distinguished from random data).
  • Encryption algorithms: AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish.
  • Mode of operation: LRW (CBC supported as legacy).

UPDATE: updated information about Truecrypt alternatives can be found here.

Scroll to Top