Freetz Webif mir SSL...Anleitung für jedermann

Darkyputz

Aktives Mitglied
Mitglied seit
27 Jul 2005
Beiträge
2,324
Punkte für Reaktionen
0
Punkte
36
Hallo!

nachdem mich avm ja jetzt massiv verwöhnt hat mit der funktion mein avm webif per https verschlüsselt zu bedienen, suche ich natürlich auch eine möglichkeit für den mod...
natürlich nativ, sodas ich mich nicht mit putty "rumschlagen" muss nur um auf den mod zu kommen...
oli empfahl mir da matrixtunnel/xrelayd...
Und das ist es nun auch geworden.
Und da wr ja eine so feine truppe sind teilen wir auch alles...
Also...
zuerst im linux eurers vertrauen über folgenede befehlskette euere schlüsseldateein erstellen
Code:
  openssl genrsa 1024 > host.key
  openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert
um danach diese mit angepassten pfaden wie folgt zu verwenden...
Code:
  chmod +x /var/media/ftp/uStor02/xrelay/host.cert
  chmod +x /var/media/ftp/uStor02/xrelay/host.key
  /sbin/xrelayd -f -D7 -r 0.0.0.0:81 -d 4433 -p /var/media/ftp/uStor02/xrelay/host.key -A /var/media/ftp/uStor02/xrelay/host.cert 2>/dev/null
wer den xrelayd nicht im imgae hat, muss ihn zuvor hier runterladen und auf dem stick verewigen...
und dann halt so aufrufen...
Code:
  cp /var/media/ftp/uStor02/xrelay/xrelayd /sbin/
  cp /var/media/ftp/uStor02/xrelay/libxyssl.so /usr/lib
  chmod +x /var/media/ftp/uStor02/xrelay/host.cert
  chmod +x /var/media/ftp/uStor02/xrelay/host.key
  chmod +x /usr/lib/libxyssl.so
  chmod +x /sbin/xrelayd
  /sbin/xrelayd -f -D7 -r 0.0.0.0:81 -d 4433 -p /var/media/ftp/uStor02/xrelay/host.key -A /var/media/ftp/uStor02/xrelay/host.cert 2>/dev/null

man kann das ganze noch schön in eine load_xrealy oder so verpacken, aber das ist jedem überlassen...
Nun noch eine portfreigabe auf die virtuelip oder 0.0.0.0 mit port 4433 auf 4433 und schön gehts los...
 

Anhänge

  • xrelay.zip
    80.2 KB · Aufrufe: 75
Zuletzt bearbeitet:
Wie wärs hiermit: Link

MfG Oli
 
das iss doch schonmal was...danke oli...schau ich mich mal mit um...
 
sooo...etwas rumgestestet und ausprobiert...
und ich kann innerhalb meines netzwerkes auf ssl verschlüsselten mod zugreifen...
nur von extern bekomme ich noch
Code:
[info  ] Mar  3 17:36:42 xrelayd[3261] xrelayd.c:833 Got ssl connection from 84.134.50.197 on server port 4433
[info  ] Mar  3 17:36:42 xrelayd[3643] xrelayd.c:370 Attempting to connect to localhost:81
[info  ] Mar  3 17:36:42 xrelayd[3643] xrelayd.c:375 Connected to localhost:81
[info  ] Mar  3 17:36:42 xrelayd[3643] xrelayd.c:416 Initialized SSL for server mode
[info  ] Mar  3 17:36:42 xrelayd[3643] xrelayd.c:431 Performing ssl handshake
[err   ] Mar  3 17:36:42 xrelayd[3643] xrelayd.c:434 SSL handshake failed: ffff6800
[info  ] Mar  3 17:36:42 xrelayd[3261] xrelayd.c:833 Got ssl connection from 192.168.178.242 on server port 4433
[info  ] Mar  3 17:36:42 xrelayd[3645] xrelayd.c:370 Attempting to connect to localhost:81
[info  ] Mar  3 17:36:42 xrelayd[3645] xrelayd.c:375 Connected to localhost:81
[info  ] Mar  3 17:36:42 xrelayd[3645] xrelayd.c:416 Initialized SSL for server mode
[info  ] Mar  3 17:36:42 xrelayd[3645] xrelayd.c:431 Performing ssl handshake
[err   ] Mar  3 17:36:42 xrelayd[3645] xrelayd.c:434 SSL handshake failed: fffff080
mal schauen ob ich das noch finde...

Edit1:
Habe es jetzt wie blöd rumgestet...
Code:
chmod +x /var/media/ftp/uStor02/xrelay/host.cert
chmod +x /var/media/ftp/uStor02/xrelay/host.key
/sbin/xrelayd -f -D7 -r 0.0.0.0:81 -d 4433 -p /var/media/ftp/uStor02/xrelay/host.key -A /var/media/ftp/uStor02/xrelay/host.cert 2>/dev/null
oder
chmod +x /var/media/ftp/uStor02/xrelay/host.cert
chmod +x /var/media/ftp/uStor02/xrelay/host.key
/sbin/xrelayd -f -D7 -r localhost:81 -d 4433 -p /var/media/ftp/uStor02/xrelay/host.key -A /var/media/ftp/uStor02/xrelay/host.cert 2>/dev/null
oder
chmod +x /var/media/ftp/uStor02/xrelay/host.cert
chmod +x /var/media/ftp/uStor02/xrelay/host.key
/sbin/xrelayd -f -D7 -r 192.168.178.253:81 -d 4433 -p /var/media/ftp/uStor02/xrelay/host.key -A /var/media/ftp/uStor02/xrelay/host.cert 2>/dev/null
funktionieren zwar intern, aber extern iss niente...
was zum henker mach ich falsch??

ich habe in der ar7 ne freigabe von port 81 auf IP 192.168.178.253 mit port 4433 gehabt,
das selbe mit ip 0.0.0.0 aber nix...

WAS ISS FALSCH...HILFEEEE
 
Zuletzt bearbeitet:
*PUSH*
mal für alle nach oben legen falss es noch jemand benutzen möchte
 
Ich kenn mich zwar nicht mit xrelayd/xyssl aus, vielleicht kann ich dir aber trotzdem helfen ...

Erstmal schnell die Fehler-Codes entziffert:
Code:
fffff080 = -0x0F80 = XYSSL_ERR_NET_CONN_RESET
fffff080 = -0x9800 = XYSSL_ERR_SSL_BAD_HS_CLIENT_HELLO

Du bekommst also einen Verbindungs-Abbruch gefolgt von einem Client-Hello-Error wenn ich das richtig sehe. Warum du letzteres bekommst ist mir schleierhaft, weil das quasi bedeutet, dass der SSL Handshake beim "Hello" fehlgeschlagen ist - bspw. weil der Client kein SSLv3 unterstützt.

Vielleicht ist das aber auch nur ein Folge-Fehler des Verbindungs-Abbruchs.

So wie ich das sehe, musst du noch beim "-d" Parameter den Host angeben auf dem du mit dem Port lauschst. D.h. Port in der Fritz Firewall auf eine interne IP (z.b. virtuell) weiterleiten und xrelayd dann an dem host: port lauschen lassen.

Hast du das gemacht ?

Also in etwa so:

Code:
externeIP:port  -->  interneIP:port  -->  xrelayd  -->  localhost:81

/sbin/xrelayd -f -D7 -r localhost:81 -d 192.168.178.253:4433 -p /var/media/ftp/uStor02/xrelay/host.key -A /var/media/ftp/uStor02/xrelay/host.cert 2>/dev/null

Port-Weiterleitung in der F!Box von 4433 auf 192.168.178.253:4433


Edit: Vielleicht liegt's auch einfach nur am Port. Hast du es mal mit 443 statt 4433 probiert ? Könnte z.B. beim Client (Firefox/IE) Probleme machen, wenn nicht der Standard HTTPS-Port verwendet wird.


Noch ein Hinweis:
xrelayd/xyssl sind teilweise noch im Entwicklungsstatus, haben Bugs und unter Umständen Sicherheitslücken. Bist zum ersten Final-Release sollte man regelmässig den Client updaten und sich wegen Sicherheitslücken informieren.

XySSL Forum
ZneroL - xrelayd
 
Zuletzt bearbeitet:
Das kann man aber auch ohne freetz benutzen, oder?
 
das müsste an einer nicht freetz box getetstet werden...vielleicht du??
 
Sobald meine 5050er da ist, kann ich diesen Part gerne übernehmen :)
 
Ich mach das ganze mit stunnel So etwa..

Code:
[freetz-oberfläche]
cert = /tmp/maymod-cert.crt
boxkey = /tmp/box-key.perm
client = no
accept =4433
connect=555 [//for knock]
connect = 81

OK knock kann man weg lassen.
 
hat stunnel ne webif?
das wäre nämlich sehr viel angenehmer...
danke für den tipp...
 
so...nu hba ich stunnel druff, aber krieg es nicht zum laufen...key und cert sind ordnungsgemäss drin, aber deine einstellungen finde ich nicht und er will noch die servies haben, wo ich keine config beispiel gefunden habe...
was soll da für eine syntax rein???
 
jo...nu rennt er der stunnel...
blöd mit der ollen erstellung der certs und keys...aber das macht man ja auch nur einmal...
danke...
nu werd ich xrelay mal nen webif bauen müssen...denn kleiner iss es ja schon...
 
jo...nu rennt er der stunnel...
blöd mit der ollen erstellung der certs und keys...aber das macht man ja auch nur einmal...
danke...
nu werd ich xrelay mal nen webif bauen müssen...denn kleiner iss es ja schon...

Ok, ich hab mit gerade mal schnell xrelayd/xyssl für mein "altes" ds26-15.2 kompiliert und bei mir funktioniert es !

So hab ich's gestartet:
Code:
./xrelayd -f -D7 -r fritz.box:81 -d 0.0.0.0:443 -p ./server.key -A ./server.crt

Wichtig ist noch die Port-Weiterleitung auf die virtuelle IP (wie ich das Oben schon beschrieben habe), sonst geht das von extern natürlich nicht. Ich hab beim Testen von 443 auf 192.168.178.253:443 weitergeleitet (192.168.178.253 ist meine virtuelle IP).

Nebenbei ist mir was seltsames aufgefallen ... xrelayd vertauscht dummerweise die Byte-Reihenfolge der IP beim "-d" Parameter, vielleicht hab ich auch noch einen CFLAG Parameter falsch. Jedenfalls führt es dann natürlich dazu, dass es an einer falschen IP lauscht (z.B. 253.178.168.192 statt der richtigen).

Ich schreib vielleicht demnächst ein Paket, mit dem alle dsmod/freetz Benutzer sich xyssl/xrelayd zusammenbasteln können. Aber wenn du das machen willst, überlasse ich das gerne dir ;) Müssen ja nicht die gleiche Arbeit doppelt machen !
 
so...nu hba ich stunnel druff, aber krieg es nicht zum laufen...key und cert sind ordnungsgemäss drin, aber deine einstellungen finde ich nicht und er will noch die servies haben, wo ich keine config beispiel gefunden habe...
was soll da für eine syntax rein???
Alles laut Wikki...


Ich habe das ganze mit in der Debug.conf eingetragen und beim hochfahren der Box wird das Script ausgeführt.

Ahm meine Push-Mail Service wird neben bei auch Verschlüsselt gemailt und DNSDym überträgt die IP auch zum Server Verschlüsselt.
 
Hallo

Bei mir funktioniert die Anleitung irgendwie nicht. Ich habe mein Freetz ohne xrelayd gebaut, das Kopieren nachträglich klappt aber nicht :
Code:
cp /var/media/ftp/uStor01/xrelayd/xrelayd  /sbin/
cp: cannot create '/sbin/xrelayd': Read-only file system

cp /var/media/ftp/uStor01/xrelayd/libxyssl.so /usr/lib/
cp: cannot create '/usr/lib/libxyssl.so': Read-only file system

Hier noch die Ausgabe von mount :
Code:
ount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nodiratime,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type ext3 (rw,noatime,nodiratime)

Könnte mir bitte jemand verraten was ich falsch mache ?

Danke im Voraus K
 
Hallo!

Sage mal...hast du min_fo druff?
Denn wenn mich nicht alles täuscht iss sbin im Flash und somit nicht direkt beschreibbar...
Daher würd ich dir statt cp eher mount -bind empfehlen...somit iss das dann "virutuell" in dem Verzeichnis...
Oder halt mini_fo...dann klappts auch mit cp...
Wenn alle Stricke reissen, kannst du aber auch das alles vom uStor01 aus starten...musst dann halt nur die Startskripte anpassen...

Grüße
 
Hallo

Min_fo habe ich nicht drauf. Es gibt auch kein Verzeichniss /sbin, lediglich nur /mod/sbin. Kann man den verwenden ? In /mod/sbin kann ich kopieren.

Wenn ich xrelayd vom uStor01 tsarte welches Skript muss ich anpasen ? Und was mache ich wegen libxyssl.so ? Und wozu ist das load_xrelay.sh gut ? Oder wenn man irgendetwas in /sbin oder /mod/sbin kopiert, wird es nicht persistent ? (die Dateien verschwinden nach dem Neustart ?)

Danke sehr für deine Hilfe - K
 
Hallo!

Also das ganze iss weniger aufregend als du befürchtest denke ich...
Den Nachladeteil kannst du ja gestalten wie du magst...habe das von oben mal runterkopiert:
cp /var/media/ftp/uStor02/xrelay/xrelayd /mod/sbin/ cp /var/media/ftp/uStor02/xrelay/libxyssl.so /mod/usr/lib chmod +x /var/media/ftp/uStor02/xrelay/host.cert chmod +x /var/media/ftp/uStor02/xrelay/host.key chmod +x /mod/usr/lib/libxyssl.so chmod +x /mod/sbin/xrelayd /mod/sbin/xrelayd -f -D7 -r 0.0.0.0:81 -d 4433 -p /var/media/ftp/uStor02/xrelay/host.key -A /var/media/ftp/uStor02/xrelay/host.cert 2>/dev/null
Das sollte es schon sein...ausser natürlich das xrelayd is bereits zu alt...
Muss mal nen neues bauen und anhängen...da gabs ja auch schon n Versionen nach...
 
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.