Nginx und Let’s Encrypt auf Raspberry Pi

Mit Let’s Encrypt lassen sich kostenlose SSL Zertifikate erstellen, die von allen gängigen Browsern akzeptiert werden ohne eigene Root Zertifikate hinzufügen zu müssen. Gerade im Consumer-Bereich werden viele Einplatinencomputer wie der Raspberry Pi oder Banana Pi als Webserver verwendet, um gewisse Dienste über das Internet zu veröffentlichen. Mit HTTPS verschlüsselten Verbindungen zum eigenen Webserver wird die Sicherheit erhöht, da keine Kommunikation mehr im Klartext über die Leitung geht und somit nicht mehr bzw. nur mit deutlich erhöhtem Aufwand abgehört werden kann. Als Webserver empfiehlt sich auf dem Raspberry Pi „nginx“ (Engine-X ausgesprochen), da dieser trotz extremer Leistungsfähigkeit sehr wenig Ressourcen benötigt.

„Nginx und Let’s Encrypt auf Raspberry Pi“ weiterlesen

User Agents mit nginx blockieren

Der Webserver nginx ist unter anderem wegen seinen geringen Ressourcenanforderungen sehr beliebt beim Einsatz auf Einplatinencomputern wie dem Raspberry Pi. Allerdings unterscheiden sich die Konfigurationsmöglichkeiten doch ganz deutlich vom bekannten Apache Webserver. Beim Apache werden viele Einstellungen die den Zugriff betreffen über die „.htaccess“ Datei umgesetzt. So eine Datei sucht man bei nginx vergeblich. Anpassungen werden entweder in der globalen „nginx.conf“ oder direkt in der Virtual Host Sektion durchgeführt. Um nicht alle Zugriffe auf einen Webhost zu erlauben, lassen sich diese anhand des User Agents filtern. Jeder Browser sendet zum Beispiel seine eigene Kennung mit.

„User Agents mit nginx blockieren“ weiterlesen

OCSP Stapling unter nginx aktivieren

Beim Einsatz von SSL gibt es einiges zu beachten, um Seiten ordentlich verschlüsselt auszuliefern. Grundvoraussetzung hierfür ist ein X.509 Zertifikat mit einem öffentlichen und einem privaten Schlüssel. Der private Schlüssel liegt ausschliesslich gut geschützt auf dem Webserver. Der öffentliche Schlüssel wird von jedem Client verwendet, der über https auf die entsprechende Seite zugreifen möchte. Let’s Encrpyt ist hier nur ein Beispiel, zur Ausstellung von Zertifikaten.

„OCSP Stapling unter nginx aktivieren“ weiterlesen

NextCloud auf dem UberSpace

NextCloud ist ein Fork der bekannten Private Cloud Lösung OwnCloud. Der Fork wurde aus politischen Gründen vom ehemaligen OwnCloud Technikchef Frank Karlitschek ins Leben gerufen. Mit NextCloud lassen sich eigene Dateien über diverse Endgeräte verwalten. Zusätzlich gibt es viele zusätzliche Applikationen wie zum Beispiel eine Kontakt- und Kalenderverwaltung. Die Installation kann auch auf einer eigenen UberSpace Instanz betrieben werden. Im Folgenden werden die dafür benötigten Schritte erläutert. NextCloud kann direkt in ein Unterverzeichnis der Root Domain oder aber in eine eigene Subdomain installiert werden.

„NextCloud auf dem UberSpace“ weiterlesen

Privater Foto Server mit Lychee

Plattformen zum Hosten und teilen von Fotos gibt es mittlerweile einige. In der Regel sind das alles Public Cloud Dienste mit gewissen Vor- und Nachteilen. Natürlich besteht auch die Möglichkeit, ein eigenes System zur Verwaltung von Fotos zu betreiben. Dies kann auf einem privaten System wie z.B. einem Raspberry Pi oder Banana Pi sein oder aber auf einer Shared Hosting Plattform wie z.B. UberSpace. Auch für den Eigenbetrieb gibt es unterschiedliche Lösungen. Eine davon ist die OpenSource Software „Lychee„. Lychee zeichnet sich durch eine sehr schlanke und schnelle Architektur aus.

„Privater Foto Server mit Lychee“ weiterlesen

Let’s Encrypt Zertifikats Renewal bei UberSpace

Der Hoster UberSpace, stellt seinen Kunden die kostenlosen SSL / TLS Zertifikate von Let’s Encrypt zur Verfügung. Die Einbindung eines solchen Zertifikats ist denkbar einfach. Eine detaillierte Beschreibung ist hier zu finden: Klick Bei den Let’s Encrypt Zertifikate gilt zu beachten, dass diese „nur“ 90 Tage lang gültig sind und daher regelmäßig erneuert werden müssen. Hierfür könnte jetzt natürlich einmal pro Monat per Cronjob ein Update durchgeführt werden. Ich wollte jedoch eine Lösung, die mir nur dann ein neues Zertifikat erstellt, wenn das Aktuelle auch wirklich abläuft. Daher habe ich ein kleines Shell Skript geschrieben, welches die Zertifikate bei Uberspace prüft und nur kurz vor Ablauf erneuert.

„Let’s Encrypt Zertifikats Renewal bei UberSpace“ weiterlesen

UberSpace als neues Zuhause für das Blog

Vielleicht ist es dem Einen oder Anderen aufgefallen, dass dieses Blog zwischen den Weihnachtsfeiertagen temporär nicht verfügbar war oder sich ein wenig wackelig verhalten hat. Der Grund dafür ist ein Umzug zu einem neuen Hoster. Mit meinem bisherigen Hoster, den ich auch nach wie vor für Email, Domainverwaltung und Co. behalten werde, gab es ein paar kleine „Wehwehchen“, die mich in der Nutzung von WordPress etwas gestört haben. Als Nerd hat man dann doch auch gerne etwas mehr Möglichkeiten bei der Konfiguration und Verwaltung. Daher habe ich mich dazu entschieden, „Ubernaut“ zu werden und die komplette WordPress Installation auf UberSpace umzuziehen. 

„UberSpace als neues Zuhause für das Blog“ weiterlesen

Webserver Zertifikate mit Let’s Encrypt erzeugen

Let’s Encrypt hat nun nach langer Vorbereitungszeit damit begonnen, kostenlose SSL / TLS Zertifikate für Webserver auszustellen. Informationen dazu sind auf der offiziellen Seite zu finden. Klick Die erzeugten X.509 Zertifikate werden von allen gängigen Browsern akzeptiert, so dass keine Warnmeldungen beim Aufruf einer verschlüsselten Seite erscheinen. Die reine Prozedur, ein Zertifikat zu erstellen, ist jedoch bei Let’s Encrypt nicht alles. Es besteht auch die Möglichkeit, die Webserver Apache oder Nginx so zu konfigurieren, dass kein manuelles Eingreifen für den Einsatz von „https“ mehr nötig ist. Persönlich stehe ich diesem Punkt jedoch skeptisch gegenüber. Um die automatische Konfiguration zu ermöglichen, muss auf dem entsprechenden Webserver das komplette Let’s Encrypt Paket installiert werden. Dies bringt jedoch automatisch ein gewisses Sicherheitsrisiko mit sich. Auch wenn die Entwickler höchst wahrscheinlich mehr Ahnung von Webservern haben wie ich, möchte ich dennoch die vollständige Hoheit über das System haben. Desweiteren funktioniert der Automatismus nicht auf Shared Hosting Systemen.

„Webserver Zertifikate mit Let’s Encrypt erzeugen“ weiterlesen

SSL Zertifikat mit OpenSSL erzeugen

Verschlüsselung ist in der heutigen Zeit sehr wichtig geworden. Je mehr Internet Traffic verschlüsselt wird, desto aufwendiger und komplizierter wird es, diesen zu überwachen. Beinahe allen selbst gehosteten Diensten (Seafile, OwnCloud, Tiny Tiny RSS, Jabber, OpenVPN…) liegt ein Linux als Betriebssystem zu Grunde. Jeder Dienst, der über das Internet angesprochen wird, sollte über TLS/SSL laufen. Wer sich kein eigenes SSL Zertifikat kaufen möchte, kann entweder zu kostenlosen Diensten wie StartSSL.com zurückgreifen oder sich ein eigenes Zertifikat erstellen.

„SSL Zertifikat mit OpenSSL erzeugen“ weiterlesen

SSL mit Perfect Forward Secrecy unter nginx

SSL ist in den letzten Tagen mal wieder in aller Munde. Dank des Heartbleed Bugs in OpenSSL ist es Angreifern möglich, entschlüsselte Informationen oder sogar den privaten Schlüssel des Zertifikats aus dem Speicher des Webservers zu ziehen, ohne dabei Spuren zu hinterlassen. Sollte der private Schlüssel in fremde Hände gelangen, lässt sich damit einiges an Schindluder treiben. Eine Möglichkeit wäre, bereits aufgezeichnete, jedoch verschlüsselte Kommunikation, nachträglich zu entschlüsseln. Um das zu verhindern, gibt es eine Funktion die sich „Perfect Forward Secrecy“ nennt. PFS nutzt nicht das Public Key Verfahren um einen Sitzungsschlüssel zu erzeugen. Für PFS wird das Diffie-Hellman Verfahren eingesetzt. Hier wird von beiden Seiten (Client/Server) ein gemeinsamer Sitzungsschlüssel erzeugt. Wer’s gern etwas genauer wissen will, kann sich folgenden Wiki Artikel durchlesen Klick

„SSL mit Perfect Forward Secrecy unter nginx“ weiterlesen