Long awaited update
Sunday January 30th 2005, 6:26 am
Filed under: Writings

I’ve been keeping myself quite busy the last couple of weeks, so here’s a quick update. First of all, my girlfriend and me got ourselfs a nice little appartment to live in, so that’s where I spend most of my normal/overtime working hours, sanding wood, painting walls, the works, you know ;) Second, the Seat Ibiza I’ve ordered finally seems to be arriving. Hopefully it will be in within three weeks. Third, the Soekris boards I’ve talked about earlier really kick ass. I’ve outfitted them all with a 40GB 2.5″ disk (the smallest I could get) and I’ve already got a Kerberos5/OpenLDAP cluster running :) Which brings me to point 4: I’m busy developing software

Yes, ….

Let me introduce you to AD. AD stands for Absolutely Delicious. It’s single-sign-on-with-extras-sorta management software, inspired by the Dameware NT Utilities. It’s plugin based and uses XML-RPC for client/server communications. Right now, there are plugins (some are skeletons) for:

  • Heimdal Kerberos 5
  • OpenLDAP
  • BSD Authentication
  • ISC DHCPD
  • ISC BIND
  • Cisco IOS

Right now, it consists of 2 pieces of software, ad, a small command line based client and adhd, the Absolutely Delicious Host Daemon, which is an XML-RPC server, with plugins for various backend systems. The functions that work partially at the moment are list, add and del.

The goal of AD is to provide a nice complete single-sign-on system for linux/macos(maybe windows) clients and *BSD/Linux servers and cisco routers. It should eventualy be able to manage adding and deleting of clients/users up to the physical network port. And ofcourse, in the far, far future, a graphical frontend for this all, to please all of our managers into Open Source :)

Printed below is a sample of doing some listing and adding a new user to the system, newuser:

macross [ad]$ ./ad
ad> list user testuser
showing data for Kerberos 5
           max-life = 1
            expires = never
             pw-exp = never
      max-renew-mod = week
       max-life-mod = day
          max-renew = 1
          pw-change = never
          principal = testuser

showing data for OpenLDAP
                 dn =  uid=testuser,ou=people,dc=in,dc=huis
    telephoneNumber =  +31 1 23456789
             search =  2
                 cn =  Test User
              title =  Systems Administrator
        objectClass =  posixAccount
         loginShell =  /bin/bash
          uidNumber =  1001
          gidNumber =  1001
             result =  0 Success
      homeDirectory =  /home/testuser
                uid =  testuser
               mail =  spam@me.com
          givenName =  Test
                 sn =  User

ad> list group people
showing data for OpenLDAP
                 dn = cn=people,ou=group,dc=in,dc=huis
             search = 2
                 cn = people
        objectClass = posixGroup
          memberUid = r3boot
       userPassword =
          gidNumber = 1000
             result = 0 Success

ad> list group wheel
showing data for BSD Authentication
             member = ['root', 'r3boot']
                gid = 0
              group = wheel

ad> list host infra1.in.huis
showing data for Kerberos 5
           max-life = 1
            expires = never
             pw-exp = never
      max-renew-mod = week
       max-life-mod = day
          max-renew = 1
          pw-change = never
          principal = host/infra1.in.huis

showing data for ISC DHCP
           ethernet = 00:00:24:c3:8f:90
               host = infra1
            address = 192.168.1.2

showing data for ISC BIND
                  a = 192.168.1.2
               type = A
                ptr = infra1.in.huis.

ad> list service ldap infra1.in.huis
showing data for Kerberos 5
           max-life = 1
            expires = never
             pw-exp = never
      max-renew-mod = week
       max-life-mod = day
          max-renew = 1
          pw-change = never
          principal = ldap/infra1.in.huis

ad> list user newuser
ad> add user newuser
            Password [newpassword] =
                        UID [2000] =
                        GID [2000] =
    Home directory [/home/newuser] =
                   Shell [/bin/sh] =
                  Gecos [New User] =
               Title [Normal user] =
     E-mail [new.user@example.com] =
    Telephone number [+0123456789] =
      Organisational Unit [people] =
           Expiration time [never] =
  Password expiration time [never] =
             Max. ticket life [1d] =
          Max. renewable life [1w] =
                   Attributes [[]] =
result from Kerberos 5 is OK
result from BSD Authentication is OK
ad> list user newuser
showing data for Kerberos 5
           max-life = 1
            expires = never
             pw-exp = never
      max-renew-mod = week
       max-life-mod = day
          max-renew = 1
          pw-change = never
          principal = newuser

showing data for BSD Authentication
              shell = /bin/sh
                uid = 2000
           home_dir = /home/newuser
                gid = 2000
              gecos = New User
               name = newuser
ad>^D
macross [ad]$ kinit newuser
newuser@IN.HUIS's Password:
kinit: NOTICE: ticket renewable lifetime is 1 week
macross [ad]$ ssh newuser@infra1
$ id
uid=2000(newuser) gid=2000(testgroup) groups=2000(testgroup)
$ uname -a
OpenBSD infra1.in.huis 3.6 GENERIC#42 i386
$ Connection to infra1 closed.
macross [ad]$ ./ad
ad> del user newuser
result from Kerberos 5 is OK
result from BSD Authentication is OK
ad>^D
macross [ad]$ ssh newuser@infra1
Permission denied (gssapi-with-mic).
macross [ad]$

Ofcourse, you always have to put your code where your mouth is, so here it is, enjoy: ad-30012005.tgz[md5]

One warning though, this code is just a snapshot that barely works. Almost no error checking has been implemented, and lots of things are hardcoded, not to speak of the terribly lacking state of functionality. Be patient, it will take some time before I fix those. This is just a release for you all to play with.



They are here :)
Monday January 17th 2005, 11:40 am
Filed under: r3blog

Finally. Last friday UPS dropped by to deliver a big box filled with soekris systems. Maybe I’ll put up some pictures later.



Update on Soekris boards
Thursday January 13th 2005, 6:36 pm
Filed under: r3blog

After emailing with Wim from kd85.com and calling with UPS I found out that the Soekris boards should be delivered tomorrow morning :) I cant wait, that’s for sure..



Soekris boards ordered
Monday January 10th 2005, 4:43 pm
Filed under: r3blog

For the new network I’m designing, I’ve ordered 3 Soekris Engineering 4801-50’s, with a vpn1411 MiniPCI crypto card and a 256MB Compact Flash drive. These three machines will serve as the main firewall, and redundant infrastructure servers (dns/dhcp/ntp/etc). Tomorrow the machines will be shipped with UPS, so by the end of the week I should be playing with them :)

Also, with a bit of luck, my new laptop should arrive somewhere this week, so it should become a nice week :) (especially considering that this week I’m off from work :+ )



Hex2005 / What the Hack
Wednesday January 05th 2005, 10:50 am
Filed under: WhatTheHack

The waiting is almost over. The hex2005/what the hack is coming up. From July 28th to July 31th lots of really smart people meet near Den Bosch to talk about hacking, politics, technology, sociology and ethics. Be sure to be there if you’re interested in things like this.