= SWAT per SSL =

SWAT ist das Konfigurations-Tool eines SambaServer. Leider ist die
Authentifizierung von SWAT so grauenhaft, wie seine Oberfläche
angenehm ist. :-( Man muss sich als '''root''' authentifizieren, um
Einstellungen vornehmen zu können, dabei werden die
Authentifizierungs-Informationen per basic-Authentifizierung des
Webservers im Klartext übers Netz übertragen. Wenn irgendjemand
gerade auf dem Netz snifft, hat man damit das root-Passwort des
Webservers verraten. :-(

Schöner wäre es, wenn SWAT z.B. SSL unterstützen würde. Tut es zwar
nicht, aber es gibt mit '''stunnel''' (http://www.stunnel.org)
einen Wrapper, der das möglich macht. Einen Link zu dieser Methode
gibt es auch auf der SWAT-Homepage, aber die dort vorgestellte
Methode funktionierte so nicht. ''(Vielleicht liegt das daran, dass
es aktuell stunnel 4.x gibt, Debian aber noch 3.x enthält?!?)''

== Installation unter Debian ==

Installation des Debian-Paketes '''stunnel''' (und natürlich auch
'''swat''').

Als erstes muss ein Server-Zertifikat angelegt werden. Dies macht
man nach den Anweisungen in
''/etc/share/doc/stunnel/README.Debian''. Dort ist es kurz und
knapp erklärt. Kurz gesagt macht man folgendes:

  cd /etc/ssl/certs
  openssl req -new -x509 -nodes -days 365 -out stunnel.pem -keyout
stunnel.pem
  chmod 600 stunnel.pem
  dd if=/dev/urandom of=/tmp/temp_file count=2
  openssl dhparam -rand /tmp/temp_file 512 >> stunnel.pem
  ln -sf stunnel.pem `openssl x509 -noout -hash < stunnel.pem`.0
  rm /tmp/temp_file

Die Zertifikatsdatei kann man auch ''swat.pem'' nennen.

Dann kommt das, was ich erst mühsam herausfinden wollte. Man geht
in die Datei '''/etc/inetd.conf''', kommentiert die
'''swat'''-Zeile aus (ist sie nach der nackten Installation von
SWAT bereits) und trägt folgendes dafür ein:

  swat   stream   tcp   nowait   root   /usr/sbin/stunnel -N swat
-p /etc/ssl/certs/stunnel.pem -l /usr/sbin/swat -- swat

== Und los mit dem Browser ==

Dann als Adresse im Browser https://fileserver.name.domain:901
eingeben und fertig (man achte auf "https")! Es empfielt sich
übrigens scheinbar, als Namen des Zertifikatsinhabers den
Domainnamen des Servers anzugeben. Mein Mozilla meckert sonst
immer, das die Namen nicht übereinstimmen und verlangt eine
Bestätigung.

== Was gibts sonst noch? ==

Stunnel ist ein ziemlich geniales Tool. Wer also mehr will/braucht,
kann sich dort ruhig mal einlesen. So führt meine Lösung z.B. dazu,
dass man SWAT vom Server selber aus nicht mehr starten kann, weil
ich da keinen Browser mit SSL-Unterstützung habe. (Haha!) Da kann
man entweder zwei Zeilen in die ''inetd.conf'' schreiben oder
stunnel kann auch eine Art redirect auf einen anderen Port machen.
Wie dem auch sei: Für die meisten Fälle dürfte obiges Setup gut
sein. -- ThomasBayen


[{Tag Netzwerk Samba SSL}]