Jump to content

https Website für Media Server?


pib751

Recommended Posts

  • 2 weeks later...

Inwieweit und mit welchem Aufwand "natives" HTTPS mit dem Media Server realisierbar ist, habe ich noch gar nicht ausgelotet. Zumindest für den Webserver wäre das nicht schlecht, wenn man über das Internet auf den DMS zugreifen möchte.

 

Die grundlegenden TLS-Bibliotheken sind ja bereits dabei (libeay32.dll und ssleay32.dll). In den vom DMS verwendeten Netzwerk-Bibliotheken für die Server-Funktionalität kommt HTTPS hier und da auch mal vor - zumindest habe ich entsprechende Stellen im Code schon gesehen. Aber man braucht dafür ja auch ein Zertifikat, soweit ich weiß. Woher kommt das? Kennt sich jemand mit der Materie aus?

 

Früher hat Tjod mit seinen Fachkenntnissen viel zu solchen Themen beigetragen, aber er ist leider nicht mehr dabei - jemand anderes müsste in die Bresche springen und vielleicht ein paar Ansatzpunkte/Infos usw. liefern. Obwohl ich in den letzten Jahren (seit Lars Tod) einiges "by doing" gelernt habe, sind meine netzwerktechnischen Kenntnisse immer noch recht beschränkt...

 

Link to comment

Zertifikate muss sich egtl. jeder selbst erstellen und dann dem DVBViewer mitteilen wo die files liegen.

Im code musst du dann nur noch deiner netlib beibringen die Zertifikate zu verwenden.

 

Du kannst auch Zertifikate mit dem DMS ausliefern, die user müssten dem dann halt vertrauen.

Das geht je nach Browser und OS dann unterschiedlich.

Die Zertifikate müssen egtl nur vom user austauschbar sein.

 

Nochmal klarer ?

 

Default Zertifikat mit dem DMS ausliefern und einfach die files austauschbar machen sollte für https reichen.

Edited by VinoRosso
Link to comment
4 hours ago, VinoRosso said:

Zertifikate muss sich egtl. jeder selbst erstellen und dann dem DVBViewer mitteilen wo die files liegen.

 

Danke für die Hinweise, aber so richtig klar ist mit die Vorgehensweise immer noch nicht.

 

Wie Zertifikate selbst erstellen? Beispiel? Wieso dem DVBViewer mitteilen? Der DMS muss die doch als Server verwenden, nicht der Client, oder? Der DVBViewer als Streaming Client kann bereits HTTPS.

 

Erläutere das bitte mal für einen Anfänger...

 

Link to comment

Äh sorry, natürlich muss der DMS die Zertifikate verwenden, das war etwas ungenau und in Eile geschrieben.

Zertifikate werden in der Regel mit openSSL erstellt, da gibts unzählige Anleitungen.

Sogar für Windows sehe ich gerade http://root.bbs-duew.de/ca/OpenSSL-Windows-Zertifikat-Erstellung.htm

 

Wenn du mal die Zertifikate generiert hast sollte das egtl der schwerste part gewesen sein ?

 

 

 

Link to comment

Wenn der server dann https mit den Zertifikate(n) verwendet muss jeder client der mit dem DMS über https kommunizieren will das server Zertifikat als vertrauenswürdig anerkennen.

D.h. wenn DVBViewer clients evtl. mal per https mit dem DMS kommunizieren, müssen die auch in der netlib das Server Zertifikat - oder besser das Zertifikat der beim openssl Prozess erstellten cert authority (CA) benutzen. Mit der CA wird das server Zertifikat signiert, wenn das CA cert file vertrauenswürdig ist werden alle Zertifikate die damit signiert wurden automatisch auch anerkannt.

 

Je nach library/Anwendung ist das aber auch immer ein bisschen unterschiedlich.

 

In den meisten libs gibts für clients natürlich auch die Möglichkeit einfach blind jedes SSL Zertifikat zu akzeptieren, dann ist man allerdings nicht mehr wirklich geschützt, weil dann man in the middle Attacken möglich sind.

Edited by VinoRosso
Link to comment

Ganz wichtig ist speziel,l aber nicht nur, für den Chrome Browser "Subject Alternative Name" , das kann hier nachgelesen werden.

Edited by waldi801
Link to comment
  • 2 months later...
On 6/25/2019 at 7:59 PM, VinoRosso said:

In den meisten libs gibts für clients natürlich auch die Möglichkeit einfach blind jedes SSL Zertifikat zu akzeptieren,

 

Ich vermute, der DVBViewer macht das bei Internet TV/Radio.. Er verwendet dafür die Synapse Netzwerk-Bibliothek für Delphi, die schon seit einiger Zeit nicht mehr weiterentwickelt wird. Dass sie die Gültigkeit von Zertifikaten überprüft, kann ich mir nicht vorstellen - es sei denn, es wird dafür irgendwo in den tieferen Codeschichten ein Windows API verwendet (gibt es sowas?). Allerdings dürfte diese Vertrauensseligkeit des DVBViewers unkritisch sein, da es sich bei ihm nicht um einen Browser handelt, mit dem man Online-Banking und ähnlich delikate Angelegenheiten betreibt.

 

Der DMS Webserver basiert dagegen auf der Overbyte ICS Bibliothek, die auch hinsichtlich SSL/TLS laufend weiterentwickelt wird und offenbar in der Hinsicht gut ausgestattet ist, wenn man sich die Change Logs der letzten Versionen anschaut (siehe Link). Wir sind zur Zeit bei Version 8.53. Es scheint ratsam, auf die 8.62 zu aktualisieren, wenn man sowas wie HTTPS in Angriff nehmen will, weil sich da offenbar noch einiges getan hat, insbesondere in V8.58. Wer sich mit der Thematik auskennt, soll bitte mal schauen, was da alles über SSL/TLS steht und inwieweit das für unsere Zwecke relevant ist. Für mich sind die meisten Angaben noch böhmische Dörfer ;)

 

Link to comment

also die Sache ist eigentlich ganz einfach, allerdings gibt es da ein paar Fallstricke zu überwinden.

 

1) der Mediaserver läuft über Port 8089, das ist unüblich und für die weitere Benutzung sehr hinderlich (siehe: "ein legales Zertifikat bekommen"). Aber, wie jemand schon hier erwähnte, für sowas gibt es ja "reverse Proxies", die kann man auch mit Windows Bordmitteln einrichten und das hat dann den Vorteil, dass der Mediaserver völlig unangetastet bleibt und gar nicht mitbekommt, was ihm geschieht.

2) eigene Zertifikate sind sinnlos, niemand bestätigt sie im Internet, also gibt es nur unendliches Leid und demnächst erlauben die Browser auch keine manuellen Ausnahmen mehr. Schließlich gibt es ja "LetsEncrypt", das liefert legale Zertifikate umsonst (Nachteil: nur 3 Monate Gültigkeit, man muss also aufs Verlängern achten)

 

Aus Punkt 1 kann der geneigte Leser schon erahnen, am Mediaserver selber sind keinerlei Änderungen oder Einstellungen nötig, allerdings muß der Webzugriff erlaubt sein und ein entsprechender User/Passwort vorhanden sein. Griga kann sich also sofort wieder hinlegen, er muss nichts machen, keine Bibliothek austauschen oder so, alles kann bleiben, wie es ist.

 

Wie man den Reverse Proxy mit dem Windows IIS aufsetzt kann man Schritt für Schritt hier nachlesen https://www.ugg.li/iis-reverse-ssl-proxy-unter-windows-server-2012r22016-einrichten-schritt-fuer-schritt/
Auch wenn die von 2012 und 2016 reden, das funktioniert bei 2019 und Windows 10 genauso, aber eigentlich ist ein Server OS für den Job deutlich besser geeignet. Ich weis gar nicht, ob die IIS Konsole auch bei W10 vorhanden ist? Sollte aber eigentlich, gehört ja zu den RSAT Tools.

 

Der Reverse Proxy stellt seine Dienste auf dem normalen Port 80/443 zur Verfügung, im lokalen Router muss dafür dann eine entsprechende Portweiterleitung vorhanden sein.

Achtung! die Letsencrypt Zertifikate gibts nur auf Port 80! es gibt (aus Sicherheitsgründen) keine Ausweichmöglichkeit!

 

Als nächstest solltet Ihr dann bei dem DynDNS Anbieter eures Vertrauens einen Hosteintrag für diesen Rechner machen und dafür sorgen, dass die Adresse automatisch geupdatet wird (sofern das nicht sowieso schon passiert/vorhanden ist).

 

Wie man an ein gültiges Zertifkat rankommt, kann man z.B. hier erfahren: https://www.windowspro.de/roland-eich/zertifikat-fuer-iis-exchange-lets-encrypt-ausstellen

Es gibt inzwischen reichlich Clients zur Auswahl, man sollte darauf achten, dass der Client direkt in IIS importieren kann und per Aufgabenplanung ein automatisches Renew durchführt.

Die Anforderung funktioniert nur, wenn Ihr wie oben beschrieben, den DynDNS Namen angelegt habt, den Reverse Proxy auf diesen Namen konfiguriert habt, Port 80 durchgeroutet wird und noch ein beschreibbares Verzeichnis für die Challenges vorhanden ist. Klingt komplizierter, als es in der Praxis ist.

 

Nachdem das Zertifikat ausgestellt und aktiviert wurde, könnt ihr den Mediaserver über den DynDNSNamen:443 erreichen, kein Browser sollte eine Warnung anzeigen.

 

(Hinweis: der Mediaserver "kennt" ja den Admin und den Gast User. Man kann den Reverse Proxy so konfigurieren, dass er die Benutzeranmeldung durchlässt (an den Mediaserver) oder einen festen Usernamen/Passwort sendet. Im letzten Fall kommt beim Internetuser keine Anmeldeanfrage, er wird direkt "durchgeschaltet". Das ist mit Vorsicht zu geniessen! Bei mir setze ich das ein, damit Leute aus dem Internet immer nur "Gast" werden, gucken ja, anlegen/löschen nein.. Grundsätzlich wäre eine differenziertere Userverwaltung im Mediaserver wünschenswert, aber, was ist ist, das iss nich...)

 

(Hinweis2: die dargestellte Konfiguration geht von der einfachen Anwendung aus, dass ALLE beim Proxy ankommenden Requests an den Mediaserver weitergeleitet werden sollen. Es geht auch deutlich komplizierter, so dass nur eine bestimmte Unter-URL an den Media Server geht, andere URLs an andere Dienste / Hosts weitergeleitet werden. Der Reverse Proxy kann somit als alleiniges Einfallstor aus dem Internet für eine gehörige Anzahl von Diensten auf verschiedenen Kisten dienen. Das ist sehr praktisch, wenn man nur eine Internetadresse zur Verfügung hat, aber viele Dienste auf Port 80/443 anbieten will. Auch macht das zentrale "SSL-Offloading" deutlich weniger Arbeit, als wenn man jeden Dienst einzeln absichern müsste. Ab einer gewissen Anfragendichte ist es deshalb ratsam, für den Proxy eine eigene Maschine/VM einzuplanen...)

 

 

Edited by MaM
Link to comment
vor 3 Minuten schrieb awehring:

@MaM:

Danke für die ausführliche Erläuterung.

 

In Win10 Professional kann man folgende IIS-Features auswählen. Welche muss man aktivieren:

 

Les Dir die Links genau durch. Die beiden benötigten Zusatzmodule musst Du von der Microsoft Website runterladen, die sind nicht beim OS dabei. Die anderen Teile werden auch genau erwähnt.

Ansonsten brauchst Du nur die Konsole (sofern Du nicht noch andere Seiten auf dem Webserver anbieten willst).

(Konsole muss nicht die mit IIS6 Kompatibilität sein, schadet aber auch nicht wirklich)

 

Bei mir siehts so aus (allerdings weis ich auch nicht, was davon man wirklich minimal braucht, ist "historisch" gewachsen und der Proxy macht hier auch mehr als nur Media Server):

WWW.thumb.jpg.7124c3a89e9bcbea6dc0995d2b0862bc.jpg

(Anmerkung: "Unterstützung zentraler SSL Zertifikate" brauchst Du wahrscheinlich nicht. Das ist dafür da, das irgendwo im LAN ein ANDERER Server ist, der in einer Netzwerkfreigabe die Zertifkate anbietet. Die verbundenen Kisten (dieser Proxy z.B.) sucht sich dann das Zertifikat für seinen Hostnamen raus. Und da er das bei jedem Aufruf neu macht, werden Updates der Zertifikate ohne Neustart direkt verwendet. Das gibts aber bei Win10 wohl gar nicht)

 

Link to comment

Man muss schon unterscheiden ob es hier um Zugriff mit gültigen Zertifikaten von aussen geht oder um https im LAN.

Auch die interne Kommunikation zwischen DVBViewer und DMS kann nicht mit Lets encrypt Zertifikaten abgesichert werden - jedenfalls soweit ich weiss.

 

Im Jahr 2019 sollte egtl keine unverschlüsselte Kommunikation mehr stattfinden, auch nicht im LAN.

Einige halten das sicher für unnötig.

Link to comment
vor 8 Stunden schrieb VinoRosso:

Man muss schon unterscheiden ob es hier um Zugriff mit gültigen Zertifikaten von aussen geht oder um https im LAN.

Im Jahr 2019 sollte egtl keine unverschlüsselte Kommunikation mehr stattfinden, auch nicht im LAN.

Kann es sein, dass Du Dir selber innerhalb 2 Sätzen wiedersprichst?

 

Also, WENN man es gerne verschlüsselt hätte, sollte es egal sein, ob LAN, oder Zugriff aus dem Internet. Es ist nämlich recht kompliziert, zwei verschiedene Zertifkate für dieselbe Webseite zu hinterlegen (geht, aber wird nicht wirklich empfohlen).

 

Die "selbstgemachten" haben dabei dass Problem, dass kein Programm sie von vorneherein akzeptiert, da die ausstellende Stammzertifizierungsstelle nicht bekannt ist. Man kann zwar deren Zertifikat schon bei der Windows Installation oder per GPOs an die Klienten verteilen, aber damit trifft man trotzdem nur einen Teil der Programme. Firefox z.B. hat einen eigenen Zertifikatsspeicher, es kümmert sich normalerweise nicht um die bei Windows hinterlegten Zerts (Abhilfe: in der Config "lockPref("security.enterprise_roots.enabled", true);" setzen, dann verwendet auch Firefox den Windows Speicher). Und da man nie wissen kann, welchen Browser in welcher Version der Anwender verwendet, wird es immer hier und da zu Fehlermeldungen kommen. Deshalb ist es von Anfang an besser "richtige" Zertifikate einzusetzen und Ärger zu vermeiden.

 

Zitat

Einige halten das sicher für unnötig.

Man kann das halten, wie man will, allein, es nützt einem nix. Die Browserhersteller haben alle beschlossen, dass unverschlüsselt "out" ist. Mit jeder neuen Version werden die Zügel enger angezogen, in absehbarer Zeit ist unverschlüsselt verboten und kann gar nicht mehr aktiviert werden.

Dafür wurde ja LetsEncrypt gegründet und von den Firmen bezahlt.

 

Edited by MaM
Link to comment
Am 4.9.2019 um 22:57 schrieb MaM:

Griga kann sich also sofort wieder hinlegen, er muss nichts machen, keine Bibliothek austauschen oder so, alles kann bleiben, wie es ist.

 

Kann er nicht. Er muss Bibliotheken aktualisieren, weil der Long Time Support für das zur Zeit noch verwendete OpenSSL 1.0.2 Ende 2019 ausläuft (siehe hier sowie ssleay32.dll und libeay32.dll im DVBViewer-Ordner), d.h. es gibt keine Sicherheitsupdates mehr. Die aktuell verwendete Version der für den Webserver und den SMTP Mailer zuständigen NetLib kann aber nur mit OpenSSL bis Version 1.1.0 - der Support dafür endet bereits diesen Monat. Long Time Support gibt es erst wieder mit OpenSSL 1.1.1 (bis 2023), und das braucht zwingend eine neue Version der NetLib.

 

Schlimmer sieht es mit einer anderen für die TS Stream-Schiene verwendeten NetLib aus. Dort ist die OpenSSL-Unterstützung nur bis 1.0.2 implementiert. Der ursprüngliche Autor pflegt diese Bibliothek nicht mehr, und leider hat es beim Übergang von OpenSSL 1.0.2 auf 1.1.x wesentliche inkompatible Änderungen bei den Aufrufen gegeben. Sogar die DLLs heißen anders. Die Low-Level-Unterstützung für OpenSSL 1.1.1 müssen wir also selbst implementieren. Es ist noch offen, ob und wie das gehen kann...

 

Kurz gesagt: Die Anwendungen mit unseren Ressourcen überhaupt am Leben zu halten, bringt schon einen Aufwand mit sich, der größere Neuerungen weitgehend verhindert.

 

Link to comment
vor 9 Minuten schrieb Griga:

Kann er nicht. Er muss Bibliotheken aktualisieren, weil der Long Time Support für das zur Zeit noch verwendete OpenSSL 1.0.2 Ende 2019 ausläuft (siehe hier sowie ssleay32.dll und libeay32.dll im DVBViewer-Ordner)

Hmm, mir (und meinem Netzwerkscanner) ist überhaupt nicht bekannt, dass bislang IRGENDWAS vom DVBViewer verschlüsselt übertragen wird...

 

Es mag ja sein, dass diese Bibliotheken vorhanden sind, aber bist Du sicher, dass sie auch benutzt werden?

Link to comment

Du meinst DAS hier?

all.thumb.jpg.ea75fefb0f7464eedda27c3a3a4bf897.jpg

Das hat hier noch nie funktioniert, sobald man SSL ankreuzt,  kommt man nicht weiter (siehe Fehlermeldung) (und wenn man es NICHT ankreuzt, gehts auch nicht, dann gefällt ihm Username/Passwort nicht, egal, was man da eingibt).

Also die EMail Funktion habe ich bislang immer als Scherz und "coming maybe soon" betrachtet, sie funktioniert überhaupt nicht.

 

Sep  8 09:20:32 ip6gate sm-mta[36164]: STARTTLS=server, relay=VCR.Werries.Local [192.168.0.15], version=TLSv1.2, verify=NO, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256
Sep  8 09:20:32 ip6gate sm-mta[36164]: x887KVVu036164: VCR.Werries.Local [192.168.0.15] did not issue MAIL/EXPN/VRFY/ETRN during connection to IPv4
Sep  8 09:20:59 ip6gate sm-mta[36165]: x887Kxr7036165: VCR.Werries.Local [192.168.0.15] did not issue MAIL/EXPN/VRFY/ETRN during connection to IPv4

 

(so ein sendmail ist nicht so streng wie Exchange2019. Microsoft nimmt den SSL Versuch gar nicht mehr an, da die Verschlüsselung nicht mehr gut genug ist. Sendmail ist entspannter, aber eine SMTP Übertragung kommt trotzdem nicht zustande, der DMS fängt gar nicht erst mal an eine Post abzusenden... (der zweite Versuch war ohne SSL))

 

NB: "muss verschlüsseln können" ist falsch bei SMTP. Da gibt es keinen Zwang, es ist zwar nett und inzwischen allgemein üblich, aber jeder Server nimmt auch unverschlüsselt Nachrichten an, das wird auch so bleiben.

 

 

Das mit den Mediathek Adressen hab ich nicht probiert, son Streaminghexenwerk gibts hier nicht.

 

Edited by MaM
Link to comment

Der Mailer funktioniert bei mir (schon immer) ohne Probleme, und bei anderen auch, soweit ich weiß:

 

Zwischenablage01.png

 

...und die Mail kommt auch an. Bei dir schlägt die SMTP Request fehl, warum auch immer.

 

vor 13 Minuten schrieb MaM:

Das mit den Mediathek Adressen hab ich nicht probiert, son Streaminghexenwerk gibts hier nicht.

 

Gib die Adresse mal im DVBViewer unter Wiedergabe -> URL öffnen ein. Sie lässt sich auch in die Senderliste integrieren. Der DVBViewer bringt Senderlisten mit hunderten von Internet TV/Radio-Sendern mit.

 

Link to comment
2 hours ago, MaM said:

Kann es sein, dass Du Dir selber innerhalb 2 Sätzen wiedersprichst?

 

Nee du verstehst es nur nicht.

Deine Vorschlag mit nem proxy bringt halt nichts für ne verschlüsselte Kommunikation zwischen DMS und DVBViewer und dafür muss Griga sehr wohl etwas tun.

Und letsencrypt bringt für jemanden der den DMS nur im LAN nutzt überhaupt nichts.

Edited by VinoRosso
Link to comment
vor 4 Stunden schrieb Griga:

Der Mailer funktioniert bei mir (schon immer) ohne Probleme, und bei anderen auch, soweit ich weiß:

 

Zwischenablage01.png

 

...und die Mail kommt auch an. Bei dir schlägt die SMTP Request fehl, warum auch immer.

 

 

Na ja, das ist a) 1&1 und b) Port 587. Das hat nix mit "richtigem" SMTP zu tun, 587 ist für "interne Kommunikation" vorgesehen, da kochen die Mailer ihr eigenes Süppchen und lassen normalerweise alle Hüllen und Checks fallen (587 soll nur im LAN verwendet werden, bzw. "im eigenen Netz").

Offensichtlich hast Du da noch (hinter dem Fenster versteckt) irgendwelche Anmeldedaten. Hier (und auch im Normalfalle bei SMTP) läuft das OHNE Benutzername/Passwort, DMS scheint sich aber auf jeden Fall anmelden zu wollen und wartet auf die Anforderung, die nie kommen wird. Bei Bedarf kann ich den Chat mal etwas detailierter protokollieren, aber ich krieg schon so genug Mail, ich habe das Feature zuvor nie probiert.

Aber ich kann mal eben 587 bei Exchange testen (MIT Usernamen...) ....

M587.jpg.c429b69be9688ae757f06331f2f4e910.jpg

Jo, DAS geht... Ist allerdings schlecht für Dich, denn es beweist nur, das DMS eben KEINE SMTP Mail senden kann. Du hast also eine neue Baustelle ?

Packs auf dir Bugliste (aber ganz nach hinten, ist wirklich nicht so wichtig).

Also Kurzversion: SMTP ist Port 25, OHNE Anmeldung! SSL ist optional und darf nur versucht werden, wenn der Server STARTTLS als Option anbietet beim EHLO

 

also hier mal DERSELBE Server, einmal Port 25, dann Port 587 :

 

[root@ip6gate ~]# telnet ex2019 25
Trying 2001:470:1f0b:244::2019...
Connected to ex2019.werries.local.
Escape character is '^]'.
220 InternesRelay.Werries.Local Microsoft ESMTP MAIL Service ready at Sun, 8 Sep 2019 13:37:37 +0200
ehlo ich
250-InternesRelay.Werries.Local Hello [2001:470:1f0b:244::1]
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-BINARYMIME
250 CHUNKING

-------------------------------------------------------

[root@ip6gate ~]# telnet ex2019 587
Trying 2001:470:1f0b:244::2019...
Connected to ex2019.werries.local.
Escape character is '^]'.
220 EX2019.Werries.Local Microsoft ESMTP MAIL Service ready at Sun, 8 Sep 2019 13:38:35 +0200
EHLO ich
250-EX2019.Werries.Local Hello [2001:470:1f0b:244::1]
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8

 

Du siehst? je nach Port bietet der Server ein komplett anderes Protokoll an!!!

(TLS und Benutzeranmeldung sind nur bei 587 erlaubt, ebenso UTF Zeichsatz)

(um es zu komplettieren und noch komplizierter zu machen: DERSELBE Server reagiert wieder ganz anders auf diese Ports, wenn er nicht aus den eigenen Netzen, sonder aus dem Internet angesprochen wird, aber ich spare mir die Liste der Options da, konzentrieren wir uns ersmal auf 25 und 587 egal woher... Nur als kleine Warnung, wenn Du versuchen würdest, per V6 auf die globale Adresse zu kommen. Du landest genau auf DIESEM Server, aber er mach dann noch ganz andere Sachen.)

 

 

Zitat

Gib die Adresse mal im DVBViewer unter Wiedergabe -> URL öffnen ein. Sie lässt sich auch in die Senderliste integrieren. Der DVBViewer bringt Senderlisten mit hunderten von Internet TV/Radio-Sendern mit.

Glaub ich Dir, aber, wie gesagt, ich brauche das hier nicht und der DVBViewer DMS hätte eh keinen Internetzugang und könnte somit keinen Sender erreichen.

Ich werde also dankbar auf den Test verzichten. ?

 

Edited by MaM
Link to comment
vor 3 Stunden schrieb VinoRosso:

Nee du verstehst es nur nicht.

Deine Vorschlag mit nem proxy bringt halt nichts für ne verschlüsselte Kommunikation zwischen DMS und DVBViewer und dafür muss Griga sehr wohl etwas tun.

Und letsencrypt bringt für jemanden der den DMS nur im LAN nutzt überhaupt nichts.

Die Frage ist: WAS an Kommunikation soll denn da verschlüsselt werden? SSL gibts nur für HTTP(s), bei eMail ist dann als Krücke TLS drumgewrappt worden, aber mit Rücksicht auf die Funktion seehr vorsichtig (Zertifikate werden gar nicht überprüft, sie dienen nur zu Verschlüsselung), alles andere ist proprietär.

 

Keine Ahnung, über welches Protokoll der DVBViewer mit dem DMS redet, ich beziehe mich nur auf das Webinterface des DMS.

 

Wenn Du meinen Beitrag richtig liest, so wirst Du erkennen, dass ich Letsencrypt nicht als Zwang ansehe. Natürlich kannst Du Dir ein eigenes Zertifikat basteln und bei jedem Klienten hinterlegen/beglaubigen. Das artet nun irgendwann in Arbeit aus und ist bei manchen Klienten schwierig. Ich hab z.B. meine eigene Stammzertifizierungsstelle in die Händies der Benutzer hier gepackt (damit sie die Cloud und die Homepage auch von Ferne benutzen können), das gibt Stress. Android besteht dann sofort darauf, dass ab sofort eine Zweifaktor Authorisierung Pflicht ist, IOS war noch nerviger, das habe ich dann irgendwann aufgegen und Apple Geräte vom Zugriff ausgesperrt.

Also ist es ab einer gewissen Schwelle sinnvoller "richtige" Zertifikate zu verwenden, deren Aussteller jeder kennt und jeder schon hinterlegt hat.

 

 

 

Link to comment
vor 55 Minuten schrieb MaM:

Offensichtlich hast Du da noch (hinter dem Fenster versteckt) irgendwelche Anmeldedaten. Hier (und auch im Normalfalle bei SMTP) läuft das OHNE Benutzername/Passwort,

 

Ich kenne keine Mailkonten ohne Benutzernamen bzw. Mailadresse und Passwort. Es ist mir auch herzlich egal, was da genau passiert und wie es heißt, solange es bei den Leuten, die es benutzen, funktioniert.

Link to comment
vor einer Stunde schrieb Griga:

 

Ich kenne keine Mailkonten ohne Benutzernamen bzw. Mailadresse und Passwort. Es ist mir auch herzlich egal, was da genau passiert und wie es heißt, solange es bei den Leuten, die es benutzen, funktioniert.

Sorry, nur weil Du etwas nicht kennst, sollte es Dir nicht wirklich egal sein, wenn Dein Programm gegen weltweite Standards verstösst.

 

Ich könnte hier lang und breit erläutern, warum Benutzernamen/Passwörter gar nichts bei SMTP verloren haben, aber ich verweise mal nur auf die einschlägigen RFCs. Wir wollen ja diesen Thread bei "SSL offloading mit reverse Proxy" belassen.

 

Edited by MaM
Link to comment

Was ich eigentlich kären wollte ist, ob die nötigen IIS-Features überhaupt in Win 10 (Professional) enthalten sind, ausgehend davon (fett/kursiv von mit)

 

Am 4.9.2019 um 22:57 schrieb MaM:

Wie man den Reverse Proxy mit dem Windows IIS aufsetzt kann man Schritt für Schritt hier nachlesen https://www.ugg.li/iis-reverse-ssl-proxy-unter-windows-server-2012r22016-einrichten-schritt-fuer-schritt/

Auch wenn die von 2012 und 2016 reden, das funktioniert bei 2019 und Windows 10 genauso, aber eigentlich ist ein Server OS für den Job deutlich besser geeignet. Ich weis gar nicht, ob die IIS Konsole auch bei W10 vorhanden ist? Sollte aber eigentlich, gehört ja zu den RSAT Tools.

 

In meinem ersten Screenshot offenbar nicht, siehe: https://www.DVBViewer.tv/forum/topic/62569-https-website-für-media-server/?do=findComment&comment=483229

 

und hier anscheinend auch nicht, jedenfalls finde ich den Webserver nicht:

 

image.thumb.png.b1ec22f00f7363cbd39842aca4b5d6fc.png

 

 

Bei Windows 10 Professional gibt es die "Serverrollen" (verständlicherweise) nicht, weshalb man für den von MaM genannten Weg wohl doch ein Server-Betriebssystem braucht.

Oder täusche ich mich?

Edited by awehring
Link to comment

aaalso.... Du täuscht Dich, zumindest ein wenig.

Es gibt viele Windows 10 Versionen,  nicht in allen ist der Webserver enthalten, in meiner schon:

 

Features.thumb.jpg.edc78d83be561ab89bddc383f84dedea.jpg

Scroll mal etwas zurück bis zu "Internetinformationsdienste". Wenns das auch nicht gibt, dann warst Du beim Billigheimer, aber selbst dann sollte man das irgendwie nachinstallieren können.

Ansonsten hilft vielleicht auch https://www.windowspro.de/wolfgang-sommergut/web-server-iis-windows-10-installieren-konfigurieren weiter

Edited by MaM
Link to comment

Warum so kompliziert mit IIS? Im zweitem post steht doch der Link zum Wiki wie man mit Caddyserver einen Reverse Proxy einrichtet. Der Caddyserver erneuert auch das Letsencrypt Zertifikat selbständig. Einfacher geht's wirklich nicht.

Link to comment
vor 2 Stunden schrieb pünktchen:

Warum so kompliziert mit IIS? Im zweitem post steht doch der Link zum Wiki wie man mit Caddyserver einen Reverse Proxy einrichtet. Der Caddyserver erneuert auch das Letsencrypt Zertifikat selbständig. Einfacher geht's wirklich nicht.

Manche Leute klicken halt lieber, und da der IIS zum Lieferumfang gehört, warum dann nicht benutzen?

 

Diesen "Caddy" würde ich persönlich nicht mit der Kneifzange anfassen. Les Dir mal die Doku komplett durch, besonders den Abschnitt über "telemetry". Und für Firmen wollen die sogar ein Monatsabo für jede Lizenz haben.

 

 

 

Link to comment
22 minutes ago, MaM said:

Les Dir mal die Doku komplett durch, besonders den Abschnitt über "telemetry". Und für Firmen wollen die sogar ein Monatsabo für jede Lizenz haben.

Und was ist da jetzt so schlimm an der Telemetry Geschichte? Als Microsoft Nutzer solltest du das ja schon kennen. Beim Caddy kann man wenigstens im Source Code nachsehen, was da so gesammelt wird und man kann es komplett deaktivieren. Und das Firmen zahlen sollen ist doch okay. Stört mich als Privatanwender überhaupt nicht.

Link to comment

Ich glaub, meine erste Diskussion dieser Art lief unter dem Titel "6502 gegen Z80" und war auch damals schon nicht zielführend.

Inzwischen bin ich zu alt um mich auf so einen Quatsch einzulassen, ist nur verschwendete Lebenszeit.

 

  • Thanks 1
Link to comment
vor 22 Stunden schrieb MaM:

aaalso.... Du täuscht Dich, zumindest ein wenig.

Es gibt viele Windows 10 Versionen,  nicht in allen ist der Webserver enthalten, in meiner schon:

 

Features.thumb.jpg.edc78d83be561ab89bddc383f84dedea.jpg

Scroll mal etwas zurück bis zu "Internetinformationsdienste". Wenns das auch nicht gibt, dann warst Du beim Billigheimer, aber selbst dann sollte man das irgendwie nachinstallieren können.

Ansonsten hilft vielleicht auch https://www.windowspro.de/wolfgang-sommergut/web-server-iis-windows-10-installieren-konfigurieren weiter

 

 

Hmmm. ok.

Aber welche der Features muss ich da jetzt aktivieren- das war ja meine urprünliche Frage:

 

 

Am 7.9.2019 um 16:44 schrieb awehring:

@MaM:

Danke für die ausführliche Erläuterung.

 

In Win10 Professional kann man folgende IIS-Features auswählen. Welche muss man aktivieren:

 

image.thumb.png.6716e1c0301681217ad4d63bc0d17aaa.png

 

 

 

 

Link to comment
vor 10 Minuten schrieb awehring:

Hmmm. ok.

Aber welche der Features muss ich da jetzt aktivieren- das war ja meine urprünliche Frage:

 

Eigentlich brauchst Du nur die Verwaltungstools und die 2 Addons aus dem Artikel. Nur, wenn Du noch was Anderes mit dem IIS machen möchtest, brauchst Du noch weitere Module. Welche, kann ich ja wohl schlecht erraten, denn ich weis ja nicht, was Du da so vor hast. Aber fang mal einfach mit KEINE an, wenn dann irgendwas im Nachhinein fehlt, kann man es jederzeit nachinstallieren.

Link to comment
  • 4 weeks later...

Naja...

 

Zwischenablage01.png

 

Der aktuellen Version der ICS-Bibliothek liegt bereits ein selbst-signiertes Zertifikat für ein schnelles Ausprobieren bei. Im Prinzip musste ich nur die Webserver-Komponente durch eine ansonsten äquivalente mit SSL-Unterstützung ersetzen, drei .pem-Dateien bzw. ihre Pfade in eine neue Datenstruktur namens SSLContext eintragen und dem Browser etwas gut zureden :)

 

Link to comment
vor 3 Stunden schrieb Griga:

und dem Browser etwas gut zureden

na ja, das machst Du aber nicht mehr allzu lange. Mozilla und Chrome werden in ein paar Versionen nicht mehr erlauben, solche Ausnahmen hinzuzufügen.

Andere Browser werden über kurz oder lang folgen.

Schon in Deinem Beispiel siehst Du deutlich, dass man auf dem Weg dorthin ist. Das gelbe Warndreieck trotz Ausnahme zeigt an, dass die Zeit sich dem Ende zuneigt.

 

So siehts aus, wenn man es richtig macht, allerdings warnt Firefox trotzdem (ein wenig), da es keine "eingebaute" Zertifizierungstelle ist, sondern eine private, die angelernt wurde.

(die Warnung kriegt man nur weg, wenn man ein Zertifikat einer "bekannten" Zertifizierungstelle, z.B. LetEncrypt verwendet).

Aber zumindest ist die Verbindung schon mal "grün" und wird demnächst nicht gesperrt.

 

OwnCert.jpg

Link to comment
vor 1 Stunde schrieb MaM:

na ja, das machst Du aber nicht mehr allzu lange. Mozilla und Chrome werden in ein paar Versionen nicht mehr erlauben, solche Ausnahmen hinzuzufügen.

 

Mag sein. Spielt aber im Moment keine Rolle. Ich bin erst mal froh, dass serverseitig überhaupt etwas in der Richtung funktioniert, obwohl mir anfänglich die zu bewältigende Menge an Informationen zu dem Thema als kaum durchdringbares Gestrüpp erschien. Bei der DVBViewer/DMS-Entwicklung muss ich angesichts der verfügbaren Ressourcen in kleinen Schritten denken, um nicht von vornherein zu resignieren.

 

Link to comment

Auch ein HTTPS-fähiger DMS Webserver muss aus Kompatibilitätsgründen weiterhin HTTP bedienen. Daraus ergibt sich zwangsläufig die Benutzung eines anderen Ports für HTTPS - beides über den selben Port geht nicht, wie ich heute durch Versuch und Irrtum lernen musste. Also wird es in Zukunft die Möglichkeit geben, einen weiteren Webserver-Port für HTTPS festzulegen. Auf diese Weise gehen HTTP- und HTTPS-Webinterface problemlos nebeneinander im Browser.

 

Das Streamen von Dateien via HTTPS klappt ebenfalls, aber nicht das Live Streaming. Hierbei wird der Netzwerk-Bibliothek nicht einfach ein Dateipfad mit der Anweisung "liefer das mal an den Client aus" übergeben, sondern sie bekommt die Daten portionsweise, so wie sie vom DVB-Gerät eintreffen. Und das bringt offenbar die TLS-Verschlüsselung aus dem Tritt. Jedenfalls meldete der VLC beim Live Streaming einen entsprechenden Fehler. Es wird noch ein Stück Arbeit werden, herauszufinden, woran es scheitert. Irgendwo in der ICS Netzwerk-Bibliothek gibt es ein Problem mit HTTPS, an das die Autoren nicht gedacht haben.

 

Was sich bei der Gelegenheit auch herausgestellt hat: Der DVBViewer bzw. die von ihm verwendete Synapse-Netzwerkbibliothek überprüft bei HTTPS LIve Streaming nicht im geringsten die Vertrauenswürdigkeit des Server-Zertifikats. Es wird alles akzeptiert, egal ob von der Mafia oder dem chinesischen Geheimdienst. ;) Der LAV Sourcefilter, der beim Streamen von Dateien die Wiedergabe im DVBViewer organisiert (weil die Schiene über den DVBViewer Filter noch kein HTTPS kann), ist ebenfalls der Ansicht "Zertifikat ist Zertifikat" und sagt nichts dazu. Der VLC beschwert sich dagegen und muss ähnlich wie Firefox erst überredet werden.

 

Link to comment
17 hours ago, MaM said:

na ja, das machst Du aber nicht mehr allzu lange. Mozilla und Chrome werden in ein paar Versionen nicht mehr erlauben, solche Ausnahmen hinzuzufügen.

Andere Browser werden über kurz oder lang folgen.

Schon in Deinem Beispiel siehst Du deutlich, dass man auf dem Weg dorthin ist. Das gelbe Warndreieck trotz Ausnahme zeigt an, dass die Zeit sich dem Ende zuneigt.

Und wo ist das Problem? Dann muss man halt am client das Zertifikat importieren. Das Spielt alles keine Rolle.

Tausende Firmen verwenden im LAN self signed certificates, und das nicht erst seit gestern.

Link to comment
vor einer Stunde schrieb VinoRosso:

Und wo ist das Problem? Dann muss man halt am client das Zertifikat importieren. Das Spielt alles keine Rolle.

Nun ja, Du wirst es dann merken ?

 

Man KANN dann kein Zertifikat mehr importieren, bzw, man KANN dann nicht mehr sagen "ich will dem aber glauben". Es wird schlicht und einfach VERBOTEN, bzw. die Importfunktion wird gestrichen. Jetzt kommt da noch ne Warnung und ein Knopf mit der Möglichkeit, eine Ausnahme hinzuzufügen, der ist dann verschwunden.

 

Wahrscheinlich wird man irgendwo tief in der Config des Browsers wieder was reaktivieren dürfen, aber per Default ist es erstmal AUS und alle Anwender gucken traurig in die Röhre.

 

So, wie Du demnächst auch alle DNS Abfragen über Google machst (wenn Du nicht aufpasst und den Browser umkonfigurierst) ohne es zu merken oder davon zu wissen.

 

 

Zitat

tausende Firmen verwenden im LAN self signed certificates, und das nicht erst seit gestern

Ja, wenn Du meinen Screenshot aufmerksam betrachtest, dann benutze ich auch ein "Self signed Certifiate". Aber "richtig", ohne Warnungen und Fehlermeldungen und es ist bei mir auch keine Ausnahme im Browser erforderlich.

Dazu muss man dem Browser (oder Betriebssystem) das Stammzertifikat der eigenen Zerfizierungsstelle beibringen, danach akzeptieren sie auch die ausgestellten Clientzertifikate ohne Murren.

Mit einem "einsamen self signed cert" stehst Du demnächst im Regen, wie Du richtig erkannt hast, wird es viele tausend Firmen hart treffen und ihnen viel Geld kosten um teuere Leute anzuheuern, die ihre Kisten wiederbeleben.

 

vor 3 Stunden schrieb Griga:

Was sich bei der Gelegenheit auch herausgestellt hat: Der DVBViewer bzw. die von ihm verwendete Synapse-Netzwerkbibliothek überprüft bei HTTPS LIve Streaming nicht im geringsten die Vertrauenswürdigkeit des Server-Zertifikats. Es wird alles akzeptiert, egal ob von der Mafia oder dem chinesischen Geheimdienst.

Das Verhalten ist vollständig korrekt so, Du brauchst nicht nach einem Fehler suchen.

Beim Transport geht es nur um die Verschlüsselung, nicht um das Beglaubigen von Daten. Deshalb ist das verwendete Zertifikat egal, es kann von irgendwoher stammen und auch abgelaufen sein. Das ist bei EMAIL  / SMTP genauso, auch hier werden die Zertifikate nicht überprüft, sondern nur die enthaltenen Schlüssel verwendet. Wenn VLC sich beschwert, ist das zwar "nett", aber sinnlos und nicht erforderlich.

Kurzversion: Check eines Zertifikats nur, wenn damit irgendwas beglaubigt werden soll, ansonsten freie Verwendung der enthaltenen Schlüssel.

 

Edited by MaM
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...