Für meine Statusseite https://status.trashserver.net setze ich aus verschiedenen Gründen einen eigenen Reverse Proxy ein, um auf der Übersichtsseite von Uptimerobot.com HTTPS TLS-Verschlüsselung anbieten zu können. Nach der Einrichtung meines Nginx Webproxies war die Statusseite jedoch regelmäßig nicht mehr erreichbar (“502 - Bad Gateway”). Erst nach einem Neustart von Nginx konnte die Seite wieder aufgerufen werden. Die Ursache für die regelmäßigen Unterbrechungen war eine dynamische IP-Adresse hinter dem Zielhost “stats.uptimerobot.com”. Mit folgender, klassischer Konfiguration wird der Zielhost nur ein Mal beim Start von Nginx aufgelöst:

Weiterlesen

Um hochverfügbare Dienste zu hosten, empfiehlt es sich, Server bei mehreren Hostern in verschiedenen, geografisch verteilten Rechenzentren zu betreiben. Die Server-to-Server-Kommunikation innerhalb des Serverclusters sollte dabei verschlüsselt stattfinden. Das lässt sich am einfachsten über ein Cluster-eigenes VPN erreichen - also ein privates Netzwerk, das nur dem sicheren Informationsaustausch der Server untereinander dient. Ich habe mich nach einer passenden VPN-Lösung für ein Projekt umgesehen und habe die für mich perfekte Softwarelösung gefunden: PeerVPN von Tobias Volk.

Weiterlesen

Obwohl das Betreiben einer eigenen CA (Certification Authority) in den meisten Fällen weder notwendig noch ratsam ist, gibt es auch Ausnahmen: Wenn z.B. Unternehmens-interne Dienste abgesichert werden sollen, kann es einfacher / sicherer oder sogar erforderlich sein, selbst signierte Zertifikate einzusetzen. Während meiner Beschäftigung bei der ADITO Software GmbH habe ich ein Tool zur Verwaltung von X.509-Zertifikaten im Unternehmensumfeld entwickelt. Nachdem erste Tests und das Aufsetzen der Produktivumgebung erfolgreich waren, galt es nun, das Root-Zertifikat der eigenen CA auf die Windows- und Linuxrechner der Mitarbeiter zu verteilen. Weil der Vorgang (vor allem in Hinblick auf die Akzeptanz bei Webbrowsern) nicht ganz trivial ist, habe ich ein kleines HowTo auf GitHub veröffentlicht. Hier will ich den Prozess noch einmal in deutscher Sprache erklären.

Weiterlesen

Nach dem ich euch im ersten Teil erklärt habe, wie ihr eine Hugo-Website mit einem vorgefertigten Theme erstellen könnt, lernt ihr hier, ein eigenes Theme zu erstellen. Grundkenntnisse in HTML sind dafür selbstverständlich Voraussetzung. Auch Erfahrung in Go kann nicht schaden - ist für diesen Beitrag aber nicht erforderlich. Hier soll es um die Erstellung eines sehr grundlegenden Themes gehen. Ich werde daher nur auf die wichtigsten Aspekte eingehen und das Thema “Design” beispielsweise ganz beiseite lassen. Dieses Theme könnt ihr nach Belieben erweitern und ändern. Ich will euch nur eine Grundlage an die Hand geben.

Weiterlesen

Spätestens seit 2013 gibt es Initiativen, die das XMPP-Netzwerk durch Transportverschlüsselung sicherer machen wollen. Mittlerweile unterstützen fast alle öffentlichen XMPP-Server zumindest optional Transportverschlüsselung via TLS oder SSL. Leider wird das Thema nur in den wenigsten Fällen wirklich ernst genommen - und das mache ich u.A. daran fest: In viel zu vielen Fällen können wir bei der Server-to-Server-Kommunikation folgendes finden:

  • Verwendung von selbst signierten Zertifikaten
  • Defekte / ungültige Zertifikatskonfigurationen (fehlendes Intermediate-Cert, abgelaufene Zertifikate, …)
  • Tolerierung unverschlüsselter Verbindungen

Vor allem gegen den letzten Punkt muss unbedingt etwas unternommen werden. Viel zu viele Server priorisieren zwar verschlüsselte Verbindungen, verifizieren angebotene Zertifikate jedoch nicht, und wenn kein Zertifikat angeboten wird, wird via Dialback authentifiziert oder die Verschlüsselung gleich ganz deaktiviert. Besser könnten die Konditionen für MitM-Attacken kaum sein. Man signalisiert damit zwar Bereitschaft, zu verschlüsseln, aber wenn er andere nicht will, oder wenn ein Angreifer auf der Leitung sitzt, dann verschlüsselt man eben nicht. Es leuchtet ein, dass das nicht besonders viel Sinn ergibt. Wenn wir Zertifikate nicht prüfen und bereit sind, die Verschlüsselung zu deaktivieren, damit jemand mit uns spricht, können wir es auch gleich sein lassen, und unverschlüsselt kommunizieren. Der Effekt ist derselbe: Wer mithören will, kann mithören.

Weiterlesen