{"id":4424,"date":"2015-01-10T11:05:08","date_gmt":"2015-01-10T10:05:08","guid":{"rendered":"https:\/\/www.bdjl.de\/localhost\/?p=4424"},"modified":"2015-01-10T11:05:08","modified_gmt":"2015-01-10T10:05:08","slug":"pydio-auf-ld-server-uber-https","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=4424","title":{"rendered":"Pydio auf LD-Server \u00fcber HTTPS"},"content":{"rendered":"<p>Pydio wird vom LD-Server in einem LXC Container als Virtuallisierungsschicht mitgeliefert. Nur dumm, dass die gesamte Konfiguration des LD-Servers immer \u00fcber Subdomains l\u00e4uft, was den Einsatz eines g\u00fcnstigen Zertifikats f\u00fcr nur eine Domain unm\u00f6glich macht, will man nicht auf self-signed zur\u00fcckgreifen. Self-signed verbietet sich jedoch im schulischen Umfeld f\u00fcr die Dienste, die alle nutzen k\u00f6nnen sollten, weil man so die LuL und SuS dazu erzieht, Zertifikatswarnungen nicht ernst zu nehmen. Meine L\u00f6sung verwendet nun einen Apache Reverse Proxy [<a href=\"https:\/\/httpd.apache.org\/docs\/2.2\/mod\/mod_proxy.html\" target=\"_blank\">1<\/a>], um die interne Pydio Domain extern in einem Unterverzeichnis der SSL-verschl\u00fcsselbaren Schuldomain einzublenden. Damit das klappt, m\u00fcssen der Reverse Proxy Pound des LD-Servers mit dem Reverse Proxy Apache und dem NGinx im LXC-Container in Reihe geschaltet werden. Das geht so:<\/p>\n<p>1. Kontrollieren ob der Symlink auf <em>\/etc\/apache2\/sites-available\/pydio<\/em> in <em>\/etc\/apache2\/sites-enabled<\/em> <strong>weg<\/strong> ist (die Konfiguration findet an anderer Stelle statt).<\/p>\n<p>2. In der <em>\/etc\/apache2\/sites-enabled\/000-default<\/em> die folgenden Eintr\u00e4ge in den Abschnitt f\u00fcr VirtualHost * und auch in den Abschnitt f\u00fcr VirtualHost *:443 vornehmen:<\/p>\n<pre class=\"lang:default decode:true \">ProxyRequests Off\r\n   &lt;Proxy *&gt;\r\n    Order allow,deny\r\n    Allow from all\r\n  &lt;\/Proxy&gt;\r\nProxyPass \/pydio http:\/\/pydio\/\r\nProxyPassReverse \/pydio http:\/\/pydio\/<\/pre>\n<p>3. In der <em>\/etc\/logodidact\/service.conf<\/em> Pydio f\u00fcr die Domain, die man schon mit SSL versorgt, einschalten:<\/p>\n<pre class=\"lang:default decode:true \">[Pydio]\r\nHost sub.domain.tld\r\nAlias pydio.sub.domain.tld\r\nAllowExternalHTTPS yes\r\nURL sub.domain.tld\/pydio\r\nRedirectExternalHTTP https:\/\/sub.domain.tld\/pydio<\/pre>\n<p>4. Die beteiligten Dienste neu starten:<\/p>\n<pre class=\"lang:default decode:true \">ldfirewall restart\r\nupdate_pound_config -r\r\n\/etc\/init.d\/apache2 restart<\/pre>\n<p>Ein<\/p>\n<pre class=\"lang:default decode:true \">host pydio<\/pre>\n<p>auf dem LD-Server muss eine Antwort liefern, sonst braucht man nicht weiterforschen, sondern muss die DNS Probleme in den Griff bekommen. Auch ein<\/p>\n<pre class=\"lang:default decode:true \">links2 http:\/\/pydio\r\nlinks2 https:\/\/pydio # weniger relevant, s.U.<\/pre>\n<p>sollte Ergebnisse liefern &#8211; mindestens eine Zeile HTML Code sollte zu sehen sein, mehr schafft <em>links2<\/em> nicht, weil es kein JavaScript kann.<\/p>\n<p>Der Aufruf von Pydio funktioniert dann reibungslos, wenn man den &#8222;trailing slash&#8220; im URI zu Pydio nicht vergisst. Ohne diesen sieht man nur ein leeres Fenster. Alle Links f\u00fcr die Kolleg\/innen und Sch\u00fcler\/innen sollten also so aussehen:<\/p>\n<p>https:\/\/sub.domain.tld\/pydio\/<\/p>\n<p>Jetzt funktioniert das Setup durchgehend ohne Zertifikatswarnungen und zumindest bis zum internen Reverse Proxy Pound auch verschl\u00fcsselt.<\/p>\n<p>Wie und ob Pound dann dem Apache Reverse Proxy (als \u00dcbersetzer zwischen Internet und virtueller Pydio Maschine m LXC Container) die Daten verschl\u00fcsselt weiterreicht habe ich nicht gepr\u00fcft. Ich vermute aber, auf Grund der Konfiguration, dass dem nicht so ist. Das sollte aber kein Problem darstellen, da an diesen Datenstrom nur root direkt auf dem Server rankommt.<\/p>\n<p>Zu empfehlen ist eine Konfiguration von Pydio durch den Benutzer admin. Auf Pydio ist dieser mit den n\u00f6tigen Rechten ausgestattet, weil der LXC Container \u00fcber LDAP am LD-Server h\u00e4ngt. Hier sollte man alles abschalten was geht &#8211; vor allem die Funktionen zum unbegrenzten Teilen per Link und ohne Passwort. Denn: LD stellt Pydio extrem offen zur Verf\u00fcgung. So offen, dass man aus Urheberrechts- und Datenschutzsicht Einschr\u00e4nkungen vornehmen muss, will man seine Schule und Sch\u00fcler nicht ausliefern.<\/p>\n<p>Weiter ist die Pydio Installation auch komplett veraltet (Version 5.0.4 &#8211; aktuell ist 6). Damit muss man wohl leben bei dieser Schulserverl\u00f6sung. Deren Marketingabteilung wird das Konzept sicherlich als &#8222;bew\u00e4hrte Software&#8220; verticken. Auf den bekannteren Exploit-DBs fand ich aktuell aber nichts, was Skript-Kiddies auf die Schnelle gegen Pydio einsetzen k\u00f6nnten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pydio wird vom LD-Server in einem LXC Container als Virtuallisierungsschicht mitgeliefert. Nur dumm, dass die gesamte Konfiguration des LD-Servers immer \u00fcber Subdomains l\u00e4uft, was den Einsatz eines g\u00fcnstigen Zertifikats f\u00fcr nur eine Domain unm\u00f6glich macht, will man nicht auf self-signed zur\u00fcckgreifen. Self-signed verbietet sich jedoch im schulischen Umfeld f\u00fcr die Dienste, die alle nutzen k\u00f6nnen [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,10],"tags":[489,490,416],"class_list":["post-4424","post","type-post","status-publish","format-standard","hentry","category-linux","category-schule","tag-logodidact","tag-lxc","tag-pydio"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/4424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4424"}],"version-history":[{"count":2,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/4424\/revisions"}],"predecessor-version":[{"id":4426,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/4424\/revisions\/4426"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}