Apache Authentifizierung via AD/LDAP

16. März 2011

Manchmal möchte man eine Webanwendung (in diesem Beispiel das Nagios Webinterface) absichern. Manchmal sogar mittels einem Active Directory im Hintergrund, was dann den schönen Vorteil hat, dass Benutzer sich nicht nochmal neue Benutzernamen und Passwörter merken müssen.

Mit dem Modul authnz_ldap geht das ganz gut.

Noch besser: Man kann sogar die verschiedenen Authentifizierungsarten mischen, also Passworddatei und AD (bzw. LDAP).

Mit folgender Konfiguration ist mir dies gelungen:

In der Datei /etc/apache2/conf.d/nagios.conf steht:

AuthName "Nagios Access"
AuthType Basic
# Neue AD-Authentication (SSO), 13.1.2011, Dietmar Schurr
AuthBasicProvider file ldap
AuthBasicAuthoritative off
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://meinadserver.beispiel.com:389/OU=Company,DC=Abteilung,DC=intra?cn?sub?objectClass=*"
AuthLDAPBindDN "CN=ldapuser,OU=Abteilung,DC=Company"
AuthLDAPBindPassword "passwort"
AuthUserFile /etc/nagios/htpasswd.users
Require valid-user

Erläuterung:
Mit der Zeile AuthBasicProvider file ldap wird festgelegt, daß zwei Möglichkeiten zur Authentifizierung zugelassen sind, nämlich file und ldap.
Mit den zwei folgenden Zeilen wird festgelegt, dass keine davon exklusiv greift, d.h. wird ein Benutzer nicht in file gefunden wird er in ldap gesucht und umgekehrt. Die folgenden drei Zeilen legen fest wie sich Apache mit LDAP verbindet (AuthLDAPURL). Dazu ist ein Benutzer (AuthLDAPBindDN) mit einem Passwort (AuthLDAPBindPassword) erforderlich. Mit der Zeile AuthUserFile /etc/nagios/htpasswd.users wird Apache mitgeteilt, in welcher Datei Benutzerdaten liegen.
Somit lässt sich also eine Authentifizierung über eine Passwortdatei parallel zur Authentifizierung mittels Active Directory (AD) erreichen. Weitere Informationen finden sich unter den beiden folgenden Links: Apache-Doku und Apache Linux Tutorial
Diese Konfiguration kommt ggf. mehrfach in folgenden Dateiein vor: nagios.conf, nagios-pnp.conf und nagvis.conf
Unabhängig davon muss ein Kontakt in der Datei /etc/nagios/objects/contacts.cfg definiert werden, damit dieser Kontakt (entspricht einem Benutzer) erweiterte Rechte und Benachrichtigungen von Nagios erhalten kann.

Installation von KnowledgeTree 3.7.0.2 auf Ubuntu 10.04

21. Juli 2010

Seit der Version 3.7 von KnowledgeTree gibt es ja die elegante Möglichkeit aus Repositories zu installieren. Damit lässt sich Arbeit sparen. Leider funktioniert das mit Ubuntu 10.04 nicht mehr auf Anhieb. Offenbar kann das Paket swftools nicht aufgelöst und installiert werden.
Nach einiger Suche habe ich festgestellt, daß dieses Paket tatsächlich nicht mehr in Ubuntu 10.04 enthalten ist. Es lässt sich aber hier downloaden und dann lokal z.B. mit dpkg -i swftools installieren.
Danach kann die Installation nochmal gestartet werden und nun sollte sie durchlaufen.

Axis Kamera mit VLC betrachten

22. September 2009

VLC ist ein sehr mächtiger und beliebter Mediaplayer, der auf verschiedenen Plattformen verfügbar ist. Nicht nur für Linux und Mac OS X ist er verfügbar, sondern auch für Windows. Und er ist OpenSource!

Er ermöglicht Videostreaming, also das Bereitstellen einer Videoquelle (Webcam am PC, oder DVD im Laptop, etc.) im Netzwerk. VLC kann auch eine solche Quelle direkt darstellen.

Im vorliegenden Fall sollte die Ausgabe einer Axis Netzwerk-Kamera (Axis 210A) angezeigt werden. John Beales liefer dazu auf dieser Seite viele Infos. Damit konnte ich den Videostream sehr schön in VLC anschauen, sogar mit Audio.

Zum Anzeigen der Axis Kamera muß nun im VLC Player ein Netzwerkstream geöffnet werden. Dieser Netzwerkstream hat die Adresse rtsp://<IP-der-Kamera>:554/mpeg4/1/media.amp also z.B. rtsp://192.168.12.34:554/mpeg4/1/media.amp wenn die IP-Adresse der Kamera 192.168.12.34 ist.

Aufzeichnung der Webcam

Der Videostream der Webcam soll nun aufgezeichnet werden. Auch das ist mit dem VLC Player möglich.

Dazu wird der VLC Player als Dämon gestartet und die Daten in eine Datei geschrieben. Jede zweite Stunde wird dies wieder gestoppt und eine neue Datei gestartet. Der Name der Datei gibt Auskunft darüber, wann die Aufzeichnung gestartet wurde (z.B. Monday_16_Webcam.mp4 ist die Datei, die am Montag um 16 Uhr angelegt wurde). Das geht maximal eine Woche so, dann werden die alten Dateien überschrieben. Hier die Ausgabe des Befehls crontab -l

 user@linux-ecra:~> crontab -l
 # DO NOT EDIT THIS FILE - edit the master and reinstall.
 # (/tmp/crontab.XXXXndfZ2D installed on Tue Nov 17 16:28:51 2009)
 # (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
 00      */2     *       *       *       /home/user/bin/eingangswebcam.sh

Das Skript eingangswebcam.sh ist hier zu sehen:

 user@linux-ecra:~/bin> cat eingangswebcam.sh
 #!/bin/bash
 # Skript zum Aufzeichnen der Webcam am Eingang der Mühle
 # Erstellt von Dietmar Schurr am 29.10.2009

 # den Dämon killen
 killall -q -u schurrd vlc
 # erzeugen des neuen Dateinamens
 DATEINAME="`date +%A_%H`_eingangscam.mp4"
 echo $DATEINAME

 # Nun warten wir 3 Sekunden, damit der vorige VLC Stream sicher beendet wird.
 if [ -f vlc.pid  ]
 then
  sleep 3
 fi

 # Starten von vlc als Dämon
 cvlc rtsp://192.168.1.148:554/mpeg4/1/media.amp --sout "#std{mux=ts,access=file,dst=./public_html/$DATEINAME}" --daemon --pidfile=vlc.pid

Wie vergrößere ich die Festplatte einer virtuellen Maschine?

4. September 2009

Mit einer virtuellen Maschine (VM) zu Arbeiten hat viele Vorteile. Allerdings macht man evtl. beim Einrichten der VM den Fehler den Platzbedarf der Festplatte zu unterschätzen. Dann hat man bald eine volle Platte. Nun wäre es doch toll, man könnte diese virtuelle Festplatte mal schnell von z.B. 8 GB auf 16 GB vergrößern.

In VMware ist dies ja einfach, der Nutzer vergrößert einfach die virtuelle Disk (in meinem Beispiel mit VMware Infrastructure Client auf einem ESXi Host). Die betroffene VM muß dabei ausgeschaltet sein. Man geht also zu den ” Settings” der VM  und kann dort unter Harddisk die Größe der Platte einstellen, also vergrößern.

Startet man nun die VM, so ist die C: Partition (im Falle von Windows) leider nicht größer, sondern hat noch immer die alte Größe. Denn man hat zwar die Festplatte vergrößert, aber nicht die NTFS-Partition. Windows vergrößert eine Partition nicht automatisch.

Deshalb muß man nun in die Trickkiste greifen. Die Festplatte lässt sich vergrößern z.B. mittels der Live CD von GParted. Bei einem rellen PC müsste man eine CD brennen und von dieser dann starten. Dasselbe macht man auch bei einer VM, nur daß man sich das Brennen und die CD sparen kann, man macht auch dies virtuell.

Einfach die ISO Datei herunterladen und mit VI Client auf den Datenspeicher des ESX Host schieben. Nun kann man die VM mit diesem ISO Image starten, dazu muß man nur bei Starten F12 drücken, bevor Windows zuschlägt. Dann kann man als Bootdevice die CD wählen. Diese muß man zuvor in den “Settings” als CD definiert haben.

Mit diesem Tool kann man nun elegant die Platte vergrößern. ACHTUNG: Bei falscher Bedienung kann man auch die Platte unlesbar machen und alle Daten verlieren. Deshalb empfehle ich zuvor ein Backup von der VM zu machen. Die Benutzung erfolgt auf eigene Gefahr!

Wenn man die Platte vergrößert hat, einfach das Windows wieder booten. Diese wird dann sehr wahrscheinlich erst mal die Festplatte prüfen, aber dann ist alles ok!

Das Ganze funktioniert prinzipiell auch mit VirtualBox oder anderen Virtualisierungslösungen.

Wie klont man eine virtuelle Maschine (VM) unter VMwares freiem ESXi?

13. Juli 2009

Wie klont man eine VM unter dem freien Hypervisor ESXi von VMware?  Die Virtual Infrastructure Software gibt das ja in der freien Version nicht her.

Dazu gibt es eine gute Anleitung (in englisch) unter:

http://geektank.net/2009/02/17/howto-clone-a-virtual-machine-on-vmwares-free-esxi/

Das hat bei mir prima funktioniert.

Danach hat man allerdings zwei identische VMs auf dem ESXi Host.

Wenn es sich dabei um Windows handelt,  so sollte man der neuen VM eine neue SID geben.

Dazu habe ich die geklonte VM (in diesem Fall Win XP) gestartet und das Tool NewSID von Microsoft herunter geladen (http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx). Das wird dann auf dem Klon ausgeführt. Damit bekommt der Klon eine neue und eindeutige SID. Dabei wird auch der Rechnername geändert. Nach einem Neustart ist nun ein neuer Rechner mit eigener Identität im Netz.