Zum Inhalt springen

Einrichtung eines sicheren Fileservers

28-Feb-10

Theorie

Bei diesem Titel versteht es sich vielleicht von selbst, dass FTP hier kein Thema ist. Es ist vermutlich zu einem nicht unwesentlichen Teil persönliche Präferenz, aber wenn ich das Wort sicher im Zusammenhang mit Servern verwende, verlasse ich mich immer gern auf SSH. Im Fall eines Fileservers bietet sich also das SFTP Protokoll an. Generell wirft die Verwendung von SSH und, im Speziellen, die Weitergabe von Zugangsdaten für einen SSH Server (zumindest) zwei brennende Fragen auf.

Zum einen muss verhindert werden, dass der eingeloggte Benutzer beliebigen Code ausführen kann. Da er zumindest für das Upload Verzeichnis Schreibrechte hat, kann ein eventueller Upload von Exploits nicht prinzipiell verhindert werden, aber wenn man dem Benutzer erst gar keine Shell gibt, kann er die Ausführung des Schadcodes nicht veranlassen. Diese Strategie verfolgt die scponly Software.

Zum anderen ist man als Administator auch interessiert, dem eingeloggten Benutzer möglichst wenig Information über das System preiszugeben. Das erreicht man mit einer chroot Umgebung. Nun wird sogar von scponly ein Skript angeboten, um eine solche Umgebung zu erstellen. Dessen Verwendung wird auf der ubuntuusers Wiki beschrieben. Leider ist dafür das Setzen des SUID Bits notwendig, was meiner Meinung nach keine saubere Lösung ist. Daher werde ich hier beschreiben, wie man eine äquivalente Umgebung mit dem makejail Skript erstellt. Diese Vorgehensweise orientiert sich stark an der Anleitung zum Absichern von Debian, welche in ihrer Gesamtheit auf jeden Fall eine Lektüre wert ist, wenn man einen Debian Server administrieren muss.

Praxis

Diese Anleitung bezieht sich auf Debian Lenny. Zuerst werden die erforderlichen Pakete installiert:

# aptitude install libpam-chroot makejail scponly

Nun wird das eben installierte PAM Modul libpam-chroot für SSH Logins aktiviert. Dazu werden die folgenden Zeilen zu der Datei /etc/pam.d/sshd hinzugefügt:

session    required     pam_chroot.so

Zunächst muss der entsprechende Benutzer erstellt werden, mit dem man sich später am Server anmelden kann.

# adduser --home /home/sftp --shell /usr/bin/scponly --no-create-home sftp

Damit das PAM Modul auch wirklich greift, muss es für den neuen Benutzer aktiviert werden. Das geschieht durch folgende Zeile in der Datei /etc/security/chroot.conf.

sftp	/var/chroot/users/sftp

Als nächstes wird das Verzeichnis für die chroot Umgebung erstellt und der neue Benutzer erhält Schreibrechte für sein Heimatverzeichnis.

# mkdir -p /var/chroot/users/sftp/home/sftp
# chown sftp:sftp /var/chroot/users/sftp/home/sftp

Für die Verwendung des makejail Skripts wird eine Konfigurationsdatei mit folgendem Inhalt erstellt und als sftp-jail.py gespeichert.

chroot="/var/chroot/users/sftp"
users=["sftp"]
testCommandsInsideJail=["scponly", "ls", "scp", "rm", "ln", "mv", "chmod", "chown", "chgrp", "mkdir", "rmdir", "pwd", "groups", "id", "echo", "passwd"]
forceCopy=["/usr/lib/sftp-server"]
cleanJailFirst=1
preserve=["/home/sftp"]

Es folgt der Aufruf des Skripts.

# makejail sftp-jail.py

Die am Ende ausgegebenen Warnungen können getrost ignoriert werden. Wenn man so vorsichtig ist wie ich, muss man noch dafür sorgen, dass der SSH Login für den neuen Benutzer freigegeben wird. Dazu fügt man den neuen Benutzernamen dem AllowUsers Parameter in der Datei /etc/ssh/sshd_config hinzu und startet das SSH Service neu.

# /etc/init.d/ssh restart

Enabling the suspend hotkey in KDE4

28-Feb-10

There are several reports of problems with the suspend hotkey on KDE4 [1] [2]. And there is even a bug report on that issue. Naturally, I wouldn’t write about this if I hadn’t experienced the same problem myself. I solved it by slightly modifiying the approach described at Linux Basement, avoiding the need to create a dedicated shell script somewhere.

This might not have been possible in KDE 4.2 (I haven’t verified), but it is in KDE SC 4.4. The Input Actions dialog (under System Settings) allows for the configuration of DBus calls from hotkeys. This was configured fast and works painless. I have exported the hotkey group and pasted the content below. To use it, save this as PowerManagement.khotkeys and import it in the Input Actions dialog.

[Data]
DataCount=1
 
[Data_1]
Comment=Power management mappings of XF86 events
DataCount=1
Enabled=true
Name=Power Management
SystemGroup=0
Type=ACTION_DATA_GROUP
 
[Data_1Conditions]
Comment=
ConditionsCount=0
 
[Data_1_1]
Comment=Enables suspend hotkey
Enabled=true
Name=Suspend
Type=SIMPLE_ACTION_DATA
 
[Data_1_1Actions]
ActionsCount=1
 
[Data_1_1Actions0]
Arguments=
Call=org.freedesktop.PowerManagement.Suspend
RemoteApp=org.freedesktop.PowerManagement
RemoteObj=/org/freedesktop/PowerManagement
Type=DBUS
 
[Data_1_1Conditions]
Comment=
ConditionsCount=0
 
[Data_1_1Triggers]
Comment=Simple_action
TriggersCount=1
 
[Data_1_1Triggers0]
Key=Sleep
Type=SHORTCUT
Uuid={c1706a53-bde8-4364-b0af-71e9c1be6b3f}
 
[Main]
AllowMerge=true
ImportId=Power Management
Version=2

Kritisch gedacht gehört gelesen

24-Feb-10

Ich lese sie regelmäßig, die Beiträge auf dem Kritisch gedacht Blog und auch der heutige Beitrag war wieder einmal sehr gesund. Es ist immer wieder überraschend, was für eine lebendige Vielfalt an Unwissenschaftlichem aktuell blüht und gedeiht. Manchmal gleitet es leider sogar in Erschreckende ab.

Frühlingsgruß

21-Feb-10

Tulpe

Tulpe


Nachdem ich vergessen hatte, sie mit auf den Miniaturausflug auf den Mont Salève zu nehmen, habe ich zuhause noch ein bisschen mit der Kamera herumgespielt. Herausgekommen ist dieser kleine Frühlingsgruß.

Mein Unterkiefer findet sich langsam mit dem Verlust der beiden weisen Insaßen ab und es bestätigt sich, dass man oft haben will, was man gerade nicht haben kann: ich kann es kaum erwarten, wieder Festes zu essen.

Umbau der ASUS EAH4870 Dark Knight

16-Jan-10

Mein Desktop Rechner, den ich mir Mitte letzten Jahres wie berichtet zusammengestellt habe, hatte seitdem ein gravierendes Problem: obwohl ich bei der Auswahl darauf geachtet hatte, produzierte das Gerät einen unangenehm hohen Lärmpegel. Der Schuldige war die zentrale Komponente, um die herum ich damals die Zusammenstellung aufgebaut hatte, die Grafikkarte. Dabei handelt es sich um die ASUS EAH4870 Dark Knight mit 1 GB Video RAM. Der darauf verbaute Kühlkörper mit Ventilator war bei weitem lauter als ich mir das vorgestellt hatte.

Da ich mich mit dieser Situation nicht dauerhaft abfinden wollte, recherchierte ich vergangene Woche bezüglich so genannten after-market Kühlern für Grafikkarten. In die engere Auswahl kamen folgende Kühler:

Andere Modelle musste ich aus Platzgründen von vornherein ausschließen. Von den drei angegebenen ist der Accelero zwar der günstigste, aber laut diversen testberichten auch der lauteste. Fairer Weise muss man dazusagen, dass bei dem Thermalright Kühler im Unterschied zu den beiden anderen keine Ventilatoren mitgeliefert werden. Nachdem ich den Platz in meinem ASUS TM-22 Gehäuse ausgemessen hatte, musste ich leider feststellen, dass für den favorisierten Musashi sehr wahrscheinlich nicht genügend Platz gewesen wäre.

Daher fiel meine Wahl auf den T-Rad2, den ich dann auch bestellte und heute Früh geliefert bekam. Dazu nahm ich zwei Noiseblocker Black Silent XE2 Ventilatoren, um die Luftzirkulation um den Kühlkörper sicherzustellen. Die Fotos dokumentieren den Umbau. Das Ergebnis ist sehr zufriedenstellend und die Geräusche des Rechners werden jetzt von der Festplatte dominiert. Bei inaktiver Festplatte hört man hauptsächlich den von Intel mitgelieferten CPU Ventilator.

Der Ausgangszustand

Nach Abnehmen des Originalkühlers

Nach der Reinigung der GPU und der VRAM Bausteine

Mit neuen Video-RAM Kühlkörper

T-Rad2 Kühlkörper

Das geht sich, wie erwartet, haarscharf aus

Kühler mit Ventilatoren

Ansicht von unten

Die Grafikkarte samt neuer Kühllösung ist wieder im Gehäuse verbaut

Banshee rocks

15-Jan-10

Wenn man seine Musikbibliothek auf einer externen Festplatte hat, zum Beispiel weil die interne Festplatte des Laptops zu klein ist, kann man dem Banshee Media Player mit einem kleinen Trick beibringen, die dortigen Dateien zu indizieren. Alles was zu tun ist, ist die Datei .is_audio_player im Stammverzeichnis der zu indizierenden externen Festplatte anzulegen.

Quelle: https://bugzilla.gnome.org/show_bug.cgi?id=383880#c6

Lightning Problem

14-Jan-10

Ich hatte schon seit einiger Zeit ein Problem mit dem Lightning Plugin von Mozilla Thunderbird. Angefangen hat es mit dem Update auf Version 0.9. Jedes Mal wenn ich Thunderbird gestartet habe kam zweimal folgende Fehlermeldung:

An error was encountered preparing the calendar located at moz-profile-calendar:// for use. It will not be available.

Da ich die Funktionalität von Lightning nicht viel verwendet habe, entschied ich mich als schnellste “Lösung”, das Plugin zu deinstallieren.

Heute habe ich nach kurzer Recherche eine Lösung für das Problem gefunden. Sie wird im Bugzilla System von Fedora an folgender Stelle erklärt:

https://bugzilla.redhat.com/show_bug.cgi?id=542736#c5

Rekordverdächtig

13-Jan-10

Heute Nacht hat es, wie vom Wetterdienst gestern vorhergesagt, erneut geschneit. In Annemasse haben wir also mittlerweile geschätzte 30 cm Schnee vor dem Haus liegen. Für Dory ist das zwar unangenehm, stellt aber kein echtes Problem dar. Leider gilt das für den Verkehr nicht. Ich hatte heute von zuhause bis auf den CERN Parkplatz genau 2 Stunden und 21 Minuten Fahrtzeit, was eindeutig ein neuer Rekord ist. Üblicherweise benötige ich für die etwa 35 km (davon 26 km Autobahn) 40-50 Minuten wenn ich zur selben Zeit fahre wie alle anderen. Immerhin gilt es zweimal die Grenze zwischen der Schweiz und Frankreich zu überqueren. Außerhalb der Stoßzeit habe ich die Strecke auch schon in 32 Minuten geschafft.

Gegen Ende war die heutige Fahrt dann schon fast unterhaltsam. In einem der vielen Kreisverkehre hat sich das vor mir fahrende Auto um 180 Grad gedreht und stand mir frontal gegenüber.

Ich hoffe nur, dass der Nachhauseweg etwas weniger Zeit braucht.

Nachtrag

Der Rückweg war eine positive Überraschung: Ich habe meine Bestzeit von 32 Minuten wiederholt, da wundersamer Weise zwischen 17:50 und 18:22 Uhr kaum Verkehr war.

Portrait von Dory

10-Jan-10

Dory

Dieses Bild ist eines der ersten, die ich mit dem Zoom-Objektiv meiner Nikon D60 gemacht habe.

T43 LCD Panel

10-Jan-10

T43 LCD Panel

Kurz vor Weihnachten hat bei meinem schon etwas in die Jahre gekommenen Thinkpad T43 das LCD Panel, genauer gesagt, dessen Beleuchtung den Dienst versagt. Ich habe das gute Stück zerlegt und habe es mit Glück wieder zum Laufen gebracht. Zur Illustration ist hier ein Bild des zerlegten T43 Bildschirms: