Arkiv for juni, 2008

Yubikey

Yubikey One-time Password generator Jeg hørte for et stykke tid siden et Podcast der bla. drejede sig om en enorm smart lille hardwaredims som kan generere engangskodeord f.eks til brug i forbindelse med loginsystemer. Dimsen hedder en Yubikey og jeg kunne slet ikke lade være med straks at bestille 2 stk.
Hardwaredimser er sjovere hvis man også har noget fornuftigt at bruge dem til, og da der desværre endnu ikke er så meget software der understøtter brugen af Yubikey så gik jeg selv i gang, og har nu fået kodet et Yubikey plugin til Wordpress

(10) Kommentarer

Weave server

Så kom den store dag hvor Firefox 3.0 blev frigivet, alt i alt en glædelig begivenhed eller ? Njaa ikke helt synes jeg, goddag til Firefox 3.0 er nemlig samtidig et farvel til Google Browser Sync udvidelsen. Man kunne i sidste uge læse på en Google blog, at der ikke kommer en Firefox 3.0 kompatibel version af GBS :-(
Det er noget rigtigt skidt er det, jeg færdes til daglig på 4 forskellige computere, og GBS har de sidste par år trofast sørget for at mine bookmarks, browserhistorik og passwords var i sync på alle maskiner.

Heldigvis er der et nyt produkt ved navn Weave undervejs fra Mozilla Labs. Det kan nogenlunde de samme ting som GBS, og kan man leve med lidt småfejl, kan det sagtens bruges.
Weave skal bruge en konto på en WebDAV server for at kunne gemme/synce data, har man ikke sådan en i forvejen kan man i perioder være heldig at få lov til at oprette en hos Mozilla Labs på deres Weave server

Har man en lille nørd i sig der trænger til pleje, kan man jo også bare lave sin egen server.
Jeg har eksperimenteret lidt og her kommer noget input til hvordan man kan få en WebDAV server op at køre.

Du skal bruge følgende:
Apache 2.2.x
MySQL 5.0 (andre versioner kan også bruges)

Apache serveren skal bla have disse moduler indlæst:

  • mod_dav
  • mod_dav_fs
  • mod_authn-dbd (databasebaseret login i stedet for htpasswd filer)
  • mod_dbd
  • mod_rewrite

Kompiler du din egen Apache server kan du eventuelt finde inspiration i min config.nice fil.

Så skal der laves lidt tilføjelser til httpd.conf filen.

En virtuel host kunne f.eks se således ud: (SSL kan anbefales)

<VirtualHost>
  DocumentRoot /sti/til/weavedata
  ServerName weaveserver.domain.dk

  # Rewrite der sørger for at mappe bruger ned i dir der matcher
  # det navn han er logget ind med.
  RewriteEngine On
  RewriteCond %{LA-U:REMOTE_USER}    ^(.+)$
  RewriteRule ^(.*)$ /%1$1 [L]

  # Opsætning til mod_dbd
  DBDriver mysql
  DBDParams "dbname=weave user=weaveuser pass=hemmeligkode"
  DBDMin 1
  DBDKeep 2
  DBDMax 10
  DBDExptime 60
</VirtualHost>

Adgangskontrol:

<Directory /sti/til/weavedata/>
  Dav on
  # Enable ved debug
  #Options +Indexes
  #IndexOptions FancyIndexing XHTML
  #IndexIgnore .DS* .DAV

  Order Deny,Allow
  Allow from All
  AuthType Basic
  AuthName "Weave server"
  AuthBasicProvider dbd
  AuthDBDUserPWQuery "SELECT password FROM users WHERE username= %s"
  Require valid-user
</Directory>

Så opretter vi en MySQL database, en enkelt tabel og en MySQL bruger:

create database weave;

create table users (username char(96) not null default '',
password char(35) not null default '',primary key  (username));

grant select on weave.* to 'weaveuser'@'localhost' identified by "hemmeligkode";

mod_dbd kan forstå kodeord i forskellige formater, et af dem er en base64 encoded SHA1 hash af kodeordet med teksten {SHA} foranstillet. Sådan et kodeord kan f.eks fremstilles med en stump PHP som denne:

echo '{SHA}'.base64_encode(sha1('secretpassword', TRUE));

Jeg har valgt at bruge emailadresser som brugernavne, SQL til en brugeroprettelse kan så se således ud:

insert into users values ("bruger@domain.dk","{SHA}5en6G6MezRroT3XKqkdPOmY/BfQ=");

Til slut skal der oprettes et bibliotek til brugerens data og tildeles skriverettigheder til webserveren

mkdir /sti/til/weavedata/bruger@domain.dk
chown nobody:nobody /sti/til/weavedata/bruger@domain.dk

Update: Version 0.2 af Weave kræver en lidt anden biblioteksstruktur, i stedet for ovenstående skal man nu anvende:

mkdir /sti/til/weavedata/bruger@domain.dk/user/bruger@domain.dk
chown nobody:nobody /sti/til/weavedata/bruger@domain.dk/user/bruger@domain.dk

(4) Kommentarer

Concept 10 10

Nu åbner der snart en afdeling af Concept 10 10 på Frederiksberg hvor jeg bor.
Concept 10 10 er et effektivt motionskoncept hvis du lever størstedelen af dit liv i sofaen, lige er vågnet af en månedslang koma eller netop hjemvendt fra et længerevarende ophold i rummet.
Normale mennesker vil nok mestensdels opleve konceptets egentlige hensigt, nemlig at få listet en pokkers masse penge op af kundernes lommer.

Alt i alt, flot indpakket bondefangeri.

(1) Kommentar