dynaperl

100% porentief rein

Archiv für die Kategorie ‘produkttest’

OTP Token von SafeNet: eToken PASS

Mittwoch, 04. April 2012

Ich habe gerade einen eToken Pass (TOTP Version) der Firma SafeNet hier und wollte  den gerne gegen eigene Software Testen (keine OTP Infrastruktur von SafeNet). Was sich erst als nicht so einfach herausstellte. Zum einen verwendet der Token sha256 als Hash Methode (viele Tools verwendet noch sha1) und zum anderen verwendet der Token als Basis-Zeit den 1.1.2000 (und nicht den 1.1.1970). Wenn man das weiß ist es dann relativ einfach.

Ich verwende zum testen dieses Python Modul:

import oath
import hashlib
import time
print "code",oath.totp(my_secret_key,'dec6',30,time.time()-946684800.0,hashlib.sha256)

Die Differenz zwischen dem 1.1.1970 und dem 1.1.2000 sind 946684800.0 Sekunden. Mein mir vorliegender Key geht aber um 8 Minuten falsch so das ich bei mir 946685280.0 verwenden mußte.

Es bietet sich deswegen an die Funktion accept_totp zu verwenden der man ein Drift mitgeben kann um wie viel Schritte die Zeit/der Code abweichen darf  (in meinem Beispiel +/- 20 mal 30 Sekunden).

>>> print oath.accept_totp(my_secret_key, '123456', 'dec6', 30, time.time()-946685280.0 ,hashlib.sha256, 20, 20)
(True, -16)

Den Key (Seed) des Tokens haben ich übrigens vom Hersteller auf einer CD bekommen. Normalerweise würde man den selbst erstellen. Dazu gibt es einen Programmier-Stift mit dem sich die Tokens neu programmieren lassen. Die Variable my_secret_key ist in dem Fall dann ein 64 Zeichen langer Hexcodierter String.

ZFS und FreeBSD

Donnerstag, 24. September 2009

Ich verwende das Dateisystem ZFS unter Opensolaris für einige Backup Server. Zusammen mit einem kleinen Shell Script macht ZFS hier einen hervorragenden Job. Was ich jetzt durch Snapshots erledige hat vorher Rsync mit Hardlinks gemacht (Siehe –link-dest). Das Löschen der Hardlink-„Snapshots“ dauerte allerdings gerade bei vielen Files (Beispiel Mailserver) Stunden. Nach dem erste total verstörten XFS bin ich später wieder auf ext3 zurückgefallen.

Der Nachteil bei Opensolaris ist das nur sehr spezielle Hardware verwendet werden kann. Es gibt bei Sun eine Liste mit Konfigurationen die angeblich Funktionieren. Bei mir Funktioniert z.B. das Intel Board Intel DP35DPM das sechs Onboard SATA Ports besitzt oder der SAS Controller SAS3081E-R von LSI Logic. Der SAS Controller ist allerdings übermäßig teuer. Schöner wäre es wenn ich z.B. 3ware Controller verwenden könnte von denen ich hier noch einige liegen habe. Die werden durch Opensolaris aber nicht erkannt.

Deswegen habe ich mich jetzt doch durch gerungen es mal mit FreeBSD zu versuchen und bin positiv überrascht. Mein letzter Kontakt liegt einige Jahre zurück. In der Erinnerung hat die Installation Stunden gedauert da alle Ports lokal kompiliert werden mußten.

Inzwischen hat sich auch bei FreeBSD einiges getan. Die installation geht mindestens so schnell wie z.B. bei einem Debian Lenny. Dazu läd man sich von freebsd.org ein Minimal Image das gerade mal 20MB klein ist und installiert danach das System per FTP aus dem Netz (die FTP Server sind übrigens schon per IPv6 angebunden).

Es gibt ein vortreffliches deutsches (Online) Handbuch in dem neben der Installation auch viele ganz allgemeine Unix/Computer Themen beschrieben sind. Dazu empfehlen kann ich auch noch den CRE48 sowie den CRE49.

Will man unter FreeBSD das Filesystem ZFS verwenden sollte man mindestens 2GB Ram verwenden und eine 64Bit Version installieren. Andernfalls muß man den Kernel selbst kompilieren und einige andere Kernel-Speicher-Parameter anpassen. Was durchaus machbar ist man sich aber so sparen kann.

Auf einem neu installierten System ist die Paketverwaltung der wohl wichtigste Teil. Hier gab es bei Solaris auch einiges Auszusetzen. Bis ich dort alles installiert hatte das ich angenehm arbeiten konnte hat es eine Weile gedauert. Unter FreeBSD kann man mit pkg_add -r <portname> alle (?) FreeBSD Ports als Binary installieren. Das geht genauso einfach und schnell wie mit apt-get unter Debian. Die installieren Ports listet man mit pkg_info auf. pkg_info -L <portname-version> zeigt die in dem Port enthaltenen Files.

Nach der Installation von bash, emacs, nrpe, nagios-checks, postfix und samba konnte die ZFS Konfiguration begonnen werden die sich von der unter Solaris kaum unterscheidet.

Ich kann jedem der ZFS verwenden will nur zu FreeBSD raten. Gerade für Linux User ist FreeBSD näher als Solaris.

Update:  Man sollte auf jeden Fall ein 8er Release verwenden. die 7er liefen bei mir trotz Kernel Anpassungen nicht stabil mit zfs. Weiterhin habe ich bei meinem Test System lausige Transferraten von ca. 7MB/s schreibend. Es muß sich noch raus stellen ob das an der Hardware oder an FreeBSD liegt.  Was sehr gut funktioniert ist dieser (IB-169SK-B) Raidsonic Wechselrahmen bei dem man eine SATA Platte ohne Werkzeug wechseln kann. Damit können Backups dann einfach in einen Tresor ausgelagert werden. Der Plattenwechsel wird von dem 3Ware Controller ohne Probleme erkannt. Nach dem die neue Platte eingelegt wurde muß über das Webinterface nur ein Rescan angeworfen werden. Anschließend kann auf der neuen Platten ein zpool angelegt werden.