WebDav und SSL

henfri

Mitglied
Mitglied seit
21 Sep 2005
Beiträge
441
Punkte für Reaktionen
2
Punkte
18
Hallo,

webdav funktioniert ja nun auch mit SSL. (http://www.freetz.org/ticket/268)
Leider ist nicht ganz klar, wo man die Zertifikate ablegen soll.
Könnte hierzu jemand vieleicht 2-3 Zeilen schreiben?

Aus http://www.freetz.org/ticket/268:
Code:
Soeben konnte ich erfolgreich eine Verbindung zu https://mediacenter.1und1.de herstellen. In der davfs2.conf habe ich den parameter servercert /var/davfs2/certs/cert.pem hinzugefügt. cert.pem muss neben das Zertifikates der Seite noch das Zertifikat des Ausstellers enthalten. Man kann das Zert. aus Firefox exportieren. Dann die Zert. tauschen, fertig.
  Changed 6 weeks ago by ralf ¶

Falls mehrere SSL-Clients auf der Box sind, wäre es sinnvoll, diese nicht in die einzelnen Programme zu integrieren, sondern sie an einer zentralen Stelle im dateisystem abzulegen, z.B. /etc/ssl/ wie auf normalen Linux-Systemen (evtl. als Link in den beschreibbaren Teil, wobei sich die Root-Zertifikate vermutlich nicht so oft ändern.

Gruß,
Hendrik
 
Hallo,

verwendet denn niemand webdav mit SSL, oder die 1und1 SmartDisk?

Gruß,
Hendrik
 
Hallo,

so funktioniert es jetzt bei mir:
1) Zertifikat von sd2dav.1und1.de UND von ThawtePremiumServerCA (dem Aussteller des Zertifikats) exportieren und in *eine* Datei cert.pem speichern:
Das sieht so aus:
Code:
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
2) Diese Datei nach /var/davfs2/cert kopieren
3) echo "servercert /var/davfs2/cert/cert.pem" >> /var/davfs2/davfs2_1.conf in /mod/etc/webdav einfügen
4) /mod/etc/webdav ausführen.

Fertig.


Was jetzt fehlt ist die Möglichkeit dies per Webinterface zu steuern und v.a. dies permanent zu speichern.

Hierzu würde es vorerst reichen, wenn man im WebIF den Pfad der Zertifikatdatei für jeden Server angeben kann.

Wäre jemand bereit, dies einzupflegen?

Gruß,
Hendrik
 
Hallo,

da ich nicht weiß, wie ich die obigen Änderungen in Freetz integrieren kann:
Wie kann ich sie denn wenigstens permanent speichern, so dass sie ein reboot überleben?

Gruß,
Hendrik
 
permanent speichern oder nach reboot laden

könnte man die Befehle echo
in der
rc custum
oder in der debug cfg
eintragen

gruss
 
Das Zertifikat kopierst du nach /var/tmp/flash mit anschließendem "modsave flash". Dann kannst du in der rc.custom oder debug.cfg ein Link anlegen.

MfG Oliver
 
Hallo,

danke für den Tipp. Für die Datei würde es reichen.
Aber man muss ja auch noch die /mod/etc/webdav 'patchen' und ich weiß leider nicht, wie ich die entspr. Zeile an der richtigen Stelle einbauen kann... (per Skript).

Wie sieht es denn mit der Integration ins WebIF von Freetz aus. Planst du da etwas, oder würde es sich lohnen, wenn ich mir eine Bastellösung baue?

Gruß,
Hendrik
 
Versuche, das doch selbst zu machen ;-) sooo komplex sollte das nicht sein!

- Lege eine zusätzliche Datei unter "Einstellungen" an, in die das Zert kommt (analog z.B. zum Openvpn). Dazu im "default" Ordner eine Datei anlegen, ähnlich wie "make/openvpn/files/root/etc/default.openvpn/box_crt.def", also z.B. make/davfs2/files/root/etc/default.davfs2/davfs_servercrt.def:
Code:
# etc/default.davfs2/davfs_servercrt.def
CAPTION='WebDav SSL Server Cert'
DESCRIPTION='Certificate for server.'
CONFIG_FILE='/tmp/flash/davfs_servercrt.pem'
CONFIG_SAVE='modsave flash; if [ ! -z "$(pidof mount.davfs)" ]; then echo ""; /mod/etc/init.d/rc.davfs2 reload; fi'
CONFIG_TYPE='text'

Dann musst du die rc-Datei unter make/davfs2/files/root/etc/init.d/rc.davfs2 entsprechend ergänzen:

Code:
case "$1" in
	""|load)

		if type modreg > /dev/null; then
			modreg cgi davfs2 'WebDAV'
[B]			deffile='/mod/etc/default.davfs2/davfs_servercrt.def
			[ -r "/tmp/flash/davfs_servercrt.def" ] && deffile='/tmp/flash/davfs_servercrt.def'
			modreg file 'davfs_servercrt' 'WebDav Server Cert' 0 "$deffile"
[/B]			adduser -D davfs2 2>/dev/null
			addgroup davfs2 davfs2 2>/dev/null
		fi
		if [ "$WEBDAV_ENABLED" != "yes" ]; then
			echo "WebDAV is disabled" 1>&2
			exit 1;
		fi

		if [ ! -z "$(pidof mount.davfs)" ]; then
			echo "WebDAV already started."
		else
			start
		fi
		;;
	unload)
		stop
		modunreg cgi davfs2
	[B]	modunreg file 'davfs_servercrt'[/B]
		delgroup davfs2 
		deluser davfs2
		;;

Dann liegt die Datei unter /tmp/flash/davfs_servercrt.pem und das muss dann in die Config rein.

Wenn ich das richtig gelesen habe, wird die Datei "/mod/etc/webdav" ebenfalls im "rc.davfs2" angelegt, nämlich hier in start(), wo die Ausgabe von "default.davfs2/webdav_mount" in dieses Datei umgeleitet wird:
Code:
start() {

	mkdir /var/davfs2 2>/dev/null
	
	(
		if [ -x "/tmp/flash/webdav_secrets" ]; then
			/tmp/flash/webdav_secrets
		else
			/mod/etc/default.davfs2/webdav_secrets
		fi

	) > /var/davfs2/secrets

	(
		if [ -x "/tmp/flash/webdav_mount" ]; then
			/tmp/flash/webdav_mount
		else
			/mod/etc/default.davfs2/webdav_mount
		fi

	) [B]> /mod/etc/webdav[/B]

	(
		if [ -x "/tmp/flash/webdav_umount" ]; then
			/tmp/flash/webdav_umount
		else
			/mod/etc/default.davfs2/webdav_umount
		fi
	) > /mod/etc/webdav_umount
		  	
	echo -n 'mount WebDAV...'
	
	chmod +x $DAEMON
	chmod +x $DAEMON_UMOUNT
	$DAEMON > /dev/null 2>&1
		
	exitval=$?
	
	if [ "$exitval" -eq 0 ]; then
		echo 'done.'
	else
		echo 'failed.'
		exit $exitval
	fi
}

Also fügst du deine Ergänzung in "default.davfs2/webdav_mount" hinzu, oder machst das "platt" direkt in der Datei...
Ich weiß natürlich nicht, ob das auch funktioniert, wenn du den Parameter angibst, aber garkein Zertifikat nutzt. Schöner wäre es, das noch steuerbar zu machen, dazu benötigst du dann eine zusätzliche Variable, die in der GUI zu setzen wäre. Dazu muss ein neuer Parameter in die default .cfg-Datei und die Variable des gleichen Namens in der GUI vorhanden sein....

Da ich das nicht nutze, kann ich es nicht testen, aber vielleicht helfen dir die Hinweise, und du baust deine erste eigene Ergänzung zu freetz ;-)

Jörg


EDIT: Versuche doch mal den anhängenden Patch. Hilft der dir? (habe ihn nicht getestet)...
 

Anhänge

  • davfs_02.diff.gz
    1.6 KB · Aufrufe: 11
Zuletzt bearbeitet:
Hi Jörg!

vielen herzlichen Dank. Ich probiere das (heute oder morgen) mal aus.
Ich habe für eine zentrale Zertifikatsverwaltung mal einen Ticket aufgemacht:
http://www.freetz.org/ticket/299

Gruß,
Hendrik
 
Danke, MaxMuster.

Ich hab's mal eingecheckt, bitte testen und Probleme melden.
 
Hallo,

ich hatte es schonmal eingepatcht. Das lief. Aber mit der aktuellen SVN Version hatte ich noch Probleme (ich dachte zuerst, es läge wohmöglich am Patch).
Jetzt läuft die SVN Version wieder und ich werde den Patch gleich mal testen.

Danke Whoopie&MaxMuster.

Gruß,
Hendrik
 
Hallo,

hat schon jemand das SmartDrive von 1und1 mit WebDav verwendet?
Ich hab da Probleme mit den Umlauten.

Gruß,
Hendrik
 
wo hast du die Zertifikate hergenommen? Bzw. exportiert?
 
Oh, wie war das noch...
Ich glaube, aus dem Firefox, wenn ich mich recht entsinne.

Wenn mir jemand hier bestätigen kann, dass die Zertifikate nicht personenbezogen sind, kann ich sie dir auch zuschicken.

Gruß,
Hendrik
 
ok hab im firefox gefunden, danke.

Welchen Server hast du angeben?
Bei http://sd2dav.1und1.de läuf es, aber das ist wohl ohne ssl, aber bei
https://sd2dav.1und1.de sagt er folgendes:
Code:
# /mod/etc/webdav
mount https://sd2dav.1und1.de...
Mounting failed.
401 Authorization Required
 
Hallo,

ja, https://sd2dav.1und1.de.


"Authorization Required" hört sich nach falschem Passwort an.

Wenn die Zertifikate falsch sind, war die Fehlermeldung anders.

Code:
cat /var/davfs2/davfs2_1.conf
secrets /var/davfs2/secrets_1
servercert /var/tmp/flash/davfs_servercrt1.pem

Code:
cat /var/davfs2/secrets_1
https://sd2dav.1und1.de [email protected] xxxxx

Code:
cat /var/tmp/flash/davfs_servercrt1.pem
-----BEGIN CERTIFICATE-----
jhkjhkhkjhkhhk
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
kjhkjhkhhkj
-----END CERTIFICATE-----

Gruß, Hendrik
 
Danke für die Tips, denke nicht, dass es mit ssl zu tun, da stimmen die Fehlermeldungen nicht, da hast du recht.

Das passwort habe ich mehrmals überprüft.
Habs heut nochmal mit gmx versucht, da geht es.

Hatte aber gestern die gleiche Fehlmeldung, wenn ich mit dem Firefox mit bei https://sd2dav.1und1.de/ eingeloggt habe.
Da ich soweiso noch nen update von 15gb auf 100Gb aufgrunde der Vertragsverlängerung offen hatte, habe ich das SmartDrive nochmal gelöst und ne mail an den Support geschrieben, dass sie es auf 100GB aufstocken sollen. Wenn das passiert ist versuche ich es nochmal.

Danke für deine Hilfe, melde mich dann nochmal :)

PS: hab bei GMX die Umlaute auch nicht richtig dargestellt bekommen.
 
so, zur rückmeldung:

Hab das ganze jetzt nochmal neu angelegt und es läuft auch, also danke für die Hilfe.
 
Hi,

könnte bitte mal jemand von Euch dieses Ticket checken?
Ist es wirklich notwendig und funktioniert es dann korrekt?

Danke,
Whoopie
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.