Spamassassin a DKIM na Debianu

Všiml jsem si, že mi Spamassassin hlásí podezřele často u e-mailů T_DKIM_INVALID, tedy neplatný DKIM podpis. Když mi tohle tvrdil i u e-mailu, který měl zcela jistě podpis správný, zbystřil jsem a začal pátrat. Příčinou je chybějící knihovna pro Perl, která z nějakého důvodu není v závislostech Spamassassinu. Stačí ji nainstalovat:

aptitude install libmail-dkim-perl

Je nešťastné, že chybějící Perlovská knihovna způsobí selhání příslušného testu, a tedy i falešné označení e-mailu jako špatně podepsaného. Ale alespoň že problém byl vyřešen.

7 málo používaných technik v Bashi

Docela zajímavý článek s tímto titulkem se nachází na Linuxárii. Další náměty na zefektivnění práce naleznete na CommandlineFu.

Abych jen neopisoval, tedy alespoň ne jen z jednoho zdroje, mám pro vás ještě jeden drobný tip, pokud někdy budete chtít dělat kontrolní součty adresářového stromu. Pak asi záhy zjistíte, že ani v jednadvacátém století nemají nástroje typu sha1sum přepínač -r pro rekurzivní prohledávání adresářového stromu. Musíte si tedy pomoci jinak, tedy třeba takto:

find /some/path -type f -print0 | xargs -0 sha1sum

Autorem tohoto CommandLineFu je James Nylen.

Prohlížení webu přes SSH SOCK5 proxy

OpenSSH toho umí poměrně hodně a není proto divu, že se o něm píší i celé knihy. Jednou jeho zajímavou vlastností je možnost vytvořit SOCKS5 proxy, která bude veškerou komunikaci směrovat přes SSH. Máte-li tedy SSH účet na nějakém serveru, kde to administrátor nezakázal, můžete surfovat „přes“ něj. Příkaz pro vytvoření SOCKS5 proxy vypadá takto:

ssh -D 8888 -Nf uzivatel@example.com

Parametr volby -D určuje místní port, kde bude sídlit SOCKS5 proxy. Tento port na localhostu je pak samozřejmě třeba nastavit v prohlížeči.

Vlastosti a výhody tohoto nástroje jsou:

  1. komunikace je šifrována mezi vámi a SSH serverem, váš ISP tedy nebude mít šanci sledovat obsah vaší komunikace
  2. SOCKS5 proxy umí tunelovat nejenom vlastní komunikaci, ale i DNS dotazy (doporučuji se ujistit Wiresharkem, ne všechen software to nutně umí), tudíž, pokud váš prohlížeč neprosakuje, váš ISP by neměl mít šanci zjistit s jakými weby komunikujete sledováním DNS provozu
  3. komunikace samozřejmě není šifrována mezi SSH serverem a cílovým serverem, tudíž správce tohoto serveru a/nebo váš „serverový“ ISP uvidí jak komunikaci, tak DNS dotazy

Mezi důvody, proč tento nástroj použít, může patřit:

  • jste někde připojeni přes nešifrovanou nebo neznámou WiFi
  • nedůvěřujete svému ISP
  • jste připojeni přes cenzurujícího ISP
  • chcete obejít omezení přístupu na nějaký web (některé weby jsou dostupné např. pouze z USA nebo jiné země)
  • chcete extra-bezpečně přistupovat k webu umístěném přímo na daném serveru s SSH
  • atd.

Přirozeně, tento nástroj je možné použít i s jiným softwarem než nutně s prohlížečem, stačí podpora SOCKS5.

Připojení virt-manageru z Arch Linuxu na RHEL 6.2

Tento blogpost je čistě technický a obsahuje řešení jednoho nepříjemného problému. O co jde? Mám stanici s RHEL 6.2 klonem (Scientific Linux), kde je rozběhnutá virtualizace (libvirtd). Na druhé stanici je Arch Linux, kde také běží libvirtd. Oba stroje jsou v lokální síti, tak proč nemít možnost přihlásit se z virt-manageru přes SSH z Arch Linuxu do Scientific Linuxu, a mít šanci ovládat virtualizaci „vzdáleně“? Problém je v tom, že to nejde. Proces dokonce ani neskončí chybou, virt-manager se jen nepřipojí. Google odhalí možný problém při absenci balíčku x11-ssh-askpass, který by měl být na klientovi (Arch Linux) nainstalován, Jenomže ani s ním to nefunguje.

Řešení je přesto velmi jednoduché, i když přijít na něj až tak triviální nebylo (musel jsem zkompilovat jinou verzi virt-manageru, která naštěstí chybu ohlásila a podle ní jsem si správně tipnul). Na stroji s RHEL 6.2 stačí vytvořit následující symbolický odkaz:

ln -s /usr/bin/nc /usr/bin/nc.openbsd

A to je celé.

Shell tip: OGG/Vorbis a Jamendo

Doufám, že Jamendo tu nemusím příliš představovat. Řádově desítky tisíc alb pod různými více či méně svobodnými licencemi, převážně Creative Commons, které je možné bezplatně stáhnout a také používat. Oficiálně je na výběr mezi přímým (HTTP) stažením MP3 a stažením torrentů s MP3 a OGG/Vorbis. Kvalita u Vorbisu je vyšší, přesto o něj není příliš velký zájem, což patrně vede k tomu, že OGG/Vorbis není nabízen ke stažení a torrenty s ním nikdo neseeduje.

Po dlouhém hledání jsem konečně objevil způsob, jak se k Vorbisu dostat, a sice přes URL, které může obsloužit wget v skriptu (jediným parametrem je číslo alba):

#! /bin/bash
wget -c http://www.jamendo.com/get/album/id/album/archiverestricted/redirect/$1/?are=ogg3

Shell tip: Co mi to zase blokuje zvukovku?

Jelikož mám tendenci svou workstejšnu nerebootovat a mít hromadu spuštěných aplikací, občas se stane, že si chci něco přehrát, ale nemůžu, protože mi něco zablokovalo zvukovku. Který proces je ovšem v takovém případě viníkem, resp. jak to zjistit? K tomu existují dva nástroje, lsof a fuser:

sudo lsof /dev/snd/*

sudo fuser /dev/snd/*

Více informací viz:

Upgrady aneb adrenalinový sport správců serverů

Myslíte, že správce serverů nemá šanci zažít ve své práci nějaké to napětí a adrenalin? Ale ano, stačí se pustit do upgradu serverů na novější verze distribucí, pokud možno za chodu. Tak jsem se rozhodl upgradovat server, na kterém běží mimo jiné i tento web. Upgradoval jsem Debian z verze 5.0 na verzi 6.0, jelikož včera vyšla (Debian Squeeze vyšel v únoru – omlouvám se za zpoždění publikace). Ano, správně, tohle by se dělat nemělo, mělo by se počkat, mělo by se to pěkně naplánovat, ještě lépe před upgradem otestovat na kopii serveru, ale rozhodl jsem se být odvážný. Ostatně, i když je to „produkční“ server, je to můj server, jehož nefunkčnost vadí pouze mně.

Celý příspěvek

IPv6 privacy extensions

Skutečnost, že IPv4 adresy akutně docházejí, ponechám stranou. Linux podporuje IPv6 již dlouho, a podporuje i jedno z jeho rozšíření, rozšíření soukromí (privacy extensions). Bohužel většina distribucí jej ve výchozím stavu nezapíná, což má jisté následky na vaše soukromí vůči všem serverům, se kterými váš linuxový systém komunikuje přes IPv6.

Je to dáno tím, že v rámci autokonfigurace IPv6 se k prefixu sítě přidává i MAC adresa vaší síťové karty, a ta se tak stává součástí IPv6 adresy, pod kterou vystupujete. Sledováním této části IPv6 adres může jakýkoliv server, se kterým pravidelně komunikujete, sledovat, odkud odevšad k němu přistupujete. Systémy Windows mají privacy extensions ve výchozím stavu zapnuté, u linuxových distribucí je tomu zatím převážně naopak.

Pro konkrétní síťové rozhraní je možné privacy extensions povolit buď dočasně nebo permanentně. Dočasně to lze provést následujícím příkazem:

sysctl -w net.ip6.conf.interface.use_tempaddr=2

Místo slova interface zapište rozhraní, u kterého chcete privacy extensions nastavit (např. eth0. Chcete-li toto nastavení uložit permanentně, tzn. aby přežilo restart, zapište výše zmíněnou řádku do /etc/sysctl.conf, samozřejmě bez úvodního sysctl -w.

Je samozřejmě možné toto nastavit globálně pro všechna rozhraní. V takovém případě se nejprve ujistěte, že načtete ipv6 modul ještě před tímto nastavením (většinou je třeba tento modul explicitně zařadit pro zavedení při startu, ještě před aplikací nastavení ze sysctl.conf). Poté zapište do /etc/sysctl.conf následující dvě řádky:

net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.default.use_tempaddr=2

V mém případě toto nastavení bohužel nefungovalo, i když by mělo. Nezbylo mi tedy než do /etc/sysctl.conf přidat specifikaci pro všechna síťová rozhraní, takto:

net.ipv6.conf.eth0.use_tempaddr=2
net.ipv6.conf.wlan0.use_tempaddr=2

Přátelé Open Source

Dnes jsem uzřel zprávičku o IBM, kterak hrozí patentovým sporem firmě, která vyvíjí open source software. Součástí patentového sporu jsou i dva patenty, které IBM přislíbilo open source vývojářům. V souvislosti s tím mne napadlo následující:

Open source nemá přátele. Pouze své tvůrce, uživatele, zneuživatele a nepřátele.

Pravdou je, že open source má kromě tvůrců a uživatelů své nepřátele – obvykle konkurenty z prostředí proprietárního softwaru. Jako zneuživatele bych viděl někoho, kdo začne na nějakém open source projektu rýžovat, aniž by cokoliv vrátil zpět původním lidem, z jejichž práce těží. Ale to je sporné – pokud dotyční daný software vydali pod jistými licenčními podmínkami, pak mohli s podobným scénářem počítat (dovoluje-li to licence), a tudíž se nejedná o zneužití.

Kdo je ale přítelem open source? Nejsem si jistý, kdo by tak mohl být označen (uživatel je uživatel, vývojář je vývojář…). Vím ale to, že přítelem open source rozhodně není entita, jejímž primárním cílem je dosažení zisku (tedy jakákoliv komerční společnost). Ta totiž bude stát za Open Source jen tak dlouho, dokud se jí to vyplatí, a jakmile se situace změní, bez jakýchkoliv rozpaků vytáhne nůž a vrazí mu ho do zad. Firmy podle mého nejsou a nemohou být přáteli Open Source. Zejména pak Ubersoft.