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

Mit der Zeit häufen sich auf XMPP-Servern unzählige ungenutzte XMPP-Accounts an. Es schadet nicht, diese nach einem festgelegten Zeitraum zu löschen und die Benutzernamen wieder freizugeben. Nicht zuletzt kann so eine Reinigungsaktion auch für die Datenbank-Performance hilfreich sein. Standardmäßig enthält Prosody leider keinen Mechnismus zum Löschen inaktiver Accounts, doch mit zwei Modulen und ein paar Kommandozeilen-Tricks kann man den Server von Altlasten befreien.

Um zu erkennen, welcher Account wann zuletzt genutzt wurde, muss der Zeitpunkt der letzten Aktivität (dazu zählen Registrierung, Login, Logout) für jeden Account ermittelt werden. Dazu gibt es das prosody-Modul “mod_lastlog”. Darauf kann das zweite Modul “mod_list_inactive” aufbauen: Es nutzt die von mod_lastlog bereitgestellten Aktivitäts-Timestamps und gibt auf Wunsch eine Liste der Nutzer-IDs aus, welche in dem vorgegebenen Zeitraum nicht aktiv waren.

Weiterlesen

Nachdem nun dieses Blog und die Microsite für meinen XMPP-Server auf statischen HTML-Dateien basieren, will ich eine Einführung in den Static Site Generator “Hugo” geben. Static Site Generatoren gibt es mittlerweile wie Sand am Meer. Einen Überblick kann man sich beispielsweise auf der Seite staticgen.com verschaffen. Hugo gefällt mir im Hinblick auf Geschwindigkeit und Einfachkeit allerdings am besten. Hervorzuheben ist außerdem die besonders einfache Installation: Zur Einrichtung wird einfach die passende Programmdatei als Executable heruntergeladen. Weitere Abhängigkeiten müssen nicht erfüllt werden.

Weiterlesen

Wer das hier liest, hat es wahrscheinlich schon bemerkt: Mein Blog sieht anders aus als vorher und manche Inhalte fehlen. Ich habe mir in den vergangenen Wochen ein neues Konzept überlegt, wie ich die Inhalte auf meinem Blog präsentieren will. Auch ein Refresh des Designs war schon länger geplant. Unter der Haube werkelt jetzt nicht mehr Wordpress, sondern nur noch ein einfacher Nginx-Webserver, der nichts anderes mehr tut, als statische HTML-Seiten auszuliefern. … aber eins nach dem anderen:

Weiterlesen