Truecrypt 5; meer encryptie, meer platformen

screenshot of truecrypt 5 GUI on ubuntu 7.10Sinds een paar dagen is er een nieuwe versie uitgekomen van één mijner favoriete tools: Truecrypt. De belangrijkste nieuwe features:

  • system disk encryption voor Windows: Truecrypt kan je HD on-the-fly versleutelen en installeert dan een eigen boot loader die, na het invullen van de correcte credentials, de boel decrypteert en Windows opstart. En omdat performantie dan dubbel zo belangrijk is, zou de read/write snelheid dankzij pipelined operations tot 100% hoger zijn dan in versie 4.3.
  • de Linux-versie (er zijn binaries voor Ubuntu en OpenSuse, de rest van de wereld mag zelf compileren) heeft nu ook een propere GUI (zie screenshot hiernaast) en gebruikt daarvoor wxwidgets. Truecrypt nestelt zich mooi in de Gnome notification area en als je dubbelklikt op een gemount volume opent de inhoud daarvan zich proper in Nautilus. Truecrypt voor Linux is ook onder de motorkap grondig herwerkt; het gebruikt nu fuse om te mounten en is daarmee dus minder rechtstreeks afhankelijk van de kernel.
  • En er is nu ook versie voor Mac OS X (10.3 en 10.4, klik voor screenshot), die gebruikt blijkbaar ook wxwidgets en (mac)fuse, overigens.
  • De ‘mode of operation’ is nu XTS ipv LRW (geen idee wat dat betekent, maar u misschien wel, dus there you go!).

Voor de rest biedt Truecrypt als vanouds file- en device-based encrypted volumes, is het nog steeds mogelijk om in het ene Truecrypt-volume een ander volledig onzichtbaar te verbergen en werkt dat vooral allemaal heel intuïtief en transparant. Truecrypt 5 is daarmee een sterke cross-platform (freebsd ontbreekt officieel, maar staat wel vermeld in de makefile Philip 😉 ), gebruiksvriendelijke open source oplossing om data betrekkelijk veilig op te slaan. Een aanrader, zeg ik U!

Blijf nu toch eens van mijn MBR!

icyboxBij de herinstallatie van mijn “disktop” gisterenavond had ik terug identiek hetzelfde probleem. De icybox was weer sdb, ondanks het feit dat die nu wel op tijd aanstond. De Ubuntu installer overschreef opnieuw ongevraagd de mbr van sda ofte mijn interne bedrijfs-windows-schijf. Geen groot probleem, ik wist nu dat ms-sys alles kon oplossen. Maar de kluns uit mijn vorige post, dat was ik dus feitelijk niet, maar de Ubuntu (grub-)installer. Toch een vies bugje, lijkt me?

futtta klunst weer (met MBR’s)

Ik had weer eens stom gedaan! Ubuntu installeren, daar kan tegenwoordig niets fout bij gaan, toch? Dacht ik ook, toen ik mijn laptop bootte met de Ubuntu Gutsy CD om van een externe HD (a whopping 4Gb in een Icybox!) een ‘disktop’ te maken. Met die disktop wilde ik de regel dat een werknemer geen ander OS mag installeren op de precious company hardware, een beetje geniepig omzeilen.
Wat er dan fout liep? Wel, omdat ik mijn laptop eerst had laten booten van de Ubuntu CD en dan pas de externe HD had ingeplugd, overschreef de Ubuntu installer (na succesvolle setup op /dev/sdb) de MBR van de interne harde schijf (/dev/sda, hd0 voor grub) waarop mijn corporate WinXP stond. Het nuken van de MBR op de eerste HD is in een aantal scenario’s ongetwijfeld wenselijk, maar ik zat daar wel mooi met de gebakken peren: Grub bleef hangen in stage 1 zolang de externe schijf er niet aanhing.
Door dat stomme kabeltje te laat in te pluggen, heb ik een beetje moeten wroeten vooraleer ik terug een volledig werkend systeem had. De MBR herstellen met de XP recovery console kon al niet: ik heb hier thuis geen XP en die cd gaan vragen aan onze helpdesk leek me al bij al geen goed idee. Google toonde me gelukkig de weg naar MBR-zielerust; ms-sys is een linux utility om MS Windows compatibele mbr’s te schrijven. Booten van Ubuntu CD, “apt-get install ms-sys” en “ms-sys -m /dev/sda” en mijn corporate PC was terug in originele staat! Oef, konden ze mij alleszins al niet meer op staande voet ontslagen 😉
Volgende stap; een MBR met grub stage 1 op de externe HD schrijven en grub dan volledig van die schijf laten booten. No biggy; opnieuw booten met de Ubuntu CD, vanop de command line grub opstarten, met “find /boot/grub/stage1” checken waar grub geinstalleerd staat (hd0 dus) en dan grub zijn ding laten doen met “root (hd0,0)” en “setup (hd0)“. Tenslotte /boot/grub/menu.lst nog aanpassen om te booten van hd0 ipv hd1 en pats-boem-klets; ik had niet enkel een WinXP op mijn laptop, maar ook een bootende Ubuntu op de externe harde schijf. Free at last! Free at last!
Laatste probleempje; de Icybox was nu hd0 voor grub, maar /dev/sdb eenmaal ik in linux was. Geen probleem, behalve bij een Ubuntu kernel upgrade, want dan werd mijn /boot/grub/menu.lst verkeerd aangepast en probeerde grub zijn stage 2 terug op hd1 (de interne schijf) te vinden. Daarvoor paste ik /boot/grub/devices.map nog aan naar

(hd0) /dev/sdb
(hd1) /dev/sda

Het was nog even wachten op een kernel upgrade om te zien of dat werkte zoals verwacht, maar ik was de afgelopen weken alleszins weer een happy pinguin. Tot -tja, ik ben echt wel een kluns- … tot ik deze ochtend mijn Icybox al vouwfietsend uit m’n halfopen computertas op straat hoorde vallen. Proberen booten, maar alles is kapot en fsck biedt geen redding. Ik heb dus geen Ubuntu disktop meer. Zal maar eens naar een 2,5 inch HD van 20Gb ofzo zoeken op Kapaza zeker, dan kan ik nog eens van voren af aan beginnen? Freedom is never free 🙂

Ubuntu 7.10: eyecandy (en meer)

Ik was niet van plan iets over de nieuwe Ubuntu (7.10, uit sinds vorige week) te schrijven, ge kunt moeilijk om de 6 maanden kinderlijk enthousiast gaan doen over iets gewoons als weer eens een nieuwe release van een besturingssysteem, nietwaar? Maar hier zijn we dan toch. Want deze Gutsy Gibbon is zo mooi, Mijnheer!
Gnome 2.20 ziet er weeral wat geraffineerder uit, maar het zijn vooral de visuele effecten die Compiz Fusion middels “3D graphics acceleration” met OpenGL op het scherm schildert, die het grote verschil maken. Kijk zelf:


Na installatie van de compiz config settings manager (ofte ccsm) kun je nog heel wat funkier effecten activeren. Installeren doe je met “Add/ remove programs” of vanop de command line met:

sudo aptitude install compizconfig-settings-manager

Natuurlijk is er meer in de nieuwe Ubuntu dan enkel die eyecandy. Je kunt nu bijvoorbeeld out-of-the-box met meerdere monitoren werken, er is een geïntegreerde desktop-search, je kunt volledige harde schijven encrypteren en je kunt nu lezen en schrijven naar NTFS-partities. Maar da’s allemaal zo … gewoontjes, niet? Want The Strangeloves, Bow Wow Wow en zelfs Melanie C wisten het al: I want candy!
xubuntu logoVoor mijn bejaarde laptop is er ondertussen ook Xubuntu 7.10, Ubuntu maar dan met Xfce ipv het hongeriger Gnome (of KDE in Kubuntu). Staat al geïnstalleerd, loopt vlotjes en ziet er eigenlijk ook helemaal niet slecht uit. Maar ik heb geen sexy (hardware-matige) 3D graphics acceleration op die oude koffiemolen, dus daar moet ik hier niet meer echt over uitweiden, toch?

decode mp3 to wav linux language nl language nl?

Via blogs over blogs (ongelofelijk hoe populair die zijn) en over seo ben ik op http://www.wordsfinder.com/traffic.php gekomen. Na wat spelen daar ben ik tot de conclusie gekomen dat de keywords “decode mp3 to wav linux language nl language nl” me heel wat traffiek zouden kunnen opleveren.

Dat ik plots enkele duizenden of zelfs maar honderden rippers per dag over de vloer zou krijgen, durf ik sterk betwijfelen, maar omdat het hier inderdaad niet altijd over borsten en billen moet gaan, een korte howto over het omzetten van mp3 in wav’s in Linux met de lame, mpg321 en ffmpeg.
ht is killing music .. and it’s about time too (hattip the ex)lame
Lame (“LAME Ain’t an Mp3 Encoder“!) is een MP3 encoder en decoder. Vanop de linux command line kun je een mp3 omzetten naar wav met volgende opdracht:

$ lame –decode Surfin__USA_edited.MP3 Surfin__USA_edited.wav

De optie die het hem hier doet is decode en daarover vind je in de lame man-page:

–decode
Uses LAME for decoding to a wav file. The input file can be any
input type supported by encoding, including layer II files.
LAME uses a bugfixed version of mpglib for decoding.
If -t is used (disable wav header), LAME will output raw pcm in
native endian format. You can use -x to swap bytes order.
This option is not usable if the MP3 decoder was explicitly dis-
abled in the build of LAME.”

mpg321
mpg321 (“mpg321 is a Free replacement for mpg123, a very popular command-line mp3 player”!) kan dat ook probleemloos en vooral heel snel in vergelijking met lame (zelfs op mijn dsl in qemu op windows):
$ mpg321 Surfin__USA_edited.MP3 -w Surfin__USA_edited.wavUit de mpg321 man-page:

-w N, –wav N
Write to wav file N instead of using the audio device. This option
will be preferred if –cdr or –au are specified too. Specifying ‘-‘ for N
will cause the file to be written to standard output.”

ffmpeg
ffmpeg is een heel ander paar mouwen. Niet omdat ffmpeg mp3’s niet in wav’s zou kunnen omzetten, wel integendeel: ffmpeg kan 10-tallen types audio- en videobestanden converteren naar bijzonder veel andere formaten. Soit, om onze Engelse Beach Boys uit hun mp3 op de wav(-es) te krijgen doen we:

$ ffmpeg -i Surfin__USA_edited.MP3 -ar 44100 ffmpeg-Surfin__USA_edited.wav

En vraag me niet waarom, maar ik kreeg dat toch wel niet aan de gang zekers? Het lijkt erop dat ffmpeg over een fout in het bronbestand valt waar lame en mpg321 geen problemen mee hadden. Een andere mp3-sample gezocht (van de nieuwe Nine Horses CD) en dat werkte idd wel prefect:

$ ffmpeg -i 02.mp3 -ar 44100 02.wav

Aangezien ffmpeg zoveel bestandsformaten en audio- en video-codecs aankan, verwijs ik je graag verder naar de ffmpeg documentatie. En blijf er met uw vuile fikken van als ge enkel “van mp3 naar wav” wilt doen, mpg321 of lame volstaan ruimschoots!
Misschien besluiten met de -licht ontmoedigende- opmerking dat lame, mpg321 en ffmpeg niet noodzakelijk op uw linux-systeem staan en dat, zelfs als ze er staan, mp3-decoding niet persé zal werken. Alles hangt af van de Linux-distributie die je gebruikt en op welke manier de makers lame, mpg321 of ffmeg gecompileerd hebben.
En ik ben benieuwd of hier nu horden googlers op af zullen komen vliegen 😉

Ubuntu op een oude koffiemolen

xubuntu feisty vanop osdir.comHeb onlangs op mijn oude Dell laptop (een potige Inspiron 3700) Ubuntu Feisty geïnstalleerd en één en ander getweaked.
De koffiemolen heeft een pIII 450Mhz processor, 320Mb geheugen, een HD van pakweg 5Gb en ingebouwde crappy neomagic video+audio. Ik netwerk draadloos met een wireless kaartje van Lucent (Orinocco).
De processie naar mijn persoonlijk (x)ubuntu-walhalla verliep ongeveer als volgt:

  • booten van van de Ubuntu live cd en installeren naar harde schijf (dag Mandrake 10.1 die ik er in 2004 op installeerde)
  • na een dagje spelen beslist om toch maar te switchen naar xubuntu, want dat heeft toch net iets minder CPU en memory nodig. Akkoord, ik had direct xubuntu kunnen installeren met hun live cd, maar de switch vanuit Ubuntu is wel betrekkelijk eenvoudig: in synaptic “xubuntu-desktop” zoeken en selecteren, goeie 250mb te downloaden, uitloggen en terug inloggen met keuze van XFCE-sessie en daar zijn we op onze blauwe desktop
  • toevoegen van de nm-applet om vlot te kunnen wirelessen: de network manager applet is sowieso actief in Ubuntu, ik heb er geen idee van of Xubuntu standaard wel met nm-applet werkt. Bedenk bij het schrijven van deze brij wel dat ik eigenlijk niet niet mobiel ben met mijn oude laptop en dat ik network manager er beter terug kan afgooien en op de traditionele manier met de WiFi connecteren?
  • disablen van enkele onnodige services (printing en bluetooth en diesmeer) om zo het memory-gebruik verder te beperken
  • aanpassen van swappiness in /etc/rc.local zodat er minder geswapped wordt
  • aanpassen van de size van de swap-partitie: blijkbaar had de Ubuntu installer een swap-partitie aangemaakt die te klein was om naar te hibernaten, ik veronderstel dat dat komt omdat het een -naar huidige normen- bijzonder kleine HD is. Ik dus opnieuw booten met Ubuntu-livecd en met gparted de grootte van de partities aangepast (life is for the brave 😉 ).
  • aanpassen /etc/initramfs-tools/conf.d/resume en /etc/fstab met juiste uuid voor /dev/hda5 (swap) zodat hibernate na aanpassen van de swap die partitie terug kan vinden (vraag me nog altijd af waarom die by-uuid nodig is, /dev/hda5 werkt ook vlotjes, maar kom …)
  • aanpassen hdparm en iwconfig in /etc/rc.local om energieverbruik te temperen
  • toevoegen XFCE volume applet

Staan nog op mijn todo-lijstje:

  • er worden bij het booten nu nog een heleboel kernel-modules geladen waar ik niks aan heb (bv. IPV6, irda, bluetooth, …). Daarvoor moet ik eerstdaags eens in /etc/modprobe.d/aliases en aanverwanten duiken …
  • gevonden tijdens het surfen: een bash-script dat tweaks uitvoert om Ubuntu Dapper sneller te maken. Zou eens moeten kijken welke van die stappen toepasselijk zijn voor Feisty.
  • af en toe blokkeert het beestje bij het afsluiten, moet toch eens in die logfiles gaan pieren vrees ik …

En dat is het zo ongeveer. Xubuntu draait vlot en (niet onbelangrijk) volledig in de 320 Mb ram-geheugen (behalve bij uitgebreide Firefox-sessies). Hibernate werkt. Oude batterijen gaan toch weer even mee. Ik kan daar dus betrekkelijk vlotjes mee werken. Niet slecht voor een laptopje uit 2000, toch? Nu de broodkruimels nog uit dat haperende toetsenbord peuteren …

Show me yours and i’ll show you my /etc/rc.local

/etc/rc.local is de file op een unix/linux-systeem waar de jongens van de mannen worden onderscheiden. Akkoord, de file heet niet meer altijd rc.local en staat ook niet persé in /etc, maar ge begrijpt wat ik bedoel, is het niet?
Alleszins; in mijn geval kan ik met trots Arno citeren;

‘k heb een kleintje maar ‘k schiet verre

Hier (op een oude Dell laptop met Ubuntu Feisty, in een latere post meer over het temmen van dat beestje) doet rc.local immers het volgende:

# swap less
echo “10” > /proc/sys/vm/swappiness
# put HD to sleep faster
hdparm -B 16 -S 12 /dev/hda
# set wireless into powersaving mode
iwconfig eth0 power on

Dit schenkt mij in eerste instantie extra batterij-leven en stemt daarnaast ook Al Gore een beetje gelukkig. Vreemd dat power management van o.a. HD en wireless (twee energie-vreters) niet gemakkelijker in 1 (Ubuntu-)schermpje te tunen zijn, maar misschien heb ik één of andere fancy gtk-wizard over het hoofd gezien?
En wat doet rc.local bij jullie? Of welke hacks staan er in files zoals /etc/conf.d/local.start (op Gentoo, dat lijkt een beetje uit te mode te raken eh?) of in andere super-bootscript-files in (/usr/local)/etc/init.d/?

Pinguïn-vrijheid op je dichtgetimmerde bedrijfslaptop

my butt-ugly homepage in firefox in ubuntu in qemu in windowsOmdat niet elk bedrijf even enthousiast is over de installatie van Linux op de corporate hardware, moet je soms de nodige flexibiliteit aan de dag leggen om toch de weg van De Ware Pinguïn te kunnen bewandelen. Zo ook hier dus.
Het recept om op min of meer te ontsnappen aan Windows, ziet er in mijn geval dan ook als volgt uit:
De ingrediënten:

De bereidingswijze:

  1. Brand de Ubuntu-image op een cdrom
  2. Unzip kqemu
  3. zoek in het kqemu-directory naar kqemu.sys en kqemu.inf. rechtermuisknop-klik op kqemu.inf en selecteer ‘install’ om de driver te installeren.
  4. Unzip qemu
  5. open een command-venster (dos-box) en ga naar het qemu-directory
  6. voer volgend commando uit om een ‘hard disk’ aan te maken:

    qemu-img.exe create -f qcow2 linuxhd.img 3G

    (wat zoveel wilt zeggen als “maak een virtuele harde schijf aan van 3 Gigabyte van het qcow2 type”)

  7. open in het qemu-directory ‘qemu-win.bat’
  8. pas het bestand aan zodat er dit staat en bewaar:
  9. @ECHO OFF
    SET SDL_VIDEODRIVER=directx
    SET SDL_AUDIODRIVER=dsound
    SET QEMU_AUDIO_DRV=dsound
    SET QEMU_AUDIO_LOG_TO_MONITOR=0
    net start kqemu
    qemu.exe -L . -m 256 -cdrom /dev/cdrom -hda linuxhd.img -boot d -kernel-kqemu -soundhw es1370 -localtime
    net stop kqemu

  10. Steek de Ubuntu-cd in je cdrom-lezer
  11. Dubbelklik op het net gewijzigde qemu-win.bat: qemu zal starten en in die virtuele PC zal de Ubuntu-cdrom gelezen worden.
  12. Ubuntu is opgestart, dubbelklik op het ‘install’ icoon op de desktop
  13. Volg de installatie-wizard en laat die op /dev/hda automagisch partities aanmaken en “heel den boel” installeren
  14. Als installatie gedaan is en Ubuntu voorstelt om te rebooten doe je dat, qemu zal gewoon stoppen.
  15. Wijzig qemu-win.bat opnieuw, deze keer naar:
  16. @ECHO OFF
    SET SDL_VIDEODRIVER=directx
    SET SDL_AUDIODRIVER=dsound
    SET QEMU_AUDIO_DRV=dsound
    SET QEMU_AUDIO_LOG_TO_MONITOR=0
    net start kqemu
    qemu.exe -L . -m 256 -hda linuxhd.img -kernel-kqemu -soundhw es1370
    net stop kqemu

    (je kunt -m eventueel op 512 zetten om meer geheugen toe te kennen aan de virtuele machine en ook “-cdrom /dev/cdrom” toevoegen als je nog aan de cdrom wilt kunnen)

  17. Dubbelklik opnieuw op qemu-win.bat en log in op je nieuwe Linux-installatie. Geluid en netwerk werken normaal gezien ‘out of the box’.
  18. Geniet van je herwonnen vrijheid! 😉

Extra info vind je onder andere op:

19 april: Ubuntu Feisty Feestje!

ubuntu logoMorgen (19 april) wordt de nieuwste Ubuntu 7.04, ook gekend onder codenaam “Feisty Fawn”, op de wereld losgelaten. Ik ga er zeker mee aan de slag; mijn Dell Latitude D620 met dualcore processor en 1Gb memory, schreeuwt om -met behulp van een bootable usb-stick- verlost te worden van die archaïsch geconfigureerde Window XP (dank aan onze corporate IT). Wie de stap ook wilt zetten maar wat hulp nodig heeft; laat gerust iets weten, ik probeer je er wel door te loodsen!

PHP kan uw gezondheid ernstige schade berokkenen

PHP is krachtig gereedschap. Net als met een goeie cirkelzaag of een stevige voorhamer kun je met PHP veel goeds, maar ook veel slechts doen. Volgende eenvoudige wijzigingen in php.ini zouden je installatie veel veiliger moeten kunnen maken;

  1. Zet “allow_url_fopen” op “off” zodat er met PHP via remote files geen ‘vijandige’ code kan binnengehaald worden.
  2. Maak een aantal functies (vnl. die waarmee commando’s van het OS kunnen uitgevoerd worden, bv. shell_exec, passthru, exec, system, proc_get_status, proc_nice, proc_open, proc_terminate, proc_close) ontoegankelijk met “disable_functions” zodat het vanuit PHP niet mogelijk is om bv. met wget (zoek maar eens in je apache logfiles naar de string ‘wget’) files af te halen (bv. een udp-flooder in perl), naar de /tmp folder te downloaden en daar uit te voeren.
  3. Overweeg “safe_mode” aan te zetten (veel van de vorige beperkingen worden dan automatisch afgedwongen).

Ook op Apache-niveau kun je -in apache.conf of httpd.conf- een en ander dichtspijkeren;

  1. Laad enkel die apache-modules die je echt nodig hebt (meestal bv. geen cgi, proxy, include, ..)
  2. Zet default access-rights op ‘DENY FROM ALL’ en voeg per Directory Allow-rules toe.
  3. Zet default AllowOverride-rechten op ‘none’ en voeg -indien nodig- per Directory laksere rechten toe.
  4. Zet “ServerTokens” op “PROD” en “ServerSignature” op “Off” (zodat het niet onmiddelijk zichtbaar is als je op een oudere versie-met-security-problemen van Apache werkt).
  5. Overweeg de implementatie van mod_security (soort software applicatie-firewall).

Toegang tot krachtige administratieve webapplicaties als phpmyadmin kun je best extra afschermen door in httpd.conf te specifieeren dat toegang standaard verboden is (DENY FROM ALL) en toegestaan vanaf ‘vertrouwde’ internet-adressen (bv. ip-range van bedrijf waar je werkt).
Probeer tenslotte zo weinig mogelijk applicaties te installeren; elke applicatie vermindert de veiligheid van het hele systeem weer een klein beetje ..