Archiv der Kategorie: Linux Howto Tutorials

GNU/Linux Howto’s and Tutorials unblog technical contribution for professionals

Z-Push Installation

Z-Push ist eine Open-Source Anwendung zur Synchronisation ActiveSync-kompatibler Geräte wie Mobiltelefone, Tablets und Outlook 2013 und höher. Langjährige Erfahrung in der Synchronisation basierend auf ActiveSync machte Z-Push für viele Backends zur führenden Open-Source Push-Synchronisation.

Die wichtigsten Plattformen für die drahtlose Synchronisierung ist ActiveSync für die Kommunikation mit Exchange Server und BlackBerry Enterprise Server (BES) von Research-in-Motion (RIM). Beide Lösungen erfordern proprietäre serverseitige Software vom Hersteller, wodurch die Verwendung von PIMs (Personal Information Manager) entweder auf die kabelgebundene Synchronisierung oder auf die Synchronisation von Drittanbietern beschränkt ist, die eine Installation von Client-Software auf dem PDA erfordert.

Hier kommt Open Source Z-Push ins Spiel. Es handelt sich um eine Implementierung des ActiveSync-Protokolls von Microsoft, das drahtlos für ActiveSync-fähige Geräte mit mehreren Plattformen verwendet, darunter Apple iPhone und iPad, Android- und Blackberry 10-Geräte. Mit Open Source Z-Push kann jedes PHP-basierte Groupware-Paket vollständig mit jedem ActiveSync-kompatiblen Gerät synchronisiert werden.

Installation von Z-Push auf Ubuntu

Die in dieser Anleitung verwendete distribution ist Ubuntu Server 18.04 LTS mit Apache 2.4 und Kopano 10. Die Installation von Z-Push erfolgt aus dem Repository als root:

Nach der Installation ist das Hauptverzeichnis unter dem Pfad /usr/share/z-push zu finden. Die Konfigurationsdateien befinden sich unter /etc/z-push.

  Ist der Kopano Server auf einem anderen Host muss MAPI_SERVER in /etc/z-push/kopano.conf.php an die Umgebung anpassen werden.

Die Z-Push Protokollierung ist in der Standardkonfiguration nicht aktiviert, kann aber sehr nützlich sein. Für die Log-Datei erstellt man ein Verzeichnis mit mkdir /var/log/z-push, dann die Protokollierung ca. bei Zeile 116 aktivieren, mit nano oder vi /etc/z-push/z-push.conf.php

Mit dem neustart des Apache Webserver werden die änderungen aktiviert, mit dem Command.

Installation von Z-Push auf CentOS 7

Für CentOS 7 ist das Repository in der Datei /etc/yum.repos.d/z-push.repo wie folgt anzulegen.

Die folgenden Zeilen im Terminal mit Copy & Paste einfügen:

Das Z-Push Repository ist hinzugefügt und bereit für die Installation.

  Wenn das Repository RHEL_6_PHP_56 oder RHEL_7_PHP_56 verwendet wird, und die Kommunikation zwischen Prozessen zwischengespeichert werden, stelle sicher dass das Remis-Repository aktiviert ist.

Auch hier kommt der Apache Webserver als Kopano-Backend zum Einsatz, führe zur Installation von Z-Push folgendes Command aus:

Bei CentOS wird der Apache Webserver wie folgt neu gestartet:

Kopano schutz mit Fail2ban

Kopano schützen gegen Attacken

Dieses Howto beschreibt die Installation und Konfiguration von Fail2ban für die Kopano Groupware auf Ubuntu 16.04.4 LTS. Fail2ban bietet effektiven schutz gegen Brute-Force Attacken, in dem aus Syslog und Apache Protokoll fehlgeschlagene versuche von Authentifizierungen herausgefiltert werden, um anschliessend den Host für eine bestimmte Zeit mittels Kernel Firewall zu blockieren.

Installation Fail2ban auf Kopano Server

Das Paket Fail2ban wird auf dem Ubuntu Host als root wie folgt installiert. Fail2ban ist auf Python entwickelt, weshalb die erforderlichen Bibliotheken nachgeladen werden.

Nach der Installation wird Fail2ban ausgeführt und in systemd für den autostart aktiviert.

Ein Fail2ban Filter für Kopano bereitstellen, wir erstellen die Datei kopano-webapp-auth.conf

Den Inhalt mit folgenden Zeilen in die Filter Datei einfügen:

Den Fail2ban Filter für Kopano aktivieren, dazu die Konfigurationsdatei jail.local erstellen.

Und den folgenden Inhalt einfügen:

Hier wird error.log ausgelesen mit der Variable %(apache_error_log), /var/log/apache2/error.log

Fail2ban erneut starten um die änderungen zu aktivieren.

Den Status von Fail2ban kann wie folgt überprüft werden.

Die Firewall gibt Aufschluss über den Status der aktuell durch Fail2ban geblockten Hosts, mit einer iptables abfrage:

Postfix mit SASL-Authentifizierung verwenden

SMTP-Server müssen entscheiden, ob ein SMTP-Client autorisiert ist E-Mails zu versenden, für die der Server selbst zuständig ist.

Simple Authentication and Security Layer (SASL) Integration Postfix


Diese Anleitung beschreibt, wie man ein MTA (Mail Transport Agent) Postfix unter CentOS 7 mit CyrusSASL zur SMTP-Authentifizierung (SMTP-Auth) erweitert. Danach können Clients E-Mails mittels SMTP-Auth versenden. Diese Anleitung ist geprüft unter CentOS Linux release 7.7.1908 (Core), mit Postfix v2.10.1 und Cyrus-SASL 2.1.26. Es wird davon ausgegangen das Postfix bereits konfiguriert ist und TLS (Transport Layer Security) implementiert ist.

Postfix implementiert die SASL Library nicht selbst, sondern verwendet vorhandene Implementierungen als Bausteine. Dies bedeutet, dass einige SASL-bezogene Konfigurationsdateien zu Postfix gehören, während andere Konfigurationsdateien zu der spezifischen SASL-Implementierung gehören, die Postfix verwenden wird.

Installieren von Cyrus-SASL auf dem MTA

Als root die Pakete mit folgendem Command installieren:

Die einzelnen SASL-Mechanismen werden als RPMs installiert.

Es folgt die Einbindung für Postfix, hierzu die modifikation in der Datei /etc/postfix/master.cf vornehmen:

Damit Postfix mit SASL funktioniert, darf Postfix nicht im chroot-Verzeichnis laufen, Zeile smtps bei Position 5 (n).

SMTP-Auth für lokale Benutzer konfigurieren, wir editieren die Postfix Datei /etc/postfix/main.cf:

Die Konfiguration von Cyrus-SASL erfolgt durch zwei Dateien. Die erste Datei /etc/sysconfig/saslauthd kann übernommen werden:

Die SASL-Mechanismen PLAIN und LOGIN, CRAM-MD5 und DIGEST-MD5 kommen oft zum Einsatz, hierfür ist die Konfigurationsdatei /etc/sasl2/smtpd.conf zuständig, die bereitstellung wurde ebenfalls bei der Installation durchgeführt:

Nun Cyrus-SASL Library Daemon starten und den systemd autostart aktivieren, anschliessend Postfix re-starten:

Der SMTP-Submission Support auf Port 587 ist nun aktiviert, überprüfen lässt sich dies mit folgendem Kommando:

Zur Authentifizierung am SMTP-Gateway wird nun ein Benutzer erstellt, dieser E-Mails über den MTA versenden soll:

  Eine lokale UserID ist für unsere Anforderung hier ausreichend, Cyrus-SASL unterstützt weiter LDAP und SQL, um mit beispielweise Kopano oder einem AD Verzeichnisdienst zu interagieren.

Cyrus-SASL SMTP-Auth Testen

Welche Mechanismen zur Authentifizierung innerhalb von STARTTLS unterstützt werden, kann mit OpenSSL überprüft werden:

In der Ausgabe von openssl ein EHLO übergeben:

Eine telnet Session zum MTA mail.relayhost.net über Port 587 starten, dazu kann PuTTY oder KiTTY verwendet werden.

Der Benutzername und das Passwort muss Base64-kodiert an das SMTP-Gateway übertragen werden, ein in Base64 kodierten String kann in der Shell Console erzeugt werden.

Die Überprüfung findet wie folgt statt, mit ausführen der folgenden Zeilen im Terminal, um die SASL SMTP-Auth Konfiguration zu testen.

Die Ausgabe von SMTP-Auth des Postfix MTA mit Cyrus-SASL.

Die oben kodierten Credentials bei den 334 Prompts einfügen, hier bei Zeile 15 als User24 und bei Zeile 17 unser Password.

  Ein 250 STARTTLS in der Ausgabe zeigt die Voraussetzungen, das Klartext-Benutzernamen mit Passwort durch STARTTLS geschützt an das SMTP-Gateway übermittelt werden.

Eine einfache Möglichkeit gibt es mit SMTPConsole ein SMTP-Gateway zu testen.

SMTPConsole
SMTPConsole